[Bf-blender-cvs] [952a613d384] blender-v3.1-release: Cycles: Hide MetalRT checkbox for AMD GPUs

Michael Jones noreply at git.blender.org
Tue Mar 1 17:05:56 CET 2022


Commit: 952a613d3843a7ab47bd8063da71c277ee0a013f
Author: Michael Jones
Date:   Tue Feb 22 17:09:28 2022 +0000
Branches: blender-v3.1-release
https://developer.blender.org/rB952a613d3843a7ab47bd8063da71c277ee0a013f

Cycles: Hide MetalRT checkbox for AMD GPUs

This patch hides the MetalRT checkbox for AMD GPUs, pending fixes for MetalRT argument encoding on AMD.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D14175

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

M	intern/cycles/blender/addon/properties.py
M	intern/cycles/device/metal/device_impl.mm

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

diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index ef686fc0c70..84d0e95acd8 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -1527,9 +1527,12 @@ class CyclesPreferences(bpy.types.AddonPreferences):
             row.prop(self, "peer_memory")
 
         if compute_device_type == 'METAL':
-            row = layout.row()
-            row.use_property_split = True
-            row.prop(self, "use_metalrt")
+            import platform
+            # MetalRT only works on Apple Silicon at present, pending argument encoding fixes on AMD
+            if platform.machine() == 'arm64':
+                row = layout.row()
+                row.use_property_split = True
+                row.prop(self, "use_metalrt")
 
 
     def draw(self, context):
diff --git a/intern/cycles/device/metal/device_impl.mm b/intern/cycles/device/metal/device_impl.mm
index 8ced0210e30..7291dd880ca 100644
--- a/intern/cycles/device/metal/device_impl.mm
+++ b/intern/cycles/device/metal/device_impl.mm
@@ -90,11 +90,11 @@ MetalDevice::MetalDevice(const DeviceInfo &info, Stats &stats, Profiler &profile
     }
     case METAL_GPU_APPLE: {
       max_threads_per_threadgroup = 512;
+      use_metalrt = info.use_metalrt;
       break;
     }
   }
 
-  use_metalrt = info.use_metalrt;
   if (auto metalrt = getenv("CYCLES_METALRT")) {
     use_metalrt = (atoi(metalrt) != 0);
   }



More information about the Bf-blender-cvs mailing list