summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.cpp4
1 files changed, 3 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 0dc4857e8..d453ddbce 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
@@ -880,7 +880,9 @@ void CachedSurface::UpdateSwizzle(Tegra::Texture::SwizzleSource swizzle_x,
880 const GLenum new_y = MaxwellToGL::SwizzleSource(swizzle_y); 880 const GLenum new_y = MaxwellToGL::SwizzleSource(swizzle_y);
881 const GLenum new_z = MaxwellToGL::SwizzleSource(swizzle_z); 881 const GLenum new_z = MaxwellToGL::SwizzleSource(swizzle_z);
882 const GLenum new_w = MaxwellToGL::SwizzleSource(swizzle_w); 882 const GLenum new_w = MaxwellToGL::SwizzleSource(swizzle_w);
883 if (swizzle[0] != new_x || swizzle[1] != new_y || swizzle[2] != new_z || swizzle[3] != new_w) { 883 if (swizzle[0] == new_x && swizzle[1] == new_y && swizzle[2] == new_z && swizzle[3] == new_w) {
884 return;
885 }
884 swizzle = {new_x, new_y, new_z, new_w}; 886 swizzle = {new_x, new_y, new_z, new_w};
885 const auto swizzle_data = reinterpret_cast<const GLint*>(swizzle.data()); 887 const auto swizzle_data = reinterpret_cast<const GLint*>(swizzle.data());
886 glTextureParameteriv(texture.handle, GL_TEXTURE_SWIZZLE_RGBA, swizzle_data); 888 glTextureParameteriv(texture.handle, GL_TEXTURE_SWIZZLE_RGBA, swizzle_data);