---
title: MTLComputePassDescriptor
framework: metal
role: symbol
role_heading: Class
path: metal/mtlcomputepassdescriptor
---

# MTLComputePassDescriptor

A description of how to dispatch execution of pass commands and GPU performance sampling.

## Declaration

```swift
class MTLComputePassDescriptor
```

## Mentioned in

Sampling GPU data into counter sample buffers

## Topics

### Configuring the dispatch mechanism

- [dispatchType](metal/mtlcomputepassdescriptor/dispatchtype.md)

### Specifying sample buffers for GPU counters

- [sampleBufferAttachments](metal/mtlcomputepassdescriptor/samplebufferattachments.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.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 pass

- [MTLDispatchType](metal/mtldispatchtype.md)
- [MTLDispatchThreadgroupsIndirectArguments](metal/mtldispatchthreadgroupsindirectarguments.md)
- [MTLComputePassSampleBufferAttachmentDescriptor](metal/mtlcomputepasssamplebufferattachmentdescriptor.md)
- [MTLComputePassSampleBufferAttachmentDescriptorArray](metal/mtlcomputepasssamplebufferattachmentdescriptorarray.md)
