Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-06-02 13:19:38 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-06-02 17:46:38 +0300
commitcb59ef10320e9db95548d9f1586ed7ee7ebafc78 (patch)
tree967adb48dfe715ffb691ded2b6c18554aacf0537 /intern/opencolorio
parent0749cff957c347becd5ba8a8a8abe40d80e6f21f (diff)
OCIO: GLSL: Avoid undefined behavior
Set ubo binding after shaderinterface creation as GPU_shaderinterface_create will call glUniformBlockBinding.
Diffstat (limited to 'intern/opencolorio')
-rw-r--r--intern/opencolorio/ocio_impl_glsl.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc
index 87769a647f6..43416f734c5 100644
--- a/intern/opencolorio/ocio_impl_glsl.cc
+++ b/intern/opencolorio/ocio_impl_glsl.cc
@@ -264,14 +264,14 @@ static void updateGLSLShader(OCIO_GLSLShader *shader,
glUseProgram(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 UBO binding location. */
+ GLuint index = glGetUniformBlockIndex(shader->program, "OCIO_GLSLCurveMappingParameters");
+ glUniformBlockBinding(shader->program, index, UBO_BIND_LOC);
+
/* 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);