---
title: MTLPipelineOption
framework: metal
role: symbol
role_heading: Structure
path: metal/mtlpipelineoption
---

# MTLPipelineOption

Options that determine how Metal prepares the pipeline.

## Declaration

```swift
struct MTLPipelineOption
```

## Mentioned in

Creating binary archives from device-built pipeline state objects

## Topics

### Retrieving argument information

- [bufferTypeInfo](metal/mtlpipelineoption/buffertypeinfo.md)
- [failOnBinaryArchiveMiss](metal/mtlpipelineoption/failonbinaryarchivemiss.md)
- [argumentInfo](metal/mtlpipelineoption/argumentinfo.md)

### Creating compilation options

- [init(rawValue:)](metal/mtlpipelineoption/init(rawvalue:).md)

### Type properties

- [bindingInfo](metal/mtlpipelineoption/bindinginfo.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Configuring a compute pipeline state

- [MTL4ComputePipelineDescriptor](metal/mtl4computepipelinedescriptor.md)
- [MTLComputePipelineDescriptor](metal/mtlcomputepipelinedescriptor.md)
- [MTLComputePipelineState](metal/mtlcomputepipelinestate.md)
- [MTLStageInputOutputDescriptor](metal/mtlstageinputoutputdescriptor.md)
- [MTLPipelineBufferDescriptor](metal/mtlpipelinebufferdescriptor.md)
- [MTLPipelineBufferDescriptorArray](metal/mtlpipelinebufferdescriptorarray.md)
