[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56307] branches/soc-2011-tomato: Merging r56261 through r56306 from trunk into soc-2011-tomato

Sergey Sharybin sergey.vfx at gmail.com
Fri Apr 26 11:49:57 CEST 2013


Revision: 56307
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56307
Author:   nazgul
Date:     2013-04-26 09:49:56 +0000 (Fri, 26 Apr 2013)
Log Message:
-----------
Merging r56261 through r56306 from trunk into soc-2011-tomato

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

Modified Paths:
--------------
    branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp
    branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp
    branches/soc-2011-tomato/intern/cycles/blender/blender_session.h
    branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp
    branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp
    branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp
    branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py
    branches/soc-2011-tomato/release/scripts/startup/bl_operators/freestyle.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_data_modifier.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_freestyle.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_particle.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/properties_render_layer.py
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_node.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_rigidbody.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_scene.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/group.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/linestyle.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/node.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/rigidbody.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/scene.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/smoke.c
    branches/soc-2011-tomato/source/blender/blenlib/BLI_math_base.h
    branches/soc-2011-tomato/source/blender/blenlib/BLI_threads.h
    branches/soc-2011-tomato/source/blender/blenlib/intern/math_base_inline.c
    branches/soc-2011-tomato/source/blender/blenlib/intern/storage.c
    branches/soc-2011-tomato/source/blender/blenlib/intern/threads.c
    branches/soc-2011-tomato/source/blender/blenloader/SConscript
    branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-tomato/source/blender/bmesh/intern/bmesh_opdefines.c
    branches/soc-2011-tomato/source/blender/bmesh/operators/bmo_inset.c
    branches/soc-2011-tomato/source/blender/collada/GeometryExporter.cpp
    branches/soc-2011-tomato/source/blender/compositor/intern/COM_CompositorContext.h
    branches/soc-2011-tomato/source/blender/compositor/intern/COM_ExecutionSystem.cpp
    branches/soc-2011-tomato/source/blender/compositor/intern/COM_ExecutionSystemHelper.cpp
    branches/soc-2011-tomato/source/blender/compositor/intern/COM_compositor.cpp
    branches/soc-2011-tomato/source/blender/editors/animation/drivers.c
    branches/soc-2011-tomato/source/blender/editors/animation/keyframing.c
    branches/soc-2011-tomato/source/blender/editors/include/ED_node.h
    branches/soc-2011-tomato/source/blender/editors/include/ED_object.h
    branches/soc-2011-tomato/source/blender/editors/include/ED_transform.h
    branches/soc-2011-tomato/source/blender/editors/interface/interface_templates.c
    branches/soc-2011-tomato/source/blender/editors/mesh/editmesh_inset.c
    branches/soc-2011-tomato/source/blender/editors/object/object_bake.c
    branches/soc-2011-tomato/source/blender/editors/object/object_relations.c
    branches/soc-2011-tomato/source/blender/editors/render/render_preview.c
    branches/soc-2011-tomato/source/blender/editors/screen/glutil.c
    branches/soc-2011-tomato/source/blender/editors/screen/screen_edit.c
    branches/soc-2011-tomato/source/blender/editors/screen/screen_ops.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_vertex.c
    branches/soc-2011-tomato/source/blender/editors/space_image/image_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_logic/logic_ops.c
    branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_draw.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_edit.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_intern.h
    branches/soc-2011-tomato/source/blender/editors/space_node/node_select.c
    branches/soc-2011-tomato/source/blender/editors/space_node/space_node.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_draw.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/view3d_ruler.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform.h
    branches/soc-2011-tomato/source/blender/editors/transform/transform_generics.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform_input.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform_snap.c
    branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_ops.c
    branches/soc-2011-tomato/source/blender/gpu/shaders/gpu_shader_material.glsl
    branches/soc-2011-tomato/source/blender/imbuf/intern/rectop.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_node_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_smoke_types.h
    branches/soc-2011-tomato/source/blender/makesrna/RNA_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/makesrna.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_access.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_modifier.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_rigidbody.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene_api.c
    branches/soc-2011-tomato/source/blender/nodes/shader/node_shader_tree.c
    branches/soc-2011-tomato/source/blender/render/intern/source/bake.c
    branches/soc-2011-tomato/source/blender/render/intern/source/convertblender.c
    branches/soc-2011-tomato/source/blender/render/intern/source/pipeline.c
    branches/soc-2011-tomato/source/blender/render/intern/source/voxeldata.c
    branches/soc-2011-tomato/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
    branches/soc-2011-tomato/source/tools/check_style_c_config.py

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-56260
   + /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-56306

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_object.cpp	2013-04-26 09:49:56 UTC (rev 56307)
@@ -353,6 +353,13 @@
 	return hide && !show_emitter;
 }
 
+static bool object_render_hide_duplis(BL::Object b_ob)
+{
+	BL::Object parent = b_ob.parent();
+
+	return (parent && object_render_hide_original(parent.dupli_type()));
+}
+
 /* Object Loop */
 
 void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion)
@@ -387,7 +394,7 @@
 			if(!hide) {
 				progress.set_sync_status("Synchronizing object", (*b_ob).name());
 
-				if(b_ob->is_duplicator()) {
+				if(b_ob->is_duplicator() && !object_render_hide_duplis(*b_ob)) {
 					/* dupli objects */
 					b_ob->dupli_list_create(b_scene, 2);
 

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_session.cpp	2013-04-26 09:49:56 UTC (rev 56307)
@@ -50,7 +50,8 @@
 	height = (int)(b_render.resolution_y()*b_render.resolution_percentage()/100);
 
 	background = true;
-	last_redraw_time = 0.0f;
+	last_redraw_time = 0.0;
+	start_resize_time = 0.0;
 
 	create_session();
 }
@@ -66,7 +67,8 @@
 	width = width_;
 	height = height_;
 	background = false;
-	last_redraw_time = 0.0f;
+	last_redraw_time = 0.0;
+	start_resize_time = 0.0;
 
 	create_session();
 	session->start();
@@ -85,6 +87,7 @@
 	/* reset status/progress */
 	last_status = "";
 	last_progress = -1.0f;
+	start_resize_time = 0.0;
 
 	/* create scene */
 	scene = new Scene(scene_params, session_params.device);
@@ -163,6 +166,9 @@
 	session->reset(buffer_params, session_params.samples);
 
 	b_engine.use_highlight_tiles(session_params.progressive_refine == false);
+
+	/* reset time */
+	start_resize_time = 0.0;
 }
 
 void BlenderSession::free_session()
@@ -487,6 +493,9 @@
 	if(scene->need_reset()) {
 		BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, width, height);
 		session->reset(buffer_params, session_params.samples);
+
+		/* reset time */
+		start_resize_time = 0.0;
 	}
 }
 
@@ -497,6 +506,25 @@
 	if(session->ready_to_reset()) {
 		bool reset = false;
 
+		/* if dimensions changed, reset */
+		if(width != w || height != h) {
+			if(start_resize_time == 0.0) {
+				/* don't react immediately to resizes to avoid flickery resizing
+				 * of the viewport, and some window managers changing the window
+				 * size temporarily on unminimize */
+				start_resize_time = time_dt();
+				tag_redraw();
+			}
+			else if(time_dt() - start_resize_time < 0.2f) {
+				tag_redraw();
+			}
+			else {
+				width = w;
+				height = h;
+				reset = true;
+			}
+		}
+
 		/* try to acquire mutex. if we can't, come back later */
 		if(!session->scene->mutex.try_lock()) {
 			tag_update();
@@ -504,7 +532,7 @@
 		else {
 			/* update camera from 3d view */
 
-			sync->sync_view(b_v3d, b_rv3d, w, h);
+			sync->sync_view(b_v3d, b_rv3d, width, height);
 
 			if(scene->camera->need_update)
 				reset = true;
@@ -512,19 +540,14 @@
 			session->scene->mutex.unlock();
 		}
 
-		/* if dimensions changed, reset */
-		if(width != w || height != h) {
-			width = w;
-			height = h;
-			reset = true;
-		}
-
 		/* reset if requested */
 		if(reset) {
 			SessionParams session_params = BlenderSync::get_session_params(b_engine, b_userpref, b_scene, background);
-			BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, w, h);
+			BufferParams buffer_params = BlenderSync::get_buffer_params(b_render, b_scene, b_v3d, b_rv3d, scene->camera, width, height);
 
 			session->reset(buffer_params, session_params.samples);
+
+			start_resize_time = 0.0;
 		}
 	}
 	else {

Modified: branches/soc-2011-tomato/intern/cycles/blender/blender_session.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/blender/blender_session.h	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/blender/blender_session.h	2013-04-26 09:49:56 UTC (rev 56307)
@@ -90,6 +90,7 @@
 	float last_progress;
 
 	int width, height;
+	double start_resize_time;
 
 protected:
 	void do_write_update_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile, bool do_update_only);

Modified: branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/cycles/bvh/bvh_sort.cpp	2013-04-26 09:49:56 UTC (rev 56307)
@@ -23,6 +23,15 @@
 
 CCL_NAMESPACE_BEGIN
 
+/* silly workaround for float extended precision that happens when compiling
+ * on x86, due to one float staying in 80 bit precision register and the other
+ * not, which causes the strictly weak ordering to break */
+#if !defined(__i386__)
+#define NO_EXTENDED_PRECISION
+#else
+#define NO_EXTENDED_PRECISION volatile
+#endif
+
 struct BVHReferenceCompare {
 public:
 	int dim;
@@ -34,8 +43,8 @@
 
 	bool operator()(const BVHReference& ra, const BVHReference& rb)
 	{
-		float ca = ra.bounds().min[dim] + ra.bounds().max[dim];
-		float cb = rb.bounds().min[dim] + rb.bounds().max[dim];
+		NO_EXTENDED_PRECISION float ca = ra.bounds().min[dim] + ra.bounds().max[dim];
+		NO_EXTENDED_PRECISION float cb = rb.bounds().min[dim] + rb.bounds().max[dim];
 
 		if(ca < cb) return true;
 		else if(ca > cb) return false;
@@ -52,7 +61,8 @@
 
 void bvh_reference_sort(int start, int end, BVHReference *data, int dim)
 {
-	sort(data+start, data+end, BVHReferenceCompare(dim));
+	BVHReferenceCompare compare(dim);
+	sort(data+start, data+end, compare);
 }
 
 CCL_NAMESPACE_END

Modified: branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/ghost/intern/GHOST_SystemWin32.cpp	2013-04-26 09:49:56 UTC (rev 56307)
@@ -607,7 +607,17 @@
 			case VK_GR_LESS:        key = GHOST_kKeyGrLess;         break;
 
 			case VK_SHIFT:
-				key = (scanCode == 0x36) ? GHOST_kKeyRightShift : GHOST_kKeyLeftShift;
+					/* Check single shift presses */
+					if (scanCode == 0x36) {
+						key = GHOST_kKeyRightShift;
+					} else if (scanCode == 0x2a) {
+						key = GHOST_kKeyLeftShift;
+					} else {
+						/* Must be a combination SHIFT (Left or Right) + a Key 
+						 * Ignore this as the next message will contain
+						 * the desired "Key" */
+						key = GHOST_kKeyUnknown;
+					}
 				break;
 			case VK_CONTROL:
 				key = (extend) ? GHOST_kKeyRightControl : GHOST_kKeyLeftControl;

Modified: branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp
===================================================================
--- branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/intern/rigidbody/rb_bullet_api.cpp	2013-04-26 09:49:56 UTC (rev 56307)
@@ -133,7 +133,7 @@
 	world->collisionConfiguration = new btDefaultCollisionConfiguration();
 	
 	world->dispatcher = new btCollisionDispatcher(world->collisionConfiguration);
-	btGImpactCollisionAlgorithm::registerAlgorithm((btCollisionDispatcher *)world->dispatcher); // XXX: experimental
+	btGImpactCollisionAlgorithm::registerAlgorithm((btCollisionDispatcher *)world->dispatcher);
 	
 	world->pairCache = new btDbvtBroadphase();
 	

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py	2013-04-26 08:30:55 UTC (rev 56306)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_operators/console.py	2013-04-26 09:49:56 UTC (rev 56307)
@@ -34,6 +34,10 @@
     bl_idname = "console.execute"
     bl_label = "Console Execute"
 
+    @classmethod
+    def poll(cls, context):
+        return (context.area and context.area.type == 'CONSOLE')
+
     def execute(self, context):
         sc = context.space_data
 
@@ -54,6 +58,10 @@
     bl_idname = "console.autocomplete"
     bl_label = "Console Autocomplete"
 
+    @classmethod
+    def poll(cls, context):
+        return (context.area and context.area.type == 'CONSOLE')
+
     def execute(self, context):
         sc = context.space_data
         module = _lang_module_get(sc)
@@ -72,6 +80,10 @@
     bl_idname = "console.copy_as_script"
     bl_label = "Copy to Clipboard (as script)"
 
+    @classmethod
+    def poll(cls, context):
+        return (context.area and context.area.type == 'CONSOLE')
+
     def execute(self, context):
         sc = context.space_data
 
@@ -91,6 +103,10 @@
     bl_idname = "console.banner"
     bl_label = "Console Banner"
 
+    @classmethod
+    def poll(cls, context):
+        return (context.area and context.area.type == 'CONSOLE')
+
     def execute(self, context):
         sc = context.space_data
 
@@ -119,6 +135,10 @@
             maxlen=32,
             )
 
+    @classmethod
+    def poll(cls, context):
+        return (context.area and context.area.type == 'CONSOLE')
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list