summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/swr_query.h
diff options
context:
space:
mode:
authorBruce Cherniak <[email protected]>2016-04-28 12:13:15 -0500
committerTim Rowley <[email protected]>2016-05-05 10:50:09 -0500
commit9d86a5eea79ac30bb90af363c66a5ba8529b37d8 (patch)
treefaf2f17ad87866bfc565f82ac8d5b69a34e7fb31 /src/gallium/drivers/swr/swr_query.h
parent76a36ac3eaaae8a6aa0d0e17273d09df9f7688bb (diff)
swr: Remove stall waiting for core query counters.
When gathering query results, swr_gather_stats was unnecessarily stalling the entire pipeline. Results are now collected asynchronously, with a fence marking completion. Reviewed-By: George Kyriazis <[email protected]>
Diffstat (limited to 'src/gallium/drivers/swr/swr_query.h')
-rw-r--r--src/gallium/drivers/swr/swr_query.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/gallium/drivers/swr/swr_query.h b/src/gallium/drivers/swr/swr_query.h
index 836d07b68ae..0ab034d397f 100644
--- a/src/gallium/drivers/swr/swr_query.h
+++ b/src/gallium/drivers/swr/swr_query.h
@@ -27,13 +27,18 @@
#include <limits.h>
+struct swr_query_result {
+ SWR_STATS core;
+ uint64_t timestamp;
+};
+
struct swr_query {
unsigned type; /* PIPE_QUERY_* */
unsigned index;
- union pipe_query_result *result;
- union pipe_query_result start;
- union pipe_query_result end;
+ struct swr_query_result *result;
+ struct swr_query_result start;
+ struct swr_query_result end;
struct pipe_fence_handle *fence;