diff options
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp index 6b024d9d0..2fbc753af 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | |||
| @@ -1031,7 +1031,10 @@ void RasterizerCacheOpenGL::AccurateCopySurface(const Surface& src_surface, | |||
| 1031 | const Surface& dst_surface) { | 1031 | const Surface& dst_surface) { |
| 1032 | const auto& src_params{src_surface->GetSurfaceParams()}; | 1032 | const auto& src_params{src_surface->GetSurfaceParams()}; |
| 1033 | const auto& dst_params{dst_surface->GetSurfaceParams()}; | 1033 | const auto& dst_params{dst_surface->GetSurfaceParams()}; |
| 1034 | FlushRegion(src_params.addr, dst_params.MemorySize()); | 1034 | |
| 1035 | // Flush enough memory for both the source and destination surface | ||
| 1036 | FlushRegion(src_params.addr, std::max(src_params.MemorySize(), dst_params.MemorySize())); | ||
| 1037 | |||
| 1035 | LoadSurface(dst_surface); | 1038 | LoadSurface(dst_surface); |
| 1036 | } | 1039 | } |
| 1037 | 1040 | ||