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

# MTLGPUFamily

Represents the functionality for families of GPUs.

```
enum MTLGPUFamily
```

## Overview

Check whether a GPU supports the features of a specific family by calling the [`supportsFamily(_:)`](/documentation/Metal/MTLDevice/supportsFamily(_:)) method of a GPU’s [`MTLDevice`](/documentation/Metal/MTLDevice) instance.

## Topics

### Checking for Metal family GPU support

[`MTLGPUFamily.metal4`](/documentation/Metal/MTLGPUFamily/metal4)

[`MTLGPUFamily.metal3`](/documentation/Metal/MTLGPUFamily/metal3)

Represents the Metal 3 features.

### Checking for Apple family GPU support

[`MTLGPUFamily.apple9`](/documentation/Metal/MTLGPUFamily/apple9)

Represents the Apple family 9 GPU features that correspond to the Apple A17, M3, and M4 GPUs.

[`MTLGPUFamily.apple8`](/documentation/Metal/MTLGPUFamily/apple8)

Represents the Apple family 8 GPU features that correspond to the Apple A15, A16, and M2 GPUs.

[`MTLGPUFamily.apple7`](/documentation/Metal/MTLGPUFamily/apple7)

Represents the Apple family 7 GPU features that correspond to the Apple A14 and M1 GPUs.

[`MTLGPUFamily.apple6`](/documentation/Metal/MTLGPUFamily/apple6)

Represents the Apple family 6 GPU features that correspond to the Apple A13 GPUs.

[`MTLGPUFamily.apple5`](/documentation/Metal/MTLGPUFamily/apple5)

Represents the Apple family 5 GPU features that correspond to the Apple A12 GPUs.

[`MTLGPUFamily.apple4`](/documentation/Metal/MTLGPUFamily/apple4)

Represents the Apple family 4 GPU features that correspond to the Apple A11 GPUs.

[`MTLGPUFamily.apple3`](/documentation/Metal/MTLGPUFamily/apple3)

Represents the Apple family 3 GPU features that correspond to the Apple A9 and A10 GPUs.

[`MTLGPUFamily.apple2`](/documentation/Metal/MTLGPUFamily/apple2)

Represents the Apple family 2 GPU features that correspond to the Apple A8 GPUs.

[`MTLGPUFamily.apple1`](/documentation/Metal/MTLGPUFamily/apple1)

Represents the Apple family 1 GPU features that correspond to the Apple A7 GPUs.

### Checking for common GPU support

[`MTLGPUFamily.common3`](/documentation/Metal/MTLGPUFamily/common3)

Represents the Common family 3 GPU features.

[`MTLGPUFamily.common2`](/documentation/Metal/MTLGPUFamily/common2)

Represents the Common family 2 GPU features.

[`MTLGPUFamily.common1`](/documentation/Metal/MTLGPUFamily/common1)

Represents the Common family 1 GPU features.

### Checking for macOS family GPU support

[`MTLGPUFamily.mac2`](/documentation/Metal/MTLGPUFamily/mac2)

Represents the Mac family 2 GPU features.

[`MTLGPUFamily.mac1`](/documentation/Metal/MTLGPUFamily/mac1)

Represents the Mac family 1 GPU features.

### Checking for Mac Catalyst family GPU support

[`MTLGPUFamily.macCatalyst2`](/documentation/Metal/MTLGPUFamily/macCatalyst2)

Represents a family 2 Mac GPU when running an app you built with Mac Catalyst.

[`MTLGPUFamily.macCatalyst1`](/documentation/Metal/MTLGPUFamily/macCatalyst1)

Represents a family 1 Mac GPU when running an app you built with Mac Catalyst.

### Swift support

[`init(rawValue:)`](/documentation/Metal/MTLGPUFamily/init(rawValue:))

Creates a GPU family instance from a raw value.



---

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)