Fix OptiX being shown as available on first generation Maxwell GPUs

The OptiX kernels are compiled for target "compute_sm_52", which is only available on second
generation Maxwell GPUs, so disable support for older ones.
This commit is contained in:
Patrick Mours 2020-07-24 15:36:09 +02:00
parent ec17b45034
commit c64b12c0b8
Notes: blender-bot 2023-02-14 10:04:50 +01:00
Referenced by issue #79133, Optix viewport denoise error with Quadro M2000
1 changed files with 4 additions and 3 deletions

View File

@ -1746,10 +1746,11 @@ void device_optix_info(const vector<DeviceInfo> &cuda_devices, vector<DeviceInfo
for (DeviceInfo info : cuda_devices) {
assert(info.type == DEVICE_CUDA);
int major;
int major, minor;
cuDeviceGetAttribute(&major, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MAJOR, info.num);
if (major < 5) {
continue; // Only Maxwell and up are supported by OptiX
cuDeviceGetAttribute(&minor, CU_DEVICE_ATTRIBUTE_COMPUTE_CAPABILITY_MINOR, info.num);
if (major < 5 || (major == 5 && minor < 2)) {
continue; // Only Maxwell 2.0 and up are supported by OptiX
}
info.type = DEVICE_OPTIX;