aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl2
-rw-r--r--system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl2
2 files changed, 2 insertions, 2 deletions
diff --git a/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl b/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl
index 08d4f5e241..57c3a1760b 100644
--- a/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl
+++ b/system/shaders/GL/1.2/gl_yuv2rgb_basic.glsl
@@ -122,7 +122,7 @@ vec4 process()
#endif
#if defined(XBMC_COL_CONVERSION)
- rgb.rgb = pow(rgb.rgb, vec3(m_gammaSrc));
+ rgb.rgb = pow(max(vec3(0), rgb.rgb), vec3(m_gammaSrc));
rgb.rgb = max(vec3(0), m_primMat * rgb.rgb);
rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv));
#endif
diff --git a/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl b/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl
index 48ce685e69..5bd2565ac2 100644
--- a/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl
+++ b/system/shaders/GL/1.5/gl_yuv2rgb_basic.glsl
@@ -93,7 +93,7 @@ vec4 process()
rgb.a = m_alpha;
#if defined(XBMC_COL_CONVERSION)
- rgb.rgb = pow(rgb.rgb, vec3(m_gammaSrc));
+ rgb.rgb = pow(max(vec3(0), rgb.rgb), vec3(m_gammaSrc));
rgb.rgb = max(vec3(0), m_primMat * rgb.rgb);
rgb.rgb = pow(rgb.rgb, vec3(m_gammaDstInv));