[Bf-blender-cvs] [c64b12c0b80] blender-v2.90-release master: Fix OptiX being shown as available on first generation Maxwell GPUs

Patrick Mours noreply at git.blender.org
Fri Jul 24 15:39:50 CEST 2020


Commit: c64b12c0b80bc5a60ff39c7f984d06020009400c
Author: Patrick Mours
Date:   Fri Jul 24 15:36:09 2020 +0200
Branches: blender-v2.90-release master
https://developer.blender.org/rBc64b12c0b80bc5a60ff39c7f984d06020009400c

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.

===================================================================

M	intern/cycles/device/device_optix.cpp

===================================================================

diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp
index 1cc45983565..ca10cee76ad 100644
--- a/intern/cycles/device/device_optix.cpp
+++ b/intern/cycles/device/device_optix.cpp
@@ -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;



More information about the Bf-blender-cvs mailing list