diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-06-20 18:34:12 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-06-20 18:34:12 +0300 |
commit | 63dd554ff12ee6a83758e67152bfeabaffe670d0 (patch) | |
tree | 492ff230ed9de8e9817c93e4eef0c8e94fe2476f | |
parent | 5a4b51992e25a4351ca2715cdef25690db0002bb (diff) |
Cycles: Don't show pre-sm_20 CUDA cards in the device list
-rw-r--r-- | intern/cycles/device/device_cuda.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index eb861d79a8c..3607de598c0 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -1122,23 +1122,28 @@ void device_cuda_info(vector<DeviceInfo>& devices) } vector<DeviceInfo> display_devices; - + + int num_devices = 0; for(int num = 0; num < count; num++) { char name[256]; int attr; - + if(cuDeviceGetName(name, 256, num) != CUDA_SUCCESS) continue; + int major, minor; + cuDeviceComputeCapability(&major, &minor, num); + if(major < 2) { + continue; + } + DeviceInfo info; info.type = DEVICE_CUDA; info.description = string(name); info.id = string_printf("CUDA_%d", num); - info.num = num; + info.num = num_devices; - int major, minor; - cuDeviceComputeCapability(&major, &minor, num); info.advanced_shading = (major >= 2); info.extended_images = (major >= 3); info.pack_images = false; @@ -1150,6 +1155,8 @@ void device_cuda_info(vector<DeviceInfo>& devices) } else devices.push_back(info); + + ++num_devices; } if(!display_devices.empty()) |