[Bf-blender-cvs] [63921c65e94] soc-2018-npr: changed most of the list API into BLI_'s. Removed many unused functions

Nick Wu noreply at git.blender.org
Mon Jul 30 12:26:57 CEST 2018


Commit: 63921c65e9480b8004c2807a96fa8cc3835dc1d8
Author: Nick Wu
Date:   Mon Jul 30 18:26:15 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB63921c65e9480b8004c2807a96fa8cc3835dc1d8

changed most of the list API into BLI_'s. Removed many unused functions

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

M	source/blender/draw/engines/lanpr/lanpr_all.h
M	source/blender/draw/engines/lanpr/lanpr_chain.c
M	source/blender/draw/engines/lanpr/lanpr_dpix.c
M	source/blender/draw/engines/lanpr/lanpr_ops.c
M	source/blender/draw/engines/lanpr/lanpr_util.c
M	source/blender/draw/engines/lanpr/lanpr_util.h

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

diff --git a/source/blender/draw/engines/lanpr/lanpr_all.h b/source/blender/draw/engines/lanpr/lanpr_all.h
index 50365298de7..4e2b50c432b 100644
--- a/source/blender/draw/engines/lanpr/lanpr_all.h
+++ b/source/blender/draw/engines/lanpr/lanpr_all.h
@@ -264,16 +264,16 @@ typedef struct LANPR_RenderTaskInfo {
 	int ThreadID;
 
 	struct nListItemPointer *Contour;
-	nListHandle ContourPointers;
+	ListBase ContourPointers;
 
 	struct nListItemPointer *Intersection;
-	nListHandle IntersectionPointers;
+	ListBase IntersectionPointers;
 
 	struct nListItemPointer *Crease;
-	nListHandle CreasePointers;
+	ListBase CreasePointers;
 
 	struct nListItemPointer *Material;
-	nListHandle MaterialPointers;
+	ListBase MaterialPointers;
 
 } LANPR_RenderTaskInfo;
 
