[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57423] branches/soc-2013-dingto: Merged revision(s) 57369-57422 from trunk/blender into soc-2013-dingto.

Thomas Dinges blender at dingto.org
Thu Jun 13 10:06:09 CEST 2013


Revision: 57423
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57423
Author:   dingto
Date:     2013-06-13 08:06:09 +0000 (Thu, 13 Jun 2013)
Log Message:
-----------
Merged revision(s) 57369-57422 from trunk/blender into soc-2013-dingto.
Skipped r57368 (Wavelength node). 

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

Modified Paths:
--------------
    branches/soc-2013-dingto/intern/cycles/blender/blender_python.cpp
    branches/soc-2013-dingto/intern/cycles/blender/blender_session.cpp
    branches/soc-2013-dingto/intern/cycles/blender/blender_sync.h
    branches/soc-2013-dingto/intern/cycles/kernel/CMakeLists.txt
    branches/soc-2013-dingto/intern/cycles/kernel/kernel_jitter.h
    branches/soc-2013-dingto/intern/cycles/kernel/kernel_path.h
    branches/soc-2013-dingto/intern/cycles/kernel/kernel_random.h
    branches/soc-2013-dingto/intern/cycles/render/nodes.cpp
    branches/soc-2013-dingto/release/scripts/modules/bpy/utils.py
    branches/soc-2013-dingto/release/scripts/startup/bl_operators/wm.py
    branches/soc-2013-dingto/release/scripts/startup/bl_ui/space_info.py
    branches/soc-2013-dingto/source/blender/blenkernel/BKE_mesh.h
    branches/soc-2013-dingto/source/blender/blenkernel/BKE_modifier.h
    branches/soc-2013-dingto/source/blender/blenkernel/BKE_node.h
    branches/soc-2013-dingto/source/blender/blenkernel/BKE_tracking.h
    branches/soc-2013-dingto/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/lamp.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/library.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/material.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/mesh.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/modifier.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/nla.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/node.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/texture.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/tracking.c
    branches/soc-2013-dingto/source/blender/blenkernel/intern/world.c
    branches/soc-2013-dingto/source/blender/bmesh/intern/bmesh_core.c
    branches/soc-2013-dingto/source/blender/bmesh/intern/bmesh_interp.c
    branches/soc-2013-dingto/source/blender/compositor/nodes/COM_TrackPositionNode.cpp
    branches/soc-2013-dingto/source/blender/compositor/operations/COM_TrackPositionOperation.cpp
    branches/soc-2013-dingto/source/blender/compositor/operations/COM_TrackPositionOperation.h
    branches/soc-2013-dingto/source/blender/editors/include/ED_object.h
    branches/soc-2013-dingto/source/blender/editors/interface/interface_handlers.c
    branches/soc-2013-dingto/source/blender/editors/interface/interface_layout.c
    branches/soc-2013-dingto/source/blender/editors/interface/interface_regions.c
    branches/soc-2013-dingto/source/blender/editors/object/object_group.c
    branches/soc-2013-dingto/source/blender/editors/object/object_vgroup.c
    branches/soc-2013-dingto/source/blender/editors/render/render_internal.c
    branches/soc-2013-dingto/source/blender/editors/screen/area.c
    branches/soc-2013-dingto/source/blender/editors/space_clip/clip_draw.c
    branches/soc-2013-dingto/source/blender/editors/space_graph/graph_edit.c
    branches/soc-2013-dingto/source/blender/editors/space_node/drawnode.c
    branches/soc-2013-dingto/source/blender/editors/space_node/node_add.c
    branches/soc-2013-dingto/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2013-dingto/source/blender/editors/space_view3d/view3d_buttons.c
    branches/soc-2013-dingto/source/blender/freestyle/FRS_freestyle.h
    branches/soc-2013-dingto/source/blender/freestyle/intern/application/Controller.cpp
    branches/soc-2013-dingto/source/blender/freestyle/intern/application/Controller.h
    branches/soc-2013-dingto/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
    branches/soc-2013-dingto/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.h
    branches/soc-2013-dingto/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
    branches/soc-2013-dingto/source/blender/makesdna/DNA_meshdata_types.h
    branches/soc-2013-dingto/source/blender/makesrna/intern/rna_lamp.c
    branches/soc-2013-dingto/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2013-dingto/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2013-dingto/source/blender/modifiers/intern/MOD_solidify.c
    branches/soc-2013-dingto/source/blender/nodes/NOD_composite.h
    branches/soc-2013-dingto/source/blender/nodes/composite/node_composite_tree.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_composite.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_defocus.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_image.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_movieclip.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_moviedistortion.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_outputFile.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_stabilize2d.c
    branches/soc-2013-dingto/source/blender/nodes/composite/nodes/node_composite_viewer.c
    branches/soc-2013-dingto/source/blender/python/intern/bpy_driver.c
    branches/soc-2013-dingto/source/blender/python/intern/bpy_interface.c
    branches/soc-2013-dingto/source/blender/render/extern/include/RE_pipeline.h
    branches/soc-2013-dingto/source/blender/render/intern/source/pipeline.c

