Not including the SH and SMX caches when invalidating read caches causes
random failures on some piglit tests when VA is enabled.

Since the failures are random, and there other problems also causing random
failures, it's hard to know exactly what tests were effected, but these
tests now consistently pass:

fast_color_clear/all-colors
fast_color_clear/redundant-clear
spec/!OpenGL 1.1/draw-pixels samples={2,4,6,8}
spec/!OpenGL 1.1/drawbuffer-modes
---
 src/gallium/drivers/r600/r600_hw_context.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/r600/r600_hw_context.c 
b/src/gallium/drivers/r600/r600_hw_context.c
index 944b666..df20e56 100644
--- a/src/gallium/drivers/r600/r600_hw_context.c
+++ b/src/gallium/drivers/r600/r600_hw_context.c
@@ -231,6 +231,8 @@ void r600_flush_emit(struct r600_context *rctx)
        if (rctx->flags & R600_CONTEXT_INVAL_READ_CACHES) {
                cp_coher_cntl |= S_0085F0_VC_ACTION_ENA(1) |
                                S_0085F0_TC_ACTION_ENA(1) |
+                               S_0085F0_SH_ACTION_ENA(1) |
+                               S_0085F0_SMX_ACTION_ENA(1) |
                                S_0085F0_FULL_CACHE_ENA(1);
                emit_flush = 1;
        }
-- 
1.8.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to