C Specification
To dynamically set enable or disable depth clamping, call:
// Provided by VK_EXT_extended_dynamic_state3, VK_EXT_shader_object
void vkCmdSetDepthClampEnableEXT(
VkCommandBuffer commandBuffer,
VkBool32 depthClampEnable);
Parameters
-
commandBufferis the command buffer into which the command will be recorded. -
depthClampEnablespecifies whether depth clamping is enabled.
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
VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT set in
VkPipelineDynamicStateCreateInfo::pDynamicStates.
Otherwise, this state is specified by the
VkPipelineRasterizationStateCreateInfo::depthClampEnable value
used to create the currently active pipeline.
If the depth clamping state is changed dynamically, and the pipeline was not created with VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT enabled, then depth clipping is enabled when depth clamping is disabled and vice versa.
If the maintenance11 feature is enabled,
the above statement is further clarified to state that the depth clipping
state is only affected by the current value
of depthClampEnable if the pipeline was not created with the
VkPipelineRasterizationDepthClipStateCreateInfoEXT structure.
If VkPipelineRasterizationDepthClipStateCreateInfoEXT was included in
the pipeline creation then the depth clipping state is set explicitly by
VkPipelineRasterizationDepthClipStateCreateInfoEXT::depthClipEnable
and not changed when the depth clamping state is modified.
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.