vulkan-2.0.0.1: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_NV_framebuffer_mixed_samples

Synopsis

Documentation

newtype VkCoverageModulationModeNV Source #

VkCoverageModulationModeNV - Specify the discard rectangle mode

See Also

VkPipelineCoverageModulationStateCreateInfoNV

Instances
Eq VkCoverageModulationModeNV Source # 
Instance details
Ord VkCoverageModulationModeNV Source # 
Instance details
Read VkCoverageModulationModeNV Source # 
Instance details
Show VkCoverageModulationModeNV Source # 
Instance details
Storable VkCoverageModulationModeNV Source # 
Instance details

pattern VK_COVERAGE_MODULATION_MODE_NONE_NV :: VkCoverageModulationModeNV Source #

VK_COVERAGE_MODULATION_MODE_NONE_NV specifies that no components are multiplied by the modulation factor.

pattern VK_COVERAGE_MODULATION_MODE_RGB_NV :: VkCoverageModulationModeNV Source #

VK_COVERAGE_MODULATION_MODE_RGB_NV specifies that the red, green, and blue components are multiplied by the modulation factor.

pattern VK_COVERAGE_MODULATION_MODE_ALPHA_NV :: VkCoverageModulationModeNV Source #

VK_COVERAGE_MODULATION_MODE_ALPHA_NV specifies that the alpha component is multiplied by the modulation factor.

pattern VK_COVERAGE_MODULATION_MODE_RGBA_NV :: VkCoverageModulationModeNV Source #

VK_COVERAGE_MODULATION_MODE_RGBA_NV specifies that all components are multiplied by the modulation factor.

newtype VkPipelineCoverageModulationStateCreateFlagsNV Source #

VkPipelineCoverageModulationStateCreateFlagsNV - Reserved for future use

Description

VkPipelineCoverageModulationStateCreateFlagsNV is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

VkPipelineCoverageModulationStateCreateInfoNV

Instances
Eq VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details
Ord VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details
Read VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details
Show VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details
Storable VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details
Bits VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details

Methods

(.&.) :: VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV #

(.|.) :: VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV #

xor :: VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV #

complement :: VkPipelineCoverageModulationStateCreateFlagsNV -> VkPipelineCoverageModulationStateCreateFlagsNV #

shift :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

rotate :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

zeroBits :: VkPipelineCoverageModulationStateCreateFlagsNV #

bit :: Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

setBit :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

clearBit :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

complementBit :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

testBit :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> Bool #

bitSizeMaybe :: VkPipelineCoverageModulationStateCreateFlagsNV -> Maybe Int #

bitSize :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int #

isSigned :: VkPipelineCoverageModulationStateCreateFlagsNV -> Bool #

shiftL :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

unsafeShiftL :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

shiftR :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

unsafeShiftR :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

rotateL :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

rotateR :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int -> VkPipelineCoverageModulationStateCreateFlagsNV #

popCount :: VkPipelineCoverageModulationStateCreateFlagsNV -> Int #

FiniteBits VkPipelineCoverageModulationStateCreateFlagsNV Source # 
Instance details

data VkPipelineCoverageModulationStateCreateInfoNV Source #

VkPipelineCoverageModulationStateCreateInfoNV - Structure specifying parameters controlling coverage modulation

Description

If coverageModulationTableEnable is VK_FALSE, then for each color sample the associated bits of the fragment’s coverage are counted and divided by the number of associated bits to produce a modulation factor R in the range (0,1] (a value of zero would have been killed due to a color coverage of 0). Specifically:

  • N = value of rasterizationSamples
  • M = value of VkAttachmentDescription::samples for any color attachments
  • R = popcount(associated coverage bits) / (N / M)

If coverageModulationTableEnable is VK_TRUE, the value R is computed using a programmable lookup table. The lookup table has N / M elements, and the element of the table is selected by:

  • R = pCoverageModulationTable[popcount(associated coverage bits)-1]

Note that the table does not have an entry for popcount(associated coverage bits) = 0, because such samples would have been killed.

The values of pCoverageModulationTable may be rounded to an implementation-dependent precision, which is at least as fine as 1 / N, and clamped to [0,1].

For each color attachment with a floating point or normalized color format, each fragment output color value is replicated to M values which can each be modulated (multiplied) by that color sample’s associated value of R. Which components are modulated is controlled by coverageModulationMode.

If this structure is not present, it is as if coverageModulationMode is VK_COVERAGE_MODULATION_MODE_NONE_NV.

Valid Usage

  • If coverageModulationTableEnable is VK_TRUE, coverageModulationTableCount must be equal to the number of rasterization samples divided by the number of color samples in the subpass.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV
  • flags must be 0
  • coverageModulationMode must be a valid VkCoverageModulationModeNV value
  • coverageModulationTableCount must be greater than 0

See Also

VkBool32, VkCoverageModulationModeNV, VkPipelineCoverageModulationStateCreateFlagsNV, VkStructureType

Constructors

VkPipelineCoverageModulationStateCreateInfoNV 

Fields