vulkan-3.11.3: Bindings to the Vulkan graphics API.
Safe HaskellNone
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
Extension and Version Dependencies
  • Requires Vulkan 1.0
  • Requires VK_KHR_get_physical_device_properties2
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

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 number of control points per patch.

-> io () 

vkCmdSetPatchControlPointsEXT - Specify the number of control points per patch

Description

This command sets the state for a given draw when the graphics pipeline is created with DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates.

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

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 ScopeSupported Queue Types
Primary SecondaryBoth Graphics

See Also

CommandBuffer

cmdSetRasterizerDiscardEnableEXT Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

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

-> ("rasterizerDiscardEnable" ::: Bool)

rasterizerDiscardEnable controls whether primitives are discarded immediately before the rasterization stage.

-> io () 

vkCmdSetRasterizerDiscardEnableEXT - Control whether primitives are discarded before the rasterization stage for a command buffer

Description

This command sets the state for a given draw when the graphics pipeline is created with DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates.

Valid Usage

Valid Usage (Implicit)

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations

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 ScopeSupported Queue Types
Primary SecondaryBoth Graphics

See Also

Bool32, CommandBuffer

cmdSetDepthBiasEnableEXT Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

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

-> ("depthBiasEnable" ::: Bool)

depthBiasEnable controls whether to bias fragment depth values.

-> io () 

vkCmdSetDepthBiasEnableEXT - Controls whether to bias fragment depth values for a command buffer

Description

This command sets the state for a given draw when the graphics pipeline is created with DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates.

Valid Usage

Valid Usage (Implicit)

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations

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 ScopeSupported Queue Types
Primary SecondaryBoth Graphics

See Also

Bool32, 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

Description

This command sets the state for a given draw when the graphics pipeline is created with DYNAMIC_STATE_LOGIC_OP_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates.

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

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 ScopeSupported Queue Types
Primary SecondaryBoth Graphics

See Also

CommandBuffer, LogicOp

cmdSetPrimitiveRestartEnableEXT Source #

Arguments

:: forall io. MonadIO io 
=> CommandBuffer

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

-> ("primitiveRestartEnable" ::: Bool)

primitiveRestartEnable controls whether a special vertex index value is treated as restarting the assembly of primitives. It behaves in the same way as PipelineInputAssemblyStateCreateInfo::primitiveRestartEnable

-> io () 

vkCmdSetPrimitiveRestartEnableEXT - Control whether a special vertex index value is treated as restarting the assembly of primitives

Description

This command sets the state for a given draw when the graphics pipeline is created with DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates.

Valid Usage

Valid Usage (Implicit)

  • commandBuffer must be in the recording state
  • The CommandPool that commandBuffer was allocated from must support graphics operations

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 ScopeSupported Queue Types
Primary SecondaryBoth Graphics

See Also

Bool32, CommandBuffer

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

Bool32, StructureType

Constructors

PhysicalDeviceExtendedDynamicState2FeaturesEXT 

Fields

Instances

Instances details
Eq 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

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