[Bf-blender-cvs] [073d2390f0b] blender-v3.1-release: Fix T96163: Image editor doesn't refresh when undo/redo.

Jeroen Bakker noreply at git.blender.org
Mon Mar 7 08:43:51 CET 2022


Commit: 073d2390f0b8d37a5f02309ac1dcaf7618d7a4f9
Author: Jeroen Bakker
Date:   Mon Mar 7 08:43:37 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rB073d2390f0b8d37a5f02309ac1dcaf7618d7a4f9

Fix T96163: Image editor doesn't refresh when undo/redo.

Undo would invalidate image owned GPU textures only. Textures
that are owned by the editor were not refreshed. This patch would
invalidate all the GPU textures by marking the whole image dirty.

This can be improved later as we could add partial updates of GPU
textures.

Reviewed By: mont29

Maniphest Tasks: T96163

Differential Revision: https://developer.blender.org/D14259

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

M	source/blender/editors/space_image/image_undo.c

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

diff --git a/source/blender/editors/space_image/image_undo.c b/source/blender/editors/space_image/image_undo.c
index e81f3b6a490..9bfcf48ecd9 100644
--- a/source/blender/editors/space_image/image_undo.c
+++ b/source/blender/editors/space_image/image_undo.c
@@ -570,7 +570,8 @@ static void uhandle_restore_list(ListBase *undo_handles, bool use_init)
 
     if (changed) {
       BKE_image_mark_dirty(image, ibuf);
-      BKE_image_free_gputextures(image); /* force OpenGL reload */
+      /* TODO(jbakker): only mark areas that are actually updated to improve performance. */
+      BKE_image_partial_update_mark_full_update(image);
 
       if (ibuf->rect_float) {
         ibuf->userflags |= IB_RECT_INVALID; /* force recreate of char rect */



More information about the Bf-blender-cvs mailing list