[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59367] branches/soc-2013-depsgraph_mt: Merging r59359 through r59366 from trunk into soc-2013-depsgraph_mt

Sergey Sharybin sergey.vfx at gmail.com
Wed Aug 21 16:53:39 CEST 2013


Revision: 59367
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59367
Author:   nazgul
Date:     2013-08-21 14:53:38 +0000 (Wed, 21 Aug 2013)
Log Message:
-----------
Merging r59359 through r59366 from trunk into soc-2013-depsgraph_mt

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

Modified Paths:
--------------
    branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh.h
    branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh_subsurface.h
    branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/anim.c
    branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/displist.c
    branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_dupe.c
    branches/soc-2013-depsgraph_mt/source/blender/editors/transform/transform.c
    branches/soc-2013-depsgraph_mt/source/blender/editors/transform/transform_constraints.c

Property Changed:
----------------
    branches/soc-2013-depsgraph_mt/
    branches/soc-2013-depsgraph_mt/source/blender/editors/interface/interface.c
    branches/soc-2013-depsgraph_mt/source/blender/editors/space_outliner/


Property changes on: branches/soc-2013-depsgraph_mt
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_dev:58091-58422
/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/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573,58822,58989
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57395-59358
   + /branches/ge_dev:58091-58422
/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/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126,52854-52856,54573,58822,58989
/branches/soc-2013-dingto:57424,57487,57507,57525,57599,57670,57918-57919,57981,58091,58245,58253,58587,58772,58774-58775,58828,58835,59032
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57395-59366

Modified: branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh.h
===================================================================
--- branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh.h	2013-08-21 14:37:27 UTC (rev 59366)
+++ branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh.h	2013-08-21 14:53:38 UTC (rev 59367)
@@ -794,7 +794,7 @@
 
 #if defined(__SUBSURFACE__) && defined(__HAIR__)
 #define BVH_FUNCTION_NAME bvh_intersect_subsurface_hair
-#define BVH_FUNCTION_FEATURES BVH_INSTANCING|BVH_HAIR|BVH_HAIR_MINIMUM_WIDTH
+#define BVH_FUNCTION_FEATURES BVH_INSTANCING|BVH_HAIR
 #include "kernel_bvh_subsurface.h"
 #endif
 
@@ -806,7 +806,7 @@
 
 #if defined(__SUBSURFACE__) && defined(__HAIR__) && defined(__OBJECT_MOTION__)
 #define BVH_FUNCTION_NAME bvh_intersect_subsurface_hair_motion
-#define BVH_FUNCTION_FEATURES BVH_INSTANCING|BVH_HAIR|BVH_HAIR_MINIMUM_WIDTH|BVH_MOTION
+#define BVH_FUNCTION_FEATURES BVH_INSTANCING|BVH_HAIR|BVH_MOTION
 #include "kernel_bvh_subsurface.h"
 #endif
 

Modified: branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh_subsurface.h
===================================================================
--- branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh_subsurface.h	2013-08-21 14:37:27 UTC (rev 59366)
+++ branches/soc-2013-depsgraph_mt/intern/cycles/kernel/kernel_bvh_subsurface.h	2013-08-21 14:53:38 UTC (rev 59367)
@@ -207,7 +207,13 @@
 					--stackPtr;
 
 					/* primitive intersection */
-					while(primAddr < primAddr2) {
+					for(; primAddr < primAddr2; primAddr++) {
+#if FEATURE(BVH_HAIR)
+						uint segment = kernel_tex_fetch(__prim_segment, primAddr);
+						if(segment != ~0)
+							continue;
+#endif
+
 						/* only primitives from the same object */
 						uint tri_object = (object == ~0)? kernel_tex_fetch(__prim_object, primAddr): object;
 
@@ -216,8 +222,6 @@
 							/* intersect ray against primitive */
 							bvh_triangle_intersect_subsurface(kg, isect_array, P, idir, object, primAddr, tmax, &num_hits, lcg_state, max_hits);
 						}
-
-						primAddr++;
 					}
 				}
 #if FEATURE(BVH_INSTANCING)

