---
title: MTLDrawPrimitivesIndirectArguments
framework: metal
role: symbol
role_heading: Structure
path: metal/mtldrawprimitivesindirectarguments
---

# MTLDrawPrimitivesIndirectArguments

The data layout required for drawing primitives via indirect buffer calls.

## Declaration

```swift
struct MTLDrawPrimitivesIndirectArguments
```

## Mentioned in

Specifying drawing and dispatch arguments indirectly

## Overview

Overview See also the drawPrimitives(type:indirectBuffer:indirectBufferOffset:) method.

## Topics

### Initializers

- [init()](metal/mtldrawprimitivesindirectarguments/init().md)
- [init(vertexCount:instanceCount:vertexStart:baseInstance:)](metal/mtldrawprimitivesindirectarguments/init(vertexcount:instancecount:vertexstart:baseinstance:).md)

### Instance Properties

- [baseInstance](metal/mtldrawprimitivesindirectarguments/baseinstance.md)
- [instanceCount](metal/mtldrawprimitivesindirectarguments/instancecount.md)
- [vertexCount](metal/mtldrawprimitivesindirectarguments/vertexcount.md)
- [vertexStart](metal/mtldrawprimitivesindirectarguments/vertexstart.md)

## Relationships

### Conforms To

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

## See Also

### Render compute commands

- [MTLIndirectRenderCommand](metal/mtlindirectrendercommand.md)
- [MTLDrawPatchIndirectArguments](metal/mtldrawpatchindirectarguments.md)
- [MTLDrawIndexedPrimitivesIndirectArguments](metal/mtldrawindexedprimitivesindirectarguments.md)
