Function Prototype

vkCmdBindIndexBuffer3KHR

Bind an address range as an index buffer to a command buffer

To bind an address range as an index buffer to a command buffer, call:

void vkCmdBindIndexBuffer3KHR(
    VkCommandBuffer   commandBuffer,
    const VkBindIndexBuffer3InfoKHR*    pInfo);
  • commandBuffer is the command buffer into which the command is recorded.
  • pInfo is a pointer to a VkBindIndexBuffer3InfoKHR structure defining parameters of this command.

The bound index buffer range is set to the range of memory indicated by pInfo→addressRange.

If the nullDescriptor feature is enabled, pInfo→addressRange.size and pInfo→addressRange.address can be 0. When the size and address are 0, every index read from this binding will return a value of zero.

Valid Usage (Implicit)

VUID-vkCmdBindIndexBuffer3KHR-pInfo-parameter

pInfo must be a valid pointer to a valid VkBindIndexBuffer3InfoKHR structure

VUID-vkCmdBindIndexBuffer3KHR-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_GRAPHICS_BIT operations

VUID-vkCmdBindIndexBuffer3KHR-videocoding

This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized