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 support for Vulkan 1.0

- Requires `VK_NV_framebuffer_mixed_samples` to be enabled for any device-level functionality

## Contact

- Kedarnath Thangudu kthangudu

## 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 color sample coverage from the pixel coverage. This extension defines the following modes to control how this reduction is performed.

- Merge: When there are more samples in the pixel coverage than color samples, there is an implementation-dependent association of each pixel coverage sample to a color sample. In the merge mode, the color sample coverage is computed such that only if any associated sample in the pixel coverage is covered, the color sample is covered. 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; 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 2014-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0