Options for different versions of the Metal software.


enum MTLSoftwareVersion : Int


Always test for the Metal version number before using a feature tied to a specific version of Metal.

The software version that a device object supports is typically, but not always, determined by the version of the operating system that is running the app. Under some conditions, a device object may support the features of an earlier version of Metal. For example, if you are running an app in Simulator, the device object's software support may be determined by the operating system of the Mac, not the operating system running in Simulator.


Determining the Metal Software Version

case version3_0

Metal software version 3.0.

See Also

Querying Features

Detecting GPU Features and Metal Software Versions

Use the device object’s properties to determine how you perform tasks in Metal.

func supportsVersion(MTLSoftwareVersion) -> Bool

Determines whether the device object supports a particular Metal version.


func supportsFamily(MTLGPUFamily) -> Bool

Determines whether the device object supports the feature set of a particular GPU family.


func supportsFeatureSet(MTLFeatureSet) -> Bool

Determines whether a device supports a particular feature set.


enum MTLGPUFamily

Options for families of GPUs.

enum MTLFeatureSet

The device feature sets that define specific platform, hardware, and software configurations.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software