[Mesa-dev] [PATCH 1/6] gallium/radeon: add flag R600_QUERY_HW_FLAG_BEGIN_RESUMES

Marek Olšák maraeo at gmail.com
Wed Jun 22 18:28:59 UTC 2016


From: Marek Olšák <marek.olsak at amd.com>

---
 src/gallium/drivers/radeon/r600_query.c | 3 ++-
 src/gallium/drivers/radeon/r600_query.h | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c
index 2e06746..d83d505 100644
--- a/src/gallium/drivers/radeon/r600_query.c
+++ b/src/gallium/drivers/radeon/r600_query.c
@@ -763,7 +763,8 @@ boolean r600_query_hw_begin(struct r600_common_context *rctx,
 		return false;
 	}
 
-	r600_query_hw_reset_buffers(rctx, query);
+	if (!(query->flags & R600_QUERY_HW_FLAG_BEGIN_RESUMES))
+		r600_query_hw_reset_buffers(rctx, query);
 
 	r600_query_hw_emit_start(rctx, query);
 	if (!query->buffer.buf)
diff --git a/src/gallium/drivers/radeon/r600_query.h b/src/gallium/drivers/radeon/r600_query.h
index b573a17..7689bf9 100644
--- a/src/gallium/drivers/radeon/r600_query.h
+++ b/src/gallium/drivers/radeon/r600_query.h
@@ -92,6 +92,8 @@ struct r600_query {
 enum {
 	R600_QUERY_HW_FLAG_NO_START = (1 << 0),
 	R600_QUERY_HW_FLAG_PREDICATE = (1 << 1),
+	/* whether begin_query doesn't clear the result */
+	R600_QUERY_HW_FLAG_BEGIN_RESUMES = (1 << 2),
 };
 
 struct r600_query_hw_ops {
-- 
2.7.4



More information about the mesa-dev mailing list