Commit: fe26d188891f95d199e2559929204fddacea2ba8
Author: Jeroen Bakker
Date:   Fri Feb 18 08:22:18 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rBfe26d188891f95d199e2559929204fddacea2ba8

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.

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

M       source/blender/draw/engines/image/image_instance_data.hh
M       source/blender/draw/engines/image/image_usage.hh

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

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

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to