From: Jason Ekstrand Date: Sun, 31 May 2015 01:04:48 +0000 (-0700) Subject: vk/device: Only flush the texture cache when setting state base address X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e497ac2c62ad5299bbf032220a287c144add7cda;p=mesa.git 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. --- diff --git a/src/vulkan/device.c b/src/vulkan/device.c index 6dc411c46be..f0e73b3687a 100644 --- a/src/vulkan/device.c +++ b/src/vulkan/device.c @@ -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);