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 #