summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-02-16 17:13:19 -0400
committerGravatar Fernando Sahmkow2020-04-22 11:36:09 -0400
commited7e9657120faea849af2933e539c72bc961c2a9 (patch)
treea0905640fa410696ede1424e8cb00bff8f6cda6f /src
parentGPU: Delay Fences. (diff)
downloadyuzu-ed7e9657120faea849af2933e539c72bc961c2a9.tar.gz
yuzu-ed7e9657120faea849af2933e539c72bc961c2a9.tar.xz
yuzu-ed7e9657120faea849af2933e539c72bc961c2a9.zip
TextureCache: Flush linear textures after finishing rendering.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/texture_cache/texture_cache.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h
index c23b9f9b9..d8c8390bb 100644
--- a/src/video_core/texture_cache/texture_cache.h
+++ b/src/video_core/texture_cache/texture_cache.h
@@ -233,8 +233,14 @@ public:
233 233
234 auto surface_view = GetSurface(gpu_addr, *cpu_addr, 234 auto surface_view = GetSurface(gpu_addr, *cpu_addr,
235 SurfaceParams::CreateForFramebuffer(system, index), true); 235 SurfaceParams::CreateForFramebuffer(system, index), true);
236 if (render_targets[index].target) 236 if (render_targets[index].target) {
237 render_targets[index].target->MarkAsRenderTarget(false, NO_RT); 237 auto& surface = render_targets[index].target;
238 surface->MarkAsRenderTarget(false, NO_RT);
239 const auto& cr_params = surface->GetSurfaceParams();
240 if (!cr_params.is_tiled) {
241 FlushSurface(surface);
242 }
243 }
238 render_targets[index].target = surface_view.first; 244 render_targets[index].target = surface_view.first;
239 render_targets[index].view = surface_view.second; 245 render_targets[index].view = surface_view.second;
240 if (render_targets[index].target) 246 if (render_targets[index].target)