C Specification

The VkPhysicalDevicePushConstantBankPropertiesNV structure is defined as:

// Provided by VK_NV_push_constant_bank
typedef struct VkPhysicalDevicePushConstantBankPropertiesNV {
    VkStructureType    sType;
    void*              pNext;
    uint32_t           maxGraphicsPushConstantBanks;
    uint32_t           maxComputePushConstantBanks;
    uint32_t           maxGraphicsPushDataBanks;
    uint32_t           maxComputePushDataBanks;
} VkPhysicalDevicePushConstantBankPropertiesNV;

Members

This structure describes the following implementation-dependent limits:

Description

  • sType is a VkStructureType value identifying this structure.

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

  • maxGraphicsPushConstantBanks indicates the maximum number of push constant banks supported for graphics pipelines when used with non-descriptor heap scenarios.

  • maxComputePushConstantBanks indicates the maximum number of push constant banks supported for compute pipelines when used with non-descriptor heap scenarios.

  • maxGraphicsPushDataBanks indicates the maximum number of push data banks supported for graphics pipelines when using descriptor heaps.

  • maxComputePushDataBanks indicates the maximum number of push data banks supported for compute pipelines when using descriptor heaps.

If the VkPhysicalDevicePushConstantBankPropertiesNV structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to vkGetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Note

The number of banks available for descriptor heap usage (maxGraphicsPushDataBanks and maxComputePushDataBanks) is equal or greater than the number of banks available for non-descriptor heap usage (maxGraphicsPushConstantBanks and maxComputePushConstantBanks).

For graphics shaders, both descriptor heap and non-descriptor heap limits are greater than 1. For compute shaders, the number of banks is equal to or greater than 1.

Valid Usage (Implicit)

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