mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-10-31 23:06:43 +08:00 
			
		
		
		
	vk_blit_screen: recreate swapchain images on guest format change
This commit is contained in:
		
							parent
							
								
									e09756b2df
								
							
						
					
					
						commit
						808e22984f
					
				| @ -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); | ||||
|  | ||||
| @ -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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user