Commit: 9bb6c301cd1ea92b0dcf8391b76e5167ba8ab688
Author: YimingWu
Date: Mon Nov 8 17:36:14 2021 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rB9bb6c301cd1ea92b0dcf8391b76e5167ba8ab688
LineArt: Fix thread intersection duplication
===================================================================
M source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
===================================================================
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index b2a8881a98b..e08df5cb5a0 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -70,6 +70,7 @@ typedef struct LineartIsecSingle {
LineartTriangle *tri1, *tri2;
} LineartIsecSingle;
typedef struct LineartIsecThread {
+ int thread_id;
/* Thread triangle data. */
/* Used to roughly spread the load. */
int count_pending;
@@ -2938,6 +2939,7 @@ static void lineart_init_isec_thread(LineartIsecData *d,
LineartRenderBuffer *rb
it->array = MEM_mallocN(sizeof(LineartIsecSingle) * 100,
"LineartIsecSingle arr");
it->max = 100;
it->current = 0;
+ it->thread_id = i;
}
#define OBJ_PER_ISEC_THREAD 8 /* Largely arbitrary, no need to be big. */
@@ -3001,10 +3003,10 @@ static void
lineart_triangle_intersect_in_bounding_area(LineartRenderBuffer *rb,
testing_triangle = ba->linked_triangles[i];
tt = (LineartTriangleThread *)testing_triangle;
- if (testing_triangle == tri || tt->testing_e[0] == (LineartEdge *)tri) {
+ if (testing_triangle == tri || tt->testing_e[th->thread_id] ==
(LineartEdge *)tri) {
continue;
}
- tt->testing_e[0] = (LineartEdge *)tri;
+ tt->testing_e[th->thread_id] = (LineartEdge *)tri;
if ((testing_triangle->flags & LRT_TRIANGLE_NO_INTERSECTION) ||
((testing_triangle->flags & LRT_TRIANGLE_INTERSECTION_ONLY) &&
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs