[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