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();

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to