14

1

## Other Extension Metadata

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: This situation can also arise without this extension (when fragment shaders replace depth values, for example), and this extension does not change the behaviour, which is defined in the Depth Test section of the Fragment Operations chapter.

## Version History

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

• Internal revisions