diff options
author | FernandoS27 <fsahmkow27@gmail.com> | 2018-10-24 18:44:37 -0400 |
---|---|---|
committer | FernandoS27 <fsahmkow27@gmail.com> | 2018-10-28 19:00:00 -0400 |
commit | dc85e3bff16c375a909617908c9c7b82ec61cbdd (patch) | |
tree | e00ff8a53284ec58333cc7d0429e82984b4d3411 /src | |
parent | bbf3b2da0cee61ee99cdc42d08543881640990e4 (diff) |
Zero out memory region of recreated surface before flushing
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp index 70d1ebda5..28f17bc75 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); } |