[Mesa-dev] [PATCH] r600g cache invalidate issues

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


I have been investigating why some piglit tests were failing when VA was enabled.
What I found was that the problems started with this commit:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=4539f8e20af286d1f521eb016c89c6d9af0b801c

That commit removed the S_0085F0_SMX_ACTION_ENA(1) and S_0085F0_SH_ACTION_ENA(1)
, among other things, from the cache invalidation. So I did some experiments where
I enabled those and this is what I found.

It didn't see any difference if I put the SMX and SH under R600_CONTEXT_FLUSH_AND_INV
as they were before the above commit or together with the other caches under 
R600_CONTEXT_INVAL_READ_CACHES.

I also tried only SH, only SMX and both together and got fewer failures when they both
were enabled. At the very least SH needs to be enabled, I'm not equally sure about SMX,
but it does seem to help on some tests under spec/EXT_framebuffer_multisample.

Since the failures are random it is hard to know exactly what tests are affected,
there are also unrelated issues that also cause random failures, but these tests
I'm reasonbly sure are fixed:

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

Then there are a bunch of test under spec/EXT_framebuffer_multisample that if not
fixed at least have a much greater chance of passing. Those failures seem unrelated
to VA though.

If my patch is wrong then this information can hopefully help someone else find
the real solution to these problems.

This was tested with a 6950 on mesa master 6d7abafdc86c6d8533bcb798465452c78c2694e8

//Martin

Martin Andersson (1):
  r600g: Include SH and SMX when invalidating read caches

 src/gallium/drivers/r600/r600_hw_context.c | 2 ++
 1 file changed, 2 insertions(+)

-- 
1.8.3



More information about the mesa-dev mailing list