summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2015-05-30 18:04:48 -0700
committerJason Ekstrand <[email protected]>2015-05-30 18:04:50 -0700
commite497ac2c62ad5299bbf032220a287c144add7cda (patch)
tree392b980e01694e1b4e6f6f73840144f0c11191d5
parent2251305e1ac14417a634e175e53736a6f01dad0f (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.c14
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);