OpenCL: Bring back CYCLES_OPENCL_TEST override
Back in 2.79 you could either use the debug panel or an environment variable to override using OpenCL for unsupported hardware. Which was rather useful for developers when testing on NVidia just to be sure the CL kernels at-least build properly. This broke in rB949ab753bb2 This diff restores testing though the CYCLES_OPENCL_TEST environment variable. Differential Revision: https://developer.blender.org/D7202 Reviewers: brecht
This commit is contained in:
parent
3033b2a044
commit
44c6b6615b
@ -89,8 +89,7 @@ class OpenCLInfo {
|
||||
static bool platform_version_check(cl_platform_id platform, string *error = NULL);
|
||||
static bool device_version_check(cl_device_id device, string *error = NULL);
|
||||
static string get_hardware_id(const string &platform_name, cl_device_id device_id);
|
||||
static void get_usable_devices(vector<OpenCLPlatformDevice> *usable_devices,
|
||||
bool force_all = false);
|
||||
static void get_usable_devices(vector<OpenCLPlatformDevice> *usable_devices);
|
||||
|
||||
/* ** Some handy shortcuts to low level cl*GetInfo() functions. ** */
|
||||
|
||||
|
@ -747,6 +747,10 @@ bool OpenCLInfo::device_supported(const string &platform_name, const cl_device_i
|
||||
}
|
||||
VLOG(3) << "OpenCL driver version " << driver_major << "." << driver_minor;
|
||||
|
||||
if (getenv("CYCLES_OPENCL_TEST")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* It is possible to have Iris GPU on AMD/Apple OpenCL framework
|
||||
* (aka, it will not be on Intel framework). This isn't supported
|
||||
* and needs an explicit blacklist.
|
||||
@ -858,7 +862,7 @@ string OpenCLInfo::get_hardware_id(const string &platform_name, cl_device_id dev
|
||||
return "";
|
||||
}
|
||||
|
||||
void OpenCLInfo::get_usable_devices(vector<OpenCLPlatformDevice> *usable_devices, bool force_all)
|
||||
void OpenCLInfo::get_usable_devices(vector<OpenCLPlatformDevice> *usable_devices)
|
||||
{
|
||||
const cl_device_type device_type = OpenCLInfo::device_type();
|
||||
static bool first_time = true;
|
||||
@ -924,7 +928,7 @@ void OpenCLInfo::get_usable_devices(vector<OpenCLPlatformDevice> *usable_devices
|
||||
FIRST_VLOG(2) << "Ignoring device " << device_name << " due to old compiler version.";
|
||||
continue;
|
||||
}
|
||||
if (force_all || device_supported(platform_name, device_id)) {
|
||||
if (device_supported(platform_name, device_id)) {
|
||||
cl_device_type device_type;
|
||||
if (!get_device_type(device_id, &device_type, &error)) {
|
||||
FIRST_VLOG(2) << "Ignoring device " << device_name
|
||||
|
Loading…
Reference in New Issue
Block a user