Safe Haskell | None |
---|---|
Language | Haskell2010 |
Name
VK_EXT_extended_dynamic_state2 - device extension
VK_EXT_extended_dynamic_state2
- Name String
VK_EXT_extended_dynamic_state2
- Extension Type
- Device extension
- Registered Extension Number
- 378
- Revision
- 1
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
VK_KHR_get_physical_device_properties2
- Contact
Other Extension Metadata
- Last Modified Date
- 2021-04-12
- IP Status
- No known IP claims.
- Contributors
- Vikram Kushwaha, NVIDIA
- Piers Daniell, NVIDIA
- Jeff Bolz, NVIDIA
Description
This extension adds some more dynamic state to support applications that need to reduce the number of pipeline state objects they compile and bind.
New Commands
cmdSetLogicOpEXT
cmdSetPatchControlPointsEXT
cmdSetPrimitiveRestartEnableEXT
cmdSetRasterizerDiscardEnableEXT
New Structures
New Enum Constants
EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION
Extending
DynamicState
:Extending
StructureType
:
Version History
Revision 1, 2021-04-12 (Vikram Kushwaha)
- Internal revisions
See Also
PhysicalDeviceExtendedDynamicState2FeaturesEXT
,
cmdSetDepthBiasEnableEXT
, cmdSetLogicOpEXT
,
cmdSetPatchControlPointsEXT
, cmdSetPrimitiveRestartEnableEXT
,
cmdSetRasterizerDiscardEnableEXT
Document Notes
For more information, see the Vulkan Specification
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- cmdSetPatchControlPointsEXT :: forall io. MonadIO io => CommandBuffer -> ("patchControlPoints" ::: Word32) -> io ()
- cmdSetRasterizerDiscardEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("rasterizerDiscardEnable" ::: Bool) -> io ()
- cmdSetDepthBiasEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("depthBiasEnable" ::: Bool) -> io ()
- cmdSetLogicOpEXT :: forall io. MonadIO io => CommandBuffer -> LogicOp -> io ()
- cmdSetPrimitiveRestartEnableEXT :: forall io. MonadIO io => CommandBuffer -> ("primitiveRestartEnable" ::: Bool) -> io ()
- data PhysicalDeviceExtendedDynamicState2FeaturesEXT = PhysicalDeviceExtendedDynamicState2FeaturesEXT {}
- type EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION = 1
- pattern EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: forall a. Integral a => a
- type EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME = "VK_EXT_extended_dynamic_state2"
- pattern EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
cmdSetPatchControlPointsEXT Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("patchControlPoints" ::: Word32) |
|
-> io () |
vkCmdSetPatchControlPointsEXT - Specify the number of control points per patch dynamically for a command buffer
Description
This command sets the number of control points per patch for subsequent
drawing commands when the graphics pipeline is created with
DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineTessellationStateCreateInfo
::patchControlPoints
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState2PatchControlPoints feature must be enabled
-
patchControlPoints
must be greater than zero and less than or equal toPhysicalDeviceLimits
::maxTessellationPatchSize
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
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 | Supported Queue Types |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
cmdSetRasterizerDiscardEnableEXT Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("rasterizerDiscardEnable" ::: Bool) |
|
-> io () |
vkCmdSetRasterizerDiscardEnableEXT - Control whether primitives are discarded before the rasterization stage dynamically for a command buffer
Description
This command sets the discard enable for subsequent drawing commands
when the graphics pipeline is created with
DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineRasterizationStateCreateInfo
::rasterizerDiscardEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState2 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
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 | Supported Queue Types |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
cmdSetDepthBiasEnableEXT Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("depthBiasEnable" ::: Bool) |
|
-> io () |
vkCmdSetDepthBiasEnableEXT - Control whether to bias fragment depth values dynamically for a command buffer
Description
This command sets the depth bias enable for subsequent drawing commands
when the graphics pipeline is created with
DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineRasterizationStateCreateInfo
::depthBiasEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState2 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
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 | Supported Queue Types |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> LogicOp |
|
-> io () |
vkCmdSetLogicOpEXT - Select which logical operation to apply for blend state dynamically for a command buffer
Description
This command sets the logical operation for blend state for subsequent
drawing commands when the graphics pipeline is created with
DYNAMIC_STATE_LOGIC_OP_EXT
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineColorBlendStateCreateInfo
::logicOp
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState2LogicOp feature must be enabled
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
logicOp
must be a validLogicOp
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations
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 | Supported Queue Types |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
cmdSetPrimitiveRestartEnableEXT Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> ("primitiveRestartEnable" ::: Bool) |
|
-> io () |
vkCmdSetPrimitiveRestartEnableEXT - Set primitive assembly restart state dynamically for a command buffer
Description
This command sets the primitive restart enable for subsequent drawing
commands when the graphics pipeline is created with
DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
set in
PipelineDynamicStateCreateInfo
::pDynamicStates
.
Otherwise, this state is specified by the
PipelineInputAssemblyStateCreateInfo
::primitiveRestartEnable
value used to create the currently active pipeline.
Valid Usage
- The extendedDynamicState2 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
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 | Supported Queue Types |
---|---|---|
Primary Secondary | Both | Graphics |
See Also
data PhysicalDeviceExtendedDynamicState2FeaturesEXT Source #
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT - Structure describing what extended dynamic state can be used
Members
This structure describes the following features:
Description
If the PhysicalDeviceExtendedDynamicState2FeaturesEXT
structure is
included in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceExtendedDynamicState2FeaturesEXT
can also
be used in the pNext
chain of DeviceCreateInfo
to selectively enable these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceExtendedDynamicState2FeaturesEXT | |
Instances
pattern EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME = "VK_EXT_extended_dynamic_state2" Source #
pattern EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #