[Bf-blender-cvs] [bb3de31f84e] blender-v3.0-release: Revert "T78995: Enable keylist threaded drawing."

Jeroen Bakker noreply at git.blender.org
Mon Nov 1 15:10:56 CET 2021


Commit: bb3de31f84e350540720d8f52fed472ee5d65644
Author: Jeroen Bakker
Date:   Mon Nov 1 15:08:25 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rBbb3de31f84e350540720d8f52fed472ee5d65644

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.

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

M	source/blender/editors/animation/keyframes_draw.c

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

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)



More information about the Bf-blender-cvs mailing list