From 991ff44bd600ac8b8f53767a03db4eb19a3f0af3 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Tue, 28 Jul 2026 11:12:41 -0400 Subject: [PATCH] [TEST] Adjust ternary on pipeline barriers --- src/video_core/renderer_vulkan/blit_image.cpp | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/video_core/renderer_vulkan/blit_image.cpp b/src/video_core/renderer_vulkan/blit_image.cpp index 372e6cd07d..e1c33e27ae 100644 --- a/src/video_core/renderer_vulkan/blit_image.cpp +++ b/src/video_core/renderer_vulkan/blit_image.cpp @@ -946,10 +946,13 @@ void BlitImageHelper::CopyMSAA(RenderPassCache& render_pass_cache, VkImage dst_i const bool has_stencil = dst_surface_type == VideoCore::Surface::SurfaceType::DepthStencil; const VkImageAspectFlags view_aspect = is_depth ? VK_IMAGE_ASPECT_DEPTH_BIT : VK_IMAGE_ASPECT_COLOR_BIT; - const VkImageAspectFlags barrier_aspect = - is_depth ? (VK_IMAGE_ASPECT_DEPTH_BIT | - (has_stencil ? VK_IMAGE_ASPECT_STENCIL_BIT : 0u)) - : VK_IMAGE_ASPECT_COLOR_BIT; + VkImageAspectFlags barrier_aspect = VK_IMAGE_ASPECT_COLOR_BIT; + if (is_depth) { + barrier_aspect = VK_IMAGE_ASPECT_DEPTH_BIT; + if (has_stencil) { + barrier_aspect |= VK_IMAGE_ASPECT_STENCIL_BIT; + } + } RenderPassKey renderpass_key{}; renderpass_key.color_formats.fill(VideoCore::Surface::PixelFormat::Invalid); if (is_depth) { @@ -1025,10 +1028,13 @@ void BlitImageHelper::CopyMSAA(RenderPassCache& render_pass_cache, VkImage dst_i const VkAccessFlags attachment_write = is_depth ? VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT : VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; + const VkPipelineStageFlags depth_stage = + VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | + VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT; const VkPipelineStageFlags attachment_stage = - is_depth ? VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | - VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT - : VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; + is_depth ? depth_stage + : static_cast( + VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT); const std::array pre_barriers{ VkImageMemoryBarrier{ .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,