<!--
{
  "availability" : [
    "iOS: 8.0.0 - 16.0.0",
    "iPadOS: 8.0.0 - 16.0.0",
    "macCatalyst: 13.1.0 - 16.0.0",
    "macOS: 10.11.0 - 13.0.0",
    "tvOS: 9.0.0 - 16.0.0",
    "visionOS: 1.0.0 - 1.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLFeatureSet",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@E@MTLFeatureSet"
  },
  "title" : "MTLFeatureSet"
}
-->

# MTLFeatureSet

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

```
enum MTLFeatureSet
```

## Overview

If your app is running on an operating system that supports the [`supportsFamily(_:)`](/documentation/Metal/MTLDevice/supportsFamily(_:)) method, use that method instead. See [Detecting GPU features and Metal software versions](/documentation/Metal/detecting-gpu-features-and-metal-software-versions) for more information about [`MTLGPUFamily`](/documentation/Metal/MTLGPUFamily) — the replacement for this enumeration —  and the feature set tables. This type doesn’t define constants for GPU families introduced after iOS GPU family 5.

Metal feature sets define the feature availability, implementation limits, and pixel format capabilities for each device. The table shows the GPU families and their corresponding GPU hardware.

|GPU family                                    |GPU hardware                                                                                                                                                                                                                                                                                         |
|----------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|iOS GPU family 1                              |Apple A7 devices                                                                                                                                                                                                                                                                                     |
|iOS GPU family 2 ![](spacer) tvOS GPU family 1|Apple A8 devices                                                                                                                                                                                                                                                                                     |
|iOS GPU family 3 ![](spacer) tvOS GPU family 2|Apple A9 devices ![](spacer) Apple A10 devices                                                                                                                                                                                                                                                       |
|iOS GPU family 4                              |Apple A11 devices                                                                                                                                                                                                                                                                                    |
|iOS GPU family 5                              |Apple A12 devices                                                                                                                                                                                                                                                                                    |
|macOS GPU family 1                            |iMac Pro models ![](spacer) iMac models from 2012 or later ![](spacer) MacBook models from 2015 or later ![](spacer) MacBook Pro models from 2012 or later ![](spacer) MacBook Air models from 2012 or later ![](spacer) Mac mini models from 2012 or later ![](spacer) Mac Pro models from late 2013|
|macOS GPU family 2                            |iMac models from 2015 or later ![](spacer) MacBook Pro models from 2016 or later ![](spacer) MacBook models from 2016 or later ![](spacer) iMac Pro models from 2017 or later                                                                                                                        |

For more information on Mac support for Metal, see [Mac computers that support Metal](https://support.apple.com/en-us/HT205073).

## Topics

### iOS GPU family 5

[`MTLFeatureSet.iOS_GPUFamily5_v1`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily5_v1)

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

### iOS GPU family 4

[`MTLFeatureSet.iOS_GPUFamily4_v2`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily4_v2)

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

[`MTLFeatureSet.iOS_GPUFamily4_v1`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily4_v1)

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

### iOS GPU family 3

[`MTLFeatureSet.iOS_GPUFamily3_v4`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily3_v4)

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

[`MTLFeatureSet.iOS_GPUFamily3_v3`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily3_v3)

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

[`MTLFeatureSet.iOS_GPUFamily3_v2`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily3_v2)

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

[`MTLFeatureSet.iOS_GPUFamily3_v1`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily3_v1)

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

### iOS GPU family 2

[`MTLFeatureSet.iOS_GPUFamily2_v5`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily2_v5)

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

[`MTLFeatureSet.iOS_GPUFamily2_v4`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily2_v4)

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

[`MTLFeatureSet.iOS_GPUFamily2_v3`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily2_v3)

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

[`MTLFeatureSet.iOS_GPUFamily2_v2`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily2_v2)

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

[`MTLFeatureSet.iOS_GPUFamily2_v1`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily2_v1)

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

### iOS GPU family 1

[`MTLFeatureSet.iOS_GPUFamily1_v5`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily1_v5)

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

[`MTLFeatureSet.iOS_GPUFamily1_v4`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily1_v4)

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

[`MTLFeatureSet.iOS_GPUFamily1_v3`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily1_v3)

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

[`MTLFeatureSet.iOS_GPUFamily1_v2`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily1_v2)

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

[`MTLFeatureSet.iOS_GPUFamily1_v1`](/documentation/Metal/MTLFeatureSet/iOS_GPUFamily1_v1)

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

### tvOS GPU family 2

[`MTLFeatureSet.tvOS_GPUFamily2_v2`](/documentation/Metal/MTLFeatureSet/tvOS_GPUFamily2_v2)

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

[`MTLFeatureSet.tvOS_GPUFamily2_v1`](/documentation/Metal/MTLFeatureSet/tvOS_GPUFamily2_v1)

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

### tvOS GPU family 1

[`MTLFeatureSet.tvOS_GPUFamily1_v4`](/documentation/Metal/MTLFeatureSet/tvOS_GPUFamily1_v4)

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

[`MTLFeatureSet.tvOS_GPUFamily1_v3`](/documentation/Metal/MTLFeatureSet/tvOS_GPUFamily1_v3)

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

[`MTLFeatureSet.tvOS_GPUFamily1_v2`](/documentation/Metal/MTLFeatureSet/tvOS_GPUFamily1_v2)

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

[`MTLFeatureSet.tvOS_GPUFamily1_v1`](/documentation/Metal/MTLFeatureSet/tvOS_GPUFamily1_v1-swift.enum.case)

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

### macOS GPU family 2

[`MTLFeatureSet.macOS_GPUFamily2_v1`](/documentation/Metal/MTLFeatureSet/macOS_GPUFamily2_v1)

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

### macOS GPU family 1

[`MTLFeatureSet.macOS_GPUFamily1_v4`](/documentation/Metal/MTLFeatureSet/macOS_GPUFamily1_v4)

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

[`MTLFeatureSet.macOS_GPUFamily1_v3`](/documentation/Metal/MTLFeatureSet/macOS_GPUFamily1_v3)

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

[`MTLFeatureSet.macOS_GPUFamily1_v2`](/documentation/Metal/MTLFeatureSet/macOS_GPUFamily1_v2)

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

[`MTLFeatureSet.macOS_GPUFamily1_v1`](/documentation/Metal/MTLFeatureSet/macOS_GPUFamily1_v1)

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

### macOS tier 2

[`MTLFeatureSet.macOS_ReadWriteTextureTier2`](/documentation/Metal/MTLFeatureSet/macOS_ReadWriteTextureTier2)

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



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)
