diff options
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/gl_video.c | 6 | ||||
-rw-r--r-- | video/out/gl_video_shaders.glsl | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/video/out/gl_video.c b/video/out/gl_video.c index 5ad935bd70..f965a4abd9 100644 --- a/video/out/gl_video.c +++ b/video/out/gl_video.c @@ -567,10 +567,8 @@ static void update_uniforms(struct gl_video *p, GLuint program) gl->Uniform1f(gl->GetUniformLocation(program, "sig_offset"), sig_offset); float gamma = p->opts.gamma ? p->opts.gamma : 1.0; - gl->Uniform3f(gl->GetUniformLocation(program, "inv_gamma"), - 1.0 / (cparams.rgamma * gamma), - 1.0 / (cparams.ggamma * gamma), - 1.0 / (cparams.bgamma * gamma)); + gl->Uniform1f(gl->GetUniformLocation(program, "inv_gamma"), + 1.0 / (cparams.gamma * gamma)); for (int n = 0; n < p->plane_count; n++) { char textures_n[32]; diff --git a/video/out/gl_video_shaders.glsl b/video/out/gl_video_shaders.glsl index b13d518e6c..032248516d 100644 --- a/video/out/gl_video_shaders.glsl +++ b/video/out/gl_video_shaders.glsl @@ -178,7 +178,7 @@ uniform mat3 colormatrix; uniform vec3 colormatrix_c; uniform mat3 cms_matrix; uniform mat2 dither_trafo; -uniform vec3 inv_gamma; +uniform float inv_gamma; uniform float input_gamma; uniform float conv_gamma; uniform float sig_center; @@ -495,7 +495,7 @@ void main() { color = clamp(color, 0.0, 1.0); #ifdef USE_GAMMA_POW // User-defined gamma correction factor (via the gamma sub-option) - color = pow(color, inv_gamma); + color = pow(color, vec3(inv_gamma)); #endif #ifdef USE_3DLUT // For the 3DLUT we are arbitrarily using 2.4 as input gamma to reduce |