diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-05-14 05:54:45 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-05-14 17:07:22 +0300 |
commit | 97f50c71b9ef3b2a4030b172d48e940f4aa5d87d (patch) | |
tree | 4ea8948e51208363c53a51dbad4271d8099d83e2 /intern/cycles/device/device_optix.cpp | |
parent | 16b9841fc15191acca89c9f7ebe86b520d730d85 (diff) |
Fix --debug-cycles printing CUDA devices twice
Reuse the CUDA devices list for Optix device detection.
Diffstat (limited to 'intern/cycles/device/device_optix.cpp')
-rw-r--r-- | intern/cycles/device/device_optix.cpp | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp index 37d6ae3d041..e839d852127 100644 --- a/intern/cycles/device/device_optix.cpp +++ b/intern/cycles/device/device_optix.cpp @@ -1534,14 +1534,11 @@ bool device_optix_init() return true; } -void device_optix_info(vector<DeviceInfo> &devices) +void device_optix_info(const vector<DeviceInfo> &cuda_devices, vector<DeviceInfo> &devices) { // Simply add all supported CUDA devices as OptiX devices again - vector<DeviceInfo> cuda_devices; - device_cuda_info(cuda_devices); - - for (auto it = cuda_devices.begin(); it != cuda_devices.end();) { - DeviceInfo &info = *it; + for (const DeviceInfo &cuda_info : cuda_devices) { + DeviceInfo info = cuda_info; assert(info.type == DEVICE_CUDA); info.type = DEVICE_OPTIX; info.id += "_OptiX"; @@ -1564,13 +1561,10 @@ void device_optix_info(vector<DeviceInfo> &devices) } // Only add devices with RTX support - if (rtcore_version == 0 && !getenv("CYCLES_OPTIX_TEST")) - it = cuda_devices.erase(it); - else - ++it; + if (rtcore_version != 0 || getenv("CYCLES_OPTIX_TEST")) { + devices.push_back(info); + } } - - devices.insert(devices.end(), cuda_devices.begin(), cuda_devices.end()); } Device *device_optix_create(DeviceInfo &info, Stats &stats, Profiler &profiler, bool background) |