Commit: 513aacbdb6e425005eee6d83fdca0f06f6e6e374
Author: Sergey Sharybin
Date:   Tue Apr 11 15:28:35 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB513aacbdb6e425005eee6d83fdca0f06f6e6e374

Use immediate mode API for OpenColorIO

===================================================================

M       build_files/cmake/macros.cmake
M       intern/opencolorio/CMakeLists.txt
M       intern/opencolorio/ocio_impl_glsl.cc

===================================================================

diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 27728917af5..7f46c40e27a 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -599,7 +599,6 @@ function(SETUP_BLENDER_SORTED_LIBS)
                bf_bmesh
                bf_gpu
                bf_draw
-               bf_intern_gawain
                bf_blenloader
                bf_blenkernel
                bf_physics
@@ -656,6 +655,7 @@ function(SETUP_BLENDER_SORTED_LIBS)
                cycles_util
                cycles_subd
                bf_intern_opencolorio
+               bf_intern_gawain
                bf_intern_eigen
                extern_rangetree
                extern_wcwidth
diff --git a/intern/opencolorio/CMakeLists.txt 
b/intern/opencolorio/CMakeLists.txt
index f7e8d909f2c..d2dd8a3c419 100644
--- a/intern/opencolorio/CMakeLists.txt
+++ b/intern/opencolorio/CMakeLists.txt
@@ -27,6 +27,7 @@ set(INC
        .
        ../glew-mx
        ../guardedalloc
+       ../gawain
        ../../source/blender/blenlib
 )
 
diff --git a/intern/opencolorio/ocio_impl_glsl.cc 
b/intern/opencolorio/ocio_impl_glsl.cc
index 9dba37f27eb..819dd6632b3 100644
--- a/intern/opencolorio/ocio_impl_glsl.cc
+++ b/intern/opencolorio/ocio_impl_glsl.cc
@@ -48,6 +48,9 @@
 #  pragma warning(pop)
 #endif
 
+extern "C" {
+#include "gawain/immediate.h"
+}
 
 using namespace OCIO_NAMESPACE;
 
@@ -408,7 +411,7 @@ bool OCIOImpl::setupGLSLDraw(OCIO_GLSLDrawState **state_r, 
OCIO_ConstProcessorRc
 
                glActiveTexture(GL_TEXTURE0);
 
-               glUseProgram(state->program);
+               immBindProgram(state->program);
 
                glUniform1i(glGetUniformLocation(state->program, 
"image_texture"), 0);
                glUniform1i(glGetUniformLocation(state->program, 
"lut3d_texture"), 1);
@@ -461,7 +464,7 @@ void OCIOImpl::finishGLSLDraw(OCIO_GLSLDrawState *state)
 {
        glActiveTexture(state->last_texture_unit);
        glBindTexture(GL_TEXTURE_2D, state->last_texture);
-       glUseProgram(0);
+       immUnbindProgram();
 }
 
 void OCIOImpl::freeGLState(struct OCIO_GLSLDrawState *state)

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to