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

GHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_EXT_extended_dynamic_state3

Name

VK_EXT_extended_dynamic_state3 - device extension

VK_EXT_extended_dynamic_state3

Name String

VK_EXT_extended_dynamic_state3

Extension Type

Device extension

Registered Extension Number

456

Revision

2

Ratification Status

Ratified

Extension and Version Dependencies

VK_KHR_get_physical_device_properties2

or

Vulkan Version 1.1

API Interactions
  • Interacts with VK_VERSION_1_1

  • Interacts with VK_EXT_blend_operation_advanced

  • Interacts with VK_EXT_conservative_rasterization

  • Interacts with VK_EXT_depth_clip_control

  • Interacts with VK_EXT_depth_clip_enable

  • Interacts with VK_EXT_line_rasterization

  • Interacts with VK_EXT_provoking_vertex

  • Interacts with VK_EXT_sample_locations

  • Interacts with VK_EXT_transform_feedback

  • Interacts with VK_KHR_maintenance2

  • Interacts with VK_NV_clip_space_w_scaling

  • Interacts with VK_NV_coverage_reduction_mode

  • Interacts with VK_NV_fragment_coverage_to_color

  • Interacts with VK_NV_framebuffer_mixed_samples

  • Interacts with VK_NV_representative_fragment_test

  • Interacts with VK_NV_shading_rate_image

  • Interacts with VK_NV_viewport_swizzle

  • Interacts with VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3AlphaToOneEnable

  • Interacts with VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3DepthClampEnable

  • Interacts with VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3LogicOpEnable

  • Interacts with VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3PolygonMode

  • Interacts with VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3RasterizationStream

  • Interacts with VkPhysicalDeviceExtendedDynamicState3FeaturesEXT::extendedDynamicState3TessellationDomainOrigin

Contact
Extension Proposal

VK_EXT_extended_dynamic_state3

Other Extension Metadata

Last Modified Date

2022-09-02

IP Status

No known IP claims.

Contributors
  • Daniel Story, Nintendo

  • Jamie Madill, Google

  • Jan-Harald Fredriksen, Arm

  • Faith Ekstrand, Collabora

  • Mike Blumenkrantz, Valve

  • Ricardo Garcia, Igalia

  • Samuel Pitoiset, Valve

  • Shahbaz Youssefi, Google

  • Stu Smith, AMD

  • Tapani Pälli, Intel

Description

This extension adds almost all of the remaining pipeline state as dynamic state to help applications further reduce the number of monolithic pipelines they need to create and bind.

New Commands

If VK_EXT_blend_operation_advanced is supported:

If VK_EXT_conservative_rasterization is supported:

If VK_EXT_depth_clip_control is supported:

If VK_EXT_depth_clip_enable is supported:

If VK_EXT_line_rasterization is supported:

If VK_EXT_provoking_vertex is supported:

If VK_EXT_sample_locations is supported:

If VK_EXT_transform_feedback is supported:

If VK_KHR_maintenance2 or Vulkan Version 1.1 is supported:

If VK_NV_clip_space_w_scaling is supported:

If VK_NV_coverage_reduction_mode is supported:

If VK_NV_fragment_coverage_to_color is supported:

If VK_NV_framebuffer_mixed_samples is supported:

If VK_NV_representative_fragment_test is supported:

If VK_NV_shading_rate_image is supported:

If VK_NV_viewport_swizzle is supported:

New Structures

New Enum Constants

If VK_EXT_blend_operation_advanced is supported:

If VK_EXT_conservative_rasterization is supported:

If VK_EXT_depth_clip_control is supported:

If VK_EXT_depth_clip_enable is supported:

If VK_EXT_line_rasterization is supported:

If VK_EXT_provoking_vertex is supported:

If VK_EXT_sample_locations is supported:

If VK_EXT_transform_feedback is supported:

If VK_KHR_maintenance2 or Vulkan Version 1.1 is supported:

If VK_NV_clip_space_w_scaling is supported:

