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:
authorSergey Sharybin <sergey.vfx@gmail.com>2013-04-01 16:08:43 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-04-01 16:08:43 +0400
commitdaa1e5bff20d7b750daaf34cddf845943518797f (patch)
treeb27767eee405f06b959e7eed0e933a6c8d1db871 /source/blender/imbuf/intern/colormanagement.c
parent5d234f0a0bafddb82d4904abb90fa069d71db2cd (diff)
Fix for GLSL display: NULL view_settings are allowed now
Currently no functional changes for users, but this change is crucial for further GLSL images display.
Diffstat (limited to 'source/blender/imbuf/intern/colormanagement.c')
-rw-r--r--source/blender/imbuf/intern/colormanagement.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index 6c33f6e3e33..200dcd3d1a7 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -2753,12 +2753,27 @@ static void update_glsl_display_processor(const ColorManagedViewSettings *view_s
int IMB_coloemanagement_setup_glsl_draw(const ColorManagedViewSettings *view_settings,
const ColorManagedDisplaySettings *display_settings)
{
+ ColorManagedViewSettings default_view_settings;
+ const ColorManagedViewSettings *applied_view_settings;
+
+ if (view_settings) {
+ applied_view_settings = view_settings;
+ }
+ else {
+ /* if no view settings were specified, use default display transformation
+ * this happens for images which don't want to be displayed with render settings
+ */
+
+ init_default_view_settings(display_settings, &default_view_settings);
+ applied_view_settings = &default_view_settings;
+ }
+
/* RGB curves mapping is not supported on GPU yet. */
- if (view_settings->flag & COLORMANAGE_VIEW_USE_CURVES)
+ if (applied_view_settings->flag & COLORMANAGE_VIEW_USE_CURVES)
return FALSE;
/* Make sure OCIO processor is up-to-date. */
- update_glsl_display_processor(view_settings, display_settings);
+ update_glsl_display_processor(applied_view_settings, display_settings);
OCIO_setupGLSLDraw(&global_glsl_state.ocio_glsl_state, global_glsl_state.processor);