Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2015-07-07 15:17:41 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2015-07-07 16:00:11 +0300
commitbf43633840eb9185284d09a373811365e3a3b69d (patch)
treeb9edc0dce3cd82f594389465383bcb74d61d70b9
parent5673727088333a0237c56c6d62b6fe5a9238b8e3 (diff)
Cycles: Add an option to force disable all OpenCL devices
This way it's possible to disable OpenCL devices for AMD devices which are considered whitelisted.
-rw-r--r--intern/cycles/device/device_opencl.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp
index 14c65e40da6..0bf6818b5ed 100644
--- a/intern/cycles/device/device_opencl.cpp
+++ b/intern/cycles/device/device_opencl.cpp
@@ -77,6 +77,8 @@ cl_device_type opencl_device_type()
char *device = getenv("CYCLES_OPENCL_TEST");
if(device) {
+ if(strcmp(device, "NONE") == 0)
+ return 0;
if(strcmp(device, "ALL") == 0)
return CL_DEVICE_TYPE_ALL;
else if(strcmp(device, "DEFAULT") == 0)
@@ -211,6 +213,10 @@ void opencl_get_usable_devices(vector<OpenCLPlatformDevice> *usable_devices)
(getenv("CYCLES_OPENCL_SPLIT_KERNEL_TEST")) != NULL;
const cl_device_type device_type = opencl_device_type();
+ if(device_type == 0) {
+ return;
+ }
+
vector<cl_device_id> device_ids;
cl_uint num_devices = 0;
vector<cl_platform_id> platform_ids;
@@ -3441,6 +3447,9 @@ void device_opencl_info(vector<DeviceInfo>& devices)
string device_opencl_capabilities(void)
{
+ if(opencl_device_type() == 0) {
+ return "All OpenCL devices are forced to be OFF";
+ }
string result = "";
string error_msg = ""; /* Only used by opencl_assert(), but in the future
* it could also be nicely reported to the console.