From facee08b5ee9452a10ee0af0daf26544a7bcfdc9 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Wed, 16 Sep 2026 17:59:19 -0400 Subject: [PATCH] More tests to find out the texture corruption on previous unswizzle changes --- src/video_core/renderer_vulkan/vk_compute_pass.cpp | 5 ++--- src/video_core/renderer_vulkan/vk_texture_cache.cpp | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_compute_pass.cpp b/src/video_core/renderer_vulkan/vk_compute_pass.cpp index b7bb4b00b4..76061d8cc9 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pass.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pass.cpp @@ -647,7 +647,7 @@ void RecordUnswizzleBeginBarrier(Scheduler& scheduler, VkPipeline vk_pipeline, V VkImageLayout old_layout = VK_IMAGE_LAYOUT_UNDEFINED; VkPipelineStageFlags src_stage = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT; if (is_initialized) { - src_access = VK_ACCESS_SHADER_WRITE_BIT; + src_access = VK_ACCESS_MEMORY_WRITE_BIT; old_layout = VK_IMAGE_LAYOUT_GENERAL; src_stage = vk::PIPELINE_STAGE_GRAPHICS_COMPUTE_TRANSFER; } @@ -683,8 +683,7 @@ void RecordUnswizzleEndBarrier(Scheduler& scheduler, VkImage vk_image, .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER, .pNext = nullptr, .srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT, - .dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT | - VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT, + .dstAccessMask = VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT, .oldLayout = VK_IMAGE_LAYOUT_GENERAL, .newLayout = VK_IMAGE_LAYOUT_GENERAL, .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED, diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index ff1ab0bf2c..2b285ad3ea 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -58,7 +58,7 @@ namespace { constexpr bool ENABLE_MSAA_TILER_RESOLVE = true; constexpr bool ENABLE_MSAA_RESOLVE_CONSUME = true; constexpr bool ENABLE_ACCELERATED_UNSWIZZLE = true; -constexpr bool ENABLE_ACCELERATED_UNSWIZZLE_DISPATCH = false; +constexpr bool ENABLE_ACCELERATED_UNSWIZZLE_DISPATCH = true; constexpr bool ENABLE_MSAA_COLOR_DISCARD = true; constexpr bool ENABLE_MSAA_DEPTH_STENCIL_DISCARD = true;