Modified: branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/anim.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/anim.c	2013-08-21 14:37:27 UTC (rev 59366)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/anim.c	2013-08-21 14:53:38 UTC (rev 59367)
@@ -493,7 +493,6 @@
 	BevList *bl;
 	BevPoint *bevp, *bevpn, *bevpfirst, *bevplast;
 	PathPoint *pp;
-	Curve *cu;
 	Nurb *nu;
 	Path *path;
 	float *fp, *dist, *maxdist, xyz[3];
@@ -506,7 +505,6 @@
 	if (ob == NULL || ob->type != OB_CURVE) {
 		return;
 	}
-	cu = ob->data;
 
 	if (ob->curve_cache->path) free_path(ob->curve_cache->path);
 	ob->curve_cache->path = NULL;

Modified: branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/displist.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/displist.c	2013-08-21 14:37:27 UTC (rev 59366)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/displist.c	2013-08-21 14:53:38 UTC (rev 59367)
@@ -1369,8 +1369,6 @@
 		ListBase dlbev;
 		ListBase nubase = {NULL, NULL};
 
-		BKE_nurbList_duplicate(&nubase, BKE_curve_nurbs_get(cu));
-
 		BLI_freelistN(&(ob->curve_cache->bev));
 
 		if (ob->curve_cache->path) free_path(ob->curve_cache->path);
@@ -1379,6 +1377,8 @@
 		if (ob->type == OB_FONT)
 			BKE_vfont_to_curve(G.main, scene, ob, 0);
 
+		BKE_nurbList_duplicate(&nubase, BKE_curve_nurbs_get(cu));
+
 		if (!forOrco)
 			curve_calc_modifiers_pre(scene, ob, &nubase, forRender, renderResolution);
 

Modified: branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_dupe.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_dupe.c	2013-08-21 14:37:27 UTC (rev 59366)
+++ branches/soc-2013-depsgraph_mt/source/blender/bmesh/operators/bmo_dupe.c	2013-08-21 14:53:38 UTC (rev 59367)
@@ -46,23 +46,23 @@
  *
  * Copy an existing vertex from one bmesh to another.
  */
-static BMVert *copy_vertex(BMesh *source_mesh, BMVert *source_vertex, BMesh *target_mesh, GHash *vhash)
+static BMVert *bmo_vert_copy(BMesh *bm_dst, BMesh *bm_src, BMVert *v_src, GHash *vhash)
 {
-	BMVert *target_vertex = NULL;
+	BMVert *v_dst;
 
 	/* Create a new vertex */
-	target_vertex = BM_vert_create(target_mesh, source_vertex->co, NULL, BM_CREATE_SKIP_CD);
+	v_dst = BM_vert_create(bm_dst, v_src->co, NULL, BM_CREATE_SKIP_CD);
 	
 	/* Insert new vertex into the vert hash */
-	BLI_ghash_insert(vhash, source_vertex, target_vertex);
-	
+	BLI_ghash_insert(vhash, v_src, v_dst);
+
 	/* Copy attributes */
-	BM_elem_attrs_copy(source_mesh, target_mesh, source_vertex, target_vertex);
+	BM_elem_attrs_copy(bm_src, bm_dst, v_src, v_dst);
+
+	/* Mark the vert for output */
+	BMO_elem_flag_enable(bm_dst, v_dst, DUPE_NEW);
 	
-	/* Set internal op flags */
-	BMO_elem_flag_enable(target_mesh, target_vertex, DUPE_NEW);
-	
-	return target_vertex;
+	return v_dst;
 }
 
 /**
@@ -70,55 +70,55 @@
  *
  * Copy an existing edge from one bmesh to another.
  */
