[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39848] branches/cycles/intern/cycles/ blender: Cycles UI:

Thomas Dinges blender at dingto.org
Thu Sep 1 20:45:50 CEST 2011


Revision: 39848
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39848
Author:   dingto
Date:     2011-09-01 18:45:50 +0000 (Thu, 01 Sep 2011)
Log Message:
-----------
Cycles UI:
* Added selector for CUDA/OpenCL. 
 

Modified Paths:
--------------
    branches/cycles/intern/cycles/blender/addon/enums.py
    branches/cycles/intern/cycles/blender/addon/properties.py
    branches/cycles/intern/cycles/blender/addon/ui.py
    branches/cycles/intern/cycles/blender/blender_sync.cpp

Modified: branches/cycles/intern/cycles/blender/addon/enums.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/enums.py	2011-09-01 17:56:52 UTC (rev 39847)
+++ branches/cycles/intern/cycles/blender/addon/enums.py	2011-09-01 18:45:50 UTC (rev 39848)
@@ -18,8 +18,12 @@
 
 devices = (
 ("CPU", "CPU", "Processor"),
-("GPU", "GPU", "Graphics card (NVidia only)"))
+("GPU", "GPU", "Graphics card"))
 
+gpu_type = (
+("CUDA", "CUDA", "NVidia only"),
+("OPENCL", "OpenCL", ""))
+
 shading_systems = (
 ("GPU_COMPATIBLE", "GPU Compatible", "Restricted shading system compatible with GPU rendering"),
 ("OSL", "Open Shading Language", "Open Shading Language shading system that only runs on the CPU"))

Modified: branches/cycles/intern/cycles/blender/addon/properties.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/properties.py	2011-09-01 17:56:52 UTC (rev 39847)
+++ branches/cycles/intern/cycles/blender/addon/properties.py	2011-09-01 18:45:50 UTC (rev 39848)
@@ -28,6 +28,9 @@
 
         cls.device = EnumProperty(name="Device", description="Device to use for rendering",
             items=enums.devices, default="CPU")
+            
+        cls.gpu_type = EnumProperty(name="GPU Type", description="Processing system to use on the GPU",
+            items=enums.gpu_type, default="CUDA")
 
         cls.shading_system = EnumProperty(name="Shading System", description="Shading system to use for rendering",
             items=enums.shading_systems, default="GPU_COMPATIBLE")

Modified: branches/cycles/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/cycles/intern/cycles/blender/addon/ui.py	2011-09-01 17:56:52 UTC (rev 39847)
+++ branches/cycles/intern/cycles/blender/addon/ui.py	2011-09-01 18:45:50 UTC (rev 39848)
@@ -522,8 +522,10 @@
     if scene.render.engine == "CYCLES":
         cscene = scene.cycles
 
-        if 'cuda' in engine.available_devices():
+        if ('cuda' or 'opencl') in engine.available_devices():
             layout.prop(cscene, "device")
+            if cscene.device == 'GPU':
+                layout.prop(cscene, "gpu_type", expand=True)
         if cscene.device == 'CPU' and engine.with_osl():
             layout.prop(cscene, "shading_system")
 

Modified: branches/cycles/intern/cycles/blender/blender_sync.cpp
===================================================================
--- branches/cycles/intern/cycles/blender/blender_sync.cpp	2011-09-01 17:56:52 UTC (rev 39847)
+++ branches/cycles/intern/cycles/blender/blender_sync.cpp	2011-09-01 18:45:50 UTC (rev 39848)
@@ -202,10 +202,14 @@
 SessionParams BlenderSync::get_session_params(BL::Scene b_scene, bool background)
 {
 	SessionParams params;
+	DeviceType dtype;
 	PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
 
 	/* device type */
-	DeviceType dtype = (RNA_enum_get(&cscene, "device") == 1)? DEVICE_CUDA: DEVICE_CPU;
+	if ((RNA_enum_get(&cscene, "device")) == 0)
+		dtype = DEVICE_CPU;
+	else 
+		dtype = ((RNA_enum_get(&cscene, "gpu_type")) == 0)? DEVICE_CUDA: DEVICE_OPENCL;
 
 	params.device_type = DEVICE_CPU;
 	vector<DeviceType> types = Device::available_types();




More information about the Bf-blender-cvs mailing list