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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to