[Bf-blender-cvs] [6b4fb62] testbuild: Terrible consequencer:

Antony Riakiotakis noreply at git.blender.org
Thu Sep 4 12:58:14 CEST 2014


Commit: 6b4fb627f754f71ef6cfba0f44cd14b4f6e17b5a
Author: Antony Riakiotakis
Date:   Thu Sep 4 12:57:06 2014 +0200
Branches: testbuild
https://developer.blender.org/rB6b4fb627f754f71ef6cfba0f44cd14b4f6e17b5a

Terrible consequencer:

Try testbuild for trim tool

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

M	SConstruct
M	intern/cycles/blender/addon/presets.py
M	intern/cycles/bvh/bvh.cpp
M	intern/cycles/kernel/kernel_path.h
M	intern/cycles/kernel/kernel_path_volume.h
M	intern/cycles/kernel/svm/svm_convert.h
M	intern/cycles/render/integrator.cpp
M	intern/cycles/util/util_cache.h
M	intern/cycles/util/util_math.h
M	release/datafiles/prvicons_update.py
M	release/scripts/freestyle/modules/parameter_editor.py
M	release/scripts/presets/cycles/integrator/direct_light.py
M	release/scripts/presets/cycles/integrator/full_global_illumination.py
M	release/scripts/presets/cycles/integrator/limited_global_illumination.py
M	release/scripts/startup/bl_ui/space_image.py
M	release/scripts/startup/bl_ui/space_sequencer.py
M	release/scripts/startup/bl_ui/space_time.py
M	source/blender/blenkernel/BKE_curve.h
M	source/blender/blenkernel/BKE_lattice.h
M	source/blender/blenkernel/BKE_mball.h
M	source/blender/blenkernel/BKE_mesh.h
M	source/blender/blenkernel/BKE_object.h
M	source/blender/blenkernel/BKE_screen.h
M	source/blender/blenkernel/intern/brush.c
M	source/blender/blenkernel/intern/cdderivedmesh.c
M	source/blender/blenkernel/intern/curve.c
M	source/blender/blenkernel/intern/depsgraph.c
M	source/blender/blenkernel/intern/lattice.c
M	source/blender/blenkernel/intern/material.c
M	source/blender/blenkernel/intern/mball.c
M	source/blender/blenkernel/intern/mesh.c
M	source/blender/blenkernel/intern/object.c
M	source/blender/blenkernel/intern/screen.c
M	source/blender/blenkernel/intern/subsurf_ccg.c
M	source/blender/blenloader/intern/readfile.c
M	source/blender/bmesh/intern/bmesh_opdefines.c
M	source/blender/bmesh/intern/bmesh_operators.c
M	source/blender/bmesh/operators/bmo_connect.c
M	source/blender/bmesh/operators/bmo_connect_pair.c
M	source/blender/collada/SkinInfo.cpp
M	source/blender/editors/armature/armature_add.c
M	source/blender/editors/curve/editcurve.c
M	source/blender/editors/gpencil/drawgpencil.c
M	source/blender/editors/gpencil/gpencil_edit.c
M	source/blender/editors/include/ED_armature.h
M	source/blender/editors/include/ED_curve.h
M	source/blender/editors/include/ED_gpencil.h
M	source/blender/editors/include/ED_lattice.h
M	source/blender/editors/include/ED_mball.h
M	source/blender/editors/include/ED_mesh.h
M	source/blender/editors/include/ED_object.h
M	source/blender/editors/include/UI_interface.h
M	source/blender/editors/include/UI_view2d.h
M	source/blender/editors/interface/interface_handlers.c
M	source/blender/editors/interface/view2d.c
M	source/blender/editors/interface/view2d_ops.c
M	source/blender/editors/mesh/editmesh_tools.c
M	source/blender/editors/mesh/mesh_data.c
M	source/blender/editors/metaball/mball_edit.c
M	source/blender/editors/object/object_add.c
M	source/blender/editors/object/object_bake_api.c
M	source/blender/editors/object/object_lattice.c
M	source/blender/editors/object/object_lod.c
M	source/blender/editors/object/object_transform.c
M	source/blender/editors/sculpt_paint/paint_image_proj.c
M	source/blender/editors/sculpt_paint/paint_stroke.c
M	source/blender/editors/space_clip/clip_draw.c
M	source/blender/editors/space_clip/clip_ops.c
M	source/blender/editors/space_file/file_draw.c
M	source/blender/editors/space_file/filesel.c
M	source/blender/editors/space_graph/graph_buttons.c
M	source/blender/editors/space_image/image_ops.c
M	source/blender/editors/space_sequencer/sequencer_draw.c
M	source/blender/editors/space_sequencer/sequencer_edit.c
M	source/blender/editors/space_sequencer/sequencer_intern.h
M	source/blender/editors/space_sequencer/sequencer_ops.c
M	source/blender/editors/space_sequencer/sequencer_select.c
M	source/blender/editors/space_text/text_draw.c
M	source/blender/editors/space_view3d/drawmesh.c
M	source/blender/editors/space_view3d/view3d_edit.c
M	source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
M	source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp
M	source/blender/freestyle/intern/stroke/StrokeIterators.h
M	source/blender/freestyle/intern/view_map/Interface0D.h
M	source/blender/gpu/intern/gpu_buffers.c
M	source/blender/gpu/shaders/gpu_shader_material.glsl
M	source/blender/makesdna/DNA_sequence_types.h
M	source/blender/makesrna/intern/rna_curve_api.c
M	source/blender/makesrna/intern/rna_lattice_api.c
M	source/blender/makesrna/intern/rna_mesh_api.c
M	source/blender/makesrna/intern/rna_meta_api.c
M	source/blender/makesrna/intern/rna_sculpt_paint.c
M	source/blender/modifiers/intern/MOD_array.c
M	source/blender/render/intern/source/bake_api.c
M	source/blender/render/intern/source/convertblender.c
M	source/blender/windowmanager/wm_event_types.h
M	source/blenderplayer/bad_level_call_stubs/stubs.c
M	source/creator/CMakeLists.txt
M	source/creator/creator_launch_win.c

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

