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:
Jason Ekstrand
2015-05-30 18:04:48 -07:00
parent 2251305e1a
commit e497ac2c62

View File

@@ -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);