HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state

Name

VK_EXT_vertex_input_dynamic_state - device extension

VK_EXT_vertex_input_dynamic_state

Name String

VK_EXT_vertex_input_dynamic_state

Extension Type

Device extension

Registered Extension Number

353

Revision

2

Ratification Status

Ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

or

Vulkan Version 1.1

Contact

Other Extension Metadata

Last Modified Date

2020-08-21

IP Status

No known IP claims.

Contributors
  • Jeff Bolz, NVIDIA

  • Spencer Fricke, Samsung

  • Stu Smith, AMD

Description

One of the states that contributes to the combinatorial explosion of pipeline state objects that need to be created, is the vertex input binding and attribute descriptions. By allowing them to be dynamic applications may reduce the number of pipeline objects they need to create.

This extension adds dynamic state support for what is normally static state in PipelineVertexInputStateCreateInfo.

New Commands

New Structures

New Enum Constants

Version History

  • Revision 1, 2020-08-21 (Piers Daniell)

    • Internal revisions

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

  • 5 types
  • 1 value
  • Packagevulkan-3.27
  • Exports8
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_EXT_vertex_input_dynamic_state.hs
valuecmdSetVertexInputEXT
  1. :: MonadIO io
  2. => CommandBuffer

    commandBuffer is the command buffer into which the command will be recorded.

  3. -> "vertexBindingDescriptions" ::: Vector VertexInputBindingDescription2EXT

    pVertexBindingDescriptions is a pointer to an array of VertexInputBindingDescription2EXT structures.

  4. -> "vertexAttributeDescriptions" ::: Vector VertexInputAttributeDescription2EXT

    pVertexAttributeDescriptions is a pointer to an array of VertexInputAttributeDescription2EXT structures.

  5. -> io ()
#

vkCmdSetVertexInputEXT - Set the vertex input state dynamically for a command buffer

Description

This command sets the vertex input attribute and vertex input binding descriptions state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_VERTEX_INPUT_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the GraphicsPipelineCreateInfo::pVertexInputState values used to create the currently active pipeline.

If drawing using shader objects, or if the bound pipeline state object was also created with the DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE dynamic state enabled, then cmdBindVertexBuffers2 can be used instead of cmdSetVertexInputEXT to dynamically set the stride.

The vertex attribute description for any location in the range [0,PhysicalDeviceLimits::maxVertexInputAttributes) not specified in the pVertexAttributeDescriptions array becomes undefined.

Valid Usage

  • vertexBindingDescriptionCount must be less than or equal to PhysicalDeviceLimits::maxVertexInputBindings

  • vertexAttributeDescriptionCount must be less than or equal to PhysicalDeviceLimits::maxVertexInputAttributes

  • For every binding specified by each element of pVertexAttributeDescriptions, a VertexInputBindingDescription2EXT must exist in pVertexBindingDescriptions with the same value of binding

  • All elements of pVertexBindingDescriptions must describe distinct binding numbers

  • All elements of pVertexAttributeDescriptions must describe distinct attribute locations

Valid Usage (Implicit)

  • If vertexBindingDescriptionCount is not 0, pVertexBindingDescriptions must be a valid pointer to an array of vertexBindingDescriptionCount valid VertexInputBindingDescription2EXT structures

  • If vertexAttributeDescriptionCount is not 0, pVertexAttributeDescriptions must be a valid pointer to an array of vertexAttributeDescriptionCount valid VertexInputAttributeDescription2EXT structures

  • commandBuffer must be in the recording state

  • The CommandPool that commandBuffer was allocated from must support QUEUE_GRAPHICS_BIT operations

  • This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized

  • Host access to the CommandPool that commandBuffer was allocated from must be externally synchronized

Command Properties

'

Conditional Rendering

vkCmdSetVertexInputEXT is not affected by conditional rendering

See Also

VK_EXT_shader_object, VK_EXT_vertex_input_dynamic_state, CommandBuffer, VertexInputAttributeDescription2EXT, VertexInputBindingDescription2EXT

VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT - Structure describing whether the dynamic vertex input state can be used

Members

This structure describes the following feature:

Description

If the PhysicalDeviceVertexInputDynamicStateFeaturesEXT structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceVertexInputDynamicStateFeaturesEXT, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Structure Chaining

Extends the structures

See Also

VK_EXT_vertex_input_dynamic_state, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkVertexInputBindingDescription2EXT - Structure specifying the extended vertex input binding description

Valid Usage

Valid Usage (Implicit)

See Also

VK_EXT_shader_object, VK_EXT_vertex_input_dynamic_state, StructureType, VertexInputRate, cmdSetVertexInputEXT

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkVertexInputAttributeDescription2EXT - Structure specifying the extended vertex input attribute description

Valid Usage

Valid Usage (Implicit)

  • format must be a valid Format value

See Also

VK_EXT_shader_object, VK_EXT_vertex_input_dynamic_state, Format, StructureType, cmdSetVertexInputEXT

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero