summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/iris/iris_query.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_query.c b/src/gallium/drivers/iris/iris_query.c
index 9739369dd74..fcc443e422a 100644
--- a/src/gallium/drivers/iris/iris_query.c
+++ b/src/gallium/drivers/iris/iris_query.c
@@ -812,6 +812,12 @@ iris_get_query_result(struct pipe_context *ctx,
break;
case 7:
result->pipeline_statistics.ps_invocations = q->result;
+ /* Implement the "WaDividePSInvocationCountBy4:HSW,BDW" workaround:
+ * "Invocation counter is 4 times actual. WA: SW to divide HW reported
+ * PS Invocations value by 4."
+ */
+ if (screen->devinfo.gen == 8)
+ result->pipeline_statistics.ps_invocations /= 4;
break;
case 8:
result->pipeline_statistics.hs_invocations = q->result;