Property Changed:
----------------
    branches/soc-2013-dingto/


Property changes on: branches/soc-2013-dingto
___________________________________________________________________
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/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
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57315-57365
   + /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
/tags/blender-2.67b-release/blender:57122
/trunk/blender:57315-57365,57369-57422

Modified: branches/soc-2013-dingto/intern/cycles/blender/blender_python.cpp
===================================================================
--- branches/soc-2013-dingto/intern/cycles/blender/blender_python.cpp	2013-06-13 01:39:07 UTC (rev 57422)
+++ branches/soc-2013-dingto/intern/cycles/blender/blender_python.cpp	2013-06-13 08:06:09 UTC (rev 57423)
@@ -63,7 +63,7 @@
 	BL::RenderEngine engine(engineptr);
 
 	PointerRNA userprefptr;
-	RNA_id_pointer_create((ID*)PyLong_AsVoidPtr(pyuserpref), &userprefptr);
+	RNA_pointer_create(NULL, &RNA_UserPreferences, (void*)PyLong_AsVoidPtr(pyuserpref), &userprefptr);
 	BL::UserPreferences userpref(userprefptr);
 
 	PointerRNA dataptr;

Modified: branches/soc-2013-dingto/intern/cycles/blender/blender_session.cpp
===================================================================
--- branches/soc-2013-dingto/intern/cycles/blender/blender_session.cpp	2013-06-13 01:39:07 UTC (rev 57422)
+++ branches/soc-2013-dingto/intern/cycles/blender/blender_session.cpp	2013-06-13 08:06:09 UTC (rev 57423)
@@ -102,11 +102,18 @@
 	/* create sync */
 	sync = new BlenderSync(b_engine, b_data, b_scene, scene, !background, session->progress, session_params.device.type == DEVICE_CPU);
 
-	/* for final render we will do sync per render layer */
 	if(b_v3d) {
+		/* full data sync */
 		sync->sync_data(b_v3d, b_engine.camera_override());
 		sync->sync_view(b_v3d, b_rv3d, width, height);
 	}
+	else {
+		/* for final render we will do full data sync per render layer, only
+		 * do some basic syncing here, no objects or materials for speed */
+		sync->sync_render_layers(b_v3d, NULL);
+		sync->sync_integrator();
+		sync->sync_camera(b_render, b_engine.camera_override(), width, height);
+	}
 
 	/* set buffer parameters */
 	BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, width, height);
@@ -370,8 +377,8 @@
 		scene->integrator->tag_update(scene);
 
 		/* update scene */
+		sync->sync_camera(b_render, b_engine.camera_override(), width, height);
 		sync->sync_data(b_v3d, b_engine.camera_override(), b_rlay_name.c_str());
-		sync->sync_camera(b_render, b_engine.camera_override(), width, height);
 
 		/* update number of samples per layer */
 		int samples = sync->get_layer_samples();

Modified: branches/soc-2013-dingto/intern/cycles/blender/blender_sync.h
===================================================================
--- branches/soc-2013-dingto/intern/cycles/blender/blender_sync.h	2013-06-13 01:39:07 UTC (rev 57422)
+++ branches/soc-2013-dingto/intern/cycles/blender/blender_sync.h	2013-06-13 08:06:09 UTC (rev 57423)
@@ -56,6 +56,8 @@
 	/* sync */
 	bool sync_recalc();
 	void sync_data(BL::SpaceView3D b_v3d, BL::Object b_override, const char *layer = 0);
