From bb3de31f84e350540720d8f52fed472ee5d65644 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Mon, 1 Nov 2021 15:08:25 +0100 Subject: [PATCH] Revert "T78995: Enable keylist threaded drawing." This reverts commit 7f1fe10595065128aab2a4aea4bc9c46e155053c. Fixes: T92549 Root cause hasn't been discovered but assert failed at keyframes_keylist.cc#793. Like some data is shared between threads. --- .../editors/animation/keyframes_draw.c | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c index e3ea8f0ab21..6fba2d9c258 100644 --- a/source/blender/editors/animation/keyframes_draw.c +++ b/source/blender/editors/animation/keyframes_draw.c @@ -30,7 +30,6 @@ #include "BLI_dlrbTree.h" #include "BLI_listbase.h" #include "BLI_rect.h" -#include "BLI_task.h" #include "DNA_anim_types.h" #include "DNA_gpencil_types.h" @@ -505,25 +504,12 @@ AnimKeylistDrawList *ED_keylist_draw_list_create(void) return MEM_callocN(sizeof(AnimKeylistDrawList), __func__); } -static void ED_keylist_draw_list_elem_build_task(void *__restrict UNUSED(userdata), - void *item, - int UNUSED(index), - const TaskParallelTLS *__restrict UNUSED(tls)) -{ - AnimKeylistDrawListElem *elem = item; - ED_keylist_draw_list_elem_build_keylist(elem); - ED_keylist_draw_list_elem_prepare_for_drawing(elem); -} - static void ED_keylist_draw_list_build_keylists(AnimKeylistDrawList *draw_list) { - TaskParallelSettings settings; - BLI_parallel_range_settings_defaults(&settings); - /* Create a task per item, a single item is complex enough to deserve its own task. */ - settings.min_iter_per_thread = 1; - - BLI_task_parallel_listbase( - &draw_list->channels, NULL, ED_keylist_draw_list_elem_build_task, &settings); + LISTBASE_FOREACH (AnimKeylistDrawListElem *, elem, &draw_list->channels) { + ED_keylist_draw_list_elem_build_keylist(elem); + ED_keylist_draw_list_elem_prepare_for_drawing(elem); + } } static void ED_keylist_draw_list_draw_blocks(AnimKeylistDrawList *draw_list, View2D *v2d)