Class EXTExtendedDynamicState2
Promotion to Vulkan 1.3
The dynamic state enumerants DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT, DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, and DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; and the corresponding commands in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. The enumerants and commands for dynamic logic operation and patch control points are not promoted, nor is the feature structure. Extension interfaces that were promoted remain available as aliases of the core functionality.
- Name String
VK_EXT_extended_dynamic_state2- Extension Type
- Device extension
- Registered Extension Number
- 378
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2or Version 1.1- Deprecation State
- Promoted to Vulkan 1.3
- Contact
- Vikram Kushwaha vkushwaha-nv
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
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intExtendsVkDynamicState.static final intExtendsVkDynamicState.static final intExtendsVkDynamicState.static final intExtendsVkDynamicState.static final intExtendsVkDynamicState.static final StringThe extension name.static final intThe extension specification version.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidvkCmdSetDepthBiasEnableEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, boolean depthBiasEnable) static voidvkCmdSetLogicOpEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int logicOp) Select which logical operation to apply for blend state dynamically for a command buffer.static voidvkCmdSetPatchControlPointsEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int patchControlPoints) Specify the number of control points per patch dynamically for a command buffer.static voidvkCmdSetPrimitiveRestartEnableEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, boolean primitiveRestartEnable) static voidvkCmdSetRasterizerDiscardEnableEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, boolean rasterizerDiscardEnable)
-
Field Details
-
VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION
public static final int VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXTExtendsVkStructureType.- See Also:
-
VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
public static final int VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXTExtendsVkDynamicState.Enum values:
- See Also:
-
VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT
public static final int VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXTExtendsVkDynamicState.Enum values:
- See Also:
-
VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT
public static final int VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXTExtendsVkDynamicState.Enum values:
- See Also:
-
VK_DYNAMIC_STATE_LOGIC_OP_EXT
public static final int VK_DYNAMIC_STATE_LOGIC_OP_EXTExtendsVkDynamicState.Enum values:
- See Also:
-
VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
public static final int VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXTExtendsVkDynamicState.Enum values:
- See Also:
-
-
Method Details
-
vkCmdSetPatchControlPointsEXT
public static void vkCmdSetPatchControlPointsEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int patchControlPoints) Specify the number of control points per patch dynamically for a command buffer.C Specification
To dynamically set the number of control points per patch, call:
void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints);Description
This command sets the number of control points per patch for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with
DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXTset inVkPipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by theVkPipelineTessellationStateCreateInfo::patchControlPointsvalue used to create the currently active pipeline.Valid Usage
- At least one of the following must be true:
- The
extendedDynamicState2PatchControlPointsfeature is enabled - The
shaderObjectfeature is enabled
- The
patchControlPointsmust be greater than zero and less than or equal toVkPhysicalDeviceLimits::maxTessellationPatchSize
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - 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
VkCommandPoolthatcommandBufferwas 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 - Parameters:
commandBuffer- the command buffer into which the command will be recorded.patchControlPoints- specifies the number of control points per patch.
- At least one of the following must be true:
-
vkCmdSetRasterizerDiscardEnableEXT
public static void vkCmdSetRasterizerDiscardEnableEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, boolean rasterizerDiscardEnable) - Parameters:
commandBuffer- the command buffer into which the command will be recorded.rasterizerDiscardEnable- controls whether primitives are discarded immediately before the rasterization stage.
-
vkCmdSetDepthBiasEnableEXT
public static void vkCmdSetDepthBiasEnableEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, boolean depthBiasEnable) - Parameters:
commandBuffer- the command buffer into which the command will be recorded.depthBiasEnable- controls whether to bias fragment depth values.
-
vkCmdSetLogicOpEXT
public static void vkCmdSetLogicOpEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, int logicOp) Select which logical operation to apply for blend state dynamically for a command buffer.C Specification
To dynamically set the logical operation to apply for blend state, call:
void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp);Description
This command sets the logical operation for blend state for subsequent drawing commands when drawing using shader objects, or when the graphics pipeline is created with
DYNAMIC_STATE_LOGIC_OP_EXTset inVkPipelineDynamicStateCreateInfo::pDynamicStates. Otherwise, this state is specified by theVkPipelineColorBlendStateCreateInfo::logicOpvalue used to create the currently active pipeline.Valid Usage
- At least one of the following must be true:
- The
extendedDynamicState2LogicOpfeature is enabled - The
shaderObjectfeature is enabled
- The
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlelogicOpmust be a validVkLogicOpvaluecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations - 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
VkCommandPoolthatcommandBufferwas 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 - Parameters:
commandBuffer- the command buffer into which the command will be recorded.logicOp- specifies the logical operation to apply for blend state.
- At least one of the following must be true:
-
vkCmdSetPrimitiveRestartEnableEXT
public static void vkCmdSetPrimitiveRestartEnableEXT(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, boolean primitiveRestartEnable) - Parameters:
commandBuffer- the command buffer into which the command will be recorded.primitiveRestartEnable- controls whether a special vertex index value is treated as restarting the assembly of primitives. It behaves in the same way asVkPipelineInputAssemblyStateCreateInfo::primitiveRestartEnable
-