Mesa (master): i965/gen8: Don' t add workaround bits to PIPE_CONTROL stalls if DC flush is set.

Francisco Jerez currojerez at kemper.freedesktop.org
Wed Dec 9 12:24:36 UTC 2015


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

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu Sep  3 17:19:10 2015 +0300

i965/gen8: Don't add workaround bits to PIPE_CONTROL stalls if DC flush is set.

According to the hardware docs a DC flush is sufficient to make
CS_STALL happy, there's no need to add STALL_AT_SCOREBOARD whenever
it's present.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Kristian Høgsberg  <krh at bitplanet.net>

---

 src/mesa/drivers/dri/i965/brw_pipe_control.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_pipe_control.c b/src/mesa/drivers/dri/i965/brw_pipe_control.c
index a2aef8a..ae3d818 100644
--- a/src/mesa/drivers/dri/i965/brw_pipe_control.c
+++ b/src/mesa/drivers/dri/i965/brw_pipe_control.c
@@ -36,6 +36,7 @@
  *  - Stall at Pixel Scoreboard
  *  - Post-Sync Operation
  *  - Depth Stall
+ *  - DC Flush Enable
  *
  * I chose "Stall at Pixel Scoreboard" since we've used it effectively
  * in the past, but the choice is fairly arbitrary.
@@ -49,7 +50,8 @@ gen8_add_cs_stall_workaround_bits(uint32_t *flags)
                       PIPE_CONTROL_WRITE_DEPTH_COUNT |
                       PIPE_CONTROL_WRITE_TIMESTAMP |
                       PIPE_CONTROL_STALL_AT_SCOREBOARD |
-                      PIPE_CONTROL_DEPTH_STALL;
+                      PIPE_CONTROL_DEPTH_STALL |
+                      PIPE_CONTROL_DATA_CACHE_INVALIDATE;
 
    /* If we're doing a CS stall, and don't already have one of the
     * workaround bits set, add "Stall at Pixel Scoreboard."




More information about the mesa-commit mailing list