-static BMEdge *copy_edge(BMOperator *op,
-                         BMOpSlot *slot_boundarymap_out,
-                         BMesh *source_mesh,
-                         BMEdge *source_edge, BMesh *target_mesh,
-                         GHash *vhash, GHash *ehash)
+static BMEdge *bmo_edge_copy(BMOperator *op,
+                             BMOpSlot *slot_boundarymap_out,
+                             BMesh *bm_dst, BMesh *bm_src,
+                             BMEdge *e_src,
+                             GHash *vhash, GHash *ehash)
 {
-	BMEdge *target_edge = NULL;
-	BMVert *target_vert1, *target_vert2;
-	BMFace *face;
-	BMIter fiter;
-	int rlen;
+	BMEdge *e_dst;
+	BMVert *e_dst_v1, *e_dst_v2;
+	unsigned int rlen;
 
 	/* see if any of the neighboring faces are
 	 * not being duplicated.  in that case,
 	 * add it to the new/old map. */
+	/* lookup edge */
 	rlen = 0;
-	for (face = BM_iter_new(&fiter, source_mesh, BM_FACES_OF_EDGE, source_edge);
-	     face;
-	     face = BM_iter_step(&fiter))
-	{
-		if (BMO_elem_flag_test(source_mesh, face, DUPE_INPUT)) {
-			rlen++;
-		}
+	if (e_src->l) {
+		BMLoop *l_iter_src, *l_first_src;
+		l_iter_src = l_first_src = e_src->l;
+		do {
+			if (BMO_elem_flag_test(bm_src, l_iter_src->e, DUPE_INPUT)) {
+				rlen++;
+			}
+		} while ((l_iter_src = l_iter_src->radial_next) != l_first_src);
 	}
 
 	/* Lookup v1 and v2 */
-	target_vert1 = BLI_ghash_lookup(vhash, source_edge->v1);
-	target_vert2 = BLI_ghash_lookup(vhash, source_edge->v2);
+	e_dst_v1 = BLI_ghash_lookup(vhash, e_src->v1);
+	e_dst_v2 = BLI_ghash_lookup(vhash, e_src->v2);
 	
 	/* Create a new edge */
-	target_edge = BM_edge_create(target_mesh, target_vert1, target_vert2, NULL, BM_CREATE_SKIP_CD);
+	e_dst = BM_edge_create(bm_dst, e_dst_v1, e_dst_v2, NULL, BM_CREATE_SKIP_CD);
 	
 	/* add to new/old edge map if necassary */
 	if (rlen < 2) {
 		/* not sure what non-manifold cases of greater then three
 		 * radial should do. */
-		BMO_slot_map_elem_insert(op, slot_boundarymap_out, source_edge, target_edge);
+		BMO_slot_map_elem_insert(op, slot_boundarymap_out, e_src, e_dst);
 	}
 
 	/* Insert new edge into the edge hash */
-	BLI_ghash_insert(ehash, source_edge, target_edge);
-	
+	BLI_ghash_insert(ehash, e_src, e_dst);
+
 	/* Copy attributes */
-	BM_elem_attrs_copy(source_mesh, target_mesh, source_edge, target_edge);
+	BM_elem_attrs_copy(bm_src, bm_dst, e_src, e_dst);
+
+	/* Mark the edge for output */
+	BMO_elem_flag_enable(bm_dst, e_dst, DUPE_NEW);
 	
-	/* Set internal op flags */
-	BMO_elem_flag_enable(target_mesh, target_edge, DUPE_NEW);
-	
-	return target_edge;
+	return e_dst;
 }
 
 /**
@@ -126,20 +126,19 @@
  *
  * Copy an existing face from one bmesh to another.
  */
-static BMFace *copy_face(BMOperator *op,
-                         BMOpSlot *slot_facemap_out,
-                         BMesh *bm_dst, BMesh *bm_src,
-                         BMFace *source_face,
-                         GHash *vhash, GHash *ehash)
+static BMFace *bmo_face_copy(BMOperator *op,
+                             BMOpSlot *slot_facemap_out,
+                             BMesh *bm_dst, BMesh *bm_src,
+                             BMFace *f_src,

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list