From eb98fcd8ab51c3c5a394d094659d9cc501e2b288 Mon Sep 17 00:00:00 2001 From: Ribbit Date: Sat, 27 Sep 2025 13:31:53 -0700 Subject: [PATCH] [vk] Implement D16 to R16 Texture Conversion --- .../renderer_vulkan/vk_texture_cache.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 8d1d609a35..7327c90c12 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -1229,6 +1229,18 @@ void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, Im } break; + case PixelFormat::R16_UNORM: + if (src_view.format == PixelFormat::D16_UNORM) { + return blit_image_helper.ConvertD16ToR16(dst, src_view); + } + break; + + case PixelFormat::D16_UNORM: + if (src_view.format == PixelFormat::R16_UNORM) { + return blit_image_helper.ConvertR16ToD16(dst, src_view); + } + break; + case PixelFormat::A8B8G8R8_UNORM: case PixelFormat::A8B8G8R8_SNORM: case PixelFormat::A8B8G8R8_SINT: @@ -1270,7 +1282,6 @@ void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, Im case PixelFormat::R32G32_SINT: case PixelFormat::R32_FLOAT: case PixelFormat::R16_FLOAT: - case PixelFormat::R16_UNORM: case PixelFormat::R16_SNORM: case PixelFormat::R16_UINT: case PixelFormat::R16_SINT: @@ -1325,7 +1336,6 @@ void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, Im case PixelFormat::ASTC_2D_6X5_SRGB: case PixelFormat::E5B9G9R9_FLOAT: case PixelFormat::D32_FLOAT: - case PixelFormat::D16_UNORM: case PixelFormat::X8_D24_UNORM: case PixelFormat::S8_UINT: case PixelFormat::S8_UINT_D24_UNORM: