From: Alex Smith <asm...@feralinteractive.com> 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.
Signed-off-by: Alex Smith <asm...@feralinteractive.com> Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> Cc: "17.0" <mesa-sta...@lists.freedesktop.org> [Bas: patch is a backport for 17.0 of the cherry-pick below] (cherry picked from commit bc5d587a80b64fb3e0a5ea8067e6317fbca2bbc5) --- src/amd/vulkan/radv_cmd_buffer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 628737c75ac..3aa415b152f 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2580,7 +2580,8 @@ void radv_CmdPipelineBarrier( flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_DB; break; case VK_ACCESS_TRANSFER_WRITE_BIT: - flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_CB; + flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_CB | + RADV_CMD_FLAG_INV_GLOBAL_L2; break; default: break; -- 2.12.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev