From ac58663decabb25600862e7345377efe2da1ee92 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 15 Sep 2020 09:28:35 +0200 Subject: Fix T80776: Cannot switch between Slots of Render Result Introduced by D8234. Added active render slot to determine if the GPUTexture is still up to date. --- source/blender/blenkernel/intern/image_gpu.c | 5 ++++- source/blender/makesdna/DNA_image_types.h | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/image_gpu.c b/source/blender/blenkernel/intern/image_gpu.c index 8e2e3fd621c..57e7e9446d2 100644 --- a/source/blender/blenkernel/intern/image_gpu.c +++ b/source/blender/blenkernel/intern/image_gpu.c @@ -277,9 +277,12 @@ static GPUTexture *image_get_gpu_texture(Image *ima, * the current `pass` and `layer` should be 0. */ short requested_pass = iuser ? iuser->pass : 0; short requested_layer = iuser ? iuser->layer : 0; - if (ima->gpu_pass != requested_pass || ima->gpu_layer != requested_layer) { + short requested_slot = ima->render_slot; + if (ima->gpu_pass != requested_pass || ima->gpu_layer != requested_layer || + ima->gpu_slot != requested_slot) { ima->gpu_pass = requested_pass; ima->gpu_layer = requested_layer; + ima->gpu_slot = requested_slot; ima->gpuflag |= IMA_GPU_REFRESH; } diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h index 4a05d7ba319..6e0e3d6d6b7 100644 --- a/source/blender/makesdna/DNA_image_types.h +++ b/source/blender/makesdna/DNA_image_types.h @@ -151,7 +151,8 @@ typedef struct Image { short gpuflag; short gpu_pass; short gpu_layer; - char _pad2[6]; + short gpu_slot; + char _pad2[4]; /** Deprecated. */ struct PackedFile *packedfile DNA_DEPRECATED; -- cgit v1.2.3