---
title: MTL4Archive
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtl4archive
---

# MTL4Archive

A read-only container that stores pipeline states from a shader compiler.

## Declaration

```swift
protocol MTL4Archive : NSObjectProtocol, Sendable
```

## Overview

Overview The pipeline states can have intermediate representation (IR) binaries, GPU- and system-specific binaries, or a combination.

## Topics

### Identifying the archive

- [label](metal/mtl4archive/label.md)

### Instance Methods

- [makeBinaryFunction(descriptor:)](metal/mtl4archive/makebinaryfunction(descriptor:).md)
- [makeComputePipelineState(descriptor:dynamicLinkingDescriptor:)](metal/mtl4archive/makecomputepipelinestate(descriptor:dynamiclinkingdescriptor:).md)
- [makeRenderPipelineState(descriptor:dynamicLinkingDescriptor:)](metal/mtl4archive/makerenderpipelinestate(descriptor:dynamiclinkingdescriptor:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Shader compilation

- [Metal libraries](metal/metal-libraries.md)
- [Metal dynamic libraries](metal/metal-dynamic-libraries.md)
- [Metal binary archives](metal/metal-binary-archives.md)
- [MTL4Compiler](metal/mtl4compiler.md)
- [MTL4CompilerDescriptor](metal/mtl4compilerdescriptor.md)
- [MTL4CompilerTaskOptions](metal/mtl4compilertaskoptions.md)
- [MTL4CompilerTaskStatus](metal/mtl4compilertaskstatus.md)
- [MTL4BinaryFunction](metal/mtl4binaryfunction.md)
- [MTL4BinaryFunctionDescriptor](metal/mtl4binaryfunctiondescriptor.md)
- [MTL4BinaryFunctionOptions](metal/mtl4binaryfunctionoptions.md)
- [MTL4PipelineStageDynamicLinkingDescriptor](metal/mtl4pipelinestagedynamiclinkingdescriptor.md)
