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>2017-05-02 02:45:11 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-05-02 16:13:12 +0300
commit61b77d8948303acb7d8dd038d25004c7774e0052 (patch)
tree86d85df5a0b9d67b2ebd10947e0a43f371490de4 /intern/opencolorio
parentd3964db5bd6d0496c7fc11657681ecde2d96272d (diff)
OCIO: Fix crash cause by bad IMM usable.
Diffstat (limited to 'intern/opencolorio')
-rw-r--r--intern/opencolorio/ocio_impl_glsl.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc
index 5d1d170c2cb..8323cffd09b 100644
--- a/intern/opencolorio/ocio_impl_glsl.cc
+++ b/intern/opencolorio/ocio_impl_glsl.cc
@@ -396,6 +396,10 @@ bool OCIOImpl::setupGLSLDraw(OCIO_GLSLDrawState **state_r, OCIO_ConstProcessorRc
state->program = linkShaders(state->ocio_shader, state->vert_shader);
}
+ if (state->program) {
+ state->shader_interface = ShaderInterface_create(state->program);
+ }
+
state->curve_mapping_used = use_curve_mapping;
state->dither_used = use_dither;
state->predivide_used = use_predivide;
@@ -412,8 +416,10 @@ bool OCIOImpl::setupGLSLDraw(OCIO_GLSLDrawState **state_r, OCIO_ConstProcessorRc
glActiveTexture(GL_TEXTURE0);
- state->shader_interface = ShaderInterface_create(state->program);
-
+ /* IMM needs vertex format even if we don't draw with it */
+ VertexFormat *format = immVertexFormat();
+ VertexFormat_add_attrib(format, "pos", COMP_F32, 2, KEEP_FLOAT);
+ VertexFormat_add_attrib(format, "texCoord", COMP_F32, 2, KEEP_FLOAT);
immBindProgram(state->program, state->shader_interface);
immUniform1i("image_texture", 0);