diff options
Diffstat (limited to 'src/mesa/drivers/dri/r600/evergreen_context.c')
-rw-r--r-- | src/mesa/drivers/dri/r600/evergreen_context.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/mesa/drivers/dri/r600/evergreen_context.c b/src/mesa/drivers/dri/r600/evergreen_context.c index bc291709c5..d75969d6eb 100644 --- a/src/mesa/drivers/dri/r600/evergreen_context.c +++ b/src/mesa/drivers/dri/r600/evergreen_context.c @@ -36,6 +36,7 @@ #include "evergreen_context.h" #include "evergreen_state.h" #include "evergreen_blit.h" +#include "r600_cmdbuf.h" static void evergreen_get_lock(radeonContextPtr rmesa) { @@ -70,20 +71,19 @@ static void evergreen_fallback(GLcontext *ctx, GLuint bit, GLboolean mode) static void evergreen_emit_query_finish(radeonContextPtr radeon) { - //TODO apr.01 - //context_t *context = (context_t*) radeon; - //BATCH_LOCALS(&context->radeon); + context_t *context = (context_t*) radeon; + BATCH_LOCALS(&context->radeon); struct radeon_query_object *query = radeon->query.current; - //BEGIN_BATCH_NO_AUTOSTATE(4 + 2); - //R600_OUT_BATCH(CP_PACKET3(R600_IT_EVENT_WRITE, 2)); - //R600_OUT_BATCH(ZPASS_DONE); - //R600_OUT_BATCH(query->curr_offset + 8); /* hw writes qwords */ - //R600_OUT_BATCH(0x00000000); - //R600_OUT_BATCH_RELOC(VGT_EVENT_INITIATOR, query->bo, 0, 0, RADEON_GEM_DOMAIN_GTT, 0); - //END_BATCH(); - //assert(query->curr_offset < RADEON_QUERY_PAGE_SIZE); + BEGIN_BATCH_NO_AUTOSTATE(4 + 2); + R600_OUT_BATCH(CP_PACKET3(R600_IT_EVENT_WRITE, 2)); + R600_OUT_BATCH(R600_EVENT_TYPE(ZPASS_DONE) | R600_EVENT_INDEX(1)); + R600_OUT_BATCH(query->curr_offset + 8); /* hw writes qwords */ + R600_OUT_BATCH(0x00000000); + R600_OUT_BATCH_RELOC(VGT_EVENT_INITIATOR, query->bo, 0, 0, RADEON_GEM_DOMAIN_GTT, 0); + END_BATCH(); + assert(query->curr_offset < RADEON_QUERY_PAGE_SIZE); query->emitted_begin = GL_FALSE; } |