mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 18:54:14 +01:00 
			
		
		
		
	TextureCache: Base fixes on rescaling.
This commit is contained in:
		
							parent
							
								
									99eec162da
								
							
						
					
					
						commit
						19ca0c9ab5
					
				| @ -207,7 +207,7 @@ void RasterizerVulkan::Clear() { | ||||
| 
 | ||||
|     query_cache.UpdateCounters(); | ||||
| 
 | ||||
|     const auto& regs = maxwell3d.regs; | ||||
|     auto& regs = maxwell3d.regs; | ||||
|     const bool use_color = regs.clear_buffers.R || regs.clear_buffers.G || regs.clear_buffers.B || | ||||
|                            regs.clear_buffers.A; | ||||
|     const bool use_depth = regs.clear_buffers.Z; | ||||
| @ -228,6 +228,7 @@ void RasterizerVulkan::Clear() { | ||||
|         up_scale = Settings::values.resolution_info.up_scale; | ||||
|         down_shift = Settings::values.resolution_info.down_shift; | ||||
|     } | ||||
|     UpdateViewportsState(regs); | ||||
| 
 | ||||
|     VkClearRect clear_rect{ | ||||
|         .rect = GetScissorState(regs, 0, up_scale, down_shift), | ||||
|  | ||||
| @ -205,8 +205,8 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) { | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     u32 scale_rating; | ||||
|     bool rescaled; | ||||
|     u32 scale_rating = 0; | ||||
|     bool rescaled = false; | ||||
|     std::array<ImageId, NUM_RT> tmp_color_images{}; | ||||
|     ImageId tmp_depth_image{}; | ||||
|     do { | ||||
| @ -223,7 +223,7 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) { | ||||
|         bool can_rescale = true; | ||||
|         bool any_blacklisted = false; | ||||
|         const auto check_rescale = [&](ImageViewId view_id, ImageId& id_save) { | ||||
|             if (view_id) { | ||||
|             if (view_id != NULL_IMAGE_VIEW_ID && view_id != ImageViewId{}) { | ||||
|                 const auto& view = slot_image_views[view_id]; | ||||
|                 const auto image_id = view.image_id; | ||||
|                 id_save = image_id; | ||||
| @ -265,6 +265,7 @@ void TextureCache<P>::UpdateRenderTargets(bool is_clear) { | ||||
|                     scale_up(tmp_color_images[index]); | ||||
|                 } | ||||
|                 scale_up(tmp_depth_image); | ||||
|                 scale_rating = 2; | ||||
|             } | ||||
|         } else { | ||||
|             rescaled = false; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user