[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48659] branches/soc-2011-tomato: svn merge ^/trunk/blender -r48638:48658

Campbell Barton ideasman42 at gmail.com
Thu Jul 5 20:04:17 CEST 2012


Revision: 48659
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48659
Author:   campbellbarton
Date:     2012-07-05 18:04:17 +0000 (Thu, 05 Jul 2012)
Log Message:
-----------
svn merge ^/trunk/blender -r48638:48658

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48638

Modified Paths:
--------------
    branches/soc-2011-tomato/CMakeLists.txt
    branches/soc-2011-tomato/SConstruct
    branches/soc-2011-tomato/build_files/scons/config/win64-mingw-config.py
    branches/soc-2011-tomato/intern/raskter/raskter.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/mesh_validate.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_hull.c
    branches/soc-2011-tomato/source/blender/editors/object/object_relations.c
    branches/soc-2011-tomato/source/creator/CMakeLists.txt

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/editors/interface/interface.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-48638
   + /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-48658

Modified: branches/soc-2011-tomato/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/CMakeLists.txt	2012-07-05 18:03:07 UTC (rev 48658)
+++ branches/soc-2011-tomato/CMakeLists.txt	2012-07-05 18:04:17 UTC (rev 48659)
@@ -149,7 +149,7 @@
 
 
 # (unix defaults to OpenMP On)
-if(UNIX AND NOT APPLE)
+if((UNIX AND NOT APPLE) OR (MINGW))
 	set(PLATFORM_DEFAULT ON)
 else()
 	set(PLATFORM_DEFAULT OFF)

Modified: branches/soc-2011-tomato/SConstruct
===================================================================
--- branches/soc-2011-tomato/SConstruct	2012-07-05 18:03:07 UTC (rev 48658)
+++ branches/soc-2011-tomato/SConstruct	2012-07-05 18:04:17 UTC (rev 48659)
@@ -792,8 +792,13 @@
     if env['WITH_BF_SDL']:
         dllsources.append('${LCGDIR}/sdl/lib/SDL.dll')
 	
+	if(env['WITH_BF_OPENMP']):
+		dllsources.append('${LCGDIR}/binaries/libgomp-1.dll')
+	
     dllsources.append('${LCGDIR}/thumbhandler/lib/BlendThumb64.dll')
-    dllsources.append('${LCGDIR}/binaries/pthreadGC2-w64.dll')
+    dllsources.append('${LCGDIR}/binaries/libgcc_s_sjlj-1.dll')
+    dllsources.append('${LCGDIR}/binaries/libwinpthread-1.dll')
+    dllsources.append('${LCGDIR}/binaries/libstdc++-6.dll)')
     dllsources.append('#source/icons/blender.exe.manifest')
 
     windlls = env.Install(dir=env['BF_INSTALLDIR'], source = dllsources)

Modified: branches/soc-2011-tomato/build_files/scons/config/win64-mingw-config.py
===================================================================
--- branches/soc-2011-tomato/build_files/scons/config/win64-mingw-config.py	2012-07-05 18:03:07 UTC (rev 48658)
+++ branches/soc-2011-tomato/build_files/scons/config/win64-mingw-config.py	2012-07-05 18:04:17 UTC (rev 48659)
@@ -175,8 +175,8 @@
 WITH_BF_RAYOPTIMIZATION = True
 BF_RAYOPTIMIZATION_SSE_FLAGS = ['-mmmx', '-msse', '-msse2']
 
-#Produces errors while rendering with subsurf/multires,
-WITH_BF_OPENMP = False
+#May produce errors with unsupported MinGW-w64 builds
+WITH_BF_OPENMP = True
 
 ##
 CC = 'gcc'

Modified: branches/soc-2011-tomato/intern/raskter/raskter.c
===================================================================
--- branches/soc-2011-tomato/intern/raskter/raskter.c	2012-07-05 18:03:07 UTC (rev 48658)
+++ branches/soc-2011-tomato/intern/raskter/raskter.c	2012-07-05 18:04:17 UTC (rev 48659)
@@ -218,7 +218,7 @@
 	/* can happen with a zero area mask */
 	if (ctx->all_edges == NULL) {
 		free(edgbuf);
-		return(0);
+		return(1);
 	}
 
 	/*
@@ -492,7 +492,7 @@
 	 * If the number of verts specified to render as a polygon is less than 3,
 	 * return immediately. Obviously we cant render a poly with sides < 3. The
 	 * return for this we set to 1, simply so it can be distinguished from the
-	 * next place we could return, /home/guest/blender-svn/soc-2011-tomato/intern/raskter/raskter
+	 * next place we could return,
 	 * which is a failure to allocate memory.
 	 */
 	if (num_feather_verts < 3) {
@@ -510,18 +510,18 @@
 		return(0);
 	}
 