diff --git a/SConstruct b/SConstruct
index 0c398f8..c74caa2 100644
--- a/SConstruct
+++ b/SConstruct
@@ -848,7 +848,7 @@ if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
         lenv.Append(LINKFLAGS = env['PLATFORM_LINKFLAGS'])
         targetpath = B.root_build_dir + '/blender'
         launcher_obj = [env.Object(B.root_build_dir + 'source/creator/creator/creator_launch_win', ['#source/creator/creator_launch_win.c'])]
-        env.BlenderProg(B.root_build_dir, 'blender', [launcher_obj] + B.resources, [], [], 'blender')
+        env.BlenderProg(B.root_build_dir, 'blender', [launcher_obj] + B.resources, ['bf_utfconv'] + thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
 
     env.BlenderProg(B.root_build_dir, blender_progname, creob + mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
 if env['WITH_BF_PLAYER']:
@@ -1137,8 +1137,10 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
     if env['WITH_BF_PYTHON']:
         if env['BF_DEBUG']:
             dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}_d.dll')
+            dllsources.append('${BF_PYTHON_LIBPATH}/sqlite3_d.dll')
         else:
             dllsources.append('${BF_PYTHON_LIBPATH}/${BF_PYTHON_DLL}.dll')
+            dllsources.append('${BF_PYTHON_LIBPATH}/sqlite3.dll')
 
     if env['WITH_BF_ICONV']:
         if env['OURPLATFORM'] == 'win64-vc':
diff --git a/intern/cycles/blender/addon/presets.py b/intern/cycles/blender/addon/presets.py
index 9991fdb..84be09a 100644
--- a/intern/cycles/blender/addon/presets.py
+++ b/intern/cycles/blender/addon/presets.py
@@ -37,6 +37,7 @@ class AddPresetIntegrator(AddPresetBase, Operator):
         "cycles.diffuse_bounces",
         "cycles.glossy_bounces",
         "cycles.transmission_bounces",
+        "cycles.volume_bounces",
         "cycles.transparent_min_bounces",
         "cycles.transparent_max_bounces"
     ]
diff --git a/intern/cycles/bvh/bvh.cpp b/intern/cycles/bvh/bvh.cpp
index 3c0c5c0..15bd814 100644
--- a/intern/cycles/bvh/bvh.cpp
+++ b/intern/cycles/bvh/bvh.cpp
@@ -103,18 +103,30 @@ bool BVH::cache_read(CacheData& key)
 	if(Cache::global.lookup(key, value)) {
 		cache_filename = key.get_filename();
 
-		value.read(pack.root_index);
-		value.read(pack.SAH);
-
-		value.read(pack.nodes);
-		value.read(pack.object_node);
-		value.read(pack.tri_woop);
-		value.read(pack.prim_type);
-		value.read(pack.prim_visibility);
-		value.read(pack.prim_index);
-		value.read(pack.prim_object);
-		value.read(pack.is_leaf);
-
+		if(!(value.read(pack.root_index) &&
+		     value.read(pack.SAH) &&
+		     value.read(pack.nodes) &&
+		     value.read(pack.object_node) &&
+		     value.read(pack.tri_woop) &&
+		     value.read(pack.prim_type) &&
+		     value.read(pack.prim_visibility) &&
+		     value.read(pack.prim_index) &&
+		     value.read(pack.prim_object) &&
+		     value.read(pack.is_leaf)))
+		{
+			/* Clear the pack if load failed. */
+			pack.root_index = 0;
+			pack.SAH = 0.0f;
+			pack.nodes.clear();
+			pack.object_node.clear();
+			pack.tri_woop.clear();
+			pack.prim_type.clear();
+			pack.prim_visibility.clear();
+			pack.prim_index.clear();
+			pack.prim_object.clear();
+			pack.is_leaf.clear();
+			return false;
+		}
 		return true;
 	}
 
