summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/radeon')
-rw-r--r--src/gallium/drivers/radeon/r600_query.c9
1 files changed, 9 insertions, 0 deletions
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 +=