diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-07 15:17:41 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-07-07 16:00:11 +0300 |
commit | bf43633840eb9185284d09a373811365e3a3b69d (patch) | |
tree | b9edc0dce3cd82f594389465383bcb74d61d70b9 | |
parent | 5673727088333a0237c56c6d62b6fe5a9238b8e3 (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.cpp | 9 |
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. |