diff options
author | Jeroen Bakker <jeroen@blender.org> | 2021-11-01 17:08:25 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2021-11-01 17:08:25 +0300 |
commit | bb3de31f84e350540720d8f52fed472ee5d65644 (patch) | |
tree | f29826ba542b83eb77b5ca085c9765a693c35980 /source/blender/editors/animation | |
parent | f85c58ab65e55f6a8006fcc1140c73fe10c2c364 (diff) |
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.
Diffstat (limited to 'source/blender/editors/animation')
-rw-r--r-- | source/blender/editors/animation/keyframes_draw.c | 22 |
1 files 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) |