[Mesa-dev] [PATCH] r600g: Include SH and SMX when invalidating read caches

Martin Andersson g02maran at gmail.com
Sun Jun 16 04:27:05 PDT 2013


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



More information about the mesa-dev mailing list