Browse Source

Merge pull request #9154 from liamwhite/new-fb

vk_blit_screen: recreate swapchain images on guest format change
pull/15/merge
Fernando S 3 years ago
committed by GitHub
parent
commit
3794851f7f
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      src/video_core/renderer_vulkan/vk_blit_screen.cpp
  2. 5
      src/video_core/renderer_vulkan/vk_blit_screen.h

6
src/video_core/renderer_vulkan/vk_blit_screen.cpp

@ -480,11 +480,15 @@ void BlitScreen::RefreshResources(const Tegra::FramebufferConfig& framebuffer) {
fsr.reset();
}
if (framebuffer.width == raw_width && framebuffer.height == raw_height && !raw_images.empty()) {
if (framebuffer.width == raw_width && framebuffer.height == raw_height &&
framebuffer.pixel_format == pixel_format && !raw_images.empty()) {
return;
}
raw_width = framebuffer.width;
raw_height = framebuffer.height;
pixel_format = framebuffer.pixel_format;
ReleaseRawImages();
CreateStagingBuffer(framebuffer);

5
src/video_core/renderer_vulkan/vk_blit_screen.h

@ -28,6 +28,10 @@ namespace VideoCore {
class RasterizerInterface;
}
namespace Service::android {
enum class PixelFormat : u32;
}
namespace Vulkan {
struct ScreenInfo;
@ -156,6 +160,7 @@ private:
u32 raw_width = 0;
u32 raw_height = 0;
Service::android::PixelFormat pixel_format{};
std::unique_ptr<FSR> fsr;
};

Loading…
Cancel
Save