[Bf-blender-cvs] [5aa08eb3cc7] master: Fix T53017: Cycles not detecting AMD GPU when there is an NVidia GPU too.
Mathieu Menuet
noreply at git.blender.org
Sun Oct 8 18:36:51 CEST 2017
Commit: 5aa08eb3cc7c9c5a6282d938fd2ffa6266a40ff7
Author: Mathieu Menuet
Date: Sun Oct 8 18:20:55 2017 +0200
Branches: master
https://developer.blender.org/rB5aa08eb3cc7c9c5a6282d938fd2ffa6266a40ff7
Fix T53017: Cycles not detecting AMD GPU when there is an NVidia GPU too.
Best guess is that cuInit() somehow interferes with the AMD graphics driver
on Windows, and switching the initialization order to do OpenCL first seems
to solve the issue.
===================================================================
M intern/cycles/device/device.cpp
===================================================================
diff --git a/intern/cycles/device/device.cpp b/intern/cycles/device/device.cpp
index 533294407ea..e5a1aa610b6 100644
--- a/intern/cycles/device/device.cpp
+++ b/intern/cycles/device/device.cpp
@@ -324,16 +324,17 @@ vector<DeviceInfo>& Device::available_devices()
{
if(need_devices_update) {
devices.clear();
-#ifdef WITH_CUDA
- if(device_cuda_init())
- device_cuda_info(devices);
-#endif
#ifdef WITH_OPENCL
if(device_opencl_init())
device_opencl_info(devices);
#endif
+#ifdef WITH_CUDA
+ if(device_cuda_init())
+ device_cuda_info(devices);
+#endif
+
device_cpu_info(devices);
#ifdef WITH_NETWORK
@@ -350,12 +351,6 @@ string Device::device_capabilities()
{
string capabilities = "CPU device capabilities: ";
capabilities += device_cpu_capabilities() + "\n";
-#ifdef WITH_CUDA
- if(device_cuda_init()) {
- capabilities += "\nCUDA device capabilities:\n";
- capabilities += device_cuda_capabilities();
- }
-#endif
#ifdef WITH_OPENCL
if(device_opencl_init()) {
@@ -364,6 +359,13 @@ string Device::device_capabilities()
}
#endif
+#ifdef WITH_CUDA
+ if(device_cuda_init()) {
+ capabilities += "\nCUDA device capabilities:\n";
+ capabilities += device_cuda_capabilities();
+ }
+#endif
+
return capabilities;
}
More information about the Bf-blender-cvs
mailing list