diff options
author | Jeroen Bakker <jeroen@blender.org> | 2022-02-18 10:22:18 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2022-02-18 10:22:18 +0300 |
commit | fe26d188891f95d199e2559929204fddacea2ba8 (patch) | |
tree | 0b2803d785e1e5d81a1506af60943269e66e029e | |
parent | 400e57b64acc5fee1859a815d96db91e4e89aaa0 (diff) |
Fix T95809: Check color space changes to refresh image engine.
Previous commit fixed the compositor node, this commit is related to the
shader tree. Also checks if the color space or alpha mode have changed.
-rw-r--r-- | source/blender/draw/engines/image/image_instance_data.hh | 2 | ||||
-rw-r--r-- | source/blender/draw/engines/image/image_usage.hh | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/draw/engines/image/image_instance_data.hh b/source/blender/draw/engines/image/image_instance_data.hh index e5e19593e23..420f9396f3f 100644 --- a/source/blender/draw/engines/image/image_instance_data.hh +++ b/source/blender/draw/engines/image/image_instance_data.hh @@ -113,7 +113,7 @@ struct IMAGE_InstanceData { void update_image_usage(const ImageUser *image_user) { - ImageUsage usage(image_user); + ImageUsage usage(image, image_user); if (last_usage != usage) { last_usage = usage; reset_dirty_flag(true); diff --git a/source/blender/draw/engines/image/image_usage.hh b/source/blender/draw/engines/image/image_usage.hh index fb85d88cd11..1eadee4481d 100644 --- a/source/blender/draw/engines/image/image_usage.hh +++ b/source/blender/draw/engines/image/image_usage.hh @@ -34,12 +34,18 @@ struct ImageUsage { /** View of the image that is used. */ short view = 0; + ColorManagedColorspaceSettings colorspace_settings; + /** IMA_ALPHA_* */ + char alpha_mode; + ImageUsage() = default; - ImageUsage(const struct ImageUser *image_user) + ImageUsage(const struct Image *image, const struct ImageUser *image_user) { pass = image_user ? image_user->pass : 0; layer = image_user ? image_user->layer : 0; view = image_user ? image_user->multi_index : 0; + colorspace_settings = image->colorspace_settings; + alpha_mode = image->alpha_mode; } bool operator==(const ImageUsage &other) const |