---
title: MTL4CommandQueue
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtl4commandqueue
---

# MTL4CommandQueue

An abstraction representing a command queue that you use commit and synchronize command buffers and to perform other GPU operations.

## Declaration

```swift
protocol MTL4CommandQueue : NSObjectProtocol, Sendable
```

## Mentioned in

Understanding the Metal 4 core API

## Topics

### Instance Properties

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

### Instance Methods

- [addResidencySet(_:)](metal/mtl4commandqueue/addresidencyset(_:).md)
- [addResidencySets(_:)](metal/mtl4commandqueue/addresidencysets(_:).md)
- [commit(_:options:)](metal/mtl4commandqueue/commit(_:options:).md)
- [copyMappings(sourceBuffer:destinationBuffer:operations:)](metal/mtl4commandqueue/copymappings(sourcebuffer:destinationbuffer:operations:).md)
- [copyMappings(sourceTexture:destinationTexture:operations:)](metal/mtl4commandqueue/copymappings(sourcetexture:destinationtexture:operations:).md)
- [removeResidencySet(_:)](metal/mtl4commandqueue/removeresidencyset(_:).md)
- [removeResidencySets(_:)](metal/mtl4commandqueue/removeresidencysets(_:).md)
- [signalDrawable(_:)](metal/mtl4commandqueue/signaldrawable(_:).md)
- [signalEvent(_:value:)](metal/mtl4commandqueue/signalevent(_:value:).md)
- [updateMappings(buffer:heap:operations:)](metal/mtl4commandqueue/updatemappings(buffer:heap:operations:).md)
- [updateMappings(texture:heap:operations:)](metal/mtl4commandqueue/updatemappings(texture:heap:operations:).md)
- [waitForDrawable(_:)](metal/mtl4commandqueue/waitfordrawable(_:).md)
- [waitForEvent(_:value:)](metal/mtl4commandqueue/waitforevent(_:value:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Submitting work to a GPU with Metal 4

- [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)
- [MTL4CommandAllocator](metal/mtl4commandallocator.md)
- [MTL4CommandAllocatorDescriptor](metal/mtl4commandallocatordescriptor.md)
- [MTL4CommitOptions](metal/mtl4commitoptions.md)
- [MTL4CommitFeedback](metal/mtl4commitfeedback.md)
- [MTL4CommitFeedbackHandler](metal/mtl4commitfeedbackhandler.md)