If VK_NV_coverage_reduction_mode is supported:

If VK_NV_fragment_coverage_to_color is supported:

If VK_NV_framebuffer_mixed_samples is supported:

If VK_NV_representative_fragment_test is supported:

If VK_NV_shading_rate_image is supported:

If VK_NV_viewport_swizzle is supported:

Issues

1) What about the VkPipelineMultisampleStateCreateInfo state sampleShadingEnable and minSampleShading?

sampleShadingEnable and minSampleShading are required when compiling the fragment shader, and it is not meaningful to set them dynamically since they always need to match the fragment shader state, so this hardware state may as well just come from the pipeline with the fragment shader.

Version History

  • Revision 2, 2022-07-18 (Piers Daniell)

    • Added rasterizationSamples

  • Revision 1, 2022-05-18 (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.

  • 14 types
  • 31 values
  • Packagevulkan-3.27
  • Exports69
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_EXT_extended_dynamic_state3.hs
valuecmdSetTessellationDomainOriginEXT
  1. :: MonadIO io
  2. => CommandBuffer

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

  3. -> TessellationDomainOrigin

    domainOrigin specifies the origin of the tessellation domain space.

  4. -> io ()
#

vkCmdSetTessellationDomainOriginEXT - Specify the origin of the tessellation domain space dynamically for a command buffer

Description

This command sets the origin of the tessellation domain space for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineTessellationDomainOriginStateCreateInfo::domainOrigin 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

vkCmdSetTessellationDomainOriginEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_KHR_maintenance2, VK_VERSION_1_1, CommandBuffer, TessellationDomainOrigin

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

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

  3. -> "depthClampEnable" ::: Bool

    depthClampEnable specifies whether depth clamping is enabled.

  4. -> io ()
#

vkCmdSetDepthClampEnableEXT - Specify dynamically whether depth clamping is enabled in the command buffer

Description

This command sets whether depth clamping is enabled or disabled for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationStateCreateInfo::depthClampEnable value used to create the currently active pipeline.

If the depth clamping state is changed dynamically, and the pipeline was not created with DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT enabled, then depth clipping is enabled when depth clamping is disabled and vice versa.

If the maintenance11 feature is enabled, the above statement is further clarified to state that the depth clipping state is only affected by the current value of depthClampEnable if the pipeline was not created with the PipelineRasterizationDepthClipStateCreateInfoEXT structure. If PipelineRasterizationDepthClipStateCreateInfoEXT was included in the pipeline creation then the depth clipping state is set explicitly by PipelineRasterizationDepthClipStateCreateInfoEXT::depthClipEnable and not changed when the depth clamping state is modified.

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

vkCmdSetDepthClampEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> PolygonMode

    polygonMode specifies polygon mode.

  4. -> io ()
#

vkCmdSetPolygonModeEXT - Specify polygon mode dynamically for a command buffer

Description

This command sets the polygon mode for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_POLYGON_MODE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationStateCreateInfo::polygonMode 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

vkCmdSetPolygonModeEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, CommandBuffer, PolygonMode

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

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

  3. -> "rasterizationSamples" ::: SampleCountFlagBits

    rasterizationSamples specifies rasterizationSamples.

  4. -> io ()
#

vkCmdSetRasterizationSamplesEXT - Specify the rasterization samples dynamically for a command buffer

Description

This command sets the rasterizationSamples for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineMultisampleStateCreateInfo::rasterizationSamples 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

vkCmdSetRasterizationSamplesEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, CommandBuffer, SampleCountFlagBits

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

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

  3. -> "samples" ::: SampleCountFlagBits

    samples specifies the number of sample bits in the pSampleMask.

  4. -> "sampleMask" ::: Vector SampleMask

    pSampleMask is a pointer to an array of SampleMask values, where the array size is based on the samples parameter. If the maintenance10 feature is enabled, and this parameter is set to NULL, it is treated as if the mask has all bits set to 1.

  5. -> io ()
#

vkCmdSetSampleMaskEXT - Specify the sample mask dynamically for a command buffer

Description

This command sets the sample mask for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_SAMPLE_MASK_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineMultisampleStateCreateInfo::pSampleMask value used to create the currently active pipeline.

Valid Usage

  • pSampleMask must not be NULL if the maintenance10 feature is not enabled

Valid Usage (Implicit)

  • samples must be a valid SampleCountFlagBits value

  • If pSampleMask is not NULL, pSampleMask must be a valid pointer to an array of \lceil{\mathit{samples} \over 32}\rceil SampleMask values

  • 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

vkCmdSetSampleMaskEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, CommandBuffer, SampleCountFlagBits, SampleMask

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

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

  3. -> "alphaToCoverageEnable" ::: Bool

    alphaToCoverageEnable specifies the alphaToCoverageEnable state.

  4. -> io ()
#

vkCmdSetAlphaToCoverageEnableEXT - Specify the alpha to coverage enable state dynamically for a command buffer

Description

This command sets the alphaToCoverageEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineMultisampleStateCreateInfo::alphaToCoverageEnable 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

vkCmdSetAlphaToCoverageEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "alphaToOneEnable" ::: Bool

    alphaToOneEnable specifies the alphaToOneEnable state.

  4. -> io ()
#

vkCmdSetAlphaToOneEnableEXT - Specify the alpha to one enable state dynamically for a command buffer

Description

This command sets the alphaToOneEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineMultisampleStateCreateInfo::alphaToOneEnable 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

vkCmdSetAlphaToOneEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "logicOpEnable" ::: Bool

    logicOpEnable specifies whether logical operations are enabled.

  4. -> io ()
#

vkCmdSetLogicOpEnableEXT - Specify dynamically whether logical operations are enabled for a command buffer

Description

This command sets whether logical operations are enabled for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineColorBlendStateCreateInfo::logicOpEnable value used to create the currently active pipeline.

Valid Usage

  • If the logicOp feature is not enabled, logicOpEnable must be FALSE

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

vkCmdSetLogicOpEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "firstAttachment" ::: Word32

    firstAttachment the first color attachment the color blending enable applies.

  4. -> "colorBlendEnables" ::: Vector Bool

    pColorBlendEnables an array of booleans to indicate whether color blending is enabled for the corresponding attachment.

  5. -> io ()
#

vkCmdSetColorBlendEnableEXT - Specify the blendEnable for each attachment dynamically for a command buffer

Description

This command sets the color blending enable of the specified color attachments for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineColorBlendAttachmentState::blendEnable values used to create the currently active pipeline.

Valid Usage

Valid Usage (Implicit)

  • pColorBlendEnables must be a valid pointer to an array of attachmentCount Bool32 values

  • 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

  • attachmentCount must be greater than 0

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

vkCmdSetColorBlendEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "firstAttachment" ::: Word32

    firstAttachment the first color attachment the color blend factors and operations apply to.

  4. -> "colorBlendEquations" ::: Vector ColorBlendEquationEXT

    pColorBlendEquations an array of ColorBlendEquationEXT structs that specify the color blend factors and operations for the corresponding attachments.

  5. -> io ()
#

vkCmdSetColorBlendEquationEXT - Specify the blend factors and operations dynamically for a command buffer

Description

This command sets the color blending factors and operations of the specified attachments for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineColorBlendAttachmentState::srcColorBlendFactor, PipelineColorBlendAttachmentState::dstColorBlendFactor, PipelineColorBlendAttachmentState::colorBlendOp, PipelineColorBlendAttachmentState::srcAlphaBlendFactor, PipelineColorBlendAttachmentState::dstAlphaBlendFactor, and PipelineColorBlendAttachmentState::alphaBlendOp values used to create the currently active pipeline.

Valid Usage

Valid Usage (Implicit)

  • pColorBlendEquations must be a valid pointer to an array of attachmentCount valid ColorBlendEquationEXT 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

  • attachmentCount must be greater than 0

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

vkCmdSetColorBlendEquationEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, ColorBlendEquationEXT, CommandBuffer

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

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

  3. -> "firstAttachment" ::: Word32

    firstAttachment the first color attachment the color write masks apply to.

  4. -> "colorWriteMasks" ::: Vector ColorComponentFlags

    pColorWriteMasks an array of ColorComponentFlags values that specify the color write masks of the corresponding attachments.

  5. -> io ()
#

vkCmdSetColorWriteMaskEXT - Specify the color write masks for each attachment dynamically for a command buffer

Description

This command sets the color write masks of the specified attachments for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COLOR_WRITE_MASK_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineColorBlendAttachmentState::colorWriteMask values used to create the currently active pipeline.

Formats with bits that are shared between components specified by ColorComponentFlagBits, such as FORMAT_E5B9G9R9_UFLOAT_PACK32, cannot have their channels individually masked by this functionality; either all components that share bits have to be enabled, or none of them.

Valid Usage

Valid Usage (Implicit)

  • pColorWriteMasks must be a valid pointer to an array of attachmentCount valid combinations of ColorComponentFlagBits values

  • 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

  • attachmentCount must be greater than 0

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

vkCmdSetColorWriteMaskEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, ColorComponentFlags, CommandBuffer

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

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

  3. -> "rasterizationStream" ::: Word32

    rasterizationStream specifies the rasterizationStream state.

  4. -> io ()
#

vkCmdSetRasterizationStreamEXT - Specify the rasterization stream dynamically for a command buffer

Description

This command sets the rasterizationStream state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_RASTERIZATION_STREAM_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream 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

vkCmdSetRasterizationStreamEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_EXT_transform_feedback, CommandBuffer

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

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

  3. -> ConservativeRasterizationModeEXT

    conservativeRasterizationMode specifies the conservativeRasterizationMode state.

  4. -> io ()
#

vkCmdSetConservativeRasterizationModeEXT - Specify the conservative rasterization mode dynamically for a command buffer

Description

This command sets the conservativeRasterizationMode state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationConservativeStateCreateInfoEXT::conservativeRasterizationMode 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

vkCmdSetConservativeRasterizationModeEXT is not affected by conditional rendering

See Also

VK_EXT_conservative_rasterization, VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, CommandBuffer, ConservativeRasterizationModeEXT

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

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

  3. -> "extraPrimitiveOverestimationSize" ::: Float

    extraPrimitiveOverestimationSize specifies the extraPrimitiveOverestimationSize.

  4. -> io ()
#

vkCmdSetExtraPrimitiveOverestimationSizeEXT - Specify the conservative rasterization extra primitive overestimation size dynamically for a command buffer

Description

This command sets the extraPrimitiveOverestimationSize for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationConservativeStateCreateInfoEXT::extraPrimitiveOverestimationSize 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

vkCmdSetExtraPrimitiveOverestimationSizeEXT is not affected by conditional rendering

See Also

VK_EXT_conservative_rasterization, VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, CommandBuffer

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

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

  3. -> "depthClipEnable" ::: Bool

    depthClipEnable specifies whether depth clipping is enabled.

  4. -> io ()
#

vkCmdSetDepthClipEnableEXT - Specify dynamically whether depth clipping is enabled in the command buffer

Description

This command sets whether depth clipping is enabled or disabled for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationDepthClipStateCreateInfoEXT::depthClipEnable value used to create the currently active pipeline. If PipelineRasterizationDepthClipStateCreateInfoEXT was not specified, depth clipping is set to the inverse of the current value of depthClampEnable.

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

vkCmdSetDepthClipEnableEXT is not affected by conditional rendering

See Also

VK_EXT_depth_clip_enable, VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "sampleLocationsEnable" ::: Bool

    sampleLocationsEnable specifies the sampleLocationsEnable state.

  4. -> io ()
#

vkCmdSetSampleLocationsEnableEXT - Specify the samples locations enable state dynamically for a command buffer

Description

This command sets the sampleLocationsEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable 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

vkCmdSetSampleLocationsEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_sample_locations, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "firstAttachment" ::: Word32

    firstAttachment the first color attachment the advanced blend parameters apply to.

  4. -> "colorBlendAdvanced" ::: Vector ColorBlendAdvancedEXT

    pColorBlendAdvanced an array of ColorBlendAdvancedEXT structs that specify the advanced color blend parameters for the corresponding attachments.

  5. -> io ()
#

vkCmdSetColorBlendAdvancedEXT - Specify the advanced color blend state dynamically for a command buffer

Description

This command sets the advanced blend operation parameters of the specified attachments for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineColorBlendAdvancedStateCreateInfoEXT::srcPremultiplied, PipelineColorBlendAdvancedStateCreateInfoEXT::dstPremultiplied, and PipelineColorBlendAdvancedStateCreateInfoEXT::blendOverlap values used to create the currently active pipeline.

Valid Usage

Valid Usage (Implicit)

  • pColorBlendAdvanced must be a valid pointer to an array of attachmentCount valid ColorBlendAdvancedEXT 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

  • attachmentCount must be greater than 0

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

vkCmdSetColorBlendAdvancedEXT is not affected by conditional rendering

See Also

VK_EXT_blend_operation_advanced, VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, ColorBlendAdvancedEXT, CommandBuffer

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

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

  3. -> ProvokingVertexModeEXT

    provokingVertexMode specifies the provokingVertexMode state.

  4. -> io ()
#

vkCmdSetProvokingVertexModeEXT - Specify the provoking vertex mode dynamically for a command buffer

Description

This command sets the provokingVertexMode state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationProvokingVertexStateCreateInfoEXT::provokingVertexMode 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

vkCmdSetProvokingVertexModeEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_provoking_vertex, VK_EXT_shader_object, CommandBuffer, ProvokingVertexModeEXT

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

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

  3. -> LineRasterizationModeEXT

    lineRasterizationMode specifies the lineRasterizationMode state.

  4. -> io ()
#

vkCmdSetLineRasterizationModeEXT - Specify the line rasterization mode dynamically for a command buffer

Description

This command sets the lineRasterizationMode state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationLineStateCreateInfo::lineRasterizationMode 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

vkCmdSetLineRasterizationModeEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_line_rasterization, VK_EXT_shader_object, CommandBuffer, LineRasterizationMode

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

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

  3. -> "stippledLineEnable" ::: Bool

    stippledLineEnable specifies the stippledLineEnable state.

  4. -> io ()
#

vkCmdSetLineStippleEnableEXT - Specify the line stipple enable dynamically for a command buffer

Description

This command sets the stippledLineEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRasterizationLineStateCreateInfo::stippledLineEnable 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

vkCmdSetLineStippleEnableEXT is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_line_rasterization, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "negativeOneToOne" ::: Bool

    negativeOneToOne specifies the negativeOneToOne state.

  4. -> io ()
#

vkCmdSetDepthClipNegativeOneToOneEXT - Specify the negative one to one depth clip mode dynamically for a command buffer

Description

This command sets the negativeOneToOne state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineViewportDepthClipControlCreateInfoEXT::negativeOneToOne 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

vkCmdSetDepthClipNegativeOneToOneEXT is not affected by conditional rendering

See Also

VK_EXT_depth_clip_control, VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, Bool32, CommandBuffer

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

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

  3. -> "viewportWScalingEnable" ::: Bool

    viewportWScalingEnable specifies the viewportWScalingEnable state.

  4. -> io ()
#

vkCmdSetViewportWScalingEnableNV - Specify the viewport W scaling enable state dynamically for a command buffer

Description

This command sets the viewportWScalingEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineViewportWScalingStateCreateInfoNV::viewportWScalingEnable 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

vkCmdSetViewportWScalingEnableNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_clip_space_w_scaling, Bool32, CommandBuffer

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

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

  3. -> "firstViewport" ::: Word32

    firstViewport is the index of the first viewport whose parameters are updated by the command.

  4. -> "viewportSwizzles" ::: Vector ViewportSwizzleNV

    pViewportSwizzles is a pointer to an array of ViewportSwizzleNV structures specifying viewport swizzles.

  5. -> io ()
#

vkCmdSetViewportSwizzleNV - Specify the viewport swizzle state dynamically for a command buffer

Description

This command sets the viewport swizzle state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineViewportSwizzleStateCreateInfoNV::viewportCount, and PipelineViewportSwizzleStateCreateInfoNV::pViewportSwizzles values used to create the currently active pipeline.

Valid Usage

Valid Usage (Implicit)

  • pViewportSwizzles must be a valid pointer to an array of viewportCount valid ViewportSwizzleNV 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

  • viewportCount must be greater than 0

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

vkCmdSetViewportSwizzleNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_viewport_swizzle, CommandBuffer, ViewportSwizzleNV

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

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

  3. -> "coverageToColorEnable" ::: Bool

    coverageToColorEnable specifies the coverageToColorEnable state.

  4. -> io ()
#

vkCmdSetCoverageToColorEnableNV - Specify the coverage to color enable state dynamically for a command buffer

Description

This command sets the coverageToColorEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineCoverageToColorStateCreateInfoNV::coverageToColorEnable 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

vkCmdSetCoverageToColorEnableNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_fragment_coverage_to_color, Bool32, CommandBuffer

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

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

  3. -> "coverageToColorLocation" ::: Word32

    coverageToColorLocation specifies the coverageToColorLocation state.

  4. -> io ()
#

vkCmdSetCoverageToColorLocationNV - Specify the coverage to color location dynamically for a command buffer

Description

This command sets the coverageToColorLocation state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineCoverageToColorStateCreateInfoNV::coverageToColorLocation 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

vkCmdSetCoverageToColorLocationNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_fragment_coverage_to_color, CommandBuffer

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

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

  3. -> CoverageModulationModeNV

    coverageModulationMode specifies the coverageModulationMode state.

  4. -> io ()
#

vkCmdSetCoverageModulationModeNV - Specify the coverage modulation mode dynamically for a command buffer

Description

This command sets the coverageModulationMode state for subsequent drawing commands when drawing using shader objects, or the graphics pipeline is created with DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineCoverageModulationStateCreateInfoNV::coverageModulationMode 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

vkCmdSetCoverageModulationModeNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_framebuffer_mixed_samples, CommandBuffer, CoverageModulationModeNV

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

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

  3. -> "coverageModulationTableEnable" ::: Bool

    coverageModulationTableEnable specifies the coverageModulationTableEnable state.

  4. -> io ()
#

vkCmdSetCoverageModulationTableEnableNV - Specify the coverage modulation table enable state dynamically for a command buffer

Description

This command sets the coverageModulationTableEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineCoverageModulationStateCreateInfoNV::coverageModulationTableEnable 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

vkCmdSetCoverageModulationTableEnableNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_framebuffer_mixed_samples, Bool32, CommandBuffer

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

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

  3. -> "coverageModulationTable" ::: Vector Float

    pCoverageModulationTable specifies the table of modulation factors containing a value for each number of covered samples.

  4. -> io ()
#

vkCmdSetCoverageModulationTableNV - Specify the coverage modulation table dynamically for a command buffer

Description

This command sets the table of modulation factors for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineCoverageModulationStateCreateInfoNV::coverageModulationTableCount, and PipelineCoverageModulationStateCreateInfoNV::pCoverageModulationTable values used to create the currently active pipeline.

Valid Usage

Valid Usage (Implicit)

  • pCoverageModulationTable must be a valid pointer to an array of coverageModulationTableCount float values

  • 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

  • coverageModulationTableCount must be greater than 0

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

vkCmdSetCoverageModulationTableNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_framebuffer_mixed_samples, CommandBuffer

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

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

  3. -> "shadingRateImageEnable" ::: Bool

    shadingRateImageEnable specifies the shadingRateImageEnable state.

  4. -> io ()
#

vkCmdSetShadingRateImageEnableNV - Specify the shading rate image enable state dynamically for a command buffer

Description

This command sets the shadingRateImageEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineViewportShadingRateImageStateCreateInfoNV::shadingRateImageEnable 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

vkCmdSetShadingRateImageEnableNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_shading_rate_image, Bool32, CommandBuffer

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

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

  3. -> CoverageReductionModeNV

    coverageReductionMode specifies the coverageReductionMode state.

  4. -> io ()
#

vkCmdSetCoverageReductionModeNV - Specify the coverage reduction mode dynamically for a command buffer

Description

This command sets the coverageReductionMode state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineCoverageReductionStateCreateInfoNV::coverageReductionMode 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

vkCmdSetCoverageReductionModeNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_coverage_reduction_mode, CommandBuffer, CoverageReductionModeNV

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

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

  3. -> "representativeFragmentTestEnable" ::: Bool

    representativeFragmentTestEnable specifies the representativeFragmentTestEnable state.

  4. -> io ()
#

vkCmdSetRepresentativeFragmentTestEnableNV - Specify the representative fragment test enable dynamically for a command buffer

Description

This command sets the representativeFragmentTestEnable state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV set in PipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by the PipelineRepresentativeFragmentTestStateCreateInfoNV::representativeFragmentTestEnable 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

vkCmdSetRepresentativeFragmentTestEnableNV is not affected by conditional rendering

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, VK_NV_representative_fragment_test, Bool32, CommandBuffer

VkPhysicalDeviceExtendedDynamicState3FeaturesEXT - Structure describing what extended dynamic state is supported by the implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceExtendedDynamicState3FeaturesEXT 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 PhysicalDeviceExtendedDynamicState3FeaturesEXT, 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_state3, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkPhysicalDeviceExtendedDynamicState3PropertiesEXT - Structure describing capabilities of extended dynamic state

Description

If the PhysicalDeviceExtendedDynamicState3PropertiesEXT structure is included in the pNext chain of the PhysicalDeviceProperties2 structure passed to getPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Structure Chaining

Extends the structure

See Also

VK_EXT_extended_dynamic_state3, Bool32, StructureType

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkColorBlendEquationEXT - Structure specifying the color blend factors and operations for an attachment

Valid Usage

Valid Usage (Implicit)

  • dstColorBlendFactor must be a valid BlendFactor value

  • colorBlendOp must be a valid BlendOp value

  • srcAlphaBlendFactor must be a valid BlendFactor value

  • dstAlphaBlendFactor must be a valid BlendFactor value

  • alphaBlendOp must be a valid BlendOp value

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, BlendFactor, BlendOp, cmdSetColorBlendEquationEXT

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero

VkColorBlendAdvancedEXT - Structure specifying the advanced blend operation parameters for an attachment

Valid Usage

Valid Usage (Implicit)

  • advancedBlendOp must be a valid BlendOp value

See Also

VK_EXT_extended_dynamic_state3, VK_EXT_shader_object, BlendOp, BlendOverlapEXT, Bool32, cmdSetColorBlendAdvancedEXT

Constructors

  • ColorBlendAdvancedEXT
    • advancedBlendOp :: BlendOp

      advancedBlendOp selects which blend operation is used to calculate the RGB values to write to the color attachment.

    • srcPremultiplied :: Bool

      srcPremultiplied specifies whether the source color of the blend operation is treated as premultiplied.

    • dstPremultiplied :: Bool

      dstPremultiplied specifies whether the destination color of the blend operation is treated as premultiplied.

    • blendOverlap :: BlendOverlapEXT

      blendOverlap is a BlendOverlapEXT value specifying how the source and destination sample’s coverage is correlated.

    • clampResults :: Bool

      clampResults specifies that results must be clamped to the [0,1] range before writing to the attachment, which is useful when the attachment format is not normalized fixed-point.

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
datadata ViewportSwizzleNV
#

VkViewportSwizzleNV - Structure specifying a viewport swizzle

Valid Usage (Implicit)

See Also

VK_NV_viewport_swizzle, PipelineViewportSwizzleStateCreateInfoNV, ViewportCoordinateSwizzleNV, cmdSetViewportSwizzleNV

Constructors

Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
newtypenewtype ViewportCoordinateSwizzleNV
#

VkViewportCoordinateSwizzleNV - Specify how a viewport coordinate is swizzled

Description

These values are described in detail in Viewport Swizzle.

See Also

VK_NV_viewport_swizzle, ViewportSwizzleNV

Instances6Eq, Ord, Read, Show, Storable, Zero
newtypenewtype BlendOverlapEXT
#

VkBlendOverlapEXT - Enumerant specifying the blend overlap parameter

Description

Overlap Mode

Weighting Equations

BLEND_OVERLAP_UNCORRELATED_EXT

                                              \begin{aligned}
p_0(A_s,A_d) & = A_sA_d \\
p_1(A_s,A_d) & = A_s(1-A_d) \\
p_2(A_s,A_d) & = A_d(1-A_s) \\
\end{aligned}

BLEND_OVERLAP_CONJOINT_EXT

                                              \begin{aligned}
p_0(A_s,A_d) & = min(A_s,A_d) \\
p_1(A_s,A_d) & = max(A_s-A_d,0) \\
p_2(A_s,A_d) & = max(A_d-A_s,0) \\
\end{aligned}

BLEND_OVERLAP_DISJOINT_EXT

                                              \begin{aligned}
p_0(A_s,A_d) & = max(A_s+A_d-1,0) \\
p_1(A_s,A_d) & = min(A_s,1-A_d) \\
p_2(A_s,A_d) & = min(A_d,1-A_s) \\
\end{aligned}

Advanced Blend Overlap Modes

See Also

VK_EXT_blend_operation_advanced, ColorBlendAdvancedEXT, PipelineColorBlendAdvancedStateCreateInfoEXT

Instances6Eq, Ord, Read, Show, Storable, Zero
newtypenewtype CoverageModulationModeNV
#

VkCoverageModulationModeNV - Specify the coverage modulation mode

Description

See Also

VK_NV_framebuffer_mixed_samples, PipelineCoverageModulationStateCreateInfoNV, cmdSetCoverageModulationModeNV

Instances6Eq, Ord, Read, Show, Storable, Zero
newtypenewtype CoverageReductionModeNV
#

VkCoverageReductionModeNV - Specify the coverage reduction mode

Description

  • COVERAGE_REDUCTION_MODE_MERGE_NV specifies that each color sample will be associated with an implementation-dependent subset of samples in the pixel coverage. If any of those associated samples are covered, the color sample is covered.

  • COVERAGE_REDUCTION_MODE_TRUNCATE_NV specifies that for color samples present in the color attachments, a color sample is covered if the pixel coverage sample with the same sample index i is covered; other pixel coverage samples are discarded.

See Also

VK_NV_coverage_reduction_mode, FramebufferMixedSamplesCombinationNV, PipelineCoverageReductionStateCreateInfoNV, cmdSetCoverageReductionModeNV

Instances6Eq, Ord, Read, Show, Storable, Zero

VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode

Description

See Also

VK_EXT_conservative_rasterization, PipelineRasterizationConservativeStateCreateInfoEXT, cmdSetConservativeRasterizationModeEXT

Instances6Eq, Ord, Read, Show, Storable, Zero
newtypenewtype ProvokingVertexModeEXT
#

VkProvokingVertexModeEXT - Specify which vertex in a primitive is the provoking vertex

Description

These modes are described more precisely in Primitive Topologies.

See Also

VK_EXT_provoking_vertex, PipelineRasterizationProvokingVertexStateCreateInfoEXT, cmdSetProvokingVertexModeEXT

Instances6Eq, Ord, Read, Show, Storable, Zero