C Specification

If the pNext chain of VkCommandBufferInheritanceInfo includes a VkCommandBufferInheritanceDescriptorHeapInfoEXT structure, then that structure indicates that the secondary will use the same descriptor heaps as the primary command buffer.

The VkCommandBufferInheritanceDescriptorHeapInfoEXT structure is defined as:

// Provided by VK_EXT_descriptor_heap
typedef struct VkCommandBufferInheritanceDescriptorHeapInfoEXT {
    VkStructureType             sType;
    const void*                 pNext;
    const VkBindHeapInfoEXT*    pSamplerHeapBindInfo;
    const VkBindHeapInfoEXT*    pResourceHeapBindInfo;
} VkCommandBufferInheritanceDescriptorHeapInfoEXT;

Members

  • sType is a VkStructureType value identifying this structure.

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

  • pSamplerHeapBindInfo specifies the VkBindHeapInfoEXT of the sampler heap bound using vkCmdBindSamplerHeapEXT in the primary. If this is NULL, it indicates that no sampler heap is bound.

  • pResourceHeapBindInfo specifies the VkBindHeapInfoEXT of the resource heap bound using vkCmdBindResourceHeapEXT in the primary. If this is NULL, it indicates that no resource heap is bound.

Description

If this structure is not present, the behavior is as if pSamplerHeapBindInfo and pResourceHeapBindInfo were both NULL.

Valid Usage
  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-descriptorHeap-11200
    If the descriptorHeap feature is not enabled, pSamplerHeapBindInfo must be NULL

  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-descriptorHeap-11201
    If the descriptorHeap feature is not enabled, pResourceHeapBindInfo must be NULL

  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-pSamplerHeapBindInfo-11470
    If pSamplerHeapBindInfo is not NULL, pSamplerHeapBindInfo->heapRange must be a device address range allocated to the application from a buffer created with the VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT usage flag set

  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-pResourceHeapBindInfo-11471
    If pResourceHeapBindInfo is not NULL, pResourceHeapBindInfo->heapRange must be a device address range allocated to the application from a buffer created with the VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT usage flag set

Valid Usage (Implicit)
  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT

  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-pSamplerHeapBindInfo-parameter
    If pSamplerHeapBindInfo is not NULL, pSamplerHeapBindInfo must be a valid pointer to a valid VkBindHeapInfoEXT structure

  • VUID-VkCommandBufferInheritanceDescriptorHeapInfoEXT-pResourceHeapBindInfo-parameter
    If pResourceHeapBindInfo is not NULL, pResourceHeapBindInfo must be a valid pointer to a valid VkBindHeapInfoEXT structure

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