[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