| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_extended_dynamic_state3
Description
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
cmdSetAlphaToOneEnableEXTcmdSetColorBlendEnableEXTcmdSetColorBlendEquationEXTcmdSetColorWriteMaskEXTcmdSetDepthClampEnableEXTcmdSetLogicOpEnableEXTcmdSetPolygonModeEXTcmdSetRasterizationSamplesEXTcmdSetSampleMaskEXT
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
ColorBlendEquationEXTExtending
PhysicalDeviceFeatures2,DeviceCreateInfo:Extending
PhysicalDeviceProperties2:
New Enum Constants
EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSIONExtending
DynamicState:DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXTDYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXTDYNAMIC_STATE_COLOR_BLEND_ENABLE_EXTDYNAMIC_STATE_COLOR_BLEND_EQUATION_EXTDYNAMIC_STATE_COLOR_WRITE_MASK_EXTDYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXTDYNAMIC_STATE_LOGIC_OP_ENABLE_EXTDYNAMIC_STATE_POLYGON_MODE_EXTDYNAMIC_STATE_RASTERIZATION_SAMPLES_EXTDYNAMIC_STATE_SAMPLE_MASK_EXT
Extending
StructureType:
If VK_EXT_blend_operation_advanced is supported:
If VK_EXT_conservative_rasterization is supported:
Extending
DynamicState:
If VK_EXT_depth_clip_control is supported:
If VK_EXT_depth_clip_enable is supported:
If VK_EXT_line_rasterization is supported:
Extending
DynamicState:
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:
Extending
DynamicState:
If VK_NV_framebuffer_mixed_samples is supported:
Extending
DynamicState:
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.
Synopsis
- cmdSetTessellationDomainOriginEXT :: MonadIO io => CommandBuffer -> TessellationDomainOrigin -> io ()
- cmdSetDepthClampEnableEXT :: MonadIO io => CommandBuffer -> ("depthClampEnable" ::: Bool) -> io ()
- cmdSetPolygonModeEXT :: MonadIO io => CommandBuffer -> PolygonMode -> io ()
- cmdSetRasterizationSamplesEXT :: MonadIO io => CommandBuffer -> ("rasterizationSamples" ::: SampleCountFlagBits) -> io ()
- cmdSetSampleMaskEXT :: MonadIO io => CommandBuffer -> ("samples" ::: SampleCountFlagBits) -> ("sampleMask" ::: Vector SampleMask) -> io ()
- cmdSetAlphaToCoverageEnableEXT :: MonadIO io => CommandBuffer -> ("alphaToCoverageEnable" ::: Bool) -> io ()
- cmdSetAlphaToOneEnableEXT :: MonadIO io => CommandBuffer -> ("alphaToOneEnable" ::: Bool) -> io ()
- cmdSetLogicOpEnableEXT :: MonadIO io => CommandBuffer -> ("logicOpEnable" ::: Bool) -> io ()
- cmdSetColorBlendEnableEXT :: MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorBlendEnables" ::: Vector Bool) -> io ()
- cmdSetColorBlendEquationEXT :: MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorBlendEquations" ::: Vector ColorBlendEquationEXT) -> io ()
- cmdSetColorWriteMaskEXT :: MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorWriteMasks" ::: Vector ColorComponentFlags) -> io ()
- cmdSetRasterizationStreamEXT :: MonadIO io => CommandBuffer -> ("rasterizationStream" ::: Word32) -> io ()
- cmdSetConservativeRasterizationModeEXT :: MonadIO io => CommandBuffer -> ConservativeRasterizationModeEXT -> io ()
- cmdSetExtraPrimitiveOverestimationSizeEXT :: MonadIO io => CommandBuffer -> ("extraPrimitiveOverestimationSize" ::: Float) -> io ()
- cmdSetDepthClipEnableEXT :: MonadIO io => CommandBuffer -> ("depthClipEnable" ::: Bool) -> io ()
- cmdSetSampleLocationsEnableEXT :: MonadIO io => CommandBuffer -> ("sampleLocationsEnable" ::: Bool) -> io ()
- cmdSetColorBlendAdvancedEXT :: MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorBlendAdvanced" ::: Vector ColorBlendAdvancedEXT) -> io ()
- cmdSetProvokingVertexModeEXT :: MonadIO io => CommandBuffer -> ProvokingVertexModeEXT -> io ()
- cmdSetLineRasterizationModeEXT :: MonadIO io => CommandBuffer -> LineRasterizationModeEXT -> io ()
- cmdSetLineStippleEnableEXT :: MonadIO io => CommandBuffer -> ("stippledLineEnable" ::: Bool) -> io ()
- cmdSetDepthClipNegativeOneToOneEXT :: MonadIO io => CommandBuffer -> ("negativeOneToOne" ::: Bool) -> io ()
- cmdSetViewportWScalingEnableNV :: MonadIO io => CommandBuffer -> ("viewportWScalingEnable" ::: Bool) -> io ()
- cmdSetViewportSwizzleNV :: MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("viewportSwizzles" ::: Vector ViewportSwizzleNV) -> io ()
- cmdSetCoverageToColorEnableNV :: MonadIO io => CommandBuffer -> ("coverageToColorEnable" ::: Bool) -> io ()
- cmdSetCoverageToColorLocationNV :: MonadIO io => CommandBuffer -> ("coverageToColorLocation" ::: Word32) -> io ()
- cmdSetCoverageModulationModeNV :: MonadIO io => CommandBuffer -> CoverageModulationModeNV -> io ()
- cmdSetCoverageModulationTableEnableNV :: MonadIO io => CommandBuffer -> ("coverageModulationTableEnable" ::: Bool) -> io ()
- cmdSetCoverageModulationTableNV :: MonadIO io => CommandBuffer -> ("coverageModulationTable" ::: Vector Float) -> io ()
- cmdSetShadingRateImageEnableNV :: MonadIO io => CommandBuffer -> ("shadingRateImageEnable" ::: Bool) -> io ()
- cmdSetCoverageReductionModeNV :: MonadIO io => CommandBuffer -> CoverageReductionModeNV -> io ()
- cmdSetRepresentativeFragmentTestEnableNV :: MonadIO io => CommandBuffer -> ("representativeFragmentTestEnable" ::: Bool) -> io ()
- data PhysicalDeviceExtendedDynamicState3FeaturesEXT = PhysicalDeviceExtendedDynamicState3FeaturesEXT {
- extendedDynamicState3TessellationDomainOrigin :: Bool
- extendedDynamicState3DepthClampEnable :: Bool
- extendedDynamicState3PolygonMode :: Bool
- extendedDynamicState3RasterizationSamples :: Bool
- extendedDynamicState3SampleMask :: Bool
- extendedDynamicState3AlphaToCoverageEnable :: Bool
- extendedDynamicState3AlphaToOneEnable :: Bool
- extendedDynamicState3LogicOpEnable :: Bool
- extendedDynamicState3ColorBlendEnable :: Bool
- extendedDynamicState3ColorBlendEquation :: Bool
- extendedDynamicState3ColorWriteMask :: Bool
- extendedDynamicState3RasterizationStream :: Bool
- extendedDynamicState3ConservativeRasterizationMode :: Bool
- extendedDynamicState3ExtraPrimitiveOverestimationSize :: Bool
- extendedDynamicState3DepthClipEnable :: Bool
- extendedDynamicState3SampleLocationsEnable :: Bool
- extendedDynamicState3ColorBlendAdvanced :: Bool
- extendedDynamicState3ProvokingVertexMode :: Bool
- extendedDynamicState3LineRasterizationMode :: Bool
- extendedDynamicState3LineStippleEnable :: Bool
- extendedDynamicState3DepthClipNegativeOneToOne :: Bool
- extendedDynamicState3ViewportWScalingEnable :: Bool
- extendedDynamicState3ViewportSwizzle :: Bool
- extendedDynamicState3CoverageToColorEnable :: Bool
- extendedDynamicState3CoverageToColorLocation :: Bool
- extendedDynamicState3CoverageModulationMode :: Bool
- extendedDynamicState3CoverageModulationTableEnable :: Bool
- extendedDynamicState3CoverageModulationTable :: Bool
- extendedDynamicState3CoverageReductionMode :: Bool
- extendedDynamicState3RepresentativeFragmentTestEnable :: Bool
- extendedDynamicState3ShadingRateImageEnable :: Bool
- data PhysicalDeviceExtendedDynamicState3PropertiesEXT = PhysicalDeviceExtendedDynamicState3PropertiesEXT {}
- data ColorBlendEquationEXT = ColorBlendEquationEXT {}
- data ColorBlendAdvancedEXT = ColorBlendAdvancedEXT {}
- type EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION = 2
- pattern EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION :: Integral a => a
- type EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME = "VK_EXT_extended_dynamic_state3"
- pattern EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME :: (Eq a, IsString a) => a
- data ViewportSwizzleNV = ViewportSwizzleNV {}
- newtype ViewportCoordinateSwizzleNV where
- ViewportCoordinateSwizzleNV Int32
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: ViewportCoordinateSwizzleNV
- newtype BlendOverlapEXT where
- BlendOverlapEXT Int32
- pattern BLEND_OVERLAP_CONJOINT_EXT :: BlendOverlapEXT
- pattern BLEND_OVERLAP_DISJOINT_EXT :: BlendOverlapEXT
- pattern BLEND_OVERLAP_UNCORRELATED_EXT :: BlendOverlapEXT
- newtype CoverageModulationModeNV where
- CoverageModulationModeNV Int32
- pattern COVERAGE_MODULATION_MODE_ALPHA_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_NONE_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_RGBA_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_RGB_NV :: CoverageModulationModeNV
- newtype CoverageReductionModeNV where
- newtype ConservativeRasterizationModeEXT where
- ConservativeRasterizationModeEXT Int32
- pattern CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: ConservativeRasterizationModeEXT
- pattern CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: ConservativeRasterizationModeEXT
- pattern CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: ConservativeRasterizationModeEXT
- newtype ProvokingVertexModeEXT where
- type LineRasterizationModeEXT = LineRasterizationMode
Documentation
cmdSetTessellationDomainOriginEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> TessellationDomainOrigin |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3TessellationDomainOrigin feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
domainOriginmust be a validTessellationDomainOriginvalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetDepthClampEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("depthClampEnable" ::: Bool) |
|
| -> 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.
Valid Usage
At least one of the following must be true:
- The extendedDynamicState3DepthClampEnable feature is enabled
- The shaderObject feature is enabled
- If the
depthClamp
feature is not enabled,
depthClampEnablemust beFALSE
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetDepthClampEnableEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32,
CommandBuffer
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> PolygonMode |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3PolygonMode feature is enabled
- The shaderObject feature is enabled
- If the
fillModeNonSolid
feature is not enabled,
polygonModemust bePOLYGON_MODE_FILLorPOLYGON_MODE_FILL_RECTANGLE_NV - If the
VK_NV_fill_rectangleextension is not enabled,polygonModemust not bePOLYGON_MODE_FILL_RECTANGLE_NV
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
polygonModemust be a validPolygonModevalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetPolygonModeEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer,
PolygonMode
cmdSetRasterizationSamplesEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("rasterizationSamples" ::: SampleCountFlagBits) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3RasterizationSamples feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
rasterizationSamplesmust be a validSampleCountFlagBitsvalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetRasterizationSamplesEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer,
SampleCountFlagBits
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("samples" ::: SampleCountFlagBits) |
|
| -> ("sampleMask" ::: Vector SampleMask) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3SampleMask feature is enabled
- The shaderObject feature is enabled
-
pSampleMaskmust not beNULLif the maintenance10 feature is not enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
samplesmust be a validSampleCountFlagBitsvalue - If
pSampleMaskis notNULL,pSampleMaskmust be a valid pointer to an array of \(\lceil{\mathit{samples} \over 32}\rceil\)SampleMaskvalues -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetSampleMaskEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer,
SampleCountFlagBits,
SampleMask
cmdSetAlphaToCoverageEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("alphaToCoverageEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3AlphaToCoverageEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetAlphaToCoverageEnableEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32,
CommandBuffer
cmdSetAlphaToOneEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("alphaToOneEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3AlphaToOneEnable feature is enabled
- The shaderObject feature is enabled
- If the
alphaToOne
feature is not enabled,
alphaToOneEnablemust beFALSE
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetAlphaToOneEnableEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32,
CommandBuffer
cmdSetLogicOpEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("logicOpEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3LogicOpEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetLogicOpEnableEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32,
CommandBuffer
cmdSetColorBlendEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("firstAttachment" ::: Word32) |
|
| -> ("colorBlendEnables" ::: Vector Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ColorBlendEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pColorBlendEnablesmust be a valid pointer to an array ofattachmentCountBool32values -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
-
attachmentCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetColorBlendEnableEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32,
CommandBuffer
cmdSetColorBlendEquationEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("firstAttachment" ::: Word32) |
|
| -> ("colorBlendEquations" ::: Vector ColorBlendEquationEXT) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ColorBlendEquation feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pColorBlendEquationsmust be a valid pointer to an array ofattachmentCountvalidColorBlendEquationEXTstructures -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
-
attachmentCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetColorBlendEquationEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
ColorBlendEquationEXT, CommandBuffer
cmdSetColorWriteMaskEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("firstAttachment" ::: Word32) |
|
| -> ("colorWriteMasks" ::: Vector ColorComponentFlags) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ColorWriteMask feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pColorWriteMasksmust be a valid pointer to an array ofattachmentCountvalid combinations ofColorComponentFlagBitsvalues -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
-
attachmentCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetColorWriteMaskEXT is not affected by conditional rendering
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
ColorComponentFlags,
CommandBuffer
cmdSetRasterizationStreamEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("rasterizationStream" ::: Word32) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3RasterizationStream feature is enabled
- The shaderObject feature is enabled
- The transformFeedback feature must be enabled
-
rasterizationStreammust be less thanPhysicalDeviceTransformFeedbackPropertiesEXT::maxTransformFeedbackStreams -
rasterizationStreammust be zero ifPhysicalDeviceTransformFeedbackPropertiesEXT::transformFeedbackRasterizationStreamSelectisFALSE
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetConservativeRasterizationModeEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ConservativeRasterizationModeEXT |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ConservativeRasterizationMode feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
conservativeRasterizationModemust be a validConservativeRasterizationModeEXTvalue -
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetExtraPrimitiveOverestimationSizeEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("extraPrimitiveOverestimationSize" ::: Float) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ExtraPrimitiveOverestimationSize feature is enabled
- The shaderObject feature is enabled
-
extraPrimitiveOverestimationSizemust be in the range of0.0toPhysicalDeviceConservativeRasterizationPropertiesEXT::maxExtraPrimitiveOverestimationSizeinclusive
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetDepthClipEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("depthClipEnable" ::: Bool) |
|
| -> 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, or by the inverse of
PipelineRasterizationStateCreateInfo::depthClampEnable
if
PipelineRasterizationDepthClipStateCreateInfoEXT
is not specified.
Valid Usage
At least one of the following must be true:
- The extendedDynamicState3DepthClipEnable feature is enabled
- The shaderObject feature is enabled
- The depthClipEnable feature must be enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetSampleLocationsEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("sampleLocationsEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3SampleLocationsEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetColorBlendAdvancedEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("firstAttachment" ::: Word32) |
|
| -> ("colorBlendAdvanced" ::: Vector ColorBlendAdvancedEXT) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ColorBlendAdvanced feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pColorBlendAdvancedmust be a valid pointer to an array ofattachmentCountvalidColorBlendAdvancedEXTstructures -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
-
attachmentCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetProvokingVertexModeEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ProvokingVertexModeEXT |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ProvokingVertexMode feature is enabled
- The shaderObject feature is enabled
- If
provokingVertexModeisPROVOKING_VERTEX_MODE_LAST_VERTEX_EXT, then the provokingVertexLast feature must be enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
provokingVertexModemust be a validProvokingVertexModeEXTvalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetLineRasterizationModeEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> LineRasterizationModeEXT |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3LineRasterizationMode feature is enabled
- The shaderObject feature is enabled
-
If
lineRasterizationModeisLINE_RASTERIZATION_MODE_RECTANGULAR, then the rectangularLines feature must be enabled -
If
lineRasterizationModeisLINE_RASTERIZATION_MODE_BRESENHAM, then the bresenhamLines feature must be enabled -
If
lineRasterizationModeisLINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH, then the smoothLines feature must be enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
lineRasterizationModemust be a validLineRasterizationModeEXTvalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetLineStippleEnableEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("stippledLineEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3LineStippleEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetDepthClipNegativeOneToOneEXT Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("negativeOneToOne" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3DepthClipNegativeOneToOne feature is enabled
- The shaderObject feature is enabled
- The depthClipControl feature must be enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetViewportWScalingEnableNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("viewportWScalingEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ViewportWScalingEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetViewportSwizzleNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("firstViewport" ::: Word32) |
|
| -> ("viewportSwizzles" ::: Vector ViewportSwizzleNV) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ViewportSwizzle feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pViewportSwizzlesmust be a valid pointer to an array ofviewportCountvalidViewportSwizzleNVstructures -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
-
viewportCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetCoverageToColorEnableNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("coverageToColorEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3CoverageToColorEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetCoverageToColorLocationNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("coverageToColorLocation" ::: Word32) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3CoverageToColorLocation feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetCoverageModulationModeNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> CoverageModulationModeNV |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3CoverageModulationMode feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
coverageModulationModemust be a validCoverageModulationModeNVvalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetCoverageModulationTableEnableNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("coverageModulationTableEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3CoverageModulationTableEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetCoverageModulationTableNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("coverageModulationTable" ::: Vector Float) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3CoverageModulationTable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
pCoverageModulationTablemust be a valid pointer to an array ofcoverageModulationTableCountfloatvalues -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
-
coverageModulationTableCountmust be greater than0
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetShadingRateImageEnableNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("shadingRateImageEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3ShadingRateImageEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetCoverageReductionModeNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> CoverageReductionModeNV |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3CoverageReductionMode feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
coverageReductionModemust be a validCoverageReductionModeNVvalue -
commandBuffermust be in the recording state - The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
cmdSetRepresentativeFragmentTestEnableNV Source #
Arguments
| :: MonadIO io | |
| => CommandBuffer |
|
| -> ("representativeFragmentTestEnable" ::: Bool) |
|
| -> 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
At least one of the following must be true:
- The extendedDynamicState3RepresentativeFragmentTestEnable feature is enabled
- The shaderObject feature is enabled
Valid Usage (Implicit)
-
commandBuffermust be a validCommandBufferhandle
-
commandBuffermust be in the recording state -
The
CommandPoolthatcommandBufferwas allocated from must supportQUEUE_GRAPHICS_BIToperations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized
- Host access to the
CommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
'
| Command Buffer Levels | Render Pass Scope | Video Coding Scope | Supported Queue Types | Command Type |
|---|---|---|---|---|
| Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
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
data PhysicalDeviceExtendedDynamicState3FeaturesEXT Source #
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.
Valid Usage (Implicit)
See Also
Constructors
Instances
data PhysicalDeviceExtendedDynamicState3PropertiesEXT Source #
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.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceExtendedDynamicState3PropertiesEXT | |
Fields
| |
Instances
data ColorBlendEquationEXT Source #
VkColorBlendEquationEXT - Structure specifying the color blend factors and operations for an attachment
Valid Usage
- If the
dualSrcBlend
feature is not enabled,
srcColorBlendFactormust not beBLEND_FACTOR_SRC1_COLOR,BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,BLEND_FACTOR_SRC1_ALPHA, orBLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
- If the
dualSrcBlend
feature is not enabled,
dstColorBlendFactormust not beBLEND_FACTOR_SRC1_COLOR,BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,BLEND_FACTOR_SRC1_ALPHA, orBLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - If the
dualSrcBlend
feature is not enabled,
srcAlphaBlendFactormust not beBLEND_FACTOR_SRC1_COLOR,BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,BLEND_FACTOR_SRC1_ALPHA, orBLEND_FACTOR_ONE_MINUS_SRC1_ALPHA - If the
dualSrcBlend
feature is not enabled,
dstAlphaBlendFactormust not beBLEND_FACTOR_SRC1_COLOR,BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,BLEND_FACTOR_SRC1_ALPHA, orBLEND_FACTOR_ONE_MINUS_SRC1_ALPHA -
colorBlendOpandalphaBlendOpmust not beBLEND_OP_ZERO_EXT,BLEND_OP_SRC_EXT,BLEND_OP_DST_EXT,BLEND_OP_SRC_OVER_EXT,BLEND_OP_DST_OVER_EXT,BLEND_OP_SRC_IN_EXT,BLEND_OP_DST_IN_EXT,BLEND_OP_SRC_OUT_EXT,BLEND_OP_DST_OUT_EXT,BLEND_OP_SRC_ATOP_EXT,BLEND_OP_DST_ATOP_EXT,BLEND_OP_XOR_EXT,BLEND_OP_MULTIPLY_EXT,BLEND_OP_SCREEN_EXT,BLEND_OP_OVERLAY_EXT,BLEND_OP_DARKEN_EXT,BLEND_OP_LIGHTEN_EXT,BLEND_OP_COLORDODGE_EXT,BLEND_OP_COLORBURN_EXT,BLEND_OP_HARDLIGHT_EXT,BLEND_OP_SOFTLIGHT_EXT,BLEND_OP_DIFFERENCE_EXT,BLEND_OP_EXCLUSION_EXT,BLEND_OP_INVERT_EXT,BLEND_OP_INVERT_RGB_EXT,BLEND_OP_LINEARDODGE_EXT,BLEND_OP_LINEARBURN_EXT,BLEND_OP_VIVIDLIGHT_EXT,BLEND_OP_LINEARLIGHT_EXT,BLEND_OP_PINLIGHT_EXT,BLEND_OP_HARDMIX_EXT,BLEND_OP_HSL_HUE_EXT,BLEND_OP_HSL_SATURATION_EXT,BLEND_OP_HSL_COLOR_EXT,BLEND_OP_HSL_LUMINOSITY_EXT,BLEND_OP_PLUS_EXT,BLEND_OP_PLUS_CLAMPED_EXT,BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,BLEND_OP_PLUS_DARKER_EXT,BLEND_OP_MINUS_EXT,BLEND_OP_MINUS_CLAMPED_EXT,BLEND_OP_CONTRAST_EXT,BLEND_OP_INVERT_OVG_EXT,BLEND_OP_RED_EXT,BLEND_OP_GREEN_EXT, orBLEND_OP_BLUE_EXT -
If the
VK_KHR_portability_subsetextension is enabled, andPhysicalDevicePortabilitySubsetFeaturesKHR::constantAlphaColorBlendFactorsisFALSE,srcColorBlendFactormust not beBLEND_FACTOR_CONSTANT_ALPHAorBLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA -
If the
VK_KHR_portability_subsetextension is enabled, andPhysicalDevicePortabilitySubsetFeaturesKHR::constantAlphaColorBlendFactorsisFALSE,dstColorBlendFactormust not beBLEND_FACTOR_CONSTANT_ALPHAorBLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
Valid Usage (Implicit)
-
srcColorBlendFactormust be a validBlendFactorvalue
-
dstColorBlendFactormust be a validBlendFactorvalue -
colorBlendOpmust be a validBlendOpvalue -
srcAlphaBlendFactormust be a validBlendFactorvalue -
dstAlphaBlendFactormust be a validBlendFactorvalue -
alphaBlendOpmust be a validBlendOpvalue
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
BlendFactor,
BlendOp, cmdSetColorBlendEquationEXT
Constructors
| ColorBlendEquationEXT | |
Fields
| |
Instances
data ColorBlendAdvancedEXT Source #
VkColorBlendAdvancedEXT - Structure specifying the advanced blend operation parameters for an attachment
Valid Usage
- If the
non-premultiplied source color
property is not supported,
srcPremultipliedmust beTRUE
- If the
non-premultiplied destination color
property is not supported,
dstPremultipliedmust beTRUE - If the
correlated overlap
property is not supported,
blendOverlapmust beBLEND_OVERLAP_UNCORRELATED_EXT
Valid Usage (Implicit)
-
advancedBlendOpmust be a validBlendOpvalue
-
blendOverlapmust be a validBlendOverlapEXTvalue
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
BlendOp,
BlendOverlapEXT,
Bool32, cmdSetColorBlendAdvancedEXT
Constructors
| ColorBlendAdvancedEXT | |
Fields
| |
Instances
pattern EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION :: Integral a => a Source #
type EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME = "VK_EXT_extended_dynamic_state3" Source #
pattern EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
data ViewportSwizzleNV Source #
VkViewportSwizzleNV - Structure specifying a viewport swizzle
Valid Usage (Implicit)
See Also
VK_NV_viewport_swizzle,
PipelineViewportSwizzleStateCreateInfoNV,
ViewportCoordinateSwizzleNV,
cmdSetViewportSwizzleNV
Constructors
| ViewportSwizzleNV | |
Fields
| |
Instances
newtype ViewportCoordinateSwizzleNV Source #
VkViewportCoordinateSwizzleNV - Specify how a viewport coordinate is swizzled
Description
These values are described in detail in Viewport Swizzle.
See Also
Constructors
| ViewportCoordinateSwizzleNV Int32 |
Bundled Patterns
Instances
newtype BlendOverlapEXT Source #
VkBlendOverlapEXT - Enumerant specifying the blend overlap parameter
Description
BLEND_OVERLAP_UNCORRELATED_EXTspecifies that there is no correlation between the source and destination coverage.
BLEND_OVERLAP_CONJOINT_EXTspecifies that the source and destination coverage are considered to have maximal overlap.BLEND_OVERLAP_DISJOINT_EXTspecifies that the source and destination coverage are considered to have minimal overlap.
| 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
Constructors
| BlendOverlapEXT Int32 |
Bundled Patterns
| pattern BLEND_OVERLAP_CONJOINT_EXT :: BlendOverlapEXT | |
| pattern BLEND_OVERLAP_DISJOINT_EXT :: BlendOverlapEXT | |
| pattern BLEND_OVERLAP_UNCORRELATED_EXT :: BlendOverlapEXT |
Instances
newtype CoverageModulationModeNV Source #
VkCoverageModulationModeNV - Specify the coverage modulation mode
Description
COVERAGE_MODULATION_MODE_NONE_NVspecifies that no components are multiplied by the modulation factor.
COVERAGE_MODULATION_MODE_RGB_NVspecifies that the red, green, and blue components are multiplied by the modulation factor.COVERAGE_MODULATION_MODE_ALPHA_NVspecifies that the alpha component is multiplied by the modulation factor.COVERAGE_MODULATION_MODE_RGBA_NVspecifies that all components are multiplied by the modulation factor.
See Also
VK_NV_framebuffer_mixed_samples,
PipelineCoverageModulationStateCreateInfoNV,
cmdSetCoverageModulationModeNV
Constructors
| CoverageModulationModeNV Int32 |
Bundled Patterns
Instances
newtype CoverageReductionModeNV Source #
VkCoverageReductionModeNV - Specify the coverage reduction mode
Description
COVERAGE_REDUCTION_MODE_MERGE_NVspecifies 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_NVspecifies 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
Constructors
| CoverageReductionModeNV Int32 |
Bundled Patterns
| pattern COVERAGE_REDUCTION_MODE_MERGE_NV :: CoverageReductionModeNV | |
| pattern COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: CoverageReductionModeNV |
Instances
newtype ConservativeRasterizationModeEXT Source #
VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode
Description
CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXTspecifies that conservative rasterization is disabled and rasterization proceeds as normal.
CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXTspecifies that conservative rasterization is enabled in overestimation mode.CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXTspecifies that conservative rasterization is enabled in underestimation mode.
See Also
VK_EXT_conservative_rasterization,
PipelineRasterizationConservativeStateCreateInfoEXT,
cmdSetConservativeRasterizationModeEXT
Constructors
| ConservativeRasterizationModeEXT Int32 |
Bundled Patterns
Instances
newtype ProvokingVertexModeEXT Source #
VkProvokingVertexModeEXT - Specify which vertex in a primitive is the provoking vertex
Description
PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXTspecifies that the provoking vertex is the first non-adjacency vertex in the list of vertices used by a primitive.
PROVOKING_VERTEX_MODE_LAST_VERTEX_EXTspecifies that the provoking vertex is the last non-adjacency vertex in the list of vertices used by a primitive.
These modes are described more precisely in Primitive Topologies.
See Also
VK_EXT_provoking_vertex,
PipelineRasterizationProvokingVertexStateCreateInfoEXT,
cmdSetProvokingVertexModeEXT
Constructors
| ProvokingVertexModeEXT Int32 |
Bundled Patterns
| pattern PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: ProvokingVertexModeEXT | |
| pattern PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: ProvokingVertexModeEXT |