From a0a0cd648ec8c7a7a8502d83f09ecc3ef7dc59ae Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Wed, 29 Apr 2026 00:00:06 -0700 Subject: [PATCH] renderer_vulkan: Fix MSAA image debug name --- .../renderer_vulkan/vk_texture_runtime.cpp | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_texture_runtime.cpp b/src/video_core/renderer_vulkan/vk_texture_runtime.cpp index 79fa183ae..1bbbe9969 100644 --- a/src/video_core/renderer_vulkan/vk_texture_runtime.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_runtime.cpp @@ -949,10 +949,10 @@ Surface::Surface(TextureRuntime& runtime_, const VideoCore::SurfaceBase& surface raw_images.emplace_back(handles[Type::Scaled].image); } if (sample_count > 1) { - handles[Type::MultiSampled].Create(GetScaledWidth(), GetScaledHeight(), levels, - texture_type, format, - vk::SampleCountFlagBits(sample_count), traits.usage, - flags, traits.aspect, false, debug_name); + handles[Type::MultiSampled].Create( + GetScaledWidth(), GetScaledHeight(), levels, texture_type, format, + vk::SampleCountFlagBits(sample_count), traits.usage, flags, traits.aspect, false, + DebugName(res_scale != 1, true, sample_count)); raw_images.emplace_back(handles[Type::MultiSampled].image); } if (has_normal) { @@ -1269,10 +1269,14 @@ void Surface::ScaleUp(u32 new_scale, u8 new_sample_count) { if ((res_scale_modified || sample_count != new_sample_count) && new_sample_count > 1) { sample_count = new_sample_count; - handles[Type::MultiSampled].Create(GetScaledWidth(), GetScaledHeight(), levels, - texture_type, traits.native, - vk::SampleCountFlagBits(sample_count), traits.usage, - flags, traits.aspect, false, DebugName(true)); + handles[Type::MultiSampled].Create( + GetScaledWidth(), GetScaledHeight(), levels, texture_type, traits.native, + vk::SampleCountFlagBits(sample_count), traits.usage, flags, traits.aspect, false, + DebugName(res_scale != 1, false, sample_count)); + + // The multi-sampled image is just a transient image that is almost always immediately + // resolved into the current image, and should not be representative of the entire surface! + // // current = Type::MultiSampled; runtime.renderpass_cache.EndRendering();