VK_NV_coverage_reduction_mode(3)

# VK_NV_coverage_reduction_mode(3) Manual Page

## Name

VK_NV_coverage_reduction_mode - device extension

Loading... please wait.

## Registered Extension Number

251

## Revision

1

## Extension and Version Dependencies

- Requires Vulkan 1.0

- Requires `VK_NV_framebuffer_mixed_samples`

### Other Extension Metadata

Last Modified Date

  2019-01-29

Contributors

  - Kedarnath Thangudu, NVIDIA

  - Jeff Bolz, NVIDIA

### Description

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 fragment’s 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 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 Commands

- vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV

### New Structures

- VkFramebufferMixedSamplesCombinationNV

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceCoverageReductionModeFeaturesNV

- Extending VkPipelineMultisampleStateCreateInfo:

  - VkPipelineCoverageReductionStateCreateInfoNV

### New Enums

- VkCoverageReductionModeNV

### New Bitmasks

- VkPipelineCoverageReductionStateCreateFlagsNV

### New Enum Constants

- `VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME`

- `VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV`

  - `VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV`

### Version History

- Revision 1, 2019-01-29 (Kedarnath Thangudu)

  - Internal revisions

## See Also

VkCoverageReductionModeNV, VkFramebufferMixedSamplesCombinationNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPipelineCoverageReductionStateCreateFlagsNV, VkPipelineCoverageReductionStateCreateInfoNV, vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.