Revision: 42482
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42482
Author:   nazgul
Date:     2011-12-07 09:24:45 +0000 (Wed, 07 Dec 2011)
Log Message:
-----------
Merging r42461 through r42481 from trunk into soc-2011-tomato

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

Modified Paths:
--------------
    branches/soc-2011-tomato/build_files/scons/tools/btools.py
    branches/soc-2011-tomato/intern/cycles/kernel/CMakeLists.txt
    branches/soc-2011-tomato/intern/cycles/kernel/SConscript
    branches/soc-2011-tomato/source/blender/blenkernel/intern/DerivedMesh.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/seqeffects.c
    branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
    branches/soc-2011-tomato/source/blender/editors/mesh/editmesh.c
    branches/soc-2011-tomato/source/blender/editors/object/object_vgroup.c
    branches/soc-2011-tomato/source/blender/editors/sculpt_paint/paint_vertex.c
    branches/soc-2011-tomato/source/blender/editors/space_node/node_draw.c
    
branches/soc-2011-tomato/source/blender/editors/space_outliner/outliner_select.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_object_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_nodetree.c
    branches/soc-2011-tomato/source/blender/python/intern/bpy_driver.c

Property Changed:
----------------
    branches/soc-2011-tomato/
    branches/soc-2011-tomato/source/blender/editors/space_outliner/


Property changes on: branches/soc-2011-tomato
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2011-cucumber:37517
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-42460
   + /branches/soc-2011-cucumber:37517
/branches/vgroup_modifiers:38694-39989
/trunk/blender:36831-42481

Modified: branches/soc-2011-tomato/build_files/scons/tools/btools.py
===================================================================
--- branches/soc-2011-tomato/build_files/scons/tools/btools.py  2011-12-07 
09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/build_files/scons/tools/btools.py  2011-12-07 
09:24:45 UTC (rev 42482)
@@ -157,7 +157,7 @@
             'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 
'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 
'BF_JEMALLOC_LIB_STATIC',
             'BUILDBOT_BRANCH',
             'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 
'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 
'BF_3DMOUSE_LIB_STATIC',
-            'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES' 
'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC',
+            'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES' 
'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 
'WITH_BF_CYCLES_CUDA_THREADED_COMPILE',
             'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 
'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH',
             'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 
'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH'
             ]
@@ -545,6 +545,7 @@
     localopts.AddVariables(
         (BoolVariable('WITH_BF_CYCLES', 'Build with the Cycles engine', True)),
         (BoolVariable('WITH_BF_CYCLES_CUDA_BINARIES', 'Build with precompiled 
CUDA binaries', False)),
+        (BoolVariable('WITH_BF_CYCLES_CUDA_THREADED_COMPILE', 'Build several 
render kernels at once (using BF_NUMJOBS)', False)),
         ('BF_CYCLES_CUDA_NVCC', 'CUDA nvcc compiler path', ''),
         ('BF_CYCLES_CUDA_BINARIES_ARCH', 'CUDA architectures to compile 
binaries for', []),
 

Modified: branches/soc-2011-tomato/intern/cycles/kernel/CMakeLists.txt
===================================================================
--- branches/soc-2011-tomato/intern/cycles/kernel/CMakeLists.txt        
2011-12-07 09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/intern/cycles/kernel/CMakeLists.txt        
2011-12-07 09:24:45 UTC (rev 42482)
@@ -129,7 +129,7 @@
 add_library(cycles_kernel ${SRC} ${SRC_HEADERS} ${SRC_SVM_HEADERS})
 
 if(WITH_CYCLES_OPTIMIZED_KERNEL)
-       SET_SOURCE_FILES_PROPERTIES(kernel_optimized.cpp PROPERTIES 
COMPILE_FLAGS ${CYCLES_OPTIMIZED_KERNEL_FLAGS})
+       set_source_files_properties(kernel_optimized.cpp PROPERTIES 
COMPILE_FLAGS "${CYCLES_OPTIMIZED_KERNEL_FLAGS}")
 endif()
 
 if(WITH_CYCLES_CUDA)

Modified: branches/soc-2011-tomato/intern/cycles/kernel/SConscript
===================================================================
--- branches/soc-2011-tomato/intern/cycles/kernel/SConscript    2011-12-07 
09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/intern/cycles/kernel/SConscript    2011-12-07 
09:24:45 UTC (rev 42482)
@@ -34,6 +34,7 @@
 
     # dependencies
     dependencies = ['kernel.cu'] + kernel.Glob('*.h') + 
kernel.Glob('../util/*.h') + kernel.Glob('svm/*.h')
+    last_cubin_file = None
 
     # add command for each cuda architecture
     for arch in cuda_archs:
@@ -45,6 +46,12 @@
         kernel.Depends(cubin_file, dependencies)
 
         kernel_binaries.append(cubin_file)
+        
+        if not env['WITH_BF_CYCLES_CUDA_THREADED_COMPILE']:
+            # trick to compile one kernel at a time to reduce memory usage
+            if last_cubin_file:
+                kernel.Depends(cubin_file, last_cubin_file)
+            last_cubin_file = cubin_file
 
 Return('kernel_binaries')
 

Modified: 
branches/soc-2011-tomato/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/DerivedMesh.c     
2011-12-07 09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/DerivedMesh.c     
2011-12-07 09:24:45 UTC (rev 42482)
@@ -60,6 +60,7 @@
 #include "BKE_texture.h"
 #include "BKE_multires.h"
 #include "BKE_armature.h"
+#include "BKE_deform.h"
 
 #ifdef WITH_GAMEENGINE
 #include "BKE_navmesh_conversion.h"
@@ -625,40 +626,49 @@
                r_rgb[1]= blend * (1.0f-((weight-0.75f)*4.0f));
                r_rgb[2]= 0.0f;
        }
+       else {
+               /* exceptional value, unclamped or nan,
+                * avoid uninitialized memory use */
+               r_rgb[0]= 1.0f;
+               r_rgb[1]= 0.0f;
+               r_rgb[2]= 1.0f;
+       }
 }
 
 /* draw_flag's for calc_weightpaint_vert_color */
 enum {
        CALC_WP_MULTIPAINT= (1<<0),
-       CALC_WP_AUTO_NORMALIZE= (1<<1),
+       CALC_WP_AUTO_NORMALIZE= (1<<1)
 };
 
 static void calc_weightpaint_vert_color(Object *ob, ColorBand *coba, int vert, 
unsigned char *col, char *dg_flags, int selected, int UNUSED(unselected), const 
int draw_flag)
 {
        Mesh *me = ob->data;
-       float colf[4], input = 0.0f;
-       int i;
-
+       float input = 0.0f;
        
        int make_black= FALSE;
 
        if (me->dvert) {
+               MDeformVert *dvert= &me->dvert[vert];
+
                if ((selected > 1) && (draw_flag & CALC_WP_MULTIPAINT)) {
-                       
                        int was_a_nonzero= FALSE;
-                       for (i=0; i<me->dvert[vert].totweight; i++) {
+                       int i;
+
+                       MDeformWeight *dw= dvert->dw;
+                       for (i = dvert->totweight; i > 0; i--, dw++) {
                                /* in multipaint, get the average if auto 
normalize is inactive
                                 * get the sum if it is active */
-                               if(dg_flags[me->dvert[vert].dw[i].def_nr]) {
-                                       if(me->dvert[vert].dw[i].weight) {
-                                               input+= 
me->dvert[vert].dw[i].weight;
+                               if (dg_flags[dw->def_nr]) {
+                                       if (dw->weight) {
+                                               input += dw->weight;
                                                was_a_nonzero= TRUE;
                                        }
                                }
                        }
 
                        /* make it black if the selected groups have no weight 
on a vertex */
-                       if(was_a_nonzero == FALSE) {
+                       if (was_a_nonzero == FALSE) {
                                make_black = TRUE;
                        }
                        else if ((draw_flag & CALC_WP_AUTO_NORMALIZE) == FALSE) 
{
@@ -667,11 +677,7 @@
                }
                else {
                        /* default, non tricky behavior */
-                       for (i=0; i<me->dvert[vert].totweight; i++) {
-                               if (me->dvert[vert].dw[i].def_nr==ob->actdef-1) 
{
-                                       input+=me->dvert[vert].dw[i].weight;
-                               }
-                       }
+                       input= defvert_find_weight(dvert, ob->actdef-1);
                }
        }
        
@@ -680,20 +686,23 @@
                col[2] = 0;
                col[1] = 0;
                col[0] = 255;
-               return;
        }
+       else {
+               float colf[4];
+               CLAMP(input, 0.0f, 1.0f);
 
-       CLAMP(input, 0.0f, 1.0f);       
+               colf[0]= colf[1]= colf[2]= -1;
 
-       if(coba)
-               do_colorband(coba, input, colf);
-       else
-               weight_to_rgb(colf, input);
-       
-       col[3] = (unsigned char)(colf[0] * 255.0f);
-       col[2] = (unsigned char)(colf[1] * 255.0f);
-       col[1] = (unsigned char)(colf[2] * 255.0f);
-       col[0] = 255;
+               if(coba)
+                       do_colorband(coba, input, colf);
+               else
+                       weight_to_rgb(colf, input);
+
+               col[3] = (unsigned char)(colf[0] * 255.0f);
+               col[2] = (unsigned char)(colf[1] * 255.0f);
+               col[1] = (unsigned char)(colf[2] * 255.0f);
+               col[0] = 255;
+       }
 }
 
 static ColorBand *stored_cb= NULL;

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/seqeffects.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/seqeffects.c      
2011-12-07 09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/seqeffects.c      
2011-12-07 09:24:45 UTC (rev 42482)
@@ -1581,7 +1581,7 @@
 static void precalc_wipe_zone(WipeZone *wipezone, WipeVars *wipe, int xo, int 
yo)
 {
        wipezone->flip = (wipe->angle < 0);
-       wipezone->angle = pow(fabsf(wipe->angle)/45.0f, log(xo)/M_LN2);
+       wipezone->angle = tan(DEG2RAD(fabsf(wipe->angle)));
        wipezone->xo = xo;
        wipezone->yo = yo;
        wipezone->width = (int)(wipe->edgeWidth*((xo+yo)/2.0f));

Modified: branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c        
2011-12-07 09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/source/blender/blenkernel/intern/tracking.c        
2011-12-07 09:24:45 UTC (rev 42482)
@@ -1232,7 +1232,7 @@
                if(marker && (marker->flag&MARKER_DISABLED)==0) {
 #ifdef WITH_LIBMV
                        int width, height, origin[2], tracked= 0, 
need_readjust= 0;
-                       float pos[2], margin[2];
+                       float pos[2], margin[2], dim[2];
                        double x1, y1, x2, y2;
                        ImBuf *ibuf= NULL;
                        MovieTrackingMarker marker_new, *marker_keyed;
@@ -1248,7 +1248,8 @@
                        else nextfra= curfra+1;
 
                        /* margin from frame boundaries */
-                       sub_v2_v2v2(margin, track->pat_max, track->pat_min);
+                       sub_v2_v2v2(dim, track->pat_max, track->pat_min);
+                       margin[0]= margin[1]= MAX2(dim[0], dim[1]) / 2.0f;
 
                        margin[0]= MAX2(margin[0], (float)track->margin / 
ibuf_new->x);
                        margin[1]= MAX2(margin[1], (float)track->margin / 
ibuf_new->y);
@@ -1361,7 +1362,7 @@
                                        {
                                                /* check if there's no 
keyframe/tracked markers before tracking marker.
                                                   if so -- create disabled 
marker before currently tracking "segment" */
-                                               put_disabled_marker(track, 
marker, 1, 0);
+                                               put_disabled_marker(track, 
marker, !context->backwards, 0);
                                        }
                                }
 
@@ -1385,7 +1386,7 @@
                                /* make currently tracked segment be finished 
with disabled marker */
                                #pragma omp critical
                                {
-                                       put_disabled_marker(track, &marker_new, 
0, 0);
+                                       put_disabled_marker(track, &marker_new, 
context->backwards, 0);
                                }
                        } else {
                                marker_new= *marker;

Modified: branches/soc-2011-tomato/source/blender/editors/mesh/editmesh.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/mesh/editmesh.c     
2011-12-07 09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/source/blender/editors/mesh/editmesh.c     
2011-12-07 09:24:45 UTC (rev 42482)
@@ -1575,7 +1575,7 @@
        ot->poll= ED_operator_editmesh;
        
        /* flags */
-       ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+       ot->flag= OPTYPE_UNDO;
        
        ot->prop= RNA_def_enum(ot->srna, "type", prop_separate_types, 0, 
"Type", "");
 }

Modified: branches/soc-2011-tomato/source/blender/editors/object/object_vgroup.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/object/object_vgroup.c      
2011-12-07 09:21:50 UTC (rev 42481)
+++ branches/soc-2011-tomato/source/blender/editors/object/object_vgroup.c      
2011-12-07 09:24:45 UTC (rev 42482)

@@ 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