[Bf-blender-cvs] [5aa3167e48b] master: Fix T90772: Image Editor not sampling color from the the currently selected pass
Philipp Oeser
noreply at git.blender.org
Mon Aug 23 13:57:47 CEST 2021
Commit: 5aa3167e48b202f4883ce948ba8e3469e3eaf3ec
Author: Philipp Oeser
Date: Thu Aug 19 14:03:48 2021 +0200
Branches: master
https://developer.blender.org/rB5aa3167e48b202f4883ce948ba8e3469e3eaf3ec
Fix T90772: Image Editor not sampling color from the the currently
selected pass
Caused by {rBebaa3fcedd23}.
Seems this above commit assumed an ImageUser's multi_index is only used
for Multiview/Stereo? This is not the case, multi_index also stores the
index for layer/pass combination.
If we call both BKE_image_multilayer_index and BKE_image_multiview_index
(even though this is not appropriate/needed for multilayer images?), we
might end up overwriting multi_index again.
note: looking at this I was also wondering why we update the ImageUser
in image-buffer-aquiring funnctions [and not from the UI, e.g.
template_image_layers, but that is a whole different story I guess, see
comment in T90772 as well]
note2: this could also use a utility function (this is not the only
place where this is done), this is fo a cleanup commit.
Maniphest Tasks: T90772
Differential Revision: https://developer.blender.org/D12267
===================================================================
M source/blender/draw/engines/image/image_engine.c
===================================================================
diff --git a/source/blender/draw/engines/image/image_engine.c b/source/blender/draw/engines/image/image_engine.c
index 395d50fbc6b..438c95118ef 100644
--- a/source/blender/draw/engines/image/image_engine.c
+++ b/source/blender/draw/engines/image/image_engine.c
@@ -111,7 +111,9 @@ static void space_image_gpu_texture_get(Image *image,
/* Update multi-index and pass for the current eye. */
BKE_image_multilayer_index(image->rr, &sima->iuser);
}
- BKE_image_multiview_index(image, &sima->iuser);
+ else {
+ BKE_image_multiview_index(image, &sima->iuser);
+ }
if (ibuf) {
const int sima_flag = sima->flag & ED_space_image_get_display_channel_mask(ibuf);
More information about the Bf-blender-cvs
mailing list