[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42482] branches/soc-2011-tomato: Merging r42461 through r42481 from trunk into soc-2011-tomato
Sergey Sharybin
sergey.vfx at gmail.com
Wed Dec 7 10:24:46 CET 2011
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. @@
More information about the Bf-blender-cvs
mailing list