Enumeration

MTLFeatureSet

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

Declaration

enum MTLFeatureSet : UInt

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 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

Feature Sets

case iOS_GPUFamily1_v1

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

case iOS_GPUFamily1_v2

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

case iOS_GPUFamily1_v3

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

case iOS_GPUFamily1_v4

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

case iOS_GPUFamily1_v5

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

case iOS_GPUFamily2_v1

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

case iOS_GPUFamily2_v2

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

case iOS_GPUFamily2_v3

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

case iOS_GPUFamily2_v4

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

case iOS_GPUFamily2_v5

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

case iOS_GPUFamily3_v1

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

case iOS_GPUFamily3_v2

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

case iOS_GPUFamily3_v3

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

case iOS_GPUFamily3_v4

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

case iOS_GPUFamily4_v1

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

case iOS_GPUFamily4_v2

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

case iOS_GPUFamily5_v1

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

case tvOS_GPUFamily1_v1

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

case tvOS_GPUFamily1_v2

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

case tvOS_GPUFamily1_v3

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

case tvOS_GPUFamily1_v4

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

case tvOS_GPUFamily2_v1

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

case tvOS_GPUFamily2_v2

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

case macOS_GPUFamily1_v1

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

case macOS_GPUFamily1_v2

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

case macOS_GPUFamily1_v3

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

case macOS_GPUFamily1_v4

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

case macOS_GPUFamily2_v1

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

case macOS_ReadWriteTextureTier2

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

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.

Metal Feature Set Tables

Look up informaton about Metal software versions and GPU hardware.

func supportsVersion(MTLSoftwareVersion) -> Bool

Determines whether the device object supports a particular Metal version.

Required.

Beta
func supportsFamily(MTLGPUFamily) -> Bool

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

Required.

Beta
func supportsFeatureSet(MTLFeatureSet) -> Bool

Determines whether a device supports a particular feature set.

Required.

enum MTLSoftwareVersion

Options for different versions of the Metal software.

Beta
enum 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