The depth bounds test conditionally disables coverage of a sample based on
the outcome of a comparison between the value za in the depth
attachment at location (xf,yf) (for the appropriate sample) and a
range of values.
The test is enabled or disabled by the depthBoundsTestEnable
member of
VkPipelineDepthStencilStateCreateInfo
: If the pipeline state object is
created without the VK_DYNAMIC_STATE_DEPTH_BOUNDS
dynamic state
enabled then the range of values used in the depth bounds test are defined
by the minDepthBounds
and maxDepthBounds
members of the
VkPipelineDepthStencilStateCreateInfo
structure.
Otherwise, to dynamically set the depth bounds range values call:
void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
commandBuffer
is the command buffer into which the command will be
recorded.
minDepthBounds
is the lower bound of the range of depth values
used in the depth bounds test.
maxDepthBounds
is the upper bound of the range.
If minDepthBounds
≤ za ≤ maxDepthBounds
}, then
the depth bounds test passes.
Otherwise, the test fails and the sample’s coverage bit is cleared in the
fragment.
If there is no depth framebuffer attachment or if the depth bounds test is
disabled, it is as if the depth bounds test always passes.