+	void sync_render_layers(BL::SpaceView3D b_v3d, const char *layer);
+	void sync_integrator();
 	void sync_camera(BL::RenderSettings b_render, BL::Object b_override, int width, int height);
 	void sync_view(BL::SpaceView3D b_v3d, BL::RegionView3D b_rv3d, int width, int height);
 	int get_layer_samples() { return render_layer.samples; }
@@ -74,10 +76,8 @@
 	void sync_objects(BL::SpaceView3D b_v3d, int motion = 0);
 	void sync_motion(BL::SpaceView3D b_v3d, BL::Object b_override);
 	void sync_film();
-	void sync_integrator();
 	void sync_view();
 	void sync_world(bool update_all);
-	void sync_render_layers(BL::SpaceView3D b_v3d, const char *layer);
 	void sync_shaders();
 	void sync_curve_settings();
 

Modified: branches/soc-2013-dingto/intern/cycles/kernel/CMakeLists.txt
===================================================================
--- branches/soc-2013-dingto/intern/cycles/kernel/CMakeLists.txt	2013-06-13 01:39:07 UTC (rev 57422)
+++ branches/soc-2013-dingto/intern/cycles/kernel/CMakeLists.txt	2013-06-13 08:06:09 UTC (rev 57423)
@@ -129,9 +129,20 @@
 	foreach(arch ${CYCLES_CUDA_BINARIES_ARCH})
 		set(cuda_cubin kernel_${arch}.cubin)
 
+		if(${arch} MATCHES "sm_1[0-9]")
+			# sm_1x
+			set(cuda_arch_flags "--maxrregcount=24 --opencc-options -OPT:Olimit=0")
+		elseif(${arch} MATCHES "sm_2[0-9]")
+			# sm_2x
+			set(cuda_arch_flags "--maxrregcount=24")
+		else()
+			# sm_3x
+			set(cuda_arch_flags "--maxrregcount=32")
+		endif()
+		
 		add_custom_command(
 			OUTPUT ${cuda_cubin}
-			COMMAND ${CUDA_NVCC_EXECUTABLE} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" --maxrregcount=24 --opencc-options -OPT:Olimit=0 -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC
+			COMMAND ${CUDA_NVCC_EXECUTABLE} -arch=${arch} -m${CUDA_BITS} --cubin ${CMAKE_CURRENT_SOURCE_DIR}/kernel.cu -o ${CMAKE_CURRENT_BINARY_DIR}/${cuda_cubin} --ptxas-options="-v" ${cuda_arch_flags} -I${CMAKE_CURRENT_SOURCE_DIR}/../util -I${CMAKE_CURRENT_SOURCE_DIR}/svm -DCCL_NAMESPACE_BEGIN= -DCCL_NAMESPACE_END= -DNVCC
 			DEPENDS ${cuda_sources})
 
 		delayed_install("${CMAKE_CURRENT_BINARY_DIR}" "${cuda_cubin}" ${CYCLES_INSTALL_PATH}/lib)

Modified: branches/soc-2013-dingto/intern/cycles/kernel/kernel_jitter.h
===================================================================
--- branches/soc-2013-dingto/intern/cycles/kernel/kernel_jitter.h	2013-06-13 01:39:07 UTC (rev 57422)
+++ branches/soc-2013-dingto/intern/cycles/kernel/kernel_jitter.h	2013-06-13 08:06:09 UTC (rev 57423)
@@ -146,7 +146,7 @@
 	return (x + jx)*invN;
 }
 
-__device_noinline float2 cmj_sample_2D(int s, int N, int p)
+__device_noinline void cmj_sample_2D(int s, int N, int p, float *fx, float *fy)
 {
 	int m = float_to_int(sqrtf(N));
 	int n = (N + m - 1)/m;
@@ -173,7 +173,8 @@
 	float jx = cmj_randfloat(s, p * 0x967a889b);
 	float jy = cmj_randfloat(s, p * 0x368cc8b7);
 
-	return make_float2((sx + (sy + jx)*invn)*invm, (s + jy)*invN);
+	*fx = (sx + (sy + jx)*invn)*invm;
+	*fy = (s + jy)*invN;
 }
 #endif
 

Modified: branches/soc-2013-dingto/intern/cycles/kernel/kernel_path.h
===================================================================
--- branches/soc-2013-dingto/intern/cycles/kernel/kernel_path.h	2013-06-13 01:39:07 UTC (rev 57422)
+++ branches/soc-2013-dingto/intern/cycles/kernel/kernel_path.h	2013-06-13 08:06:09 UTC (rev 57423)
@@ -409,9 +409,8 @@
 		/* ambient occlusion */
 		if(kernel_data.integrator.use_ambient_occlusion || (sd.flag & SD_AO)) {
 			/* todo: solve correlation */
-			float2 bsdf_uv = path_rng_2D(kg, rng, sample, num_samples, rng_offset + PRNG_BSDF_U);
-			float bsdf_u = bsdf_uv.x;
-			float bsdf_v = bsdf_uv.y;
+			float bsdf_u, bsdf_v;
+			path_rng_2D(kg, rng, sample, num_samples, rng_offset + PRNG_BSDF_U, &bsdf_u, &bsdf_v);
 
 			float ao_factor = kernel_data.background.ao_factor;
 			float3 ao_N;
@@ -450,9 +449,8 @@
 #else
 				float light_o = path_rng_1D(kg, rng, sample, num_samples, rng_offset + PRNG_LIGHT_F);
 #endif
-				float2 light_uv = path_rng_2D(kg, rng, sample, num_samples, rng_offset + PRNG_LIGHT_U);
-				float light_u = light_uv.x;
-				float light_v = light_uv.y;
+				float light_u, light_v;
+				path_rng_2D(kg, rng, sample, num_samples, rng_offset + PRNG_LIGHT_U, &light_u, &light_v);
 
 				Ray light_ray;
 				BsdfEval L_light;
@@ -484,9 +482,8 @@
 		BsdfEval bsdf_eval;
 		float3 bsdf_omega_in;
 		differential3 bsdf_domega_in;
-		float2 bsdf_uv = path_rng_2D(kg, rng, sample, num_samples, rng_offset + PRNG_BSDF_U);
-		float bsdf_u = bsdf_uv.x;
-		float bsdf_v = bsdf_uv.y;
+		float bsdf_u, bsdf_v;
+		path_rng_2D(kg, rng, sample, num_samples, rng_offset + PRNG_BSDF_U, &bsdf_u, &bsdf_v);
 		int label;
 
 		label = shader_bsdf_sample(kg, &sd, bsdf_u, bsdf_v, &bsdf_eval,
@@ -653,10 +650,8 @@
 #ifdef __AO__
 		/* ambient occlusion */
 		if(kernel_data.integrator.use_ambient_occlusion || (sd.flag & SD_AO)) {
-			/* todo: solve correlation */
-			float2 bsdf_uv = path_rng_2D(kg, rng, sample, num_total_samples, rng_offset + PRNG_BSDF_U);
-			float bsdf_u = bsdf_uv.x;
-			float bsdf_v = bsdf_uv.y;
+			float bsdf_u, bsdf_v;
+			path_rng_2D(kg, rng, sample, num_total_samples, rng_offset + PRNG_BSDF_U, &bsdf_u, &bsdf_v);
 
 			float ao_factor = kernel_data.background.ao_factor;
 			float3 ao_N;
@@ -695,9 +690,8 @@
 #else
 				float light_o = path_rng_1D(kg, rng, sample, num_total_samples, rng_offset + PRNG_LIGHT_F);
 #endif
-				float2 light_uv = path_rng_2D(kg, rng, sample, num_total_samples, rng_offset + PRNG_LIGHT_U);
-				float light_u = light_uv.x;
-				float light_v = light_uv.y;
+				float light_u, light_v;
+				path_rng_2D(kg, rng, sample, num_total_samples, rng_offset + PRNG_LIGHT_U, &light_u, &light_v);
 
 				Ray light_ray;
 				BsdfEval L_light;
@@ -730,9 +724,8 @@
 		BsdfEval bsdf_eval;
 		float3 bsdf_omega_in;
 		differential3 bsdf_domega_in;

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list