blob: dadd69eb24388c4c96e39d223dadd9d957f9333c [file] [log] [blame]
// Copyright 2017-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
include::{generated}/meta/{refprefix}VK_EXT_post_depth_coverage.txt[]
=== Other Extension Metadata
*Last Modified Date*::
2017-07-17
*Interactions and External Dependencies*::
- This extension requires
{spirv}/KHR/SPV_KHR_post_depth_coverage.html[`SPV_KHR_post_depth_coverage`]
- This extension provides API support for
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_post_depth_coverage.txt[`GL_ARB_post_depth_coverage`]
and
https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_post_depth_coverage.txt[`GL_EXT_post_depth_coverage`]
*Contributors*::
- Jeff Bolz, NVIDIA
=== Description
This extension adds support for the following SPIR-V extension in Vulkan:
* `SPV_KHR_post_depth_coverage`
which allows the fragment shader to control whether values in the
code:SampleMask built-in input variable reflect the coverage after early
<<fragops-depth,depth>> and <<fragops-stencil,stencil>> tests are applied.
This extension adds a new code:PostDepthCoverage execution mode under the
code:SampleMaskPostDepthCoverage capability.
When this mode is specified along with code:EarlyFragmentTests, the value of
an input variable decorated with the
<<interfaces-builtin-variables-samplemask, code:SampleMask>> built-in
reflects the coverage after the <<shaders-fragment-earlytest, early fragment
tests>> are applied.
Otherwise, it reflects the coverage before the depth and stencil tests.
When using GLSL source-based shading languages, the code:post_depth_coverage
layout qualifier from GL_ARB_post_depth_coverage or
GL_EXT_post_depth_coverage maps to the code:PostDepthCoverage execution
mode.
include::{generated}/interfaces/VK_EXT_post_depth_coverage.txt[]
=== New SPIR-V Capabilities
* <<spirvenv-capabilities-table-SampleMaskPostDepthCoverage,SampleMaskPostDepthCoverage>>
=== Version History
* Revision 1, 2017-07-17 (Daniel Koch)
- Internal revisions