summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2019-02-13 15:54:48 -0400
committerGravatar FernandoS272019-02-13 16:55:00 -0400
commitbb41683394698201db38ed7515911ded36bfa035 (patch)
tree7eada8dc4cc437057465413d813c796afb4f13d8 /src
parentMerge pull request #2099 from greggameplayer/BGRA8-Framebuffer-Real (diff)
downloadyuzu-bb41683394698201db38ed7515911ded36bfa035.tar.gz
yuzu-bb41683394698201db38ed7515911ded36bfa035.tar.xz
yuzu-bb41683394698201db38ed7515911ded36bfa035.zip
rasterizer_cache_gl: Only do fast layered copy on the same format. As
glCopyImageSubData does not support different formats.
Diffstat (limited to '')
-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,
1257 case SurfaceTarget::TextureCubemap: 1257 case SurfaceTarget::TextureCubemap:
1258 case SurfaceTarget::Texture2DArray: 1258 case SurfaceTarget::Texture2DArray:
1259 case SurfaceTarget::TextureCubeArray: 1259 case SurfaceTarget::TextureCubeArray:
1260 FastLayeredCopySurface(old_surface, new_surface); 1260 if (old_params.pixel_format == new_params.pixel_format)
1261 FastLayeredCopySurface(old_surface, new_surface);
1262 else {
1263 AccurateCopySurface(old_surface, new_surface);
1264 }
1261 break; 1265 break;
1262 default: 1266 default:
1263 LOG_CRITICAL(Render_OpenGL, "Unimplemented surface target={}", 1267 LOG_CRITICAL(Render_OpenGL, "Unimplemented surface target={}",