vkGetPhysicalDeviceDescriptorSizeEXT(3)

Name

vkGetPhysicalDeviceDescriptorSizeEXT - Report specific descriptor sizes for each descriptor type

C Specification

To query the size of heap descriptor for a specific VkDescriptorType, call:

// Provided by VK_EXT_descriptor_heap
VkDeviceSize vkGetPhysicalDeviceDescriptorSizeEXT(
    VkPhysicalDevice                            physicalDevice,
    VkDescriptorType                            descriptorType);

Parameters

  • physicalDevice is the physical device from which to query the descriptor sizes.

  • descriptorType is a VkDescriptorType specifying the type of heap descriptor to query the size for.

Description

The return value of this function will be a VkDeviceSize indicating the size in bytes (N) of a heap descriptor with a type equal to descriptorType. When a descriptor of this type is written by vkWriteResourceDescriptorsEXT or vkWriteSamplerDescriptorsEXT, only the first N bytes are written; the rest will not be accessed and can be safely discarded when copying descriptors around. Additionally, those first N bytes are the only bytes that will be accessed when the descriptor is accessed in the shader. N will never be larger than the applicable limits in VkPhysicalDeviceDescriptorHeapTensorPropertiesARM or VkPhysicalDeviceDescriptorHeapPropertiesEXT.

Values returned by this function have other requirements, so for example may not be power-of-two values.

This command is not intended for general use, and is for tools that already take advantage of tighter packing with other similar features (e.g. VK_EXT_descriptor_buffer) to optimize accesses in some cases. Applications can safely ignore this function and are advised to do so, to avoid depending on non-portable packing.

Valid Usage (Implicit)
  • VUID-vkGetPhysicalDeviceDescriptorSizeEXT-physicalDevice-parameter
    physicalDevice must be a valid VkPhysicalDevice handle

  • VUID-vkGetPhysicalDeviceDescriptorSizeEXT-descriptorType-parameter
    descriptorType must be a valid VkDescriptorType value

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.