summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/fbobject.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-01-30 19:53:17 -0800
committerJason Ekstrand <[email protected]>2017-01-31 18:49:44 -0800
commit92128590bc78bcbbfb19144c7004b31d6405bbcb (patch)
tree6d148ad3809761705a4a50f0d426f40a1089933e /src/mesa/main/fbobject.c
parentf1f9794118008bcdc13d93ee709022d21cc4156d (diff)
anv: Improve flushing around STATE_BASE_ADDRESS
It is not clear from the docs exactly how pipelined STATE_BASE_ADDRESS actually is. We know from experimentation that we need to flush the render cache prior to emitting STATE_BASE_ADDRESS and invalidate the texture cache afterwards. The only thing the PRM says is that, on gen8+ we're supposed to invalidate the state cache after STATE_BASE_ADDRESS but experimentation has indicated that doing so does nothing whatsoever. Since we don't really know, let's do just a bit more flushing in the hopes that this won't be a problem again. In particular: 1) Do a CS stall before we emit STATE_BASE_ADDRESS since we don't really know whether or not it's pipelined. 2) Do a data cache flush in case what runs before STATE_BASE_ADDRESS is a compute shader. 3) Invalidate the state and constant caches after STATE_BASE_ADDRESS because the state may be getting cached there (we don't really know). Reported-by: Mark Janes <[email protected]> Tested-by: Mark Janes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Cc: "13.0 17.0" <[email protected]>
Diffstat (limited to 'src/mesa/main/fbobject.c')
0 files changed, 0 insertions, 0 deletions