From: Christoph Bumiller Date: Fri, 16 May 2014 23:20:13 +0000 (+0200) Subject: r600g: handle PIPE_QUERY_GPU_FINISHED X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=04de3234ee9358adaa03c053ab24ef61038cc934;p=mesa.git r600g: handle PIPE_QUERY_GPU_FINISHED Signed-off-by: Marek Olšák --- diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c index 38889fdf2a5..a356aad5b32 100644 --- a/src/gallium/drivers/radeon/r600_query.c +++ b/src/gallium/drivers/radeon/r600_query.c @@ -113,6 +113,7 @@ static struct r600_resource *r600_new_query_buffer(struct r600_common_context *c } ctx->ws->buffer_unmap(buf->cs_buf); break; + case PIPE_QUERY_GPU_FINISHED: case PIPE_QUERY_TIME_ELAPSED: case PIPE_QUERY_TIMESTAMP: break; @@ -274,6 +275,8 @@ static void r600_emit_query_end(struct r600_common_context *ctx, struct r600_que radeon_emit(cs, va); radeon_emit(cs, (va >> 32UL) & 0xFF); break; + case PIPE_QUERY_GPU_FINISHED: + break; default: assert(0); } @@ -357,6 +360,9 @@ static struct pipe_query *r600_create_query(struct pipe_context *ctx, unsigned q query->result_size = 16 * rctx->max_db; query->num_cs_dw = 6; break; + case PIPE_QUERY_GPU_FINISHED: + query->num_cs_dw = 2; + break; case PIPE_QUERY_TIME_ELAPSED: query->result_size = 16; query->num_cs_dw = 8; @@ -583,6 +589,9 @@ static boolean r600_get_query_buffer_result(struct r600_common_context *ctx, results_base += 16; } break; + case PIPE_QUERY_GPU_FINISHED: + result->b = TRUE; + break; case PIPE_QUERY_TIME_ELAPSED: while (results_base != qbuf->results_end) { result->u64 +=