Enumeration

MTLFeatureSet

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

Declaration

iOS, macOS, tvOS
typedef enum MTLFeatureSet : NSUInteger {
    ...
} MTLFeatureSet;
Mac Catalyst
typedef enum MTLFeatureSet : NSUInteger MTLFeatureSet;

Overview

If your app is running on Metal 3.0 or later, don't use MTLFeatureSet. Instead, search for Metal software versions (supportsVersion:) and Metal GPU families (supportsFamily:).

Metal feature sets define the feature availability, implementation limits, and pixel format capabilities for each device. Refer to Using Metal Feature Set Tables for more information.

Table 1

GPU families and their corresponding GPU hardware

GPU family

GPU hardware

iOS GPU family 1

Apple A7 devices

iOS GPU family 2

tvOS GPU family 1

Apple A8 devices

iOS GPU family 3

tvOS GPU family 2

Apple A9 devices

Apple A10 devices

iOS GPU family 4

Apple A11 devices

iOS GPU family 5

Apple A12 devices

macOS GPU family 1

iMac Pro models

iMac models from 2012 or later

MacBook models from 2015 or later

MacBook Pro models from 2012 or later

MacBook Air models from 2012 or later

Mac mini models from 2012 or later

Mac Pro models from late 2013

macOS GPU family 2

iMac models from 2015 or later

MacBook Pro models from 2016 or later

MacBook models from 2016 or later

iMac Pro models from 2017 or later

For more information on Mac support for Metal, see Mac computers that support Metal.

Topics

iOS GPU Family Feature Sets

MTLFeatureSet_iOS_GPUFamily1_v1

The GPU family 1, version 1 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily1_v2

The GPU family 1, version 2 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily1_v3

The GPU family 1, version 3 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily1_v4

The GPU family 1, version 4 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily1_v5

The GPU family 1, version 5 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily2_v1

The GPU family 2, version 1 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily2_v2

The GPU family 2, version 2 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily2_v3

The GPU family 2, version 3 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily2_v4

The GPU family 2, version 4 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily2_v5

The GPU family 2, version 5 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily3_v1

The GPU family 3, version 1 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily3_v2

The GPU family 3, version 2 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily3_v3

The GPU family 3, version 3 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily3_v4

The GPU family 3, version 4 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily4_v1

The GPU family 4, version 1 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily4_v2

The GPU family 4, version 2 feature set for iOS.

MTLFeatureSet_iOS_GPUFamily5_v1

The GPU family 5, version 1 feature set for iOS.

macOS GPU Family Feature Sets

MTLFeatureSet_macOS_GPUFamily1_v1

The GPU family 1, version 1 feature set for macOS.

MTLFeatureSet_macOS_GPUFamily1_v2

The GPU family 1, version 2 feature set for macOS.

MTLFeatureSet_macOS_GPUFamily1_v3

The GPU family 1, version 3 feature set for macOS.

MTLFeatureSet_macOS_GPUFamily1_v4

The GPU family 1, version 4 feature set for macOS.

MTLFeatureSet_macOS_GPUFamily2_v1

The GPU family 2, version 1 feature set for macOS.

MTLFeatureSet_macOS_ReadWriteTextureTier2

The read-write texture, tier 2 feature set for macOS.

tvOS GPU Family Feature Sets

MTLFeatureSet_tvOS_GPUFamily1_v1

The GPU family 1, version 1 feature set for tvOS.

MTLFeatureSet_tvOS_GPUFamily1_v2

The GPU family 1, version 2 feature set for tvOS.

MTLFeatureSet_tvOS_GPUFamily1_v3

The GPU family 1, version 3 feature set for tvOS.

MTLFeatureSet_tvOS_GPUFamily1_v4

The GPU family 1, version 4 feature set for tvOS.

MTLFeatureSet_tvOS_GPUFamily2_v1

The GPU family 2, version 1 feature set for tvOS.

MTLFeatureSet_tvOS_GPUFamily2_v2

The GPU family 2, version 2 feature set for tvOS.

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.

- supportsVersion:

Determines whether the device object supports a particular Metal version.

Required.

Beta
- supportsFamily:

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

Required.

Beta
- supportsFeatureSet:

Determines whether a device supports a particular feature set.

Required.

MTLSoftwareVersion

Options for different versions of the Metal software.

Beta
MTLGPUFamily

Options for families of GPUs.

Beta

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