diff options
author | Marek Olšák <[email protected]> | 2010-05-15 19:31:35 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2010-05-15 19:39:57 +0200 |
commit | 251fae69e5d3a44c1a2a03f7172182e803a04792 (patch) | |
tree | ca1a1cccaa230889bcbc3e1eb8c40ff65621dedd /src/gallium/drivers/r300/r300_emit.c | |
parent | 00704370e42eb9c828dc1699a033b8da9a2521b0 (diff) |
r300g: fix BO space accounting for occlusion queries
Diffstat (limited to 'src/gallium/drivers/r300/r300_emit.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_emit.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index 74a56cc5780..49a51fb9360 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -651,6 +651,8 @@ void r300_emit_query_end(struct r300_context* r300) rv530_emit_query_end_single_z(r300, query); } else r300_emit_query_end_frag_pipes(r300, query); + + query->begin_emitted = FALSE; } void r300_emit_rs_state(struct r300_context* r300, unsigned size, void* state) @@ -1094,7 +1096,8 @@ validate: } } /* ...occlusion query buffer... */ - if (r300->query_start.dirty) { + if (r300->query_start.dirty || + (r300->query_current && r300->query_current->begin_emitted)) { if (!r300_add_buffer(r300->rws, r300->oqbo, 0, RADEON_GEM_DOMAIN_GTT)) { r300->context.flush(&r300->context, 0, NULL); |