<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">For the series:</div><div class="gmail_default"><font face="verdana, sans-serif">Reviewed-by: Anuj Phogat <<a href="mailto:anuj.phogat@gmail.com">anuj.phogat@gmail.com</a>></font><br></div><div class="gmail_default"><font face="verdana, sans-serif"><br></font></div><div class="gmail_default"><font face="verdana, sans-serif">This might explain piglit GPU hangs or failures. I'll do a piglit run with these patches.</font></div><div class="gmail_default"><font face="verdana, sans-serif">Thanks</font></div><div class="gmail_default"><font face="verdana, sans-serif">Anuj</font></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 17, 2018 at 3:10 PM, Jason Ekstrand <span dir="ltr"><<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">---<br>
 src/mesa/drivers/dri/i965/<wbr>genX_blorp_exec.c | 14 ++++++++++++++<br>
 1 file changed, 14 insertions(+)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/<wbr>genX_blorp_exec.c b/src/mesa/drivers/dri/i965/<wbr>genX_blorp_exec.c<br>
index 3406a6f..a6cb0e3 100644<br>
--- a/src/mesa/drivers/dri/i965/<wbr>genX_blorp_exec.c<br>
+++ b/src/mesa/drivers/dri/i965/<wbr>genX_blorp_exec.c<br>
@@ -241,6 +241,20 @@ genX(blorp_exec)(struct blorp_batch *batch,<br>
    struct gl_context *ctx = &brw->ctx;<br>
    bool check_aperture_failed_once = false;<br>
<br>
+#if GEN_GEN >= 11<br>
+   /* The PIPE_CONTROL command description says:<br>
+    *<br>
+    * "Whenever a Binding Table Index (BTI) used by a Render Taget Message<br>
+    *  points to a different RENDER_SURFACE_STATE, SW must issue a Render<br>
+    *  Target Cache Flush by enabling this bit. When render target flush<br>
+    *  is set due to new association of BTI, PS Scoreboard Stall bit must<br>
+    *  be set in this packet."<br>
+   */<br>
+   brw_emit_pipe_control_flush(<wbr>brw,<br>
+                               PIPE_CONTROL_RENDER_TARGET_<wbr>FLUSH |<br>
+                               PIPE_CONTROL_STALL_AT_<wbr>SCOREBOARD);<br>
+#endif<br>
+<br>
    /* Flush the sampler and render caches.  We definitely need to flush the<br>
     * sampler cache so that we get updated contents from the render cache for<br>
     * the glBlitFramebuffer() source.  Also, we are sometimes warned in the<br>
<span class="gmail-HOEnZb"><font color="#888888">-- <br>
2.5.0.400.gff86faf<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div></div>