From 199549743c623a0fb7595dd202da07c6178b8e2b Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 20 Feb 2023 15:40:11 +0100 Subject: [PATCH] Fix Cycles MetalRT accessing macOS 11 features without testing availability --- intern/cycles/device/metal/device_impl.mm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/intern/cycles/device/metal/device_impl.mm b/intern/cycles/device/metal/device_impl.mm index 0d836e7c2d5..9f418b0425a 100644 --- a/intern/cycles/device/metal/device_impl.mm +++ b/intern/cycles/device/metal/device_impl.mm @@ -225,11 +225,15 @@ MetalDevice::MetalDevice(const DeviceInfo &info, Stats &stats, Profiler &profile mtlAncillaryArgEncoder = [mtlDevice newArgumentEncoderWithArguments:ancillary_desc]; // preparing the blas arg encoder - MTLArgumentDescriptor *arg_desc_blas = [[MTLArgumentDescriptor alloc] init]; - arg_desc_blas.dataType = MTLDataTypeInstanceAccelerationStructure; - arg_desc_blas.access = MTLArgumentAccessReadOnly; - mtlBlasArgEncoder = [mtlDevice newArgumentEncoderWithArguments:@[ arg_desc_blas ]]; - [arg_desc_blas release]; + if (@available(macos 11.0, *)) { + if (use_metalrt) { + MTLArgumentDescriptor *arg_desc_blas = [[MTLArgumentDescriptor alloc] init]; + arg_desc_blas.dataType = MTLDataTypeInstanceAccelerationStructure; + arg_desc_blas.access = MTLArgumentAccessReadOnly; + mtlBlasArgEncoder = [mtlDevice newArgumentEncoderWithArguments:@[ arg_desc_blas ]]; + [arg_desc_blas release]; + } + } for (int i = 0; i < ancillary_desc.count; i++) { [ancillary_desc[i] release]; -- 2.30.2