-	/* can happen with a zero area mask */
-	if (ctx->all_edges == NULL) {
-		free(edgbuf);
-		return(0);
-	}
-
 	/*
 	 * Do some preprocessing on all edges. This constructs a table structure in memory of all
 	 * the edge properties and can "flip" some edges so sorting works correctly.
 	 */
 	preprocess_all_edges(ctx, feather_verts, num_feather_verts, edgbuf);
 
+	/* can happen with a zero area mask */
+	if (ctx->all_edges == NULL) {
+		free(edgbuf);
+		return(1);
+	}
+
 	/*
 	 * Set the pointer for tracking the edges currently in processing to NULL to make sure
 	 * we don't get some crazy value after initialization.

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/mesh_validate.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/mesh_validate.c	2012-07-05 18:03:07 UTC (rev 48658)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/mesh_validate.c	2012-07-05 18:04:17 UTC (rev 48659)
@@ -223,7 +223,7 @@
 	      __func__, totvert, totedge, totloop, totpoly);
 
 	if (totedge == 0 && totpoly != 0) {
-		PRINT("    logical error, %u polygons and 0 edges\n", totpoly);
+		PRINT("\tLogical error, %u polygons and 0 edges\n", totpoly);
 		do_edge_recalc = do_fixes;
 	}
 
@@ -233,7 +233,7 @@
 
 		for (j = 0; j < 3; j++) {
 			if (!finite(mv->co[j])) {
-				PRINT("    vertex %u: has invalid coordinate\n", i);
+				PRINT("\tVertex %u: has invalid coordinate\n", i);
 
 				if (do_fixes) {
 					zero_v3(mv->co);
@@ -247,7 +247,7 @@
 		}
 
 		if (fix_normal) {
-			PRINT("    vertex %u: has zero normal, assuming Z-up normal\n", i);
+			PRINT("\tVertex %u: has zero normal, assuming Z-up normal\n", i);
 			if (do_fixes) {
 				mv->no[2] = SHRT_MAX;
 				verts_fixed = TRUE;
@@ -258,20 +258,20 @@
 	for (i = 0, me = medges; i < totedge; i++, me++) {
 		int remove = FALSE;
 		if (me->v1 == me->v2) {
-			PRINT("    edge %u: has matching verts, both %u\n", i, me->v1);
+			PRINT("\tEdge %u: has matching verts, both %u\n", i, me->v1);
 			remove = do_fixes;
 		}
 		if (me->v1 >= totvert) {
-			PRINT("    edge %u: v1 index out of range, %u\n", i, me->v1);
+			PRINT("\tEdge %u: v1 index out of range, %u\n", i, me->v1);
 			remove = do_fixes;
 		}
 		if (me->v2 >= totvert) {
-			PRINT("    edge %u: v2 index out of range, %u\n", i, me->v2);
+			PRINT("\tEdge %u: v2 index out of range, %u\n", i, me->v2);
 			remove = do_fixes;
 		}
 
 		if (BLI_edgehash_haskey(edge_hash, me->v1, me->v2)) {
-			PRINT("    edge %u: is a duplicate of %d\n", i,
+			PRINT("\tEdge %u: is a duplicate of %d\n", i,
 			      GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, me->v1, me->v2)));
 			remove = do_fixes;
 		}
@@ -296,7 +296,7 @@
 						PRINT("    face %u: edge " STRINGIFY(a) "/" STRINGIFY(b) \
 						      " (%u,%u) is missing egde data\n", i, mf->a, mf->b); \
 						do_edge_recalc = TRUE; \
-					}
+					} (void)0
 
 		MFace *mf;
 		MFace *mf_prev;
@@ -306,6 +306,8 @@
 		SortFace *sf_prev;
 		unsigned int totsortface = 0;
 
+		PRINT("No Polys, only tesselated Faces\n");
+
 		for (i = 0, mf = mfaces, sf = sort_faces; i < totface; i++, mf++) {
 			int remove = FALSE;
 			int fidx;
@@ -315,7 +317,7 @@
 			do {
 				fv[fidx] = *(&(mf->v1) + fidx);
 				if (fv[fidx] >= totvert) {
-					PRINT("    face %u: 'v%d' index out of range, %u\n", i, fidx + 1, fv[fidx]);
+					PRINT("\tFace %u: 'v%d' index out of range, %u\n", i, fidx + 1, fv[fidx]);
 					remove = do_fixes;
 				}
 			} while (fidx--);
@@ -392,12 +394,12 @@
 					mf_prev = mfaces + sf_prev->index;
 
 					if (mf->v4) {
-						PRINT("    face %u & %u: are duplicates (%u,%u,%u,%u) (%u,%u,%u,%u)\n",
+						PRINT("\tFace %u & %u: are duplicates (%u,%u,%u,%u) (%u,%u,%u,%u)\n",
 						      sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf->v4,
 						      mf_prev->v1, mf_prev->v2, mf_prev->v3, mf_prev->v4);
 					}
 					else {
-						PRINT("    face %u & %u: are duplicates (%u,%u,%u) (%u,%u,%u)\n",
+						PRINT("\tFace %u & %u: are duplicates (%u,%u,%u) (%u,%u,%u)\n",
 						      sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3,
 						      mf_prev->v1, mf_prev->v2, mf_prev->v3);
 					}
@@ -433,7 +435,7 @@
 	 *
 	 * Also, loops not used by polys can be discarded.
 	 * And "intersecting" loops (i.e. loops used by more than one poly) are invalid,
-	 * so be sure to leave at most one poly/loop!
+	 * so be sure to leave at most one poly per loop!
 	 */
 	{
 		SortPoly *sort_polys = MEM_callocN(sizeof(SortPoly) * totpoly, "mesh validate's sort_polys");
@@ -444,12 +446,12 @@
 
 			if (mp->loopstart < 0 || mp->totloop < 3) {
 				/* Invalid loop data. */
-				PRINT("    poly %u is invalid (loopstart: %u, totloop: %u)\n", sp->index, mp->loopstart, mp->totloop);
+				PRINT("\tPoly %u is invalid (loopstart: %u, totloop: %u)\n", sp->index, mp->loopstart, mp->totloop);
 				sp->invalid = TRUE;
 			}
 			else if (mp->loopstart + mp->totloop > totloop) {
 				/* Invalid loop data. */
-				PRINT("    poly %u uses loops out of range (loopstart: %u, loopend: %u, max nbr of loops: %u)\n",
+				PRINT("\tPoly %u uses loops out of range (loopstart: %u, loopend: %u, max nbr of loops: %u)\n",
 				      sp->index, mp->loopstart, mp->loopstart + mp->totloop - 1, totloop - 1);
 				sp->invalid = TRUE;
 			}
@@ -465,7 +467,7 @@
 				for (j = 0, ml = &mloops[sp->loopstart]; j < mp->totloop; j++, ml++, v++) {
 					if (ml->v >= totvert) {
 						/* Invalid vert idx. */
-						PRINT("    loop %u has invalid vert reference (%u)\n", sp->loopstart + j, ml->v);
+						PRINT("\tLoop %u has invalid vert reference (%u)\n", sp->loopstart + j, ml->v);
 						sp->invalid = TRUE;
 					}
 
@@ -478,7 +480,7 @@
 					v = sp->verts;
 					for (j = 0; j < mp->totloop; j++, v++) {
 						if ((mverts[*v].flag & ME_VERT_TMP_TAG) == 0) {
-							PRINT("    poly %u has duplicate vert reference at corner (%u)\n", i, j);
+							PRINT("\tPoly %u has duplicate vert reference at corner (%u)\n", i, j);
 							sp->invalid = TRUE;
 						}
 						mverts[*v].flag &= ~ME_VERT_TMP_TAG;
@@ -494,7 +496,7 @@
 					v2 = mloops[sp->loopstart + (j + 1) % mp->totloop].v;
 					if (!BLI_edgehash_haskey(edge_hash, v1, v2)) {
 						/* Edge not existing. */
-						PRINT("    poly %u needs missing edge (%u, %u)\n", sp->index, v1, v2);
+						PRINT("\tPoly %u needs missing edge (%u, %u)\n", sp->index, v1, v2);
 						if (do_fixes)
 							do_edge_recalc = TRUE;
 						else
@@ -506,11 +508,11 @@
 						if (do_fixes) {
 							int prev_e = ml->e;
 							ml->e = GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, v1, v2));

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list