From 37539962fe0da09bb66af43aeb642cb03561c717 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 7 Jul 2015 14:17:41 +0200 Subject: 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. --- intern/cycles/device/device_opencl.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'intern/cycles/device/device_opencl.cpp') diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp index 39aa8c1e677..476bda34a17 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 *usable_devices) (getenv("CYCLES_OPENCL_SPLIT_KERNEL_TEST")) != NULL; const cl_device_type device_type = opencl_device_type(); + if(device_type == 0) { + return; + } + vector device_ids; cl_uint num_devices = 0; vector platform_ids; @@ -3480,6 +3486,9 @@ void device_opencl_info(vector& 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. -- cgit v1.2.3