Mesa (master): intel/blorp: Work around Sandy Bridge occlusion query issue

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Jun 15 01:15:12 UTC 2017


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Jun  8 09:36:15 2017 -0700

intel/blorp: Work around Sandy Bridge occlusion query issue

Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>

---

 src/intel/blorp/blorp_clear.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c
index 3d5c41cc71..efacadfebe 100644
--- a/src/intel/blorp/blorp_clear.c
+++ b/src/intel/blorp/blorp_clear.c
@@ -479,6 +479,16 @@ blorp_clear_depth_stencil(struct blorp_batch *batch,
    params.x1 = x1;
    params.y1 = y1;
 
+   if (ISL_DEV_GEN(batch->blorp->isl_dev) == 6) {
+      /* For some reason, Sandy Bridge gets occlusion queries wrong if we
+       * don't have a shader.  In particular, it records samples even though
+       * we disable statistics in 3DSTATE_WM.  Give it the usual clear shader
+       * to work around the issue.
+       */
+      if (!blorp_params_get_clear_kernel(batch->blorp, &params, false))
+         return;
+   }
+
    while (num_layers > 0) {
       params.num_layers = num_layers;
 




More information about the mesa-commit mailing list