diff options
-rw-r--r-- | intern/cycles/device/metal/kernel.mm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/device/metal/kernel.mm b/intern/cycles/device/metal/kernel.mm index e9bd1cea5df..91aac8831ca 100644 --- a/intern/cycles/device/metal/kernel.mm +++ b/intern/cycles/device/metal/kernel.mm @@ -59,10 +59,15 @@ bool MetalDeviceKernel::load(MetalDevice *device, } bool use_binary_archive = true; - if (getenv("CYCLES_METAL_DISABLE_BINARY_ARCHIVES")) { + if (device->device_vendor == METAL_GPU_APPLE) { + /* Workaround for T94142: Cycles Metal crash with simultaneous viewport and final render */ use_binary_archive = false; } + if (auto str = getenv("CYCLES_METAL_DISABLE_BINARY_ARCHIVES")) { + use_binary_archive = (atoi(str) == 0); + } + id<MTLBinaryArchive> archive = nil; string metalbin_path; if (use_binary_archive) { |