14

1

## Extension and Version Dependencies

• Requires Vulkan 1.0

## Contact

2017-06-22

Contributors
• Daniel Koch, NVIDIA

• Jeff Bolz, NVIDIA

## Description

This extension removes the VkViewport minDepth and maxDepth restrictions that the values must be between 0.0 and 1.0, inclusive. It also removes the same restriction on VkPipelineDepthStencilStateCreateInfo minDepthBounds and maxDepthBounds. Finally it removes the restriction on the depth value in VkClearDepthStencilValue.

## New Enum Constants

• VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME

• VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION

## Issues

1) How do VkViewport minDepth and maxDepth values outside of the 0.0 to 1.0 range interact with Primitive Clipping?

RESOLVED: The behavior described in Primitive Clipping still applies. If depth clamping is disabled the depth values are still clipped to 0 ≤ zc ≤ wc before the viewport transform. If depth clamping is enabled the above equation is ignored and the depth values are instead clamped to the VkViewport minDepth and maxDepth values, which in the case of this extension can be outside of the 0.0 to 1.0 range.

2) What happens if a resulting depth fragment is outside of the 0.0 to 1.0 range and the depth buffer is fixed-point rather than floating-point?

RESOLVED: The supported range of a fixed-point depth buffer is 0.0 to 1.0 and depth fragments are clamped to this range.

## Version History

• Revision 1, 2017-06-22 (Piers Daniell)

• Internal revisions