diff options
author | Jason Ekstrand <[email protected]> | 2015-05-30 18:04:48 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-05-30 18:04:50 -0700 |
commit | e497ac2c62ad5299bbf032220a287c144add7cda (patch) | |
tree | 392b980e01694e1b4e6f6f73840144f0c11191d5 | |
parent | 2251305e1ac14417a634e175e53736a6f01dad0f (diff) |
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.
-rw-r--r-- | src/vulkan/device.c | 14 |
1 files changed, 3 insertions, 11 deletions
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); |