TextureCache: Flush linear textures after finishing rendering.
This commit is contained in:
		
							parent
							
								
									339d0d9d6c
								
							
						
					
					
						commit
						ed7e965712
					
				@ -233,8 +233,14 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        auto surface_view = GetSurface(gpu_addr, *cpu_addr,
 | 
					        auto surface_view = GetSurface(gpu_addr, *cpu_addr,
 | 
				
			||||||
                                       SurfaceParams::CreateForFramebuffer(system, index), true);
 | 
					                                       SurfaceParams::CreateForFramebuffer(system, index), true);
 | 
				
			||||||
        if (render_targets[index].target)
 | 
					        if (render_targets[index].target) {
 | 
				
			||||||
            render_targets[index].target->MarkAsRenderTarget(false, NO_RT);
 | 
					            auto& surface = render_targets[index].target;
 | 
				
			||||||
 | 
					            surface->MarkAsRenderTarget(false, NO_RT);
 | 
				
			||||||
 | 
					            const auto& cr_params = surface->GetSurfaceParams();
 | 
				
			||||||
 | 
					            if (!cr_params.is_tiled) {
 | 
				
			||||||
 | 
					                FlushSurface(surface);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        render_targets[index].target = surface_view.first;
 | 
					        render_targets[index].target = surface_view.first;
 | 
				
			||||||
        render_targets[index].view = surface_view.second;
 | 
					        render_targets[index].view = surface_view.second;
 | 
				
			||||||
        if (render_targets[index].target)
 | 
					        if (render_targets[index].target)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user