Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_NV_coverage_reduction_mode - device extension
VK_NV_coverage_reduction_mode
- Name String
VK_NV_coverage_reduction_mode
- Extension Type
- Device extension
- 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
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
getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
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
New Structures
Extending
PhysicalDeviceFeatures2
,DeviceCreateInfo
:Extending
PipelineMultisampleStateCreateInfo
:
New Enums
New Bitmasks
New Enum Constants
Version History
Revision 1, 2019-01-29 (Kedarnath Thangudu)
- Internal revisions
See Also
CoverageReductionModeNV
, FramebufferMixedSamplesCombinationNV
,
PhysicalDeviceCoverageReductionModeFeaturesNV
,
PipelineCoverageReductionStateCreateFlagsNV
,
PipelineCoverageReductionStateCreateInfoNV
,
getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
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.
Synopsis
- getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: forall io. MonadIO io => PhysicalDevice -> io (Result, "combinations" ::: Vector FramebufferMixedSamplesCombinationNV)
- data PhysicalDeviceCoverageReductionModeFeaturesNV = PhysicalDeviceCoverageReductionModeFeaturesNV {}
- data PipelineCoverageReductionStateCreateInfoNV = PipelineCoverageReductionStateCreateInfoNV {}
- data FramebufferMixedSamplesCombinationNV = FramebufferMixedSamplesCombinationNV {}
- newtype PipelineCoverageReductionStateCreateFlagsNV = PipelineCoverageReductionStateCreateFlagsNV Flags
- newtype CoverageReductionModeNV where
- type NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION = 1
- pattern NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION :: forall a. Integral a => a
- type NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME = "VK_NV_coverage_reduction_mode"
- pattern NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV Source #
:: forall io. MonadIO io | |
=> PhysicalDevice |
|
-> io (Result, "combinations" ::: Vector FramebufferMixedSamplesCombinationNV) |
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV - Query supported sample count combinations
Description
If pCombinations
is NULL
, then the number of supported combinations
for the given physicalDevice
is returned in pCombinationCount
.
Otherwise, pCombinationCount
must point to a variable set by the
user to the number of elements in the pCombinations
array, and on
return the variable is overwritten with the number of values actually
written to pCombinations
. If the value of pCombinationCount
is less
than the number of combinations supported for the given
physicalDevice
, at most pCombinationCount
values will be written to
pCombinations
, and INCOMPLETE
will be
returned instead of SUCCESS
, to indicate
that not all the supported values were returned.
Valid Usage (Implicit)
-
physicalDevice
must be a validPhysicalDevice
handle
-
pCombinationCount
must be a valid pointer to auint32_t
value -
If the value referenced by
pCombinationCount
is not0
, andpCombinations
is notNULL
,pCombinations
must be a valid pointer to an array ofpCombinationCount
FramebufferMixedSamplesCombinationNV
structures
Return Codes
See Also
VK_NV_coverage_reduction_mode,
FramebufferMixedSamplesCombinationNV
,
PhysicalDevice
data PhysicalDeviceCoverageReductionModeFeaturesNV Source #
VkPhysicalDeviceCoverageReductionModeFeaturesNV - Structure describing the coverage reduction mode features that can be supported by an implementation
Members
This structure describes the following feature:
Description
If the PhysicalDeviceCoverageReductionModeFeaturesNV
structure is
included in the pNext
chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2
,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceCoverageReductionModeFeaturesNV
can also be
used in the pNext
chain of DeviceCreateInfo
to
selectively enable these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceCoverageReductionModeFeaturesNV | |
|
Instances
data PipelineCoverageReductionStateCreateInfoNV Source #
VkPipelineCoverageReductionStateCreateInfoNV - Structure specifying parameters controlling coverage reduction
Description
If this structure is not included in the pNext
chain, or if the
extension is not enabled, the default coverage reduction mode is
inferred as follows:
- If the
VK_NV_framebuffer_mixed_samples
extension is enabled, then it is as if thecoverageReductionMode
isCOVERAGE_REDUCTION_MODE_MERGE_NV
. - If the
VK_AMD_mixed_attachment_samples
extension is enabled, then it is as if thecoverageReductionMode
isCOVERAGE_REDUCTION_MODE_TRUNCATE_NV
. - If both
VK_NV_framebuffer_mixed_samples
andVK_AMD_mixed_attachment_samples
are enabled, then the default coverage reduction mode is implementation-dependent.
Valid Usage (Implicit)
-
flags
must be0
-
coverageReductionMode
must be a validCoverageReductionModeNV
value
See Also
VK_NV_coverage_reduction_mode,
CoverageReductionModeNV
,
PipelineCoverageReductionStateCreateFlagsNV
,
StructureType
PipelineCoverageReductionStateCreateInfoNV | |
|
Instances
data FramebufferMixedSamplesCombinationNV Source #
VkFramebufferMixedSamplesCombinationNV - Structure specifying a supported sample count combination
Valid Usage (Implicit)
See Also
VK_NV_coverage_reduction_mode,
CoverageReductionModeNV
,
SampleCountFlagBits
,
SampleCountFlags
,
StructureType
,
getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
FramebufferMixedSamplesCombinationNV | |
|
Instances
newtype PipelineCoverageReductionStateCreateFlagsNV Source #
VkPipelineCoverageReductionStateCreateFlagsNV - Reserved for future use
Description
PipelineCoverageReductionStateCreateFlagsNV
is a bitmask type for
setting a mask, but is currently reserved for future use.
See Also
VK_NV_coverage_reduction_mode,
PipelineCoverageReductionStateCreateInfoNV
Instances
newtype CoverageReductionModeNV Source #
VkCoverageReductionModeNV - Specify the coverage reduction mode
See Also
VK_NV_coverage_reduction_mode,
FramebufferMixedSamplesCombinationNV
,
PipelineCoverageReductionStateCreateInfoNV
,
cmdSetCoverageReductionModeNV
pattern COVERAGE_REDUCTION_MODE_MERGE_NV :: CoverageReductionModeNV |
|
pattern COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: CoverageReductionModeNV |
|
Instances
pattern NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME = "VK_NV_coverage_reduction_mode" Source #
pattern NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #