mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-09 21:45:49 +00:00
dd9919749a
* Update release number to 83. Public Issues: * Use [%inline] directive for all SVGs to reduce file size (public pull request 734). * Convert XML `value` aliases into \<alias> tags (public pull request 747). * Fix metadoc script showing non-selected extensions (public pull request 748). * Reapply public pull request 742 to make ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT part of the graphices pipeline (public pull request 749). * Fix numerous typos related to accidental duplication of words (public pull request 760). * Fix `vk.xml` contact typos (public pull request 761). Internal Issues: * Add images to the <<Standard sample locations>> table (internal issue 1115). * Add a definition of "`Inherited from`" precision in the <<spirvenv-precision-operation, Precision and Operation of SPIR-V Instructions>> section (internal issue 1314). * Clarify that both built-in and user-defined variables count against the location limits for shader interfaces in the <<interfaces-iointerfaces-locations, Location Assignment>> section (internal issue 1316). * Merge "`required`" capabilities into the <<spirvenv-capabilities-table, list of optional: SPIR-V capabilities>> (internal issue 1320). * Relax the layout matching rules of descriptors referring to only a single aspect of a depth/stencil image, by reference to the new <<resources-image-layouts-matching-rule, Image Layout Matching Rules>> section (internal issue 1346). * Revert extension metadoc generator warning about name mismatches to a diagnostic, due to annoying warnings in build output for conscious choices we've made (internal issue 1351). Other Issues: * Reserve bits for pending vendor extensions. * Make Vulkan consistent with SPIR-V regarding code:DepthReplacing and code:FragDepth in the <<interfaces-builtin-variables, Built-In Variables>> section. * Add missing ChangeLog entries for the previous three spec updates.
77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
include::meta/VK_NV_framebuffer_mixed_samples.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2017-06-04
|
|
*Contributors*::
|
|
- Jeff Bolz, NVIDIA
|
|
|
|
This extension allows multisample rendering with a raster and depth/stencil
|
|
sample count that is larger than the color sample count.
|
|
Rasterization and the results of the depth and stencil tests together
|
|
determine the portion of a pixel that is "`covered`".
|
|
It can be useful to evaluate coverage at a higher frequency than color
|
|
samples are stored.
|
|
This coverage is then "`reduced`" to a collection of covered color samples,
|
|
each having an opacity value corresponding to the fraction of the color
|
|
sample covered.
|
|
The opacity can optionally be blended into individual color samples.
|
|
|
|
Rendering with fewer color samples than depth/stencil samples greatly
|
|
reduces the amount of memory and bandwidth consumed by the color buffer.
|
|
However, converting the coverage values into opacity introduces artifacts
|
|
where triangles share edges and may: not be suitable for normal triangle
|
|
mesh rendering.
|
|
|
|
One expected use case for this functionality is Stencil-then-Cover path
|
|
rendering (similar to the OpenGL GL_NV_path_rendering extension).
|
|
The stencil step determines the coverage (in the stencil buffer) for an
|
|
entire path at the higher sample frequency, and then the cover step draws
|
|
the path into the lower frequency color buffer using the coverage
|
|
information to antialias path edges.
|
|
With this two-step process, internal edges are fully covered when
|
|
antialiasing is applied and there is no corruption on these edges.
|
|
|
|
The key features of this extension are:
|
|
|
|
* It allows render pass and framebuffer objects to be created where the
|
|
number of samples in the depth/stencil attachment in a subpass is a
|
|
multiple of the number of samples in the color attachments in the
|
|
subpass.
|
|
* A coverage reduction step is added to Fragment Operations which converts
|
|
a set of covered raster/depth/stencil samples to a set of color samples
|
|
that perform blending and color writes.
|
|
The coverage reduction step also includes an optional coverage
|
|
modulation step, multiplying color values by a fractional opacity
|
|
corresponding to the number of associated raster/depth/stencil samples
|
|
covered.
|
|
|
|
=== New Object Types
|
|
|
|
None.
|
|
|
|
=== New Enum Constants
|
|
|
|
None.
|
|
|
|
=== New Enums
|
|
|
|
* elink:VkCoverageModulationModeNV
|
|
* elink:VkPipelineCoverageModulationStateCreateFlagsNV
|
|
|
|
=== New Structures
|
|
|
|
* slink:VkPipelineCoverageModulationStateCreateInfoNV
|
|
|
|
=== New Functions
|
|
|
|
None.
|
|
|
|
=== Issues
|
|
|
|
None.
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2017-06-04 (Jeff Bolz)
|
|
- Internal revisions
|