KhronosGroup / KhronosGroup/Vulkan-Docs

Opaque nature of depth buffers not sufficiently specified

Open
#1,192 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
3.3k
Forks
549
Avg merge
5d 5h
Merged PRs (30d)
2

Description

I think the opaque nature of depth buffers is not sufficiently specified.

The formats have `UNORM` and are refered to as unsigned normalized many times.

For color attachments it is nicely said what happens:

> If the color attachment has a signed or unsigned normalized fixed-point format, color values are assumed to be floating-point and are converted to fixed-point as described in Conversion from Floating-Point to Normalized Fixed-Point;

For depth buffers this is not stated (or noted it is unspecified), and instead there is bit misleading:

> If the depth test passes, the sample’s (possibly clamped) **zf** value is conditionally written to the depth framebuffer attachment based on the `depthWriteEnable` member of `VkPipelineDepthStencilStateCreateInfo`.

Contributor guide

Open the contributing guide

Research direction

Start by comparing the cited depth-buffer write wording with the specification's color-attachment conversion passage. Determine whether normalized depth formats require an explicit conversion rule or an explicit statement that the behavior is unspecified; the issue is done when the Vulkan specification resolves that ambiguity consistently.

Written by the indexing model from the issue text.

Assessment

Domain
computer-graphics, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.