## C Specification

If the pipeline’s VkPipelineMultisampleStateCreateInfo::rasterizationSamples is greater than the VkAttachmentDescription::samples of the color attachments in the subpass, then the fragment’s coverage is reduced from rasterizationSamples bits to a color sample mask with VkAttachmentDescription::samples bits.

When the VK_NV_coverage_reduction_mode extension is enabled, the pipeline state controlling coverage reduction is specified through the members of the VkPipelineCoverageReductionStateCreateInfoNV structure.

The VkPipelineCoverageReductionStateCreateInfoNV structure is defined as:

typedef struct VkPipelineCoverageReductionStateCreateInfoNV {
VkStructureType                                  sType;
const void*                                      pNext;
VkPipelineCoverageReductionStateCreateFlagsNV    flags;
VkCoverageReductionModeNV                        coverageReductionMode;
} VkPipelineCoverageReductionStateCreateInfoNV;

## Members

• sType is the type of this structure.

• pNext is NULL or a pointer to an extension-specific structure.

• flags is reserved for future use.

• coverageReductionMode is a VkCoverageReductionModeNV value controlling how the color sample mask is generated from the coverage mask.

## Description

If this structure is not present, the default coverage reduction mode is inferred as follows:

• If the VK_NV_framebuffer_mixed_samples extension is enabled, then it is as if the coverageReductionMode is VK_COVERAGE_REDUCTION_MODE_MERGE_NV.

• If the VK_AMD_mixed_attachment_samples extension is enabled, then it is as if the coverageReductionMode is VK_COVERAGE_REDUCTION_MODE_TRUNCATE_NV.

• If both VK_NV_framebuffer_mixed_samples and VK_AMD_mixed_attachment_samples are enabled, then the default coverage reduction mode is implementation-dependent.

Valid Usage (Implicit)
• sType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV

• flags must be 0

• coverageReductionMode must be a valid VkCoverageReductionModeNV value