diff options
Diffstat (limited to 'intern/opencolorio/ocio_impl_glsl.cc')
-rw-r--r-- | intern/opencolorio/ocio_impl_glsl.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc index df6adc8f34b..43416f734c5 100644 --- a/intern/opencolorio/ocio_impl_glsl.cc +++ b/intern/opencolorio/ocio_impl_glsl.cc @@ -263,19 +263,20 @@ static void updateGLSLShader(OCIO_GLSLShader *shader, shader->curve_mapping_loc = glGetUniformLocation(shader->program, "curve_mapping"); glUseProgram(shader->program); - /* Set texture bind point uniform once. This is saved by the shader. */ - glUniform1i(glGetUniformLocation(shader->program, "image_texture"), 0); - glUniform1i(glGetUniformLocation(shader->program, "lut3d_texture"), 2); - glUniform1i(glGetUniformLocation(shader->program, "lut3d_display_texture"), 3); - glUniform1i(glGetUniformLocation(shader->program, "curve_mapping_texture"), 4); + + /* TODO(fclem) Remove this. Make caller always assume viewport space and + * specify texco via vertex attribs. */ + shader->interface = GPU_shaderinterface_create(shader->program); /* Set UBO binding location. */ GLuint index = glGetUniformBlockIndex(shader->program, "OCIO_GLSLCurveMappingParameters"); glUniformBlockBinding(shader->program, index, UBO_BIND_LOC); - /* TODO(fclem) Remove this. Make caller always assume viewport space and - * specify texco via vertex attribs. */ - shader->interface = GPU_shaderinterface_create(shader->program); + /* Set texture bind point uniform once. This is saved by the shader. */ + glUniform1i(glGetUniformLocation(shader->program, "image_texture"), 0); + glUniform1i(glGetUniformLocation(shader->program, "lut3d_texture"), 2); + glUniform1i(glGetUniformLocation(shader->program, "lut3d_display_texture"), 3); + glUniform1i(glGetUniformLocation(shader->program, "curve_mapping_texture"), 4); } shader->cacheId = cache_id; |