vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_extended_dynamic_state2

Description

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
Not ratified
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 or Version 1.1
Deprecation State
Contact

Other Extension Metadata

Last Modified Date
2021-04-12
Interactions and External Dependencies
  • Promoted to Vulkan 1.3 Core
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

This extension has been partially promoted. 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 entry points in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. The enumerants and entry points 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

PhysicalDeviceExtendedDynamicState2FeaturesEXT, cmdSetDepthBiasEnableEXT, cmdSetLogicOpEXT, cmdSetPatchControlPointsEXT, cmdSetPrimitiveRestartEnableEXT, cmdSetRasterizerDiscardEnableEXT

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.

Synopsis

Documentation

cmdSetPatchControlPointsEXT Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

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

-> ("patchControlPoints" ::: Word32)

patchControlPoints specifies the number of control points per patch.

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

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics 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

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBoth Outside Graphics State

See Also

VK_EXT_extended_dynamic_state2, VK_EXT_shader_object, CommandBuffer

cmdSetLogicOpEXT Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

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

-> LogicOp

logicOp specifies the logical operation to apply for blend state.

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

  • logicOp must be a valid LogicOp value
  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics 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

'

Command Buffer LevelsRender Pass ScopeVideo Coding ScopeSupported Queue TypesCommand Type
Primary SecondaryBoth Outside Graphics State

See Also

VK_EXT_extended_dynamic_state2, VK_EXT_shader_object, CommandBuffer, LogicOp

cmdSetRasterizerDiscardEnableEXT :: MonadIO io => CommandBuffer -> ("rasterizerDiscardEnable" ::: Bool) -> io () Source #

cmdSetDepthBiasEnableEXT :: MonadIO io => CommandBuffer -> ("depthBiasEnable" ::: Bool) -> io () Source #

cmdSetPrimitiveRestartEnableEXT :: MonadIO io => CommandBuffer -> ("primitiveRestartEnable" ::: Bool) -> io () Source #

data PhysicalDeviceExtendedDynamicState2FeaturesEXT Source #

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. PhysicalDeviceExtendedDynamicState2FeaturesEXT can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_EXT_extended_dynamic_state2, Bool32, StructureType

Constructors

PhysicalDeviceExtendedDynamicState2FeaturesEXT 

Fields

Instances

Instances details
Storable PhysicalDeviceExtendedDynamicState2FeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_extended_dynamic_state2

Show PhysicalDeviceExtendedDynamicState2FeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_extended_dynamic_state2

Eq PhysicalDeviceExtendedDynamicState2FeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_extended_dynamic_state2

FromCStruct PhysicalDeviceExtendedDynamicState2FeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_extended_dynamic_state2

ToCStruct PhysicalDeviceExtendedDynamicState2FeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_extended_dynamic_state2

Zero PhysicalDeviceExtendedDynamicState2FeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_extended_dynamic_state2

type EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME = "VK_EXT_extended_dynamic_state2" Source #