VkPushConstantBankInfoNV(3)

# VkPushConstantBankInfoNV(3) Manual Page

## Name

VkPushConstantBankInfoNV - Structure specifying push constant bank information

## C Specification

The `VkPushConstantBankInfoNV` structure is defined as:

    // Provided by VK_NV_push_constant_bank
    typedef struct VkPushConstantBankInfoNV {
        VkStructureType    sType;
        const void*        pNext;
        uint32_t           bank;
    } VkPushConstantBankInfoNV;

## Members

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

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

- `bank` is the index of the hardware bank into which the data is pushed.

## Description

This structure can be chained to VkPushDataInfoEXT, VkPushConstantsInfo, VkDescriptorSetAndBindingMappingEXT, and VkIndirectCommandsLayoutTokenEXT via the `pNext` chain to specify push constant bank placement:

- When chained to VkPushDataInfoEXT, it specifies the hardware bank into which vkCmdPushDataEXT pushes the data.

- When chained to VkPushConstantsInfo, it specifies the hardware bank into which vkCmdPushConstants2 pushes the constants.

- When chained to VkDescriptorSetAndBindingMappingEXT, it specifies the hardware push data bank from which the push data is read.

- When chained to VkIndirectCommandsLayoutTokenEXT with VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT, it specifies the hardware bank into which indirect push data is placed.

This allows for more flexible push constant management in descriptor heap scenarios where shaders access different root descriptors with specific bank requirements.

Valid Usage

- VUID-VkPushConstantBankInfoNV-bank-12342
  When chained to VkPushDataInfoEXT, if the command buffer is executing graphics operations, `bank` must be less than VkPhysicalDevicePushConstantBankPropertiesNV::`maxGraphicsPushDataBanks`

- VUID-VkPushConstantBankInfoNV-bank-12343
  When chained to VkPushDataInfoEXT, if the command buffer is executing compute operations, `bank` must be less than VkPhysicalDevicePushConstantBankPropertiesNV::`maxComputePushDataBanks`

- VUID-VkPushConstantBankInfoNV-bank-12344
  When chained to VkPushConstantsInfo, if VkPushConstantsInfo::stageFlags includes a graphics stage then `bank` must be less than VkPhysicalDevicePushConstantBankPropertiesNV::`maxGraphicsPushConstantBanks`

- VUID-VkPushConstantBankInfoNV-bank-12345
  When chained to VkPushConstantsInfo, if VkPushConstantsInfo::stageFlags includes a compute stage then `bank` must be less than VkPhysicalDevicePushConstantBankPropertiesNV::`maxComputePushConstantBanks`

- VUID-VkPushConstantBankInfoNV-bank-12346
  When chained to VkDescriptorSetAndBindingMappingEXT for a graphics shader stage, `bank` must be less than VkPhysicalDevicePushConstantBankPropertiesNV::`maxGraphicsPushDataBanks`

- VUID-VkPushConstantBankInfoNV-bank-12347
  When chained to VkDescriptorSetAndBindingMappingEXT for a compute shader stage, `bank` must be less than VkPhysicalDevicePushConstantBankPropertiesNV::`maxComputePushDataBanks`

Valid Usage (Implicit)

- VUID-VkPushConstantBankInfoNV-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV

Structure Chaining

Extends the structures

  - VkDescriptorSetAndBindingMappingEXT

  - VkIndirectCommandsLayoutTokenEXT

  - VkPushConstantsInfo

  - VkPushDataInfoEXT

## See Also

VK_NV_push_constant_bank, VkStructureType

## 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