Mesa (master): i965/blorp: Do the gen11 BTI flush

Jason Ekstrand jekstrand at kemper.freedesktop.org
Fri Apr 20 23:33:12 UTC 2018


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

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Apr 17 15:07:13 2018 -0700

i965/blorp: Do the gen11 BTI flush

Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

---

 src/mesa/drivers/dri/i965/genX_blorp_exec.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/mesa/drivers/dri/i965/genX_blorp_exec.c b/src/mesa/drivers/dri/i965/genX_blorp_exec.c
index b72ca9c515..581438966e 100644
--- a/src/mesa/drivers/dri/i965/genX_blorp_exec.c
+++ b/src/mesa/drivers/dri/i965/genX_blorp_exec.c
@@ -241,6 +241,20 @@ genX(blorp_exec)(struct blorp_batch *batch,
    struct gl_context *ctx = &brw->ctx;
    bool check_aperture_failed_once = false;
 
+#if GEN_GEN >= 11
+   /* The PIPE_CONTROL command description says:
+    *
+    * "Whenever a Binding Table Index (BTI) used by a Render Taget Message
+    *  points to a different RENDER_SURFACE_STATE, SW must issue a Render
+    *  Target Cache Flush by enabling this bit. When render target flush
+    *  is set due to new association of BTI, PS Scoreboard Stall bit must
+    *  be set in this packet."
+   */
+   brw_emit_pipe_control_flush(brw,
+                               PIPE_CONTROL_RENDER_TARGET_FLUSH |
+                               PIPE_CONTROL_STALL_AT_SCOREBOARD);
+#endif
+
    /* Flush the sampler and render caches.  We definitely need to flush the
     * sampler cache so that we get updated contents from the render cache for
     * the glBlitFramebuffer() source.  Also, we are sometimes warned in the




More information about the mesa-commit mailing list