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& devices) } vector 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& devices) } else devices.push_back(info); + + ++num_devices; } if(!display_devices.empty())