---
title: MTLCommandBufferStatus
framework: metal
role: symbol
role_heading: Enumeration
path: metal/mtlcommandbufferstatus
---

# MTLCommandBufferStatus

The discrete states for a command buffer that represent its life cycle stages.

## Declaration

```swift
enum MTLCommandBufferStatus
```

## Topics

### Command buffer states

- [MTLCommandBufferStatus.notEnqueued](metal/mtlcommandbufferstatus/notenqueued.md)
- [MTLCommandBufferStatus.enqueued](metal/mtlcommandbufferstatus/enqueued.md)
- [MTLCommandBufferStatus.committed](metal/mtlcommandbufferstatus/committed.md)
- [MTLCommandBufferStatus.scheduled](metal/mtlcommandbufferstatus/scheduled.md)
- [MTLCommandBufferStatus.completed](metal/mtlcommandbufferstatus/completed.md)
- [MTLCommandBufferStatus.error](metal/mtlcommandbufferstatus/error.md)

### Initializers

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

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Troubleshooting a command buffer

- [status](metal/mtlcommandbuffer/status.md)
- [Command buffer debugging](metal/command-buffer-debugging.md)
