[Bf-blender-cvs] [0db60af6231] draw-colormanagement: - Address reviewers comments

Clément Foucault noreply at git.blender.org
Tue Feb 11 15:10:13 CET 2020


Commit: 0db60af6231f56143120a1508966116b1754c8e3
Author: Clément Foucault
Date:   Tue Feb 11 01:49:06 2020 +0100
Branches: draw-colormanagement
https://developer.blender.org/rB0db60af6231f56143120a1508966116b1754c8e3

- Address reviewers comments

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

M	intern/opencolorio/ocio_impl_glsl.cc
M	source/blender/imbuf/intern/colormanagement.c

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

diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc
index dfc782a087e..8d4a2376e2a 100644
--- a/intern/opencolorio/ocio_impl_glsl.cc
+++ b/intern/opencolorio/ocio_impl_glsl.cc
@@ -206,9 +206,9 @@ static void updateGLSLShader(OCIO_GLSLShader *shader,
                              ConstProcessorRcPtr *ocio_processor,
                              ConstProcessorRcPtr *ocio_processor_display,
                              GpuShaderDesc *shader_desc,
-                             std::string *cache_id)
+                             const std::string &cache_id)
 {
-  if (shader->cacheId == *cache_id) {
+  if (shader->cacheId == cache_id) {
     return;
   }
 
@@ -278,7 +278,7 @@ static void updateGLSLShader(OCIO_GLSLShader *shader,
     shader->interface = GPU_shaderinterface_create(shader->program);
   }
 
-  shader->cacheId = *cache_id;
+  shader->cacheId = cache_id;
   shader->valid = (shader->program != 0);
 }
 
@@ -286,7 +286,7 @@ static void ensureGLSLShader(OCIO_GLSLShader **shader_ptr,
                              ConstProcessorRcPtr *ocio_processor,
                              ConstProcessorRcPtr *ocio_processor_display,
                              GpuShaderDesc *shader_desc,
-                             std::string *cache_id)
+                             const std::string &cache_id)
 {
   if (*shader_ptr != NULL) {
     return;
@@ -322,9 +322,9 @@ static void updateGLSLLut3d(OCIO_GLSLLut3d *lut3d,
                             ConstProcessorRcPtr *ocio_processor,
                             ConstProcessorRcPtr *ocio_processor_display,
                             GpuShaderDesc *shader_desc,
-                            std::string *cache_id)
+                            const std::string &cache_id)
 {
-  if (lut3d->cacheId == *cache_id)
+  if (lut3d->cacheId == cache_id)
     return;
 
   float *lut_data = (float *)MEM_mallocN(LUT3D_TEXTURE_SIZE, __func__);
@@ -355,14 +355,14 @@ static void updateGLSLLut3d(OCIO_GLSLLut3d *lut3d,
 
   MEM_freeN(lut_data);
 
-  lut3d->cacheId = *cache_id;
+  lut3d->cacheId = cache_id;
 }
 
 static void ensureGLSLLut3d(OCIO_GLSLLut3d **lut3d_ptr,
                             ConstProcessorRcPtr *ocio_processor,
                             ConstProcessorRcPtr *ocio_processor_display,
                             GpuShaderDesc *shaderDesc,
-                            std::string *cache_id)
+                            const std::string &cache_id)
 {
   if (*lut3d_ptr != NULL) {
     return;
@@ -636,18 +636,16 @@ bool OCIOImpl::setupGLSLDraw(OCIO_GLSLDrawState **state_r,
   OCIO_GLSLCurveMappping **curvemap_ptr = (OCIO_GLSLCurveMappping **)&curvemap_handle->data;
 
   ensureGLSLShader(
-      shader_ptr, &ocio_processor, &ocio_processor_display, &shaderDesc, &shaderCacheID);
-  ensureGLSLLut3d(
-      lut3d_ptr, &ocio_processor, &ocio_processor_display, &shaderDesc, &shaderCacheID);
+      shader_ptr, &ocio_processor, &ocio_processor_display, &shaderDesc, shaderCacheID);
+  ensureGLSLLut3d(lut3d_ptr, &ocio_processor, &ocio_processor_display, &shaderDesc, shaderCacheID);
   ensureGLSLCurveMapping(curvemap_ptr, curve_mapping_settings);
 
   OCIO_GLSLShader *shader = (OCIO_GLSLShader *)shader_handle->data;
   OCIO_GLSLLut3d *shader_lut = (OCIO_GLSLLut3d *)lut3d_handle->data;
   OCIO_GLSLCurveMappping *shader_curvemap = (OCIO_GLSLCurveMappping *)curvemap_handle->data;
 
-  updateGLSLShader(shader, &ocio_processor, &ocio_processor_display, &shaderDesc, &shaderCacheID);
-  updateGLSLLut3d(
-      shader_lut, &ocio_processor, &ocio_processor_display, &shaderDesc, &lut3dCacheID);
+  updateGLSLShader(shader, &ocio_processor, &ocio_processor_display, &shaderDesc, shaderCacheID);
+  updateGLSLLut3d(shader_lut, &ocio_processor, &ocio_processor_display, &shaderDesc, lut3dCacheID);
   updateGLSLCurveMapping(shader_curvemap, curve_mapping_settings, curvemap_cache_id);
 
   /* Update handles cache keys. */
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index ff2fd8986e3..f77b98b306c 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -105,8 +105,8 @@ typedef struct ColormanageProcessor {
 
 static struct global_glsl_state {
   /* Actual processor used for GLSL baked LUTs. */
-  OCIO_ConstProcessorRcPtr *processor;
-  OCIO_ConstProcessorRcPtr *processor_display;
+  OCIO_ConstProcessorRcPtr *processor_scene_to_ui;
+  OCIO_ConstProcessorRcPtr *processor_ui_to_display;
 
   /* Settings of processor for comparison. */
   char look[MAX_COLORSPACE_NAME];
@@ -711,12 +711,12 @@ void colormanagement_init(void)
 
 void colormanagement_exit(void)
 {
-  if (global_glsl_state.processor) {
-    OCIO_processorRelease(global_glsl_state.processor);
+  if (global_glsl_state.processor_scene_to_ui) {
+    OCIO_processorRelease(global_glsl_state.processor_scene_to_ui);
   }
 
-  if (global_glsl_state.processor_display) {
-    OCIO_processorRelease(global_glsl_state.processor_display);
+  if (global_glsl_state.processor_ui_to_display) {
+    OCIO_processorRelease(global_glsl_state.processor_ui_to_display);
   }
 
   if (global_glsl_state.curve_mapping) {
@@ -3967,7 +3967,7 @@ static void update_glsl_display_processor(const ColorManagedViewSettings *view_s
   bool use_curve_mapping = (view_settings->flag & COLORMANAGE_VIEW_USE_CURVES) != 0;
   bool need_update = false;
 
-  need_update = global_glsl_state.processor == NULL ||
+  need_update = global_glsl_state.processor_scene_to_ui == NULL ||
                 check_glsl_display_processor_changed(
                     view_settings, display_settings, from_colorspace) ||
                 use_curve_mapping != global_glsl_state.use_curve_mapping;
@@ -4022,24 +4022,25 @@ static void update_glsl_display_processor(const ColorManagedViewSettings *view_s
     }
 
     /* Free old processor, if any. */
-    if (global_glsl_state.processor) {
-      OCIO_processorRelease(global_glsl_state.processor);
+    if (global_glsl_state.processor_scene_to_ui) {
+      OCIO_processorRelease(global_glsl_state.processor_scene_to_ui);
     }
 
-    if (global_glsl_state.processor_display) {
-      OCIO_processorRelease(global_glsl_state.processor_display);
+    if (global_glsl_state.processor_ui_to_display) {
+      OCIO_processorRelease(global_glsl_state.processor_ui_to_display);
     }
 
     /* We're using display OCIO processor, no RGB curves yet. */
-    global_glsl_state.processor = create_display_buffer_processor(global_glsl_state.look,
-                                                                  global_glsl_state.view,
-                                                                  global_glsl_state.display,
-                                                                  global_glsl_state.exposure,
-                                                                  global_glsl_state.gamma,
-                                                                  global_glsl_state.input,
-                                                                  true);
-
-    global_glsl_state.processor_display = create_display_encoded_buffer_processor(
+    global_glsl_state.processor_scene_to_ui = create_display_buffer_processor(
+        global_glsl_state.look,
+        global_glsl_state.view,
+        global_glsl_state.display,
+        global_glsl_state.exposure,
+        global_glsl_state.gamma,
+        global_glsl_state.input,
+        true);
+
+    global_glsl_state.processor_ui_to_display = create_display_encoded_buffer_processor(
         global_glsl_state.display);
   }
 }
@@ -4089,7 +4090,7 @@ bool IMB_colormanagement_setup_glsl_draw_from_space(
                                 from_colorspace ? from_colorspace->name :
                                                   global_role_scene_linear);
 
-  if (global_glsl_state.processor == NULL) {
+  if (global_glsl_state.processor_scene_to_ui == NULL) {
     /* Happens when requesting non-existing color space or LUT in the
      * configuration file does not exist.
      */
@@ -4098,8 +4099,8 @@ bool IMB_colormanagement_setup_glsl_draw_from_space(
 
   return OCIO_setupGLSLDraw(
       &global_glsl_state.ocio_glsl_state,
-      global_glsl_state.processor,
-      global_glsl_state.processor_display,
+      global_glsl_state.processor_scene_to_ui,
+      global_glsl_state.processor_ui_to_display,
       global_glsl_state.use_curve_mapping ? &global_glsl_state.curve_mapping_settings : NULL,
       dither,
       predivide,



More information about the Bf-blender-cvs mailing list