VkBindTransformFeedbackBuffer2InfoEXT(3)

# VkBindTransformFeedbackBuffer2InfoEXT(3) Manual Page

## Name

VkBindTransformFeedbackBuffer2InfoEXT - Bind transform feedback buffer info

## C Specification

`VkBindTransformFeedbackBuffer2InfoEXT` is defined as:

    // Provided by VK_KHR_device_address_commands with VK_EXT_transform_feedback
    typedef struct VkBindTransformFeedbackBuffer2InfoEXT {
        VkStructureType             sType;
        const void*                 pNext;
        VkDeviceAddressRangeKHR     addressRange;
        VkAddressCommandFlagsKHR    addressFlags;
    } VkBindTransformFeedbackBuffer2InfoEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `addressRange` is the VkDeviceAddressRangeKHR of the address range to use.

- `addressFlags` is a VkAddressCommandFlagsKHR value defining the flags for the address range.

## Description

Valid Usage

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13097
  If the range specified by `addressRange` is not bound completely to memory when accessed, `addressFlags` must not include VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13098
  If the buffer from which the range specified by `addressRange` was created with VK_BUFFER_CREATE_PROTECTED_BIT, and `protectedNoFault` is not supported, `addressFlags` must include VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13099
  If the buffer from which the range specified by `addressRange` was created without VK_BUFFER_CREATE_PROTECTED_BIT, and `protectedNoFault` is not supported, `addressFlags` must not include VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressFlags-13100
  `addressFlags` must not include both VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR and VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13122
  If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing `addressRange`, was created with VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, `addressFlags` must include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR or VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13123
  If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing `addressRange`, was created without VK_BUFFER_USAGE_STORAGE_BUFFER_BIT, `addressFlags` must not include VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressFlags-13101
  `addressFlags` must not include both VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR and VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13124
  If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing `addressRange`, was created with VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, `addressFlags` must include VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR or VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressRange-13125
  If any buffer, which is bound to a range of VkDeviceMemory that overlaps the range backing `addressRange`, was created without VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT, `addressFlags` must not include VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR

Valid Usage (Implicit)

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkBindTransformFeedbackBuffer2InfoEXT-addressFlags-parameter
  `addressFlags` must be a valid combination of VkAddressCommandFlagBitsKHR values

## See Also

VK_EXT_transform_feedback, VK_KHR_device_address_commands, VkAddressCommandFlagsKHR, VkDeviceAddressRangeKHR, VkStructureType, vkCmdBeginTransformFeedback2EXT, vkCmdBindTransformFeedbackBuffers2EXT, vkCmdDrawIndirectByteCount2EXT, vkCmdEndTransformFeedback2EXT

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0