diff --git a/src/runtime/metal/metal_module.mm b/src/runtime/metal/metal_module.mm index 782fc92235ba..d1212b3adf9f 100644 --- a/src/runtime/metal/metal_module.mm +++ b/src/runtime/metal/metal_module.mm @@ -124,7 +124,11 @@ int GetPropertyMask() const final { if (fmt_ == "metal") { MTLCompileOptions* opts = [MTLCompileOptions alloc]; +#if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000 + opts.languageVersion = MTLLanguageVersion4_0; +#else opts.languageVersion = MTLLanguageVersion2_3; +#endif opts.fastMathEnabled = YES; // opts = nil; // Per-kernel payload is bytes; treat as UTF-8 MSL source.