Class EXTExtendedDynamicState2
- java.lang.Object
-
- org.lwjgl.vulkan.EXTExtendedDynamicState2
-
public class EXTExtendedDynamicState2 extends java.lang.ObjectThis extension adds some more dynamic state to support applications that need to reduce the number of pipeline state objects they compile and bind.Promotion to Vulkan 1.3
This extension has been partially promoted. The dynamic state enumerants
DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT,DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, andDYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; and the corresponding entry points in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. The enumerants and entry points 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.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
- Deprecation state
- Promoted to Vulkan 1.3
- Contact
- Vikram Kushwaha vkushwaha-nv
Other Extension Metadata
- Last Modified Date
- 2021-04-12
- Interactions and External Dependencies
- Promoted to Vulkan 1.3 Core
- IP Status
- No known IP claims.
- Contributors
- Vikram Kushwaha, NVIDIA
- Piers Daniell, NVIDIA
- Jeff Bolz, NVIDIA
-
-
Field Summary
Fields Modifier and Type Field Description static intVK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT
VK_DYNAMIC_STATE_LOGIC_OP_EXT
VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT
VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXTExtendsVkDynamicState.static java.lang.StringVK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAMEThe extension name.static intVK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSIONThe extension specification version.static intVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXTExtendsVkStructureType.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static 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 Detail
-
VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION
The extension specification version.
-
VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME
The extension name.
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
ExtendsVkStructureType.
-
-
Method Detail
-
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 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
- The extendedDynamicState2PatchControlPoints feature must be enabled
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
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 Supported Queue Types Primary Secondary Both Graphics - Parameters:
commandBuffer- the command buffer into which the command will be recorded.patchControlPoints- specifies the number of control points per patch.
-
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 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
- The extendedDynamicState2LogicOp feature must be enabled
Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlelogicOpmust be a validVkLogicOpvaluecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support graphics operations
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 Supported Queue Types Primary Secondary Both Graphics - Parameters:
commandBuffer- the command buffer into which the command will be recorded.logicOp- specifies the logical operation to apply for blend state.
-
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
-
-