---
title: "makeComputeCommandEncoder(descriptor:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtlcommandbuffer/makecomputecommandencoder(descriptor:)"
---

# makeComputeCommandEncoder(descriptor:)

Creates a compute command encoder from a descriptor.

## Declaration

```swift
func makeComputeCommandEncoder(descriptor computePassDescriptor: MTLComputePassDescriptor) -> (any MTLComputeCommandEncoder)?
```

## Parameters

- `computePassDescriptor`: An doc://com.apple.metal/documentation/Metal/MTLComputePassDescriptor instance that configures the doc://com.apple.metal/documentation/Metal/MTLComputeCommandEncoder the method returns.

## Discussion

Discussion Use an MTLComputeCommandEncoder instance’s methods to set up a single compute pass.

## See Also

### Creating compute encoders

- [makeComputeCommandEncoder()](metal/mtlcommandbuffer/makecomputecommandencoder().md)
- [makeComputeCommandEncoder(dispatchType:)](metal/mtlcommandbuffer/makecomputecommandencoder(dispatchtype:).md)
- [MTLDispatchType](metal/mtldispatchtype.md)
