Mesa (master): r600g: handle PIPE_QUERY_GPU_FINISHED

Marek Olšák mareko at kemper.freedesktop.org
Mon Jun 2 10:57:26 UTC 2014


Module: Mesa
Branch: master
Commit: 04de3234ee9358adaa03c053ab24ef61038cc934
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=04de3234ee9358adaa03c053ab24ef61038cc934

Author: Christoph Bumiller <christoph.bumiller at speed.at>
Date:   Sat May 17 01:20:13 2014 +0200

r600g: handle PIPE_QUERY_GPU_FINISHED

Signed-off-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeon/r600_query.c |    9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c
index 38889fd..a356aad 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 +=




More information about the mesa-commit mailing list