diff options
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer_cache.cpp | 6 | 
1 files changed, 5 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 74200914e..e6d47ce41 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp @@ -1257,7 +1257,11 @@ Surface RasterizerCacheOpenGL::RecreateSurface(const Surface& old_surface,      case SurfaceTarget::TextureCubemap:      case SurfaceTarget::Texture2DArray:      case SurfaceTarget::TextureCubeArray: -        FastLayeredCopySurface(old_surface, new_surface); +        if (old_params.pixel_format == new_params.pixel_format) +            FastLayeredCopySurface(old_surface, new_surface); +        else { +            AccurateCopySurface(old_surface, new_surface); +        }          break;      default:          LOG_CRITICAL(Render_OpenGL, "Unimplemented surface target={}", | 