@@ -304,12 +304,12 @@ typedef struct LANPR_RenderBuffer {
 	//u32bit             BaVBO;
 	//u32bit           BaFillVBO;
 
-	nListHandle VertexBufferPointers;
-	nListHandle LineBufferPointers;
-	nListHandle TriangleBufferPointers;
-	nListHandle AllRenderLines;
+	ListBase VertexBufferPointers;
+	ListBase LineBufferPointers;
+	ListBase TriangleBufferPointers;
+	ListBase AllRenderLines;
 
-	nListHandle IntersectingVertexBuffer;
+	ListBase IntersectingVertexBuffer;
 
 	struct GPUBatch *DPIXIntersectionTransformBatch;
 	struct GPUBatch *DPIXIntersectionBatch;
@@ -330,29 +330,29 @@ typedef struct LANPR_RenderBuffer {
 	u32bit ContourCount;
 	u32bit ContourProcessed;
 	nListItemPointer *ContourManaged;
-	nListHandle Contours;
+	ListBase Contours;
 
 	u32bit IntersectionCount;
 	u32bit IntersectionProcessed;
 	nListItemPointer *IntersectionManaged;
-	nListHandle IntersectionLines;
+	ListBase IntersectionLines;
 
 	u32bit CreaseCount;
 	u32bit CreaseProcessed;
 	nListItemPointer *CreaseManaged;
-	nListHandle CreaseLines;
+	ListBase CreaseLines;
 
 	u32bit MaterialLineCount;
 	u32bit MaterialProcessed;
 	nListItemPointer *MaterialManaged;
-	nListHandle MaterialLines;
+	ListBase MaterialLines;
 
 	u32bit EdgeMarkCount;
 	u32bit EdgeMarkProcessed;
 	nListItemPointer *EdgeMarkManaged;
-	nListHandle EdgeMarks;
+	ListBase EdgeMarks;
 
-	nListHandle Chains;
+	ListBase Chains;
 	GPUBatch*  ChainDrawBatch;
 	DRWShadingGroup* ChainShgrp;
 
@@ -407,7 +407,7 @@ typedef struct LANPR_RenderTriangle {
 	real GC[3];
 	//struct BMFace *F;
 	short MaterialID;
-	nListHandle IntersectingVerts;
+	ListBase IntersectingVerts;
 	char CullStatus;
 	struct LANPR_RenderTriangle *Testing;   //Should Be tRT** Testing[NumOfThreads]
 }LANPR_RenderTriangle;
@@ -460,7 +460,7 @@ typedef struct LANPR_RenderLine {
 	nListItem Item;
 	struct LANPR_RenderVert *L, *R;
 	struct LANPR_RenderTriangle *TL, *TR;
-	nListHandle Segments;
+	ListBase Segments;
 	//tnsEdge*       Edge;//should be edge material
 	//tnsRenderTriangle* Testing;//Should Be tRT** Testing[NumOfThreads]
 	char MinOcclude;
@@ -470,7 +470,7 @@ typedef struct LANPR_RenderLine {
 
 typedef struct LANPR_RenderLineChain {
 	nListItem   Item;
-	nListHandle Chain;
+	ListBase Chain;
 	//int         SegmentCount;  // we count before draw cmd.
 	float       Length;          // calculated before draw cmd.
 }LANPR_RenderLineChain;
@@ -488,15 +488,15 @@ typedef struct LANPR_BoundingArea {
 
 	struct LANPR_BoundingArea *Child;//1,2,3,4 quadrant
 
-	nListHandle LP;
-	nListHandle RP;
-	nListHandle UP;
-	nListHandle BP;
+	ListBase LP;
+	ListBase RP;
+	ListBase UP;
+	ListBase BP;
 
 	int TriangleCount;
-	nListHandle LinkedTriangles;
-	nListHandle LinkedLines;
-	nListHandle LinkedChains;//reserved for multithread chainning
+	ListBase LinkedTriangles;
+	ListBase LinkedLines;
+	ListBase LinkedChains;//reserved for multithread chainning
 }LANPR_BoundingArea;
 
 
diff --git a/source/blender/draw/engines/lanpr/lanpr_chain.c b/source/blender/draw/engines/lanpr/lanpr_chain.c
index 45a1c2063c9..8b8aede8f53 100644
--- a/source/blender/draw/engines/lanpr/lanpr_chain.c
+++ b/source/blender/draw/engines/lanpr/lanpr_chain.c
@@ -36,7 +36,7 @@ LANPR_RenderLine* lanpr_get_connected_render_line(LANPR_BoundingArea* ba, LANPR_
 	LANPR_RenderLine* nrl;
 	real cosine;
 
-	for (lip = ba->LinkedLines.pFirst; lip; lip = lip->pNext) {
+	for (lip = ba->LinkedLines.first; lip; lip = lip->pNext) {
 		nrl = lip->p;
 
 		if ((!(nrl->Flags&LANPR_EDGE_FLAG_ALL_TYPE)) || (nrl->Flags & LANPR_EDGE_FLAG_CHAIN_PICKED)) continue;
@@ -72,22 +72,22 @@ int lanpr_get_nearby_render_line(LANPR_BoundingArea* ba, LANPR_RenderLine* rl){
 
 LANPR_RenderLineChain* lanpr_create_render_line_chain(LANPR_RenderBuffer *rb){
     LANPR_RenderLineChain* rlc;
-    rlc = memStaticAquire(&rb->RenderDataPool, sizeof(LANPR_RenderLineChain));
+    rlc = mem_static_aquire(&rb->RenderDataPool, sizeof(LANPR_RenderLineChain));
 
-    lstAppendItem(&rb->Chains,rlc);
+    BLI_addtail(&rb->Chains,rlc);
 
     return rlc;
 }
 
 LANPR_RenderLineChainItem* lanpr_append_render_line_chain_point(LANPR_RenderBuffer *rb, LANPR_RenderLineChain* rlc, float x, float y, char type, int level){
     LANPR_RenderLineChainItem* rlci;
-    rlci = memStaticAquire(&rb->RenderDataPool, sizeof(LANPR_RenderLineChainItem));
+    rlci = mem_static_aquire(&rb->RenderDataPool, sizeof(LANPR_RenderLineChainItem));
 
     rlci->pos[0] = x;
     rlci->pos[1] = y;
     rlci->LineType = type&LANPR_EDGE_FLAG_ALL_TYPE;
 	rlci->OcclusionLevel = level;
-    lstAppendItem(&rlc->Chain,rlci);
+	BLI_addtail(&rlc->Chain,rlci);
 
     //printf("a %f,%f %d\n", x, y, level);
 
@@ -96,13 +96,13 @@ LANPR_RenderLineChainItem* lanpr_append_render_line_chain_point(LANPR_RenderBuff
 
 LANPR_RenderLineChainItem* lanpr_push_render_line_chain_point(LANPR_RenderBuffer *rb, LANPR_RenderLineChain* rlc, float x, float y, char type, int level){
     LANPR_RenderLineChainItem* rlci;
-    rlci = memStaticAquire(&rb->RenderDataPool, sizeof(LANPR_RenderLineChainItem));
+    rlci = mem_static_aquire(&rb->RenderDataPool, sizeof(LANPR_RenderLineChainItem));
 
     rlci->pos[0] = x;
     rlci->pos[1] = y;
     rlci->LineType = type&LANPR_EDGE_FLAG_ALL_TYPE;
 	rlci->OcclusionLevel = level;
-    lstPushItem(&rlc->Chain,rlci);
+    BLI_addhead(&rlc->Chain,rlci);
 
 	//printf("p %f,%f %d\n", x, y, level);
 
@@ -124,7 +124,7 @@ void lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
 
 		float dist = dist_to_line_segment_v2(rlci->pos, from->pos, to->pos);
 		if (dist>dist_threshold && dist>max_dist) { max_dist = dist; max_rlci = rlci; }
-		//if (dist <= dist_threshold) lstRemoveItem(&rlc->Chain, (void*)rlci);
+		//if (dist <= dist_threshold) BLI_remlink(&rlc->Chain, (void*)rlci);
     }
 
 	if (!max_rlci) {
@@ -132,7 +132,7 @@ void lanpr_reduce_render_line_chain_recursive(LANPR_RenderLineChain* rlc, LANPR_
 		for (rlci = from->Item.pNext; rlci != to; rlci = next_rlci) {
 			next_rlci = rlci->Item.pNext;
 			if (next_rlci && (next_rlci->OcclusionLevel != rlci->OcclusionLevel || next_rlci->LineType != rlci->LineType)) continue;
-			lstRemoveItem(&rlc->Chain, (void*)rlci);
+			BLI_remlink(&rlc->Chain, (void*)rlci);
 		}
 	}else {
 		if (from->Item.pNext != max_rlci) lanpr_reduce_render_line_chain_recursive(rlc, from, max_rlci, dist_threshold);
@@ -148,7 +148,7 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
     LANPR_BoundingArea* ba;
     LANPR_RenderLineSegment* rls;
 
-    for(rl = rb->AllRenderLines.pFirst; rl;rl=rl->Item.pNext){
+    for(rl = rb->AllRenderLines.first; rl;rl=rl->Item.pNext){
 
         if((!(rl->Flags&LANPR_EDGE_FLAG_ALL_TYPE)) || (rl->Flags & LANPR_EDGE_FLAG_CHAIN_PICKED)) continue;
 
@@ -163,7 +163,7 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
         // step 1: grow left
         ba = lanpr_get_point_bounding_area(rb,rl->L->FrameBufferCoord[0], rl->L->FrameBufferCoord[1]);
         new_rv = rl->L;
-		rls = rl->Segments.pFirst;
+		rls = rl->Segments.first;
         lanpr_push_render_line_chain_point(rb,rlc,new_rv->FrameBufferCoord[0],new_rv->FrameBufferCoord[1],rl->Flags, rls->OcclusionLevel);
         while(ba &&(new_rl = lanpr_get_connected_render_line(ba,new_rv,&new_rv))){
             new_rl->Flags |= LANPR_EDGE_FLAG_CHAIN_PICKED;
@@ -171,14 +171,14 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
             int last_occlusion;
             
             if(new_rv==new_rl->L){
-                for(rls = new_rl->Segments.pLast; rls;rls=rls->Item.pPrev){
+                for(rls = new_rl->Segments.last; rls;rls=rls->Item.pPrev){
                     float px,py;
                     px = tnsLinearItp(new_rl->L->FrameBufferCoord[0], new_rl->R->FrameBufferCoord[0], rls->at);
                     py = tnsLinearItp(new_rl->L->FrameBufferCoord[1], new_rl->R->FrameBufferCoord[1], rls->at);
                     lanpr_push_render_line_chain_point(rb,rlc,px,py, new_rl->Flags, rls->OcclusionLevel);
                 }
             }elif(new_rv==new_rl->R){
-                rls = new_rl->Segments.pFirst;
+                rls = new_rl->Segments.first;
                 last_occlusion = rls->OcclusionLevel;
                 rls=rls->Item.pNext;
                 for(rls; rls; rls= rls->Item.pNext){
@@ -194,7 +194,7 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
         }
 
         // step 2: this line
-		rls = rl->Segments.pFirst;
+		rls = rl->Segments.first;
         for(rls = rls->Item.pNext; rls;rls=rls->Item.pNext){
             float px,py;
             px = tnsLinearItp(rl->L->FrameBufferCoord[0], rl->R->FrameBufferCoord[0], rls->at);
@@ -214,16 +214,16 @@ void lanpr_NO_THREAD_chain_feature_lines(LANPR_RenderBuffer *rb, float dist_thre
             int last_occlusion;
 
 			// fix leading vertex type
-			rlci = rlc->Chain.pLast;
+			rlci = rlc->Chain.last;
 			rlci->LineType = new_rl->Flags&LANPR_EDGE_FLAG_ALL_TYPE;
             
 			if (new_rv == new_rl->L) {
-				rls = new_rl->Segments.pLast;
+				rls = new_rl->Segments.last;
 				last_occlusion = rls->OcclusionLevel;
 				rlci->OcclusionLevel = last_occlusion;
 				rls = rls->Item.pPrev;
 				if (rls) last_occlusion = rls->OcclusionLevel;
-				for (rls = new_rl->Segments.pLast; rls; rls = rls->Item.pPrev) {
+				for (rls = new_rl->Segments.last; rls; rls = rls->Item.pPrev) {
 					float px, py;
 				

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list