[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