Merging r44109 through r44128 from trunk into soc-2011-tomato
authorSergey Sharybin <sergey.vfx@gmail.com>
Wed, 15 Feb 2012 16:04:57 +0000 (16:04 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Wed, 15 Feb 2012 16:04:57 +0000 (16:04 +0000)
build_files/buildbot/slave_compile.py
build_files/buildbot/slave_pack.py
build_files/scons/tools/btools.py
intern/cycles/kernel/kernel_types.h
source/blender/makesdna/DNA_movieclip_types.h
source/blender/makesrna/intern/rna_scene.c
source/blender/makesrna/intern/rna_tracking.c
source/creator/CMakeLists.txt
source/gameengine/GamePlayer/common/GPC_RenderTools.cpp

index 415f95a516f284161fefa298ee08a08562b2f7be..6a695d3af5dfdce252d3f31a98315774269a5c79 100644 (file)
@@ -115,6 +115,8 @@ else:
                 bitness = '64'
 
             scons_options.append('BF_BITNESS=' + bitness)
+            scons_options.append('WITH_BF_CYCLES_CUDA_BINARIES=True')
+            scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe')
 
         retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
         sys.exit(retcode)
index 94640803aae8e564d86b0a565afaeb13606c091a..91444fe080ae910ad9ed0a5cb90f991f88388e26 100644 (file)
@@ -79,6 +79,8 @@ if builder.find('scons') != -1:
                 bitness = '64'
 
             scons_options.append('BF_BITNESS=' + bitness)
+            scons_options.append('WITH_BF_CYCLES_CUDA_BINARIES=True')
+            scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe')
 
         retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
         sys.exit(retcode)
index a71ab04b8885b940ef329c98dce4668293cfc550..fe481d7ef345a494f9b222b8b9e8bf2acfa03c64 100644 (file)
@@ -158,7 +158,7 @@ def validate_arguments(args, bc):
             '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_CUDA_THREADED_COMPILE',
+            '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',
             'WITH_BF_LIBMV', 'WITH_BF_CARVE'
index 477b08f2f872ea9ec316dd528318605f4ada4911..006352822024cf6f00a9ba2602ed3fd0cc2999f5 100644 (file)
@@ -450,6 +450,8 @@ typedef struct KernelFilm {
 
        int pass_emission;
        int pass_background;
+       int pass_pad1;
+       int pass_pad2;
 } KernelFilm;
 
 typedef struct KernelBackground {
@@ -499,6 +501,7 @@ typedef struct KernelIntegrator {
 
        /* render layer */
        int layer_flag;
+       int pad1, pad2, pad3;
 } KernelIntegrator;
 
 typedef struct KernelBVH {
index e5c706d2a3af2301e3e2dc2bffce5700710c7585..80728cd981729d71ce741ef46a7e2e5ef385edab 100644 (file)
@@ -51,7 +51,7 @@ typedef struct MovieClipUser {
 } MovieClipUser;
 
 typedef struct MovieClipProxy {
-       char dir[768];                  /* custom directory for index and proxy files (defaults to BL_proxy) */
+       char dir[768];                  /* 768=FILE_MAXDIR custom directory for index and proxy files (defaults to BL_proxy) */
 
        short tc;                               /* time code in use */
        short quality;                  /* proxy build quality */
index f797368ac13ab92321749a60b1f67b77cc1b230e..0ece690201263dcf217e68c176ab615e4863288f 100644 (file)
@@ -2863,65 +2863,76 @@ static void rna_def_scene_ffmpeg_settings(BlenderRNA *brna)
 #ifdef WITH_FFMPEG
        prop = RNA_def_property(srna, "format", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_bitflag_sdna(prop, NULL, "type");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_enum_items(prop, ffmpeg_format_items);
        RNA_def_property_ui_text(prop, "Format", "Output file format");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_FFmpegSettings_codec_settings_update");
 
        prop = RNA_def_property(srna, "codec", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_bitflag_sdna(prop, NULL, "codec");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_enum_items(prop, ffmpeg_codec_items);
        RNA_def_property_ui_text(prop, "Codec", "FFmpeg codec to use");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_FFmpegSettings_codec_settings_update");
 
        prop = RNA_def_property(srna, "video_bitrate", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "video_bitrate");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 1, 14000);
        RNA_def_property_ui_text(prop, "Bitrate", "Video bitrate (kb/s)");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop = RNA_def_property(srna, "minrate", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "rc_min_rate");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 0, 9000);
        RNA_def_property_ui_text(prop, "Min Rate", "Rate control: min rate (kb/s)");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop = RNA_def_property(srna, "maxrate", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "rc_max_rate");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 1, 14000);
        RNA_def_property_ui_text(prop, "Max Rate", "Rate control: max rate (kb/s)");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop= RNA_def_property(srna, "muxrate", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "mux_rate");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 0, 100000000);
        RNA_def_property_ui_text(prop, "Mux Rate", "Mux rate (bits/s(!))");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop = RNA_def_property(srna, "gopsize", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "gop_size");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 0, 100);
        RNA_def_property_ui_text(prop, "GOP Size", "Distance between key frames");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop = RNA_def_property(srna, "buffersize", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "rc_buffer_size");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 0, 2000);
        RNA_def_property_ui_text(prop, "Buffersize", "Rate control: buffer size (kb)");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop = RNA_def_property(srna, "packetsize", PROP_INT, PROP_NONE);
        RNA_def_property_int_sdna(prop, NULL, "mux_packet_size");
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_range(prop, 0, 16384);
        RNA_def_property_ui_text(prop, "Mux Packet Size", "Mux packet size (byte)");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop= RNA_def_property(srna, "use_autosplit", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", FFMPEG_AUTOSPLIT_OUTPUT);
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_ui_text(prop, "Autosplit Output", "Autosplit output at 2GB boundary");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
 
        prop = RNA_def_property(srna, "use_lossless_output", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flags", FFMPEG_LOSSLESS_OUTPUT);
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_boolean_funcs(prop, NULL, "rna_FFmpegSettings_lossless_output_set");
        RNA_def_property_ui_text(prop, "Lossless Output", "Use lossless output for video streams");
        RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
index 993c0ca0bde398989f65ab41a1cb558bd2e98ddc..aff8a85dd2600521854893fe6cd625b4482c5fb6 100644 (file)
@@ -546,6 +546,7 @@ static void rna_def_trackingSettings(BlenderRNA *brna)
        prop= RNA_def_property(srna, "distance", PROP_FLOAT, PROP_NONE);
        RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
        RNA_def_property_float_sdna(prop, NULL, "dist");
+       RNA_def_property_float_default(prop, 1.0f);
        RNA_def_property_ui_text(prop, "Distance", "Distance between two bundles used for scene scaling");
 
        /* frames count */
@@ -665,6 +666,7 @@ static void rna_def_trackingSettings(BlenderRNA *brna)
        RNA_def_property_float_sdna(prop, NULL, "object_distance");
        RNA_def_property_ui_text(prop, "Distance", "Distance between two bundles used for object scaling");
        RNA_def_property_range(prop, 0.001, 10000);
+       RNA_def_property_float_default(prop, 1.0f);
        RNA_def_property_ui_range(prop, 0.001, 10000.0, 1, 3);
 }
 
@@ -1227,6 +1229,7 @@ static void rna_def_trackingObject(BlenderRNA *brna)
        RNA_def_property_float_sdna(prop, NULL, "scale");
        RNA_def_property_range(prop, 0.0001f, 10000.0f);
        RNA_def_property_ui_range(prop, 0.0001f, 10000.0, 1, 4);
+       RNA_def_property_float_default(prop, 1.0f);
        RNA_def_property_ui_text(prop, "Scale", "Scale of object solution in camera space");
        RNA_def_property_update(prop, NC_MOVIECLIP|NA_EDITED, "rna_trackingObject_flushUpdate");
 }
