<!--
{
  "availability" : [
    "iOS: 12.0.0 -",
    "iPadOS: 12.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.14.0 -",
    "tvOS: 12.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLIndirectCommandBufferDescriptor/maxVertexBufferBindCount",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(cs)MTLIndirectCommandBufferDescriptor(py)maxVertexBufferBindCount"
  },
  "title" : "maxVertexBufferBindCount"
}
-->

# maxVertexBufferBindCount

The maximum number of buffers that you can set per command for the vertex stage.

```
var maxVertexBufferBindCount: Int { get set }
```

## Discussion

Metal ignores this property if [`inheritBuffers`](/documentation/Metal/MTLIndirectCommandBufferDescriptor/inheritBuffers) is <doc://com.apple.documentation/documentation/Swift/true> or if you configured [`commandTypes`](/documentation/Metal/MTLIndirectCommandBufferDescriptor/commandTypes) for compute commands. Metal needs to reserve enough memory in each command to store this many arguments. Use the smallest value that works for all commands you plan to encode into the indirect command buffer.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)