From 844939d372e32759db3ff0845ac74913e3b4f211 Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Tue, 28 Apr 2026 23:32:53 -0700 Subject: [PATCH] renderer_vulkan: Fix multisample framebuffer creation MSAA renderpasses require the "current" image as the main resolve target, and the MSAA image as the second attachment. --- src/video_core/renderer_vulkan/vk_texture_runtime.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_texture_runtime.cpp b/src/video_core/renderer_vulkan/vk_texture_runtime.cpp index d9b2d1ff2..79fa183ae 100644 --- a/src/video_core/renderer_vulkan/vk_texture_runtime.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_runtime.cpp @@ -1465,7 +1465,7 @@ vk::ImageView Surface::ImageView(ViewType view_type, Type type) noexcept { } vk::Framebuffer Surface::Framebuffer(Type type) noexcept { - type = Type::Current ? current : type; + type = (type == Type::Current) ? current : type; auto& handle = handles[type]; if (handle.framebuffer) { return handle.framebuffer; @@ -1479,7 +1479,7 @@ vk::Framebuffer Surface::Framebuffer(Type type) noexcept { boost::container::small_vector image_views; if (sample_count > 1) { // Main surface + MSAA surface - image_views.emplace_back(ImageView(ViewType::Mip0, type)); + image_views.emplace_back(ImageView(ViewType::Mip0, current)); image_views.emplace_back(ImageView(ViewType::Mip0, Type::MultiSampled)); } else { image_views.emplace_back(ImageView(ViewType::Mip0, type));