From 4edb70c8f055aa8774443446dbd1b0afe387d284 Mon Sep 17 00:00:00 2001 From: PavelBARABANOV Date: Tue, 9 Dec 2025 21:11:08 +0100 Subject: [PATCH] [vk] Use point filter for D32->R32 blits to fix burnout blur (#3088) Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3088 Reviewed-by: crueter Reviewed-by: CamilleLaVey Co-authored-by: PavelBARABANOV Co-committed-by: PavelBARABANOV --- src/video_core/renderer_vulkan/vk_texture_cache.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 136a11f78d..f821c71b7b 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -1269,6 +1269,17 @@ void TextureCacheRuntime::ConvertImage(Framebuffer* dst, ImageView& dst_view, Im case PixelFormat::R32G32_FLOAT: case PixelFormat::R32G32_SINT: case PixelFormat::R32_FLOAT: + if (src_view.format == PixelFormat::D32_FLOAT) { + const Region2D region{ + .start = {0, 0}, + .end = {static_cast(dst->RenderArea().width), + static_cast(dst->RenderArea().height)}, + }; + return blit_image_helper.BlitColor(dst, src_view, region, region, + Tegra::Engines::Fermi2D::Filter::Point, + Tegra::Engines::Fermi2D::Operation::SrcCopy); + } + break; case PixelFormat::R16_FLOAT: case PixelFormat::R16_UNORM: case PixelFormat::R16_SNORM: