summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/swr/swr_fence.h
diff options
context:
space:
mode:
authorBruce Cherniak <bruce.cherniak@intel.com>2016-04-28 12:13:15 -0500
committerTim Rowley <timothy.o.rowley@intel.com>2016-05-05 10:50:09 -0500
commit9d86a5eea79ac30bb90af363c66a5ba8529b37d8 (patch)
treefaf2f17ad87866bfc565f82ac8d5b69a34e7fb31 /src/gallium/drivers/swr/swr_fence.h
parent76a36ac3eaaae8a6aa0d0e17273d09df9f7688bb (diff)
downloadexternal_mesa3d-9d86a5eea79ac30bb90af363c66a5ba8529b37d8.zip
external_mesa3d-9d86a5eea79ac30bb90af363c66a5ba8529b37d8.tar.gz
external_mesa3d-9d86a5eea79ac30bb90af363c66a5ba8529b37d8.tar.bz2
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 <george.kyriazis@intel.com>
Diffstat (limited to 'src/gallium/drivers/swr/swr_fence.h')
-rw-r--r--src/gallium/drivers/swr/swr_fence.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/drivers/swr/swr_fence.h b/src/gallium/drivers/swr/swr_fence.h
index df3776e..47f4d2e 100644
--- a/src/gallium/drivers/swr/swr_fence.h
+++ b/src/gallium/drivers/swr/swr_fence.h
@@ -45,6 +45,14 @@ swr_fence(struct pipe_fence_handle *fence)
return (struct swr_fence *)fence;
}
+
+static INLINE boolean
+swr_is_fence_done(struct pipe_fence_handle *fence_handle)
+{
+ struct swr_fence *fence = swr_fence(fence_handle);
+ return (fence->read == fence->write);
+}
+
static INLINE boolean
swr_is_fence_pending(struct pipe_fence_handle *fence_handle)
{