diff options
author | Dave Airlie <[email protected]> | 2010-01-24 14:58:45 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2010-01-24 15:00:06 +1000 |
commit | 232ddfec24d2e707c4e374d817c559cc6415d609 (patch) | |
tree | b6698777a244004adb43b5bf8021ffc63073d3b7 /src/gallium/drivers/r300/r300_emit.c | |
parent | 28c3e57c8354f988f49bac69a6866418e6009a5d (diff) |
r300g: fix flushing harder.
I swear ipers runs here after this commit.
After we flush we need to redo the space check
Diffstat (limited to 'src/gallium/drivers/r300/r300_emit.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_emit.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index cc40abf168b..e08e6c22921 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -1105,9 +1105,10 @@ void r300_emit_dirty_state(struct r300_context* r300) /* Make sure we have at least 2*1024 spare dwords. */ /* XXX It would be nice to know the number of dwords we really need to * XXX emit. */ +again: if (!r300->winsys->check_cs(r300->winsys, dwords)) { r300->context.flush(&r300->context, 0, NULL); - r300_emit_buffer_validate(r300); + goto again; } if (r300->dirty_state & R300_NEW_QUERY) { |