[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42618] branches/bmesh/blender: svn merge ^/trunk/blender -r42586:42617

Campbell Barton ideasman42 at gmail.com
Wed Dec 14 01:30:46 CET 2011


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



More information about the Bf-blender-cvs mailing list