C Specification

The VkSetDescriptorBufferOffsetsInfoEXT structure is defined as:

// Provided by VK_KHR_maintenance6 with VK_EXT_descriptor_buffer
typedef struct VkSetDescriptorBufferOffsetsInfoEXT {
    VkStructureType        sType;
    const void*            pNext;
    VkShaderStageFlags     stageFlags;
    VkPipelineLayout       layout;
    uint32_t               firstSet;
    uint32_t               setCount;
    const uint32_t*        pBufferIndices;
    const VkDeviceSize*    pOffsets;
} VkSetDescriptorBufferOffsetsInfoEXT;

Members

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • stageFlags is a bitmask of VkShaderStageFlagBits specifying the shader stages the descriptor sets will be bound to

  • layout is a VkPipelineLayout object used to program the bindings. If the dynamicPipelineLayout feature is enabled, layout can be VK_NULL_HANDLE and the layout must be specified by chaining VkPipelineLayoutCreateInfo structure off the pNext

  • firstSet is the number of the first set to be bound.

  • setCount is the number of elements in the pBufferIndices and pOffsets arrays.

  • pBufferIndices is a pointer to an array of indices into the descriptor buffer binding points set by vkCmdBindDescriptorBuffersEXT.

  • pOffsets is a pointer to an array of VkDeviceSize offsets to apply to the bound descriptor buffers.

Description

If stageFlags specifies a subset of all stages corresponding to one or more pipeline bind points, the binding operation still affects all stages corresponding to the given pipeline bind point(s) as if the equivalent original version of this command had been called with the same parameters. For example, specifying a stageFlags value of VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT is equivalent to calling the original version of this command once with VK_PIPELINE_BIND_POINT_GRAPHICS and once with VK_PIPELINE_BIND_POINT_COMPUTE.

Valid Usage
Valid Usage (Implicit)
  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-pNext-pNext
    pNext must be NULL or a pointer to a valid instance of VkPipelineLayoutCreateInfo

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-unique
    The sType value of each structure in the pNext chain must be unique

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-parameter
    stageFlags must be a valid combination of VkShaderStageFlagBits values

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-requiredbitmask
    stageFlags must not be 0

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-parameter
    If layout is not VK_NULL_HANDLE, layout must be a valid VkPipelineLayout handle

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-parameter
    pBufferIndices must be a valid pointer to an array of setCount uint32_t values

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-parameter
    pOffsets must be a valid pointer to an array of setCount VkDeviceSize values

  • VUID-VkSetDescriptorBufferOffsetsInfoEXT-setCount-arraylength
    setCount must be greater than 0

See Also

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 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0