KhronosGroup / KhronosGroup/Vulkan-Docs
Opaque nature of depth buffers not sufficiently specified
- 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
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