---
title: MTLDispatchThreadgroupsIndirectArguments
framework: metal
role: symbol
role_heading: Structure
path: metal/mtldispatchthreadgroupsindirectarguments
---

# MTLDispatchThreadgroupsIndirectArguments

The data layout required for arguments needed to specify the size of threadgroups.

## Declaration

```swift
struct MTLDispatchThreadgroupsIndirectArguments
```

## Mentioned in

Specifying drawing and dispatch arguments indirectly

## Topics

### Specifying the size of the threadgroup

- [init()](metal/mtldispatchthreadgroupsindirectarguments/init().md)
- [init(threadgroupsPerGrid:)](metal/mtldispatchthreadgroupsindirectarguments/init(threadgroupspergrid:).md)
- [threadgroupsPerGrid](metal/mtldispatchthreadgroupsindirectarguments/threadgroupspergrid.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Sendable](swift/sendable.md)

## See Also

### Related Documentation

- [dispatchThreadgroups(indirectBuffer:indirectBufferOffset:threadsPerThreadgroup:)](metal/mtlcomputecommandencoder/dispatchthreadgroups(indirectbuffer:indirectbufferoffset:threadsperthreadgroup:).md)

### Configuring a compute pass

- [MTLComputePassDescriptor](metal/mtlcomputepassdescriptor.md)
- [MTLDispatchType](metal/mtldispatchtype.md)
- [MTLComputePassSampleBufferAttachmentDescriptor](metal/mtlcomputepasssamplebufferattachmentdescriptor.md)
- [MTLComputePassSampleBufferAttachmentDescriptorArray](metal/mtlcomputepasssamplebufferattachmentdescriptorarray.md)
