[Bf-blender-cvs] [56a8c2a3203] blender2.7: Fix cycles preferences.get_devices() not returning all devices as before.

Brecht Van Lommel noreply at git.blender.org
Fri Mar 15 16:54:40 CET 2019


Commit: 56a8c2a3203482f0fc7437b0cefe2160e27f7fe3
Author: Brecht Van Lommel
Date:   Fri Mar 15 15:26:18 2019 +0100
Branches: blender2.7
https://developer.blender.org/rB56a8c2a3203482f0fc7437b0cefe2160e27f7fe3

Fix cycles preferences.get_devices() not returning all devices as before.

It only returned those for the active device type. For backwards compatibility
return them all again, but still avoid enumerating them from our own code on
startup or opening preferences.

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

M	intern/cycles/blender/addon/properties.py
M	intern/cycles/blender/addon/version_update.py

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

diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index 950a0b5f08f..8cecddbc711 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -1475,10 +1475,11 @@ class CyclesPreferences(bpy.types.AddonPreferences):
                 # Update name in case it changed
                 entry.name = device[0]
 
-    def get_devices(self):
+    # Gets all devices types by default.
+    def get_devices(self, compute_device_type=''):
         import _cycles
         # Layout of the device tuples: (Name, Type, Persistent ID)
-        device_list = _cycles.available_devices(self.compute_device_type)
+        device_list = _cycles.available_devices(compute_device_type)
         # Make sure device entries are up to date and not referenced before
         # we know we don't add new devices. This way we guarantee to not
         # hold pointers to a resized array.
@@ -1535,7 +1536,7 @@ class CyclesPreferences(bpy.types.AddonPreferences):
         row = layout.row()
         row.prop(self, "compute_device_type", expand=True)
 
-        cuda_devices, opencl_devices = self.get_devices()
+        cuda_devices, opencl_devices = self.get_devices(self.compute_device_type)
         row = layout.row()
         if self.compute_device_type == 'CUDA':
             self._draw_devices(row, 'CUDA', cuda_devices)
diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py
index f3d60d62e02..7fb43af8b7c 100644
--- a/intern/cycles/blender/addon/version_update.py
+++ b/intern/cycles/blender/addon/version_update.py
@@ -254,7 +254,7 @@ def do_versions(self):
                 pass
 
             # Init device list for UI
-            prop.get_devices()
+            prop.get_devices(prop.compute_device_type)
 
     # We don't modify startup file because it assumes to
     # have all the default values only.



More information about the Bf-blender-cvs mailing list