---
title: MTL4CommandAllocator
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtl4commandallocator
---

# MTL4CommandAllocator

Manages the memory backing the encoding of GPU commands into command buffers.

## Declaration

```swift
protocol MTL4CommandAllocator : NSObjectProtocol
```

## Mentioned in

Understanding the Metal 4 core API

## Topics

### Instance Properties

- [device](metal/mtl4commandallocator/device.md)
- [label](metal/mtl4commandallocator/label.md)

### Instance Methods

- [allocatedSize()](metal/mtl4commandallocator/allocatedsize().md)
- [reset()](metal/mtl4commandallocator/reset().md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Submitting work to a GPU with Metal 4

- [MTL4CommandQueue](metal/mtl4commandqueue.md)
- [MTL4CommandQueueDescriptor](metal/mtl4commandqueuedescriptor.md)
- [MTL4CommandQueueError](metal/mtl4commandqueueerror-swift.struct.md)
- [MTL4CommandQueueError.Code](metal/mtl4commandqueueerror-swift.struct/code.md)
- [MTL4CommandQueueErrorDomain](metal/mtl4commandqueueerrordomain.md)
- [MTL4CommandBuffer](metal/mtl4commandbuffer.md)
- [MTL4CommandBufferOptions](metal/mtl4commandbufferoptions.md)
- [MTL4CommandEncoder](metal/mtl4commandencoder.md)
- [MTL4RenderEncoderOptions](metal/mtl4renderencoderoptions.md)
- [MTL4ArgumentTable](metal/mtl4argumenttable.md)
- [MTL4ArgumentTableDescriptor](metal/mtl4argumenttabledescriptor.md)
- [MTL4CommandAllocatorDescriptor](metal/mtl4commandallocatordescriptor.md)
- [MTL4CommitOptions](metal/mtl4commitoptions.md)
- [MTL4CommitFeedback](metal/mtl4commitfeedback.md)
- [MTL4CommitFeedbackHandler](metal/mtl4commitfeedbackhandler.md)
