Vulkan-Docs/appendices/VK_NV_coverage_reduction_mode.txt

74 lines
2.4 KiB
Plaintext
Raw Permalink Normal View History

Change log for May 13, 2019 Vulkan 1.1.108 spec update: * Update release number to 108. Internal Issues: * Clarify that only external resources can be bound to external memory in valid usage statements for flink:vkBindBufferMemory, flink:vkBindImageMemory, slink:VkSparseMemoryBind, and slink:VkSparseImageMemoryBind (internal issue 1496). * Move all `vk.xml`requirements for flink:vkGetDeviceGroupSurfacePresentModes2EXT into `<<VK_EXT_full_screen_exclusive>>` (internal issue 1622). * Add some missing valid usage statements for flink:vkCmdEndQueryIndexedEXT (internal issue 1638). * Specify rules for defining "`New Flags and Bitmask Types`" in that section of the style guide (internal issue 1649). * Add a comment to the `vk.xml` extension block for `VK_ANDROID_native_buffer` explaining why the extension is tagged `"disabled"` (internal issue 1657). * Fix typos in the description of slink:VkImageViewCreateInfo (internal issue 1661). * Modify valid usage statements for slink:VkImageViewCreateInfo to fix the description about the restriction for pname:baseArrayLayer and pname:layerCount from pname:extent.depth to the depth of mipmap level while creating a 2D array image view on a 3D image. * Forbid structures that contain opaque types (images or samplers) in the SPIR-V <<spirvenv-module-validation, Validation Rules within a Module>> section. * Minor editorial changes for the `VK_EXT_swapchain_colorspace` extension in the description of slink:VkColorSpace KHR and `vk.xml`, including: ** Consistently specify which function (OETF or Inverse-EOTF) is being defined; ** Remove the Display P3 EOTF, since no other EOTFs are defined; ** Include luminance range for the HLG OETF; ** Remove a duplicated paragraph; and, ** Rename ename:VK_COLOR_SPACE_DISPLAY_P3_LINEAR_EXT, leaving the old ename:VK_COLOR_SPACE_DCI_P3_LINEAR_EXT token as an alias. New Extensions: * `<<VK_NV_framebuffer_mixed_samples_coverage_reduction_mode>>` * `<<VK_KHR_uniform_buffer_standard_layout>>`
2019-05-13 01:49:34 -07:00
include::meta/VK_NV_coverage_reduction_mode.txt[]
*Last Modified Date*::
2019-01-29
*Contributors*::
- Kedarnath Thangudu, NVIDIA
- Jeff Bolz, NVIDIA
When using a framebuffer with mixed samples, a per-fragment coverage
reduction operation is performed which generates a color sample mask from
the coverage mask.
This extension defines the following modes to control how this reduction is
performed.
* Merge: When there are more raster samples than color samples, there is
an implementation dependent association of each raster sample to a color
sample.
In the merge mode, the reduced color sample mask is computed such that
the bit for each color sample is 1 if any of the associated bits in the
fragments coverage is on, and 0 otherwise.
This is the default mode.
* Truncate: When there are more raster samples (N) than color samples(M),
there is one to one association of the first M raster samples to the M
color samples and the coverage bits for the other raster samples are
ignored.
When the number of raster samples is equal to the color samples, there is a
one to one mapping between them in either of the above modes.
The new command
flink:vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV can
be used to query the various raster, color, depth/stencil sample count and
reduction mode combinations that are supported by the implementation.
This extension would allow an implementation to support the behavior of both
`VK_NV_framebuffer_mixed_samples` and `VK_AMD_mixed_attachment_samples`
extensions simultaneously.
=== New Object Types
None.
=== New Enum Constants
* Extending elink:VkStructureType
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
** ename:VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV
** ename:VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV
=== New Enums
* elink:VkCoverageReductionModeNV
* tlink:VkPipelineCoverageReductionStateCreateFlagsNV
=== New Structures
* slink:VkPhysicalDeviceCoverageReductionModeFeaturesNV
* slink:VkPipelineCoverageReductionStateCreateInfoNV
* slink:VkFramebufferMixedSamplesCombinationNV
=== New Functions
* flink:vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
=== Issues
None.
=== Version History
* Revision 1, 2019-01-29 (Kedarnath Thangudu)
- Internal revisions