mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
vk/device: Only flush the texture cache when setting state base address
After further examination, it appears that the other flushes and stalls weren't actually needed.
This commit is contained in:
parent
2251305e1a
commit
e497ac2c62
1 changed files with 3 additions and 11 deletions
|
|
@ -2806,19 +2806,11 @@ anv_cmd_buffer_new_surface_state_bo(struct anv_cmd_buffer *cmd_buffer)
|
|||
/* Re-emit state base addresses so we get the new surface state base
|
||||
* address before we start emitting binding tables etc.
|
||||
*/
|
||||
anv_batch_emit(&cmd_buffer->batch, GEN8_PIPE_CONTROL,
|
||||
.CommandStreamerStallEnable = true,
|
||||
.RenderTargetCacheFlushEnable = true);
|
||||
anv_cmd_buffer_emit_state_base_address(cmd_buffer);
|
||||
|
||||
/* It seems like just chainging the state base addresses isn't enough.
|
||||
* If we don't do another PIPE_CONTROL afterwards to invalidate the
|
||||
* texture cache, we still don't always get the right results. I have
|
||||
* no idea if this is actually what we are supposed to do, but it seems
|
||||
* to work.
|
||||
*
|
||||
* FIXME: We should look into this more. Maybe there is something more
|
||||
* specific we're supposed to be doing.
|
||||
/* It seems like just changing the state base addresses isn't enough.
|
||||
* Invalidating the cache seems to be enough to cause things to
|
||||
* propagate. However, I'm not 100% sure what we're supposed to do.
|
||||
*/
|
||||
anv_batch_emit(&cmd_buffer->batch, GEN8_PIPE_CONTROL,
|
||||
.TextureCacheInvalidationEnable = true);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue