[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46558] branches/soc-2011-tomato: Merging r46495 through r46557 from trunk into soc-2011-tomato

Sergey Sharybin sergey.vfx at gmail.com
Fri May 11 19:39:57 CEST 2012


Revision: 46558
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46558
Author:   nazgul
Date:     2012-05-11 17:39:57 +0000 (Fri, 11 May 2012)
Log Message:
-----------
Merging r46495 through r46557 from trunk into soc-2011-tomato

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

Modified Paths:
--------------
    branches/soc-2011-tomato/CMakeLists.txt
    branches/soc-2011-tomato/build_files/scons/config/win64-mingw-config.py
    branches/soc-2011-tomato/intern/cycles/render/image.cpp
    branches/soc-2011-tomato/intern/cycles/util/util_task.cpp
    branches/soc-2011-tomato/intern/cycles/util/util_task.h
    branches/soc-2011-tomato/intern/ghost/CMakeLists.txt
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_sequencer.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/soc-2011-tomato/source/blender/blenfont/BLF_api.h
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_dir.c
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_font.c
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_glyph.c
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_lang.c
    branches/soc-2011-tomato/source/blender/blenfont/intern/blf_translation.c
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_DerivedMesh.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_blender.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_multires.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_node.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_paint.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_sequencer.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_sound.h
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_subsurf.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/CCGSubSurf.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/CCGSubSurf.h
    branches/soc-2011-tomato/source/blender/blenkernel/intern/cdderivedmesh.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/customdata.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/displist.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/multires.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/paint.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/scene.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/sequencer.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/shrinkwrap.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/sound.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/subsurf_ccg.c
    branches/soc-2011-tomato/source/blender/blenlib/BLI_pbvh.h
    branches/soc-2011-tomato/source/blender/blenlib/intern/pbvh.c
    branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-tomato/source/blender/blenloader/intern/writefile.c
    branches/soc-2011-tomato/source/blender/editors/animation/anim_deps.c
    branches/soc-2011-tomato/source/blender/editors/animation/anim_filter.c
    branches/soc-2011-tomato/source/blender/editors/datafiles/CMakeLists.txt
    branches/soc-2011-tomato/source/blender/editors/include/ED_datafiles.h
    branches/soc-2011-tomato/source/blender/editors/include/ED_sculpt.h
    branches/soc-2011-tomato/source/blender/editors/include/UI_icons.h
    branches/soc-2011-tomato/source/blender/editors/interface/interface_icons.c
    branches/soc-2011-tomato/source/blender/editors/interface/interface_layout.c
    branches/soc-2011-tomato/source/blender/editors/object/object_bake.c
    branches/soc-2011-tomato/source/blender/editors/object/object_modifier.c
    branches/soc-2011-tomato/source/blender/editors/screen/screen_context.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/CMakeLists.txt
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_hide.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_intern.h
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_ops.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/sculpt.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/sculpt_intern.h
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/sculpt_undo.c
    branches/soc-2011-tomato/source/blender/editors/space_node/drawnode.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_select.c
    branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_tree.c
    branches/soc-2011-tomato/source/blender/editors/space_sequencer/sequencer_add.c
    branches/soc-2011-tomato/source/blender/editors/space_sequencer/sequencer_draw.c
    branches/soc-2011-tomato/source/blender/editors/space_sequencer/sequencer_edit.c
    branches/soc-2011-tomato/source/blender/editors/space_sequencer/sequencer_select.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform_conversions.c
    branches/soc-2011-tomato/source/blender/editors/uvedit/uvedit_unwrap_ops.c
    branches/soc-2011-tomato/source/blender/gpu/GPU_buffers.h
    branches/soc-2011-tomato/source/blender/gpu/intern/gpu_buffers.c
    branches/soc-2011-tomato/source/blender/imbuf/intern/openexr/openexr_api.cpp
    branches/soc-2011-tomato/source/blender/makesdna/DNA_brush_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_customdata_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_meshdata_types.h
    branches/soc-2011-tomato/source/blender/makesdna/DNA_node_types.h
    branches/soc-2011-tomato/source/blender/makesrna/RNA_access.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_access.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_brush.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_internal.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_sequencer.c
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_sequencer_api.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_multires.c
    branches/soc-2011-tomato/source/blender/modifiers/intern/MOD_subsurf.c
    branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_image.c
    branches/soc-2011-tomato/source/blender/nodes/composite/nodes/node_composite_outputFile.c
    branches/soc-2011-tomato/source/blender/python/intern/bpy_rna.c
    branches/soc-2011-tomato/source/blender/windowmanager/intern/wm_window.c
    branches/soc-2011-tomato/source/creator/CMakeLists.txt
    branches/soc-2011-tomato/source/creator/creator.c

Added Paths:
-----------
    branches/soc-2011-tomato/release/datafiles/brushicons/mask.png
    branches/soc-2011-tomato/source/blender/blenkernel/BKE_ccg.h
    branches/soc-2011-tomato/source/blender/editors/datafiles/mask.png.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_mask.c

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-46494
   + /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-46557

Modified: branches/soc-2011-tomato/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/CMakeLists.txt	2012-05-11 17:33:48 UTC (rev 46557)
+++ branches/soc-2011-tomato/CMakeLists.txt	2012-05-11 17:39:57 UTC (rev 46558)
@@ -195,7 +195,6 @@
 
 # Audio/Video format support
 option(WITH_CODEC_FFMPEG        "Enable FFMPeg Support (http://ffmpeg.org)" OFF)
-unset(PLATFORM_DEFAULT)
 
 option(WITH_CODEC_SNDFILE       "Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)" OFF)
 if(APPLE OR (WIN32 AND NOT UNIX))
@@ -372,7 +371,7 @@
 		                    "line if youre a developer who wants to add support.")
 	endif()
 	
-	if((WITH_MINGW64) AND (WITH_OPENCOLLADA OR WITH_CODEC_FFMPEG))
+	if((WITH_MINGW64) AND (WITH_OPENCOLLADA))
 		message(FATAL_ERROR "MINGW64 still doesn't support: WITH_OPENCOLLADA/WITH_CODEC_FFMPEG")
 	endif()
 endif()
@@ -1089,7 +1088,11 @@
 		if(WITH_CODEC_FFMPEG)
 			set(FFMPEG ${LIBDIR}/ffmpeg)
 			set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include ${FFMPEG}/include)
-			set(FFMPEG_LIBRARIES avcodec-53 avformat-53 avdevice-53 avutil-51 swscale-2)
+			if(WITH_MINGW64)
+				set(FFMPEG_LIBRARIES avcodec.dll avformat.dll avdevice.dll avutil.dll swscale.dll swresample.dll)
+			else()
+				set(FFMPEG_LIBRARIES avcodec-53 avformat-53 avdevice-53 avutil-51 swscale-2)
+			endif()
 			set(FFMPEG_LIBPATH ${FFMPEG}/lib)
 		endif()
 

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-05-11 17:33:48 UTC (rev 46557)
+++ branches/soc-2011-tomato/build_files/scons/config/win64-mingw-config.py	2012-05-11 17:39:57 UTC (rev 46558)
@@ -16,11 +16,11 @@
 BF_OPENAL_LIB = 'wrap_oal'
 BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
 
-WITH_BF_FFMPEG = False # TODO: FFmpeg gives linking errors, need to compile with MinGW-w64?
-BF_FFMPEG_LIB = 'avformat-53 avcodec-53 avdevice-53 avutil-51 swscale-2'
+WITH_BF_FFMPEG = True
+BF_FFMPEG_LIB = 'avformat.dll avcodec.dll avdevice.dll avutil.dll swscale.dll swresample.dll'
 BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib'
 BF_FFMPEG_INC =  LIBDIR + '/ffmpeg/include'
-BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
+BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll ${BF_FFMPEG_LIBPATH}/swresample-0.dll ${BF_FFMPEG_LIBPATH}/xvidcore.dll'
 
 WITH_BF_JACK = False
 BF_JACK = LIBDIR + '/jack'
@@ -137,14 +137,14 @@
              '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
              '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
 
-WITH_BF_COLLADA = False # TODO: Compile Collada with MinGW-w64
+WITH_BF_COLLADA = True
 BF_COLLADA = '#source/blender/collada'
 BF_COLLADA_INC = '${BF_COLLADA}'
 BF_COLLADA_LIB = 'bf_collada'
 
 BF_OPENCOLLADA = LIBDIR + '/opencollada'
 BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa'
+BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa xml'
 BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
 
 #Cycles

Modified: branches/soc-2011-tomato/intern/cycles/render/image.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/render/image.cpp	2012-05-11 17:33:48 UTC (rev 46557)
+++ branches/soc-2011-tomato/intern/cycles/render/image.cpp	2012-05-11 17:39:57 UTC (rev 46558)
@@ -60,19 +60,13 @@
 
 		if(in->open(filename, spec)) {
 			/* check the main format, and channel formats;
-			   if any are non-integer, we'll need a float texture slot */
-			if(spec.format == TypeDesc::HALF ||
-			   spec.format == TypeDesc::FLOAT ||
-			   spec.format == TypeDesc::DOUBLE) {
+			   if any take up more than one byte, we'll need a float texture slot */
+			if(spec.format.basesize() > 1)
 				is_float = true;
-			}
 
 			for(size_t channel = 0; channel < spec.channelformats.size(); channel++) {
-				if(spec.channelformats[channel] == TypeDesc::HALF ||
-				   spec.channelformats[channel] == TypeDesc::FLOAT ||
-				   spec.channelformats[channel] == TypeDesc::DOUBLE) {
+				if(spec.channelformats[channel].basesize() > 1)
 					is_float = true;
-				}
 			}
 
 			in->close();

Modified: branches/soc-2011-tomato/intern/cycles/util/util_task.cpp
===================================================================
--- branches/soc-2011-tomato/intern/cycles/util/util_task.cpp	2012-05-11 17:33:48 UTC (rev 46557)
+++ branches/soc-2011-tomato/intern/cycles/util/util_task.cpp	2012-05-11 17:39:57 UTC (rev 46558)
@@ -28,8 +28,6 @@
 TaskPool::TaskPool()
 {
 	num = 0;
-	num_done = 0;
-
 	do_cancel = false;
 }
 
@@ -55,9 +53,11 @@
 
 void TaskPool::wait_work()
 {
-	thread_scoped_lock done_lock(done_mutex);
+	thread_scoped_lock num_lock(num_mutex);
 
-	while(num_done != num) {
+	while(num != 0) {
+		num_lock.unlock();
+
 		thread_scoped_lock queue_lock(TaskScheduler::queue_mutex);
 
 		/* find task from this pool. if we get a task from another pool,
@@ -81,8 +81,6 @@
 
 		/* if found task, do it, otherwise wait until other tasks are done */
 		if(found_entry) {
-			done_lock.unlock();
-
 			/* run task */
 			work_entry.task->run();
 
@@ -90,26 +88,31 @@
 			delete work_entry.task;
 
 			/* notify pool task was done */
-			done_increase(1);
+			num_decrease(1);
+		}
 
-			done_lock.lock();
-		}
-		else
-			done_cond.wait(done_lock);
+		num_lock.lock();
+		if(num == 0)
+			break;
+
+		if(!found_entry)
+			num_cond.wait(num_lock);
 	}
 }
 
 void TaskPool::cancel()
 {
+	do_cancel = true;
+
 	TaskScheduler::clear(this);
-
-	do_cancel = true;
+	
 	{
-		thread_scoped_lock lock(done_mutex);
+		thread_scoped_lock num_lock(num_mutex);
 
-		while(num_done != num)
-			done_cond.wait(lock);
+		while(num)
+			num_cond.wait(num_lock);
 	}
+
 	do_cancel = false;
 }
 
@@ -117,7 +120,7 @@
 {
 	TaskScheduler::clear(this);
 
-	assert(num_done == num);
+	assert(num == 0);
 }
 
 bool TaskPool::cancelled()
@@ -125,16 +128,25 @@
 	return do_cancel;
 }
 
-void TaskPool::done_increase(int done)
+void TaskPool::num_decrease(int done)
 {
-	done_mutex.lock();
-	num_done += done;
-	done_mutex.unlock();
+	num_mutex.lock();
+	num -= done;
 
-	assert(num_done <= num);
-	done_cond.notify_all();
+	assert(num >= 0);
+	if(num == 0)
+		num_cond.notify_all();
+
+	num_mutex.unlock();
 }
 
+void TaskPool::num_increase()
+{
+	thread_scoped_lock num_lock(num_mutex);
+	num++;
+	num_cond.notify_all();
+}
+
 /* Task Scheduler */
 
 thread_mutex TaskScheduler::mutex;
@@ -196,10 +208,10 @@
 
 bool TaskScheduler::thread_wait_pop(Entry& entry)
 {
-	thread_scoped_lock lock(queue_mutex);
+	thread_scoped_lock queue_lock(queue_mutex);
 
 	while(queue.empty() && !do_exit)
-		queue_cond.wait(lock);
+		queue_cond.wait(queue_lock);
 
 	if(queue.empty()) {
 		assert(do_exit);
@@ -227,27 +239,28 @@
 		delete entry.task;
 
 		/* notify pool task was done */
-		entry.pool->done_increase(1);
+		entry.pool->num_decrease(1);
 	}
 }
 
 void TaskScheduler::push(Entry& entry, bool front)
 {
+	entry.pool->num_increase();
+
 	/* add entry to queue */
 	TaskScheduler::queue_mutex.lock();
 	if(front)
 		TaskScheduler::queue.push_front(entry);
 	else
 		TaskScheduler::queue.push_back(entry);
-	entry.pool->num++;
-	TaskScheduler::queue_mutex.unlock();
 
 	TaskScheduler::queue_cond.notify_one();
+	TaskScheduler::queue_mutex.unlock();
 }
 
 void TaskScheduler::clear(TaskPool *pool)
 {
-	thread_scoped_lock lock(queue_mutex);
+	thread_scoped_lock queue_lock(TaskScheduler::queue_mutex);
 
 	/* erase all tasks from this pool from the queue */
 	list<Entry>::iterator it = queue.begin();
@@ -266,8 +279,10 @@
 			it++;
 	}
 
+	queue_lock.unlock();
+
 	/* notify done */
-	pool->done_increase(done);
+	pool->num_decrease(done);
 }
 
 CCL_NAMESPACE_END

Modified: branches/soc-2011-tomato/intern/cycles/util/util_task.h
===================================================================
--- branches/soc-2011-tomato/intern/cycles/util/util_task.h	2012-05-11 17:33:48 UTC (rev 46557)
+++ branches/soc-2011-tomato/intern/cycles/util/util_task.h	2012-05-11 17:39:57 UTC (rev 46558)
@@ -73,12 +73,13 @@
 protected:
 	friend class TaskScheduler;
 
-	void done_increase(int done);
+	void num_decrease(int done);
+	void num_increase();
 
-	thread_mutex done_mutex;
-	thread_condition_variable done_cond;
+	thread_mutex num_mutex;
+	thread_condition_variable num_cond;
 
-	volatile int num, num_done;
+	volatile int num;
 	volatile bool do_cancel;
 };
 

Modified: branches/soc-2011-tomato/intern/ghost/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/intern/ghost/CMakeLists.txt	2012-05-11 17:33:48 UTC (rev 46557)
+++ branches/soc-2011-tomato/intern/ghost/CMakeLists.txt	2012-05-11 17:39:57 UTC (rev 46558)
@@ -165,9 +165,11 @@
 		)
 	endif()
 
-	list(APPEND INC_SYS
-		${SDL_INCLUDE_DIR}
-	)
+	if(NOT WITH_HEADLESS)
+		list(APPEND INC_SYS
+			${SDL_INCLUDE_DIR}
+		)
+	endif()
 
 elseif(APPLE)
 	if(WITH_COCOA)

Copied: branches/soc-2011-tomato/release/datafiles/brushicons/mask.png (from rev 46557, trunk/blender/release/datafiles/brushicons/mask.png)

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list