|
|
@ -362,6 +362,17 @@ void VKBlitScreen::CreateDynamicResources() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void VKBlitScreen::RefreshResources(const Tegra::FramebufferConfig& framebuffer) { |
|
|
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()) { |
|
|
if (framebuffer.width == raw_width && framebuffer.height == raw_height && !raw_images.empty()) { |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|