diff --git a/intern/cycles/kernel/kernel_path.h b/intern/cycles/kernel/kernel_path.h
index ab4b5ec..65755f0 100644
--- a/intern/cycles/kernel/kernel_path.h
+++ b/intern/cycles/kernel/kernel_path.h
@@ -864,6 +864,7 @@ ccl_device float4 kernel_branched_path_integrate(KernelGlobals *kg, RNG *rng, in
 					VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
 						&ps, &pray, &volume_sd, &tp, rphase, rscatter, &volume_segment, NULL, false);
 						
+					(void)result;
 					kernel_assert(result == VOLUME_PATH_SCATTERED);
 
 					if(kernel_path_volume_bounce(kg, rng, &volume_sd, &tp, &ps, &L, &pray)) {
diff --git a/intern/cycles/kernel/kernel_path_volume.h b/intern/cycles/kernel/kernel_path_volume.h
index 9189e5c..9da1cfe 100644
--- a/intern/cycles/kernel/kernel_path_volume.h
+++ b/intern/cycles/kernel/kernel_path_volume.h
@@ -144,6 +144,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG
 				VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
 					state, ray, sd, &tp, rphase, rscatter, segment, (ls.t != FLT_MAX)? &ls.P: NULL, false);
 					
+				(void)result;
 				kernel_assert(result == VOLUME_PATH_SCATTERED);
 
 				/* todo: split up light_sample so we don't have to call it again with new position */
@@ -194,6 +195,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG
 				VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
 					state, ray, sd, &tp, rphase, rscatter, segment, (ls.t != FLT_MAX)? &ls.P: NULL, false);
 					
+				(void)result;
 				kernel_assert(result == VOLUME_PATH_SCATTERED);
 
 				/* todo: split up light_sample so we don't have to call it again with new position */
