vkCmdSetDepthClampRangeEXT
To dynamically set the viewport depth clamp range parameters, call:
void vkCmdSetDepthClampRangeEXT(
VkCommandBuffer commandBuffer,
VkDepthClampModeEXT depthClampMode,
const VkDepthClampRangeEXT* pDepthClampRange);
commandBufferis the command buffer into which the command will be recorded.depthClampModedetermines how the clamp range is determined for each viewport.pDepthClampRangesets the depth clamp range for all viewports ifdepthClampModeisVK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT.
This command sets the viewport depth clamp range for subsequent drawing
commands
when drawing using shader objects, or
when the graphics pipeline is created with
VK_DYNAMIC_STATE_DEPTH_CLAMP_RANGE_EXT set in
VkPipelineDynamicStateCreateInfo::pDynamicStates.
Otherwise, this state is specified by the
VkPipelineViewportDepthClampControlCreateInfoEXT::depthClampMode
value used to create the currently active pipeline.
Valid Usage
VUID-vkCmdSetDepthClampRangeEXT-pDepthClampRange-09647
If depthClampMode is
VK_DEPTH_CLAMP_MODE_USER_DEFINED_RANGE_EXT, then
pDepthClampRange must be a valid pointer to a valid
VkDepthClampRangeEXT structure
Valid Usage (Implicit)
VUID-vkCmdSetDepthClampRangeEXT-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetDepthClampRangeEXT-depthClampMode-parameter
depthClampMode must be a valid VkDepthClampModeEXT value
VUID-vkCmdSetDepthClampRangeEXT-pDepthClampRange-parameter
If pDepthClampRange is not NULL, pDepthClampRange must be a valid pointer to a valid VkDepthClampRangeEXT structure
VUID-vkCmdSetDepthClampRangeEXT-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdSetDepthClampRangeEXT-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetDepthClampRangeEXT-videocoding
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 ::