Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
- Not ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2
- 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
cmdSetAlphaToOneEnableEXT
cmdSetColorBlendAdvancedEXT
cmdSetColorBlendEnableEXT
cmdSetColorBlendEquationEXT
cmdSetColorWriteMaskEXT
cmdSetConservativeRasterizationModeEXT
cmdSetDepthClampEnableEXT
cmdSetDepthClipEnableEXT
cmdSetDepthClipNegativeOneToOneEXT
cmdSetExtraPrimitiveOverestimationSizeEXT
cmdSetLineRasterizationModeEXT
cmdSetLineStippleEnableEXT
cmdSetLogicOpEnableEXT
cmdSetPolygonModeEXT
cmdSetProvokingVertexModeEXT
cmdSetRasterizationSamplesEXT
cmdSetRasterizationStreamEXT
cmdSetSampleLocationsEnableEXT
cmdSetSampleMaskEXT
cmdSetTessellationDomainOriginEXT
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
ColorBlendEquationEXT
Extending
PhysicalDeviceFeatures2
,DeviceCreateInfo
:Extending
PhysicalDeviceProperties2
:
New Enum Constants
EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION
Extending
DynamicState
:DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT
DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT
DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT
DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT
DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT
DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT
DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT
DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT
DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT
DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT
DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT
DYNAMIC_STATE_POLYGON_MODE_EXT
DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT
DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
DYNAMIC_STATE_RASTERIZATION_STREAM_EXT
DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT
DYNAMIC_STATE_SAMPLE_MASK_EXT
DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
Extending
StructureType
:
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
?
- UNRESOLVED
sampleShadingEnable
andminSampleShading
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
ColorBlendAdvancedEXT
, ColorBlendEquationEXT
,
PhysicalDeviceExtendedDynamicState3FeaturesEXT
,
PhysicalDeviceExtendedDynamicState3PropertiesEXT
,
cmdSetAlphaToCoverageEnableEXT
, cmdSetAlphaToOneEnableEXT
,
cmdSetColorBlendAdvancedEXT
, cmdSetColorBlendEnableEXT
,
cmdSetColorBlendEquationEXT
, cmdSetColorWriteMaskEXT
,
cmdSetConservativeRasterizationModeEXT
, cmdSetDepthClampEnableEXT
,
cmdSetDepthClipEnableEXT
, cmdSetDepthClipNegativeOneToOneEXT
,
cmdSetExtraPrimitiveOverestimationSizeEXT
,
cmdSetLineRasterizationModeEXT
, cmdSetLineStippleEnableEXT
,
cmdSetLogicOpEnableEXT
, cmdSetPolygonModeEXT
,
cmdSetProvokingVertexModeEXT
, cmdSetRasterizationSamplesEXT
,
cmdSetRasterizationStreamEXT
, cmdSetSampleLocationsEnableEXT
,
cmdSetSampleMaskEXT
, cmdSetTessellationDomainOriginEXT
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 :: forall io. MonadIO io => CommandBuffer -> TessellationDomainOrigin -> io ()
- cmdSetDepthClampEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthClampEnable" ::: Bool) -> io ()
- cmdSetPolygonModeEXT :: forall io. MonadIO io => CommandBuffer -> PolygonMode -> io ()
- cmdSetRasterizationSamplesEXT :: forall io. MonadIO io => CommandBuffer -> ("rasterizationSamples" ::: SampleCountFlagBits) -> io ()
- cmdSetSampleMaskEXT :: forall io. MonadIO io => CommandBuffer -> ("samples" ::: SampleCountFlagBits) -> ("sampleMask" ::: Vector SampleMask) -> io ()
- cmdSetAlphaToCoverageEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("alphaToCoverageEnable" ::: Bool) -> io ()
- cmdSetAlphaToOneEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("alphaToOneEnable" ::: Bool) -> io ()
- cmdSetLogicOpEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("logicOpEnable" ::: Bool) -> io ()
- cmdSetColorBlendEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorBlendEnables" ::: Vector Bool) -> io ()
- cmdSetColorBlendEquationEXT :: forall io. MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorBlendEquations" ::: Vector ColorBlendEquationEXT) -> io ()
- cmdSetColorWriteMaskEXT :: forall io. MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorWriteMasks" ::: Vector ColorComponentFlags) -> io ()
- cmdSetRasterizationStreamEXT :: forall io. MonadIO io => CommandBuffer -> ("rasterizationStream" ::: Word32) -> io ()
- cmdSetConservativeRasterizationModeEXT :: forall io. MonadIO io => CommandBuffer -> ConservativeRasterizationModeEXT -> io ()
- cmdSetExtraPrimitiveOverestimationSizeEXT :: forall io. MonadIO io => CommandBuffer -> ("extraPrimitiveOverestimationSize" ::: Float) -> io ()
- cmdSetDepthClipEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthClipEnable" ::: Bool) -> io ()
- cmdSetSampleLocationsEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("sampleLocationsEnable" ::: Bool) -> io ()
- cmdSetColorBlendAdvancedEXT :: forall io. MonadIO io => CommandBuffer -> ("firstAttachment" ::: Word32) -> ("colorBlendAdvanced" ::: Vector ColorBlendAdvancedEXT) -> io ()
- cmdSetProvokingVertexModeEXT :: forall io. MonadIO io => CommandBuffer -> ProvokingVertexModeEXT -> io ()
- cmdSetLineRasterizationModeEXT :: forall io. MonadIO io => CommandBuffer -> LineRasterizationModeEXT -> io ()
- cmdSetLineStippleEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("stippledLineEnable" ::: Bool) -> io ()
- cmdSetDepthClipNegativeOneToOneEXT :: forall io. MonadIO io => CommandBuffer -> ("negativeOneToOne" ::: Bool) -> io ()
- cmdSetViewportWScalingEnableNV :: forall io. MonadIO io => CommandBuffer -> ("viewportWScalingEnable" ::: Bool) -> io ()
- cmdSetViewportSwizzleNV :: forall io. MonadIO io => CommandBuffer -> ("firstViewport" ::: Word32) -> ("viewportSwizzles" ::: Vector ViewportSwizzleNV) -> io ()
- cmdSetCoverageToColorEnableNV :: forall io. MonadIO io => CommandBuffer -> ("coverageToColorEnable" ::: Bool) -> io ()
- cmdSetCoverageToColorLocationNV :: forall io. MonadIO io => CommandBuffer -> ("coverageToColorLocation" ::: Word32) -> io ()
- cmdSetCoverageModulationModeNV :: forall io. MonadIO io => CommandBuffer -> CoverageModulationModeNV -> io ()
- cmdSetCoverageModulationTableEnableNV :: forall io. MonadIO io => CommandBuffer -> ("coverageModulationTableEnable" ::: Bool) -> io ()
- cmdSetCoverageModulationTableNV :: forall io. MonadIO io => CommandBuffer -> ("coverageModulationTable" ::: Vector Float) -> io ()
- cmdSetShadingRateImageEnableNV :: forall io. MonadIO io => CommandBuffer -> ("shadingRateImageEnable" ::: Bool) -> io ()
- cmdSetCoverageReductionModeNV :: forall io. MonadIO io => CommandBuffer -> CoverageReductionModeNV -> io ()
- cmdSetRepresentativeFragmentTestEnableNV :: forall io. 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 :: forall a. Integral a => a
- type EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME = "VK_EXT_extended_dynamic_state3"
- pattern EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- data ViewportSwizzleNV = ViewportSwizzleNV {}
- newtype ViewportCoordinateSwizzleNV where
- ViewportCoordinateSwizzleNV Int32
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV :: ViewportCoordinateSwizzleNV
- pattern VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV :: ViewportCoordinateSwizzleNV
- newtype BlendOverlapEXT where
- BlendOverlapEXT Int32
- pattern BLEND_OVERLAP_UNCORRELATED_EXT :: BlendOverlapEXT
- pattern BLEND_OVERLAP_DISJOINT_EXT :: BlendOverlapEXT
- pattern BLEND_OVERLAP_CONJOINT_EXT :: BlendOverlapEXT
- newtype CoverageModulationModeNV where
- CoverageModulationModeNV Int32
- pattern COVERAGE_MODULATION_MODE_NONE_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_RGB_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_ALPHA_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_RGBA_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 LineRasterizationModeEXT where
- LineRasterizationModeEXT Int32
- pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT :: LineRasterizationModeEXT
- pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT :: LineRasterizationModeEXT
- pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT :: LineRasterizationModeEXT
- pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT :: LineRasterizationModeEXT
- newtype ProvokingVertexModeEXT where
Documentation
cmdSetTessellationDomainOriginEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
domainOrigin
must be a validTessellationDomainOrigin
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
TessellationDomainOrigin
cmdSetDepthClampEnableEXT Source #
:: forall io. 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,
depthClampEnable
must beFALSE
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
:: forall io. 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,
polygonMode
must bePOLYGON_MODE_FILL
orPOLYGON_MODE_FILL_RECTANGLE_NV
- If the
VK_NV_fill_rectangle
extension is not enabled,polygonMode
must not bePOLYGON_MODE_FILL_RECTANGLE_NV
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
polygonMode
must be a validPolygonMode
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
PolygonMode
cmdSetRasterizationSamplesEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
rasterizationSamples
must be a validSampleCountFlagBits
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
SampleCountFlagBits
:: forall io. 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
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
samples
must be a validSampleCountFlagBits
value -
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
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
SampleCountFlagBits
,
SampleMask
cmdSetAlphaToCoverageEnableEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetAlphaToOneEnableEXT Source #
:: forall io. 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,
alphaToOneEnable
must beFALSE
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetLogicOpEnableEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetColorBlendEnableEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
pColorBlendEnables
must be a valid pointer to an array ofattachmentCount
Bool32
values -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
-
attachmentCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetColorBlendEquationEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
pColorBlendEquations
must be a valid pointer to an array ofattachmentCount
validColorBlendEquationEXT
structures -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
-
attachmentCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
ColorBlendEquationEXT
, CommandBuffer
cmdSetColorWriteMaskEXT Source #
:: forall io. 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.
Note
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)
-
commandBuffer
must be a validCommandBuffer
handle
-
pColorWriteMasks
must be a valid pointer to an array ofattachmentCount
valid combinations ofColorComponentFlagBits
values -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
-
attachmentCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
ColorComponentFlags
,
CommandBuffer
cmdSetRasterizationStreamEXT Source #
:: forall io. 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
-
rasterizationStream
must be less thanPhysicalDeviceTransformFeedbackPropertiesEXT
::maxTransformFeedbackStreams
-
rasterizationStream
must be zero ifPhysicalDeviceTransformFeedbackPropertiesEXT
::transformFeedbackRasterizationStreamSelect
isFALSE
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
cmdSetConservativeRasterizationModeEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
conservativeRasterizationMode
must be a validConservativeRasterizationModeEXT
value -
commandBuffer
must be in the recording state -
The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
ConservativeRasterizationModeEXT
cmdSetExtraPrimitiveOverestimationSizeEXT Source #
:: forall io. 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
-
extraPrimitiveOverestimationSize
must be in the range of0.0
toPhysicalDeviceConservativeRasterizationPropertiesEXT
::maxExtraPrimitiveOverestimationSize
inclusive
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state -
The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
cmdSetDepthClipEnableEXT Source #
:: forall io. 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 is set to 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetSampleLocationsEnableEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetColorBlendAdvancedEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
pColorBlendAdvanced
must be a valid pointer to an array ofattachmentCount
validColorBlendAdvancedEXT
structures -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
-
attachmentCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
ColorBlendAdvancedEXT
, CommandBuffer
cmdSetProvokingVertexModeEXT Source #
:: forall io. 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
provokingVertexMode
isPROVOKING_VERTEX_MODE_LAST_VERTEX_EXT
, then the provokingVertexLast feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
provokingVertexMode
must be a validProvokingVertexModeEXT
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
ProvokingVertexModeEXT
cmdSetLineRasterizationModeEXT Source #
:: forall io. 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
PipelineRasterizationLineStateCreateInfoEXT
::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
lineRasterizationMode
isLINE_RASTERIZATION_MODE_RECTANGULAR_EXT
, then the rectangularLines feature must be enabled -
If
lineRasterizationMode
isLINE_RASTERIZATION_MODE_BRESENHAM_EXT
, then the bresenhamLines feature must be enabled -
If
lineRasterizationMode
isLINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
, then the smoothLines feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
lineRasterizationMode
must be a validLineRasterizationModeEXT
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
CommandBuffer
,
LineRasterizationModeEXT
cmdSetLineStippleEnableEXT Source #
:: forall io. 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
PipelineRasterizationLineStateCreateInfoEXT
::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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetDepthClipNegativeOneToOneEXT Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state -
The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
Bool32
,
CommandBuffer
cmdSetViewportWScalingEnableNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_clip_space_w_scaling,
Bool32
,
CommandBuffer
cmdSetViewportSwizzleNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
pViewportSwizzles
must be a valid pointer to an array ofviewportCount
validViewportSwizzleNV
structures -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
-
viewportCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_viewport_swizzle,
CommandBuffer
,
ViewportSwizzleNV
cmdSetCoverageToColorEnableNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_fragment_coverage_to_color,
Bool32
,
CommandBuffer
cmdSetCoverageToColorLocationNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_fragment_coverage_to_color,
CommandBuffer
cmdSetCoverageModulationModeNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
coverageModulationMode
must be a validCoverageModulationModeNV
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_framebuffer_mixed_samples,
CommandBuffer
,
CoverageModulationModeNV
cmdSetCoverageModulationTableEnableNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state -
The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_framebuffer_mixed_samples,
Bool32
,
CommandBuffer
cmdSetCoverageModulationTableNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
pCoverageModulationTable
must be a valid pointer to an array ofcoverageModulationTableCount
float
values -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
-
coverageModulationTableCount
must be greater than0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_framebuffer_mixed_samples,
CommandBuffer
cmdSetShadingRateImageEnableNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_shading_rate_image,
Bool32
,
CommandBuffer
cmdSetCoverageReductionModeNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
coverageReductionMode
must be a validCoverageReductionModeNV
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
VK_NV_coverage_reduction_mode,
CommandBuffer
,
CoverageReductionModeNV
cmdSetRepresentativeFragmentTestEnableNV Source #
:: forall io. 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)
-
commandBuffer
must be a validCommandBuffer
handle
-
commandBuffer
must be in the recording state -
The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations - This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was 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 | Graphics | State |
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. PhysicalDeviceExtendedDynamicState3FeaturesEXT
can also
be used in the pNext
chain of DeviceCreateInfo
to selectively enable these features.
Valid Usage (Implicit)
See Also
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
PhysicalDeviceExtendedDynamicState3PropertiesEXT | |
|
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,
srcColorBlendFactor
must 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,
dstColorBlendFactor
must 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,
srcAlphaBlendFactor
must 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,
dstAlphaBlendFactor
must not beBLEND_FACTOR_SRC1_COLOR
,BLEND_FACTOR_ONE_MINUS_SRC1_COLOR
,BLEND_FACTOR_SRC1_ALPHA
, orBLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
-
colorBlendOp
andalphaBlendOp
must 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_subset
extension is enabled, andPhysicalDevicePortabilitySubsetFeaturesKHR
::constantAlphaColorBlendFactors
isFALSE
,srcColorBlendFactor
must not beBLEND_FACTOR_CONSTANT_ALPHA
orBLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
-
If the
VK_KHR_portability_subset
extension is enabled, andPhysicalDevicePortabilitySubsetFeaturesKHR
::constantAlphaColorBlendFactors
isFALSE
,dstColorBlendFactor
must not beBLEND_FACTOR_CONSTANT_ALPHA
orBLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA
Valid Usage (Implicit)
-
srcColorBlendFactor
must be a validBlendFactor
value
-
dstColorBlendFactor
must be a validBlendFactor
value -
colorBlendOp
must be a validBlendOp
value -
srcAlphaBlendFactor
must be a validBlendFactor
value -
dstAlphaBlendFactor
must be a validBlendFactor
value -
alphaBlendOp
must be a validBlendOp
value
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
BlendFactor
,
BlendOp
, cmdSetColorBlendEquationEXT
ColorBlendEquationEXT | |
|
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,
srcPremultiplied
must beTRUE
- If the
non-premultiplied destination color
property is not supported,
dstPremultiplied
must beTRUE
- If the
correlated overlap
property is not supported,
blendOverlap
must beBLEND_OVERLAP_UNCORRELATED_EXT
Valid Usage (Implicit)
-
advancedBlendOp
must be a validBlendOp
value
-
blendOverlap
must be a validBlendOverlapEXT
value
See Also
VK_EXT_extended_dynamic_state3,
VK_EXT_shader_object,
BlendOp
,
BlendOverlapEXT
,
Bool32
, cmdSetColorBlendAdvancedEXT
ColorBlendAdvancedEXT | |
|
Instances
pattern EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION :: forall a. 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 :: forall a. (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
ViewportSwizzleNV | |
|
Instances
newtype ViewportCoordinateSwizzleNV Source #
VkViewportCoordinateSwizzleNV - Specify how a viewport coordinate is swizzled
Description
These values are described in detail in Viewport Swizzle.
See Also
Instances
newtype BlendOverlapEXT Source #
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
pattern BLEND_OVERLAP_UNCORRELATED_EXT :: BlendOverlapEXT |
|
pattern BLEND_OVERLAP_DISJOINT_EXT :: BlendOverlapEXT |
|
pattern BLEND_OVERLAP_CONJOINT_EXT :: BlendOverlapEXT |
|
Instances
newtype CoverageModulationModeNV Source #
VkCoverageModulationModeNV - Specify the coverage modulation mode
See Also
VK_NV_framebuffer_mixed_samples,
PipelineCoverageModulationStateCreateInfoNV
,
cmdSetCoverageModulationModeNV
pattern COVERAGE_MODULATION_MODE_NONE_NV :: CoverageModulationModeNV |
|
pattern COVERAGE_MODULATION_MODE_RGB_NV :: CoverageModulationModeNV |
|
pattern COVERAGE_MODULATION_MODE_ALPHA_NV :: CoverageModulationModeNV |
|
pattern COVERAGE_MODULATION_MODE_RGBA_NV :: CoverageModulationModeNV |
|
Instances
newtype CoverageReductionModeNV Source #
VkCoverageReductionModeNV - Specify the coverage reduction mode
See Also
VK_NV_coverage_reduction_mode,
FramebufferMixedSamplesCombinationNV
,
PipelineCoverageReductionStateCreateInfoNV
,
cmdSetCoverageReductionModeNV
pattern COVERAGE_REDUCTION_MODE_MERGE_NV :: CoverageReductionModeNV |
|
pattern COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: CoverageReductionModeNV |
|
Instances
newtype ConservativeRasterizationModeEXT Source #
VkConservativeRasterizationModeEXT - Specify the conservative rasterization mode
See Also
VK_EXT_conservative_rasterization,
PipelineRasterizationConservativeStateCreateInfoEXT
,
cmdSetConservativeRasterizationModeEXT
pattern CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT :: ConservativeRasterizationModeEXT |
|
pattern CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT :: ConservativeRasterizationModeEXT |
|
pattern CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT :: ConservativeRasterizationModeEXT |
|
Instances
newtype LineRasterizationModeEXT Source #
VkLineRasterizationModeEXT - Line rasterization modes
See Also
VK_EXT_line_rasterization,
PipelineRasterizationLineStateCreateInfoEXT
,
cmdSetLineRasterizationModeEXT
Instances
newtype ProvokingVertexModeEXT Source #
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
pattern PROVOKING_VERTEX_MODE_FIRST_VERTEX_EXT :: ProvokingVertexModeEXT |
|
pattern PROVOKING_VERTEX_MODE_LAST_VERTEX_EXT :: ProvokingVertexModeEXT |
|