@@ -232,6 +234,7 @@ ccl_device void kernel_branched_path_volume_connect_light(KernelGlobals *kg, RNG
 		VolumeIntegrateResult result = kernel_volume_decoupled_scatter(kg,
 			state, ray, sd, &tp, rphase, rscatter, segment, (ls.t != FLT_MAX)? &ls.P: NULL, false);
 			
+		(void)result;
 		kernel_assert(result == VOLUME_PATH_SCATTERED);
 
 		/* todo: split up light_sample so we don't have to call it again with new position */
diff --git a/intern/cycles/kernel/svm/svm_convert.h b/intern/cycles/kernel/svm/svm_convert.h
index 2503912..b221e07 100644
--- a/intern/cycles/kernel/svm/svm_convert.h
+++ b/intern/cycles/kernel/svm/svm_convert.h
@@ -45,13 +45,13 @@ ccl_device void svm_node_convert(ShaderData *sd, float *stack, uint type, uint f
 		}
 		case NODE_CONVERT_VF: {
 			float3 f = stack_load_float3(stack, from);
-			float g = (f.x + f.y + f.z)*(1.0f/3.0f);
+			float g = average(f);
 			stack_store_float(stack, to, g);
 			break;
 		}
 		case NODE_CONVERT_VI: {
 			float3 f = stack_load_float3(stack, from);
-			int i = (int)((f.x + f.y + f.z)*(1.0f/3.0f));
+			int i = (int)average(f);
 			stack_store_int(stack, to, i);
 			break;
 		}
diff --git a/intern/cycles/render/integrator.cpp b/intern/cycles/render/integrator.cpp
index 4a8b490..32e887d 100644
--- a/intern/cycles/render/integrator.cpp
+++ b/intern/cycles/render/integrator.cpp
@@ -86,11 +86,7 @@ void Integrator::device_update(Device *device, DeviceScene *dscene, Scene *scene
 	kintegrator->max_diffuse_bounce = max_diffuse_bounce + 1;
 	kintegrator->max_glossy_bounce = max_glossy_bounce + 1;
 	kintegrator->max_transmission_bounce = max_transmission_bounce + 1;
-
-	if(kintegrator->use_volumes)
-		kintegrator->max_volume_bounce = max_volume_bounce + 1;
-	else
-		kintegrator->max_volume_bounce = 1;
+	kintegrator->max_volume_bounce = max_volume_bounce + 1;
 
 	kintegrator->transparent_max_bounce = transparent_max_bounce + 1;
 	kintegrator->transparent_min_bounce = transparent_min_bounce + 1;
diff --git a/intern/cycles/util/util_cache.h b/intern/cycles/util/util_cache.h
index c6752d9..bfb2877 100644
--- a/intern/cycles/util/util_cache.h
+++ b/intern/cycles/util/util_cache.h
@@ -96,54 +96,70 @@ public:
 		buffers.push_back(buffer);
 	}
 
-	template<typename T> void read(array<T>& data)
+	template<typename T> bool read(array<T>& data)
 	{
 		size_t size;
 
 		if(!fread(&size, sizeof(size), 1, f)) {
 			fprintf(stderr, "Failed to read vector size from cache.\n");
-			return;
+			return false;
 		}
 
 		if(!size)
-			return;
+			return false;
 
 		data.resize(size/sizeof(T));
 
 		if(!fread(&data[0], size, 1, f)) {
 			fprintf(stderr, "Failed to read vector data from cache (%lu).\n", (unsigned long)size);
-			return;
+			return false;
 		}
+		return true;
 	}
 
-	void read(int& data)
+	bool read(int& data)
 	{
 		size_t size;
 
-		if(!fread(&size, sizeof(size), 1, f))
+		if(!fread(&size, sizeof(size), 1, f)) {
 			fprintf(stderr, "Failed to read int size from cache.\n");
-		if(!fread(&data, sizeof(data), 1, f))
+			return false;
+		}
+		if(!fread(&data, sizeof(data), 1, f)) {
 			fprintf(stderr, "Failed to read int from cache.\n");
+			return false;
+		}
+		return true;
 	}
 
-	void read(float& data)
+	bool read(float& data)
 	{
 		size_t size;
 
-		if(!fread(&size, sizeof(size), 1, f))
+		if(!fread(&size, sizeof(size), 1, f)) {
 			fprintf(stderr, "Failed to read float size from cache.\n");
-		if(!fread(&data, sizeof(data), 1, f))
+			return false;
+		}
+		if(!fread(&data, sizeof(data), 1, f)) {
 			fprintf(stderr, "Failed to read float from cache.\n");
+			return false;
+		}
+		return true;
 	}
 
-	void read(size_t& data)
+	bool read(size_t& data)
 	{
 		size_t size;
 
-		if(!fread(&size, sizeof(size), 1, f))
+		if(!fread(&size, sizeof(size), 1, f)) {
 			fprintf(stderr, "Failed to read size_t size from cache.\n");
-		if(!fread(&data, sizeof(data), 1, f))
+			return false;
+		}
+		if(!fread(&data, sizeof(data), 1, f)) {
 			fprintf(stderr, "Failed to read size_t from cache.\n");
+			return false;
+		}
+		return true;
 	}
 };
 
diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h
index 4ccb5f3..1cd8883 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -842,7 +842,6 @@ ccl_device_inline float4 max(float4 a, float4 b)
 ccl_device_inline float4 select(const int4& mask, const float4& a, const float4& b)
 {
 #ifdef __KERNEL_SSE__
-	/* blendv is sse4, and apparently broken on vs2008 */
 	return _mm_or_ps(_mm_and_ps(_mm_cvtepi32_ps(mask), a), _mm_andnot_ps(_mm_cvtepi32_ps(mask), b)); /* todo: avoid cvt */
 #else
 	return make_float4((mask.x)? a.x: b.x, (mask.y)? a.y: b.y, (mask.z)? a.z: b.z, (mask.w)? a.w: b.w);
diff --git a/release/datafiles/prvicons_update.py b/release/datafiles/prvicons_update.py
index ecc466a..448a43d 100755
--- a/release/datafiles/prvicons_update.py
+++ b/release/datafiles/prvicons_update.py
@@ -2,9 +2,16 @@
 
 # This script updates icons from the SVG file
 import os
+import sys
 
 BASEDIR = os.path.abspath(os.path.dirname(__file__)) + os.sep
 
-cmd = 'inkscape "%sprvicons.svg" --without-gui --export-png="%sprvicons.png"' % (BASEDIR, BASEDIR)
-os.system(cmd)
+inkscape_path = 'inkscape'
+
+if sy

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list