Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
diff options
context:
space:
mode:
authorMichael Jones <michael_p_jones@apple.com>2022-02-22 20:09:28 +0300
committerMichael Jones <michael_p_jones@apple.com>2022-03-01 19:05:47 +0300
commit952a613d3843a7ab47bd8063da71c277ee0a013f (patch)
tree028b656a6d58f84c001e473880bbc67bed3f3096 /intern
parentd681d82d41c176951eb294a2d1dd413eb2fe8af2 (diff)
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
Diffstat (limited to 'intern')
-rw-r--r--intern/cycles/blender/addon/properties.py9
-rw-r--r--intern/cycles/device/metal/device_impl.mm2
2 files changed, 7 insertions, 4 deletions
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);
}