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)
|
||||||
|
|
Reference in New Issue