From 49e43dd08575445b9ad1988aeb7c6e95a4c13280 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 13 Apr 2016 05:06:24 +0200 Subject: [PATCH] (GLSL) Cleanup --- gfx/drivers_shader/shader_glsl.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/gfx/drivers_shader/shader_glsl.c b/gfx/drivers_shader/shader_glsl.c index f102336b2a..cd25817400 100644 --- a/gfx/drivers_shader/shader_glsl.c +++ b/gfx/drivers_shader/shader_glsl.c @@ -1158,13 +1158,20 @@ static void gl_glsl_set_params(void *data, void *shader_data, /* Set lookup textures. */ for (i = 0; i < glsl->shader->luts; i++) { + struct uniform_info lut_uniform; if (uni->lut_texture[i] < 0) continue; /* Have to rebind as HW render could override this. */ glActiveTexture(GL_TEXTURE0 + texunit); glBindTexture(GL_TEXTURE_2D, glsl->gl_teximage[i]); - glUniform1i(uni->lut_texture[i], texunit); + + lut_uniform.enabled = true; + lut_uniform.location = uni->lut_texture[i]; + lut_uniform.type = UNIFORM_1I; + lut_uniform.result.integer.v0 = texunit; + + glsl_uniform_set_parameter(&lut_uniform, NULL); texunit++; } @@ -1173,9 +1180,17 @@ static void gl_glsl_set_params(void *data, void *shader_data, /* Set original texture. */ if (uni->orig.texture >= 0) { + struct uniform_info orig_tex_uniform; /* Bind original texture. */ glActiveTexture(GL_TEXTURE0 + texunit); - glUniform1i(uni->orig.texture, texunit); + + orig_tex_uniform.enabled = true; + orig_tex_uniform.location = uni->orig.texture; + orig_tex_uniform.type = UNIFORM_1I; + orig_tex_uniform.result.integer.v0 = texunit; + + glsl_uniform_set_parameter(&orig_tex_uniform, NULL); + glBindTexture(GL_TEXTURE_2D, info->tex); texunit++; }