index 61551f4f8c1f8ad771be381f3e707538ce7fd7c5..1b4d88a6f2e90fdd1726cec606d3bc45973ed1f9 100644 (file)
@@ -398,12 +398,21 @@ if(UNIX AND NOT APPLE)
 
        if(WITH_PYTHON)
                if(WITH_PYTHON_INSTALL)
+                       # on some platforms (like openSUSE) Python is linked
+                       # to be used from lib64 folder.
+                       # determine this from Python's libraries path
+                       if(${PYTHON_LIBPATH} MATCHES "lib64$")
+                               set(_target_LIB "lib64")
+                       else()
+                               set(_target_LIB "lib")
+                       endif()
+
                        # Copy the systems python into the install directory
                        # Scons copy in tools/Blender.py
                        # install(CODE "message(\"copying a subset of the systems python...\")")
                        install(
                                DIRECTORY ${PYTHON_LIBPATH}/python${PYTHON_VERSION}
-                               DESTINATION ${TARGETDIR_VER}/python/lib
+                               DESTINATION ${TARGETDIR_VER}/python/${_target_LIB}
                                PATTERN ".svn" EXCLUDE
                                PATTERN "__pycache__" EXCLUDE               # * any cache *
                                PATTERN "distutils" EXCLUDE                 # ./distutils
@@ -421,6 +430,7 @@ if(UNIX AND NOT APPLE)
 
                        # # doesnt work, todo
                        # install(CODE "execute_process(COMMAND find ${TARGETDIR}/${BLENDER_VERSION}/python/lib/ -name '*.so' -exec strip -s {} '\;')")
+                       unset(_target_LIB)
                endif()
        endif()
 elseif(WIN32)
index 55e3220c08caafff3a0b5b2bf81347eeea690369..54e2efd87768667b51cb1b18ae5d6abe98f327ce 100644 (file)
@@ -291,6 +291,29 @@ void GPC_RenderTools::RenderText3D(        int fontid,
                                                                        double* mat,
                                                                        float aspect)
 {
+       if(GLEW_ARB_multitexture) {
+               for(int i=0; i<MAXTEX; i++) {
+                       glActiveTextureARB(GL_TEXTURE0_ARB+i);
+
+                       if(GLEW_ARB_texture_cube_map)
+                               if(glIsEnabled(GL_TEXTURE_CUBE_MAP_ARB))
+                                       glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+
+                       if(glIsEnabled(GL_TEXTURE_2D))
+                               glDisable(GL_TEXTURE_2D);
+               }
+
+               glActiveTextureARB(GL_TEXTURE0_ARB);
+       }
+       else {
+               if(GLEW_ARB_texture_cube_map)
+                       if(glIsEnabled(GL_TEXTURE_CUBE_MAP_ARB))
+                               glDisable(GL_TEXTURE_CUBE_MAP_ARB);
+
+               if(glIsEnabled(GL_TEXTURE_2D))
+                       glDisable(GL_TEXTURE_2D);
+       }
+
        /* the actual drawing */
        glColor4fv(color);