summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-02-13 20:54:48 +0100
committerFernandoS27 <fsahmkow27@gmail.com>2019-02-13 21:55:00 +0100
commitbb41683394698201db38ed7515911ded36bfa035 (patch)
tree7eada8dc4cc437057465413d813c796afb4f13d8 /src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
parentMerge pull request #2099 from greggameplayer/BGRA8-Framebuffer-Real (diff)
downloadyuzu-bb41683394698201db38ed7515911ded36bfa035.tar
yuzu-bb41683394698201db38ed7515911ded36bfa035.tar.gz
yuzu-bb41683394698201db38ed7515911ded36bfa035.tar.bz2
yuzu-bb41683394698201db38ed7515911ded36bfa035.tar.lz
yuzu-bb41683394698201db38ed7515911ded36bfa035.tar.xz
yuzu-bb41683394698201db38ed7515911ded36bfa035.tar.zst
yuzu-bb41683394698201db38ed7515911ded36bfa035.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.cpp6
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 59f671048..69f354648 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={}",