From 877a48f5fdc2aa01bba5985c8528a4660f3e6e0e Mon Sep 17 00:00:00 2001 From: JPikachu Date: Sat, 29 Nov 2025 10:39:45 +0000 Subject: [PATCH] Try another method --- src/video_core/renderer_vulkan/vk_texture_cache.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 79d4bc3a66..0cbd246865 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -2169,11 +2169,18 @@ VkImageView ImageView::StorageView(Shader::TextureType texture_type, storage_views = std::make_unique(); } if (image_format == Shader::ImageFormat::Typeless) { + auto& unsigned_view = storage_views->unsigneds[static_cast(texture_type)]; + if (unsigned_view) { + return *unsigned_view; + } auto& view = storage_views->typeless_views[static_cast(texture_type)]; if (view) { return *view; } - view = MakeView(format, VK_IMAGE_ASPECT_COLOR_BIT); + const auto fmt_info = + MaxwellToVK::SurfaceFormat(*device, FormatType::Optimal, /*is_image=*/true, format); + const VkFormat vk_format = fmt_info.format; + view = MakeView(vk_format, VK_IMAGE_ASPECT_COLOR_BIT); return *view; } const bool is_signed{image_format == Shader::ImageFormat::R8_SINT ||