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_extended_dynamic_state2

Name

VK_EXT_extended_dynamic_state2 - device extension

VK_EXT_extended_dynamic_state2

Name String

VK_EXT_extended_dynamic_state2

Extension Type

Device extension

Registered Extension Number

378

Revision

1

Ratification Status

Ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

or

Vulkan Version 1.1

Deprecation State
Contact

Other Extension Metadata

Last Modified Date

2021-04-12

IP Status

No known IP claims.

Contributors
  • Vikram Kushwaha, NVIDIA

  • Piers Daniell, NVIDIA

  • Jeff Bolz, NVIDIA

Description

This extension adds some more dynamic state to support applications that need to reduce the number of pipeline state objects they compile and bind.

New Commands

New Structures

New Enum Constants

Promotion to Vulkan 1.3

The dynamic state enumerants DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT, DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, and DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; and the corresponding commands in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. The enumerants and commands for dynamic logic operation and patch control points are not promoted, nor is the feature structure. Extension interfaces that were promoted remain available as aliases of the core functionality.

Version History

  • Revision 1, 2021-04-12 (Vikram Kushwaha)

    • 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.

  • 3 types
  • 5 values
  • Packagevulkan-3.27
  • Exports13
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_EXT_extended_dynamic_state2.hs
valuecmdSetPatchControlPointsEXT
  1. :: MonadIO io
  2. => CommandBuffer

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

  3. -> "patchControlPoints" ::: Word32

    patchControlPoints specifies the number of control points per patch.

  4. -> io ()
#

vkCmdSetPatchControlPointsEXT - Specify the number of control points per patch dynamically for a command buffer

Description

This command sets the number of control points per patch for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineTessellationStateCreateInfo::patchControlPoints value used to create the currently active pipeline.

Valid Usage

  • patchControlPoints must be greater than zero and less than or equal to PhysicalDeviceLimits::maxTessellationPatchSize

Valid Usage (Implicit)

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

vkCmdSetPatchControlPointsEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state2, VK_EXT_shader_object, CommandBuffer

valuecmdSetLogicOpEXT
  1. :: MonadIO io
  2. => CommandBuffer

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

  3. -> LogicOp

    logicOp specifies the logical operation to apply for blend state.

  4. -> io ()
#

vkCmdSetLogicOpEXT - Select which logical operation to apply for blend state dynamically for a command buffer

Description

This command sets the logical operation for blend state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_LOGIC_OP_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineColorBlendStateCreateInfo::logicOp value used to create the currently active pipeline.

Valid Usage

Valid Usage (Implicit)

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

vkCmdSetLogicOpEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state2, VK_EXT_shader_object, CommandBuffer, LogicOp

VkPhysicalDeviceExtendedDynamicState2FeaturesEXT - Structure describing what extended dynamic state can be used

Members

This structure describes the following features:

Description

If the PhysicalDeviceExtendedDynamicState2FeaturesEXT 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 PhysicalDeviceExtendedDynamicState2FeaturesEXT, 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_extended_dynamic_state2, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero