From 073d2390f0b8d37a5f02309ac1dcaf7618d7a4f9 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Mon, 7 Mar 2022 08:43:37 +0100 Subject: 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 --- source/blender/editors/space_image/image_undo.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/space_image') 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 */ -- cgit v1.2.3