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

# makeComputeCommandEncoder()

Creates a compute command encoder that uses default settings.

## Declaration

```swift
func makeComputeCommandEncoder() -> (any MTLComputeCommandEncoder)?
```

## Discussion

Discussion Use an MTLComputeCommandEncoder instance’s methods to set up a single compute pass. The encoder this method returns dispatches its compute commands serially (see MTLDispatchType.serial). To create a compute command encoder that dispatches commands concurrently (see MTLDispatchType.concurrent), use the makeComputeCommandEncoder(dispatchType:) or makeComputeCommandEncoder(descriptor:) method.

## See Also

### Creating compute encoders

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