Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data PipelineCoverageModulationStateCreateInfoNV = PipelineCoverageModulationStateCreateInfoNV {}
- newtype PipelineCoverageModulationStateCreateFlagsNV = PipelineCoverageModulationStateCreateFlagsNV Flags
- newtype CoverageModulationModeNV where
- CoverageModulationModeNV Int32
- pattern COVERAGE_MODULATION_MODE_NONE_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_RGB_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_ALPHA_NV :: CoverageModulationModeNV
- pattern COVERAGE_MODULATION_MODE_RGBA_NV :: CoverageModulationModeNV
- type NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION = 1
- pattern NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: forall a. Integral a => a
- type NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples"
- pattern NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data PipelineCoverageModulationStateCreateInfoNV Source #
VkPipelineCoverageModulationStateCreateInfoNV - Structure specifying parameters controlling coverage modulation
Description
If coverageModulationTableEnable
is
FALSE
, then for each color sample the
associated bits of the pixel 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
AttachmentDescription
::samples
for any color attachments - R = popcount(associated coverage bits) / (N / M)
If coverageModulationTableEnable
is
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 COVERAGE_MODULATION_MODE_NONE_NV
.
If the
coverage reduction mode
is
COVERAGE_REDUCTION_MODE_TRUNCATE_NV
,
each color sample is associated with only a single coverage sample. In
this case, it is as if coverageModulationMode
is
COVERAGE_MODULATION_MODE_NONE_NV
.
Valid Usage
- If
coverageModulationTableEnable
isTRUE
,coverageModulationTableCount
must be equal to the number of rasterization samples divided by the number of color samples in the subpass
Valid Usage (Implicit)
flags
must be0
coverageModulationMode
must be a validCoverageModulationModeNV
value
See Also
Bool32
, CoverageModulationModeNV
,
PipelineCoverageModulationStateCreateFlagsNV
,
StructureType
PipelineCoverageModulationStateCreateInfoNV | |
|
Instances
newtype PipelineCoverageModulationStateCreateFlagsNV Source #
VkPipelineCoverageModulationStateCreateFlagsNV - Reserved for future use
Description
PipelineCoverageModulationStateCreateFlagsNV
is a bitmask type for
setting a mask, but is currently reserved for future use.
See Also
Instances
newtype CoverageModulationModeNV Source #
VkCoverageModulationModeNV - Specify the coverage modulation mode
See Also
pattern COVERAGE_MODULATION_MODE_NONE_NV :: CoverageModulationModeNV |
|
pattern COVERAGE_MODULATION_MODE_RGB_NV :: CoverageModulationModeNV |
|
pattern COVERAGE_MODULATION_MODE_ALPHA_NV :: CoverageModulationModeNV |
|
pattern COVERAGE_MODULATION_MODE_RGBA_NV :: CoverageModulationModeNV |
|
Instances
pattern NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME = "VK_NV_framebuffer_mixed_samples" Source #
pattern NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #