gl_rasterizer_cache: Update AccurateCopySurface to flush complete source surface.

- Fixes issues with Breath of the Wild with use_accurate_gpu_emulation setting.
This commit is contained in:
bunnei 2018-11-28 21:58:30 -05:00
parent 3d3cc35ee7
commit 0f43564d09

View file

@ -1031,7 +1031,10 @@ 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()};
FlushRegion(src_params.addr, dst_params.MemorySize());
// Flush enough memory for both the source and destination surface
FlushRegion(src_params.addr, std::max(src_params.MemorySize(), dst_params.MemorySize()));
LoadSurface(dst_surface);
}