include::meta/VK_NV_sample_mask_override_coverage.txt[]

*Last Modified Date*::
    2016-12-08
*IP Status*::
    No known IP claims.
*Interactions and External Dependencies*::
  - This extension requires the
    https://www.khronos.org/registry/spir-v/extensions/NV/SPV_NV_sample_mask_override_coverage.html[+SPV_NV_sample_mask_override_coverage+]
    SPIR-V extension.
  - This extension requires the
    https://www.khronos.org/registry/OpenGL/extensions/NV/NV_sample_mask_override_coverage.txt[+GL_NV_sample_mask_override_coverage+]
    extension for GLSL source languages.
*Contributors*::
  - Daniel Koch, NVIDIA
  - Jeff Bolz, NVIDIA

This extension adds support for the following SPIR-V extension in Vulkan:

  * +SPV_NV_sample_mask_override_coverage+

The extension provides access to the code:OverrideCoverageNV decoration
under the code:SampleMaskOverrideCoverageNV capability.
Adding this decoration to a variable with the code:SampleMask builtin
decoration allows the shader to modify the coverage mask and affect which
samples are used to process the fragment.

When using GLSL source-based shader languages, the code:override_coverage
layout qualifier from +GL_NV_sample_mask_override_coverage+ maps to the
code:OverrideCoverageNV decoration.
To use the code:override_coverage layout qualifier in GLSL the
+GL_NV_sample_mask_override_coverage+ extension must be enabled.
Behavior is described in the +GL_NV_sample_mask_override_coverage+ extension
spec.

=== New Object Types

None.

=== New Enum Constants

None.

=== New Enums

None.

=== New Structures

None.

=== New Functions

None.

=== New Built-In Variables

None.

=== New Variable Decoration

  * <<interfaces-builtin-variables-samplemask,OverrideCoverageNV in
    SampleMask>>

=== New SPIR-V Capabilities

  * <<spirvenv-capabilities-table-samplemaskoverridecoverage,SampleMaskOverrideCoverageNV>>

=== Issues

None.

=== Version History

  * Revision 1, 2016-12-08 (Piers Daniell)
    - Internal revisions
