summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/renderer_vulkan/vk_blit_screen.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_blit_screen.cpp b/src/video_core/renderer_vulkan/vk_blit_screen.cpp
index 334eeb92e..ccf721008 100644
--- a/src/video_core/renderer_vulkan/vk_blit_screen.cpp
+++ b/src/video_core/renderer_vulkan/vk_blit_screen.cpp
@@ -362,6 +362,17 @@ void VKBlitScreen::CreateDynamicResources() {
}
void VKBlitScreen::RefreshResources(const Tegra::FramebufferConfig& framebuffer) {
+ if (Settings::values.scaling_filter.GetValue() == Settings::ScalingFilter::Fsr) {
+ if (!fsr) {
+ const auto& layout = render_window.GetFramebufferLayout();
+ fsr = std::make_unique<FSR>(
+ device, memory_allocator, image_count,
+ VkExtent2D{.width = layout.screen.GetWidth(), .height = layout.screen.GetHeight()});
+ }
+ } else {
+ fsr.reset();
+ }
+
if (framebuffer.width == raw_width && framebuffer.height == raw_height && !raw_images.empty()) {
return;
}