Revision: 42618
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42618
Author:   campbellbarton
Date:     2011-12-14 00:30:31 +0000 (Wed, 14 Dec 2011)
Log Message:
-----------
svn merge ^/trunk/blender -r42586:42617

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

Modified Paths:
--------------
    branches/bmesh/blender/SConstruct
    branches/bmesh/blender/build_files/buildbot/config/user-config-i686.py
    
branches/bmesh/blender/build_files/buildbot/config/user-config-player-x86_64.py
    branches/bmesh/blender/build_files/buildbot/config/user-config-x86_64.py
    branches/bmesh/blender/build_files/scons/config/darwin-config.py
    branches/bmesh/blender/intern/audaspace/jack/AUD_JackDevice.h
    branches/bmesh/blender/intern/cycles/blender/blender_sync.cpp
    branches/bmesh/blender/intern/cycles/device/device.h
    branches/bmesh/blender/intern/cycles/device/device_cuda.cpp
    branches/bmesh/blender/intern/cycles/device/device_multi.cpp
    branches/bmesh/blender/intern/cycles/device/device_opencl.cpp
    branches/bmesh/blender/intern/cycles/render/session.cpp
    branches/bmesh/blender/intern/cycles/render/session.h
    branches/bmesh/blender/intern/cycles/util/util_transform.h
    branches/bmesh/blender/release/datafiles/splash.png
    branches/bmesh/blender/source/blender/blenkernel/BKE_blender.h
    branches/bmesh/blender/source/blender/blenkernel/BKE_tracking.h
    branches/bmesh/blender/source/blender/blenkernel/intern/tracking.c
    branches/bmesh/blender/source/blender/editors/datafiles/splash.png.c
    branches/bmesh/blender/source/blender/editors/space_clip/clip_ops.c
    branches/bmesh/blender/source/blender/editors/space_clip/tracking_ops.c
    branches/bmesh/blender/source/blender/makesrna/intern/rna_fcurve.c
    branches/bmesh/blender/source/blender/python/mathutils/mathutils_noise.c
    branches/bmesh/blender/source/blender/windowmanager/intern/wm_operators.c

Property Changed:
----------------
    branches/bmesh/blender/
    branches/bmesh/blender/release/


Property changes on: branches/bmesh/blender
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379,42397,42400
/trunk/blender:39992-42586
   + /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379,42397,42400
/trunk/blender:39992-42617

Modified: branches/bmesh/blender/SConstruct
===================================================================
--- branches/bmesh/blender/SConstruct   2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/SConstruct   2011-12-14 00:30:31 UTC (rev 42618)
@@ -272,7 +272,7 @@
         if k not in B.arguments:
             env[k] = v
 
-# Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY detection for OSX
+# Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY and JAckOSX detection for 
OSX
 if env['OURPLATFORM']=='darwin':
     print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + 
env['XCODE_CUR_VER'][:9] + " --"
     print "Available " + env['MACOSX_SDK_CHECK']
@@ -291,6 +291,16 @@
         else:
             
env.Append(LINKFLAGS=['-Xlinker','-weak_framework','-Xlinker','3DconnexionClient'])
 
+    # for now, Mac builders must download and install the JackOSX framework 
+    # necessary header file lives here when installed:
+    # /Library/Frameworks/Jackmp.framework/Versions/A/Headers/jack.h
+    if env['WITH_BF_JACK'] == 1:
+        if not os.path.exists('/Library/Frameworks/Jackmp.framework'):
+            print "JackOSX install not found, disabling WITH_BF_JACK" # avoid 
build errors !
+            env['WITH_BF_JACK'] = 0
+        else:
+            
env.Append(LINKFLAGS=['-Xlinker','-weak_framework','-Xlinker','Jackmp'])
+
 if env['WITH_BF_OPENMP'] == 1:
         if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
                 env['CCFLAGS'].append('/openmp')

Modified: branches/bmesh/blender/build_files/buildbot/config/user-config-i686.py
===================================================================
--- branches/bmesh/blender/build_files/buildbot/config/user-config-i686.py      
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/build_files/buildbot/config/user-config-i686.py      
2011-12-14 00:30:31 UTC (rev 42618)
@@ -96,6 +96,7 @@
 
 # Cycles
 WITH_BF_CYCLES = True
+WITH_BF_CYCLES_CUDA_BINARIES = True
 
 WITH_BF_OIIO = True
 WITH_BF_STATICOIIO = True

Modified: 
branches/bmesh/blender/build_files/buildbot/config/user-config-player-x86_64.py
===================================================================
--- 
branches/bmesh/blender/build_files/buildbot/config/user-config-player-x86_64.py 
    2011-12-13 22:30:23 UTC (rev 42617)
+++ 
branches/bmesh/blender/build_files/buildbot/config/user-config-player-x86_64.py 
    2011-12-14 00:30:31 UTC (rev 42618)
@@ -95,5 +95,5 @@
 
 # Compilation and optimization
 BF_DEBUG = False
-REL_CCFLAGS = ['-O2']  # C & C++
+REL_CCFLAGS = ['-O2', '-msse', '-msse2']  # C & C++
 PLATFORM_LINKFLAGS = ['-L/home/sources/staticlibs/lib64']

Modified: 
branches/bmesh/blender/build_files/buildbot/config/user-config-x86_64.py
===================================================================
--- branches/bmesh/blender/build_files/buildbot/config/user-config-x86_64.py    
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/build_files/buildbot/config/user-config-x86_64.py    
2011-12-14 00:30:31 UTC (rev 42618)
@@ -96,6 +96,7 @@
 
 # Cycles
 WITH_BF_CYCLES = True
+WITH_BF_CYCLES_CUDA_BINARIES = True
 
 WITH_BF_OIIO = True
 WITH_BF_STATICOIIO = True
@@ -116,5 +117,5 @@
 
 # Compilation and optimization
 BF_DEBUG = False
-REL_CCFLAGS = ['-O2']  # C & C++
+REL_CCFLAGS = ['-O2', '-msse', '-msse2']  # C & C++
 PLATFORM_LINKFLAGS = ['-L/home/sources/staticlibs/lib64']

Modified: branches/bmesh/blender/build_files/scons/config/darwin-config.py
===================================================================
--- branches/bmesh/blender/build_files/scons/config/darwin-config.py    
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/build_files/scons/config/darwin-config.py    
2011-12-14 00:30:31 UTC (rev 42618)
@@ -148,12 +148,12 @@
 WITH_BF_STATICCXX = False
 BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a'
 
-# TODO - set proper paths here (add precompiled to lib/ ? )
-WITH_BF_JACK = False
-BF_JACK = '/usr'
-BF_JACK_INC = '${BF_JACK}/include/jack'
+# we use simply jack framework
+WITH_BF_JACK = True
+BF_JACK = '/Library/Frameworks/Jackmp.framework'
+BF_JACK_INC = '${BF_JACK}/headers'
 BF_JACK_LIB = 'jack'
-BF_JACK_LIBPATH = '${BF_JACK}/lib'
+BF_JACK_LIBPATH = '${BF_JACK}'
 
 WITH_BF_SNDFILE = True
 BF_SNDFILE = LIBDIR + '/sndfile'

Modified: branches/bmesh/blender/intern/audaspace/jack/AUD_JackDevice.h
===================================================================
--- branches/bmesh/blender/intern/audaspace/jack/AUD_JackDevice.h       
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/audaspace/jack/AUD_JackDevice.h       
2011-12-14 00:30:31 UTC (rev 42618)
@@ -36,6 +36,10 @@
 
 #include <string>
 
+#if defined(__APPLE__) // always first include for jack weaklinking !
+#include <weakjack.h>
+#endif
+
 #include <jack.h>
 #include <ringbuffer.h>
 

Modified: branches/bmesh/blender/intern/cycles/blender/blender_sync.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/blender/blender_sync.cpp       
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/cycles/blender/blender_sync.cpp       
2011-12-14 00:30:31 UTC (rev 42618)
@@ -257,7 +257,7 @@
        PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
 
        /* feature set */
-       bool experimental = (RNA_enum_get(&cscene, "feature_set") != 0);
+       params.experimental = (RNA_enum_get(&cscene, "feature_set") != 0);
 
        /* device type */
        params.device_type = DEVICE_CPU;
@@ -266,14 +266,14 @@
                vector<DeviceType> types = Device::available_types();
                DeviceType dtype;
                
-               if(!experimental || RNA_enum_get(&cscene, "gpu_type") == 0)
+               if(!params.experimental || RNA_enum_get(&cscene, "gpu_type") == 
0)
                        dtype = DEVICE_CUDA;
                else
                        dtype = DEVICE_OPENCL;
 
                if(device_type_available(types, dtype))
                        params.device_type = dtype;
-               else if(experimental && device_type_available(types, 
DEVICE_OPENCL))
+               else if(params.experimental && device_type_available(types, 
DEVICE_OPENCL))
                        params.device_type = DEVICE_OPENCL;
                else if(device_type_available(types, DEVICE_CUDA))
                        params.device_type = DEVICE_CUDA;

Modified: branches/bmesh/blender/intern/cycles/device/device.h
===================================================================
--- branches/bmesh/blender/intern/cycles/device/device.h        2011-12-13 
22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/cycles/device/device.h        2011-12-14 
00:30:31 UTC (rev 42618)
@@ -112,7 +112,7 @@
        virtual void *osl_memory() { return NULL; }
 
        /* load/compile kernels, must be called before adding tasks */ 
-       virtual bool load_kernels() { return true; }
+       virtual bool load_kernels(bool experimental) { return true; }
 
        /* tasks */
        virtual void task_add(DeviceTask& task) = 0;

Modified: branches/bmesh/blender/intern/cycles/device/device_cuda.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/device/device_cuda.cpp 2011-12-13 
22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/cycles/device/device_cuda.cpp 2011-12-14 
00:30:31 UTC (rev 42618)
@@ -214,6 +214,21 @@
                return string("CUDA ") + deviceName;
        }
 
+       bool support_device(bool experimental)
+       {
+               if(!experimental) {
+                       int major, minor;
+                       cuDeviceComputeCapability(&major, &minor, cuDevId);
+
+                       if(major <= 1 && minor <= 2) {
+                               cuda_error(string_printf("CUDA device supported 
only with shader model 1.3 or up, found %d.%d.", major, minor));
+                               return false;
+                       }
+               }
+
+               return true;
+       }
+
        string compile_kernel()
        {
                /* compute cubin name */
@@ -236,11 +251,11 @@
                if(path_exists(cubin))
                        return cubin;
 
-#ifdef WITH_CUDA_BINARIES
+#if defined(WITH_CUDA_BINARIES) && defined(_WIN32)
                if(major <= 1 && minor <= 2)
                        cuda_error(string_printf("CUDA device supported only 
with shader model 1.3 or up, found %d.%d.", major, minor));
                else
-                       cuda_error("CUDA binary kernel for this graphics card 
not found.");
+                       cuda_error(string_printf("CUDA binary kernel for this 
graphics card shader model (%d.%d) not found.", major, minor));
                return "";
 #else
                /* if not, find CUDA compiler */
@@ -283,12 +298,15 @@
 #endif
        }
 
-       bool load_kernels()
+       bool load_kernels(bool experimental)
        {
                /* check if cuda init succeeded */
                if(cuContext == 0)
                        return false;
 
+               if(!support_device(experimental))
+                       return false;
+
                /* get kernel */
                string cubin = compile_kernel();
 

Modified: branches/bmesh/blender/intern/cycles/device/device_multi.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/device/device_multi.cpp        
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/cycles/device/device_multi.cpp        
2011-12-14 00:30:31 UTC (rev 42618)
@@ -132,10 +132,10 @@
                return desc.str();
        }
 
-       bool load_kernels()
+       bool load_kernels(bool experimental)
        {
                foreach(SubDevice& sub, devices)
-                       if(!sub.device->load_kernels())
+                       if(!sub.device->load_kernels(experimental))
                                return false;
 
                return true;

Modified: branches/bmesh/blender/intern/cycles/device/device_opencl.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/device/device_opencl.cpp       
2011-12-13 22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/cycles/device/device_opencl.cpp       
2011-12-14 00:30:31 UTC (rev 42618)
@@ -365,7 +365,7 @@
                return md5.get_hex();
        }
 
-       bool load_kernels()
+       bool load_kernels(bool experimental)
        {
                /* verify if device was initialized */
                if(!device_initialized) {

Modified: branches/bmesh/blender/intern/cycles/render/session.cpp
===================================================================
--- branches/bmesh/blender/intern/cycles/render/session.cpp     2011-12-13 
22:30:23 UTC (rev 42617)
+++ branches/bmesh/blender/intern/cycles/render/session.cpp     2011-12-14 
00:30:31 UTC (rev 42618)
@@ -410,7 +410,7 @@
        /* load kernels */
        progress.set_status("Loading render kernels (may take a few minutes the 
first time)");
 
-       if(!device->load_kernels()) {
+       if(!device->load_kernels(params.experimental)) {
                string message = device->error_message();

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