Browse Source

[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 <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
scmfix-worktree
PavelBARABANOV 2 weeks ago
committed by crueter
parent
commit
4edb70c8f0
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 11
      src/video_core/renderer_vulkan/vk_texture_cache.cpp

11
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_FLOAT:
case PixelFormat::R32G32_SINT: case PixelFormat::R32G32_SINT:
case PixelFormat::R32_FLOAT: case PixelFormat::R32_FLOAT:
if (src_view.format == PixelFormat::D32_FLOAT) {
const Region2D region{
.start = {0, 0},
.end = {static_cast<s32>(dst->RenderArea().width),
static_cast<s32>(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_FLOAT:
case PixelFormat::R16_UNORM: case PixelFormat::R16_UNORM:
case PixelFormat::R16_SNORM: case PixelFormat::R16_SNORM:

Loading…
Cancel
Save