radv: Invalidate L2 for TRANSFER_WRITE barriers
authorAlex Smith <asmith@feralinteractive.com>
Tue, 21 Mar 2017 17:02:33 +0000 (17:02 +0000)
committerDave Airlie <airlied@redhat.com>
Wed, 22 Mar 2017 23:20:31 +0000 (09:20 +1000)
CP DMA and PKT3_WRITE_DATA (in CmdUpdateBuffer) don't (currently) write
through L2. Therefore, to make these writes visible to later accesses
we must invalidate L2 rather than just writing it back, to avoid the
possibility that stale data is read through L2.

Cc: "17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Alex Smith <asmith@feralinteractive.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_cmd_buffer.c

index ba192f302e86dcd9b1c432a862c7d77a48a1fc50..d3397a0e000b0d36b14740bd33a3c4495b639439 100644 (file)
@@ -1477,7 +1477,7 @@ radv_src_access_flush(struct radv_cmd_buffer *cmd_buffer,
                                      RADV_CMD_FLAG_FLUSH_AND_INV_CB_META |
                                      RADV_CMD_FLAG_FLUSH_AND_INV_DB |
                                      RADV_CMD_FLAG_FLUSH_AND_INV_DB_META |
-                                     RADV_CMD_FLAG_WRITEBACK_GLOBAL_L2;
+                                     RADV_CMD_FLAG_INV_GLOBAL_L2;
                        break;
                default:
                        break;