From dc85e3bff16c375a909617908c9c7b82ec61cbdd Mon Sep 17 00:00:00 2001 From: FernandoS27 Date: Wed, 24 Oct 2018 18:44:37 -0400 Subject: [PATCH] Zero out memory region of recreated surface before flushing --- src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp index 70d1ebda5f..28f17bc75d 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp @@ -1325,6 +1325,8 @@ void RasterizerCacheOpenGL::AccurateCopySurface(const Surface& src_surface, const Surface& dst_surface) { const auto& src_params{src_surface->GetSurfaceParams()}; const auto& dst_params{dst_surface->GetSurfaceParams()}; + auto* start = Memory::GetPointer(src_params.addr); + std::fill(start, start + dst_params.MemorySize(), 0); FlushRegion(src_params.addr, dst_params.MemorySize()); LoadSurface(dst_surface); }