---
title: MTL4ComputePipelineDescriptor
framework: metal
role: symbol
role_heading: Class
path: metal/mtl4computepipelinedescriptor
---

# MTL4ComputePipelineDescriptor

Describes a compute pipeline state.

## Declaration

```swift
class MTL4ComputePipelineDescriptor
```

## Topics

### Instance Properties

- [computeFunctionDescriptor](metal/mtl4computepipelinedescriptor/computefunctiondescriptor.md)
- [maxTotalThreadsPerThreadgroup](metal/mtl4computepipelinedescriptor/maxtotalthreadsperthreadgroup.md)
- [requiredThreadsPerThreadgroup](metal/mtl4computepipelinedescriptor/requiredthreadsperthreadgroup.md)
- [staticLinkingDescriptor](metal/mtl4computepipelinedescriptor/staticlinkingdescriptor.md)
- [supportBinaryLinking](metal/mtl4computepipelinedescriptor/supportbinarylinking.md)
- [supportIndirectCommandBuffers](metal/mtl4computepipelinedescriptor/supportindirectcommandbuffers.md)
- [threadGroupSizeIsMultipleOfThreadExecutionWidth](metal/mtl4computepipelinedescriptor/threadgroupsizeismultipleofthreadexecutionwidth.md)

### Instance Methods

- [reset()](metal/mtl4computepipelinedescriptor/reset().md)

## Relationships

### Inherits From

- [MTL4PipelineDescriptor](metal/mtl4pipelinedescriptor.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Configuring a compute pipeline state

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