TextureCache: Flush linear textures after finishing rendering.

This commit is contained in:
Fernando Sahmkow 2020-02-16 17:13:19 -04:00
parent 339d0d9d6c
commit ed7e965712

View File

@ -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)