diff options
author | Jason Ekstrand <[email protected]> | 2017-01-30 19:53:17 -0800 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2017-02-03 11:08:59 +0000 |
commit | eadbc95d642cac6feb7f5e5abe136dfd36ff76ac (patch) | |
tree | b5cef63c4594e7eeee996712abaf36bf0af7d414 /Android.common.mk | |
parent | 69ec90ad24a16087eac29fc076f0dff636fba62d (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]>
(cherry picked from commit 92128590bc78bcbbfb19144c7004b31d6405bbcb)
Diffstat (limited to 'Android.common.mk')
0 files changed, 0 insertions, 0 deletions