Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- cmdSetFragmentShadingRateEnumNV :: forall io. MonadIO io => CommandBuffer -> FragmentShadingRateNV -> ("combinerOps" ::: (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)) -> io ()
- data PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = PhysicalDeviceFragmentShadingRateEnumsFeaturesNV {}
- data PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = PhysicalDeviceFragmentShadingRateEnumsPropertiesNV {}
- data PipelineFragmentShadingRateEnumStateCreateInfoNV = PipelineFragmentShadingRateEnumStateCreateInfoNV {}
- newtype FragmentShadingRateNV where
- FragmentShadingRateNV Int32
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV :: FragmentShadingRateNV
- pattern FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV :: FragmentShadingRateNV
- newtype FragmentShadingRateTypeNV where
- type NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION = 1
- pattern NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: forall a. Integral a => a
- type NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums"
- pattern NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype FragmentShadingRateCombinerOpKHR where
- FragmentShadingRateCombinerOpKHR Int32
- pattern FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR :: FragmentShadingRateCombinerOpKHR
- pattern FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR :: FragmentShadingRateCombinerOpKHR
- pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR :: FragmentShadingRateCombinerOpKHR
- pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR :: FragmentShadingRateCombinerOpKHR
- pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR :: FragmentShadingRateCombinerOpKHR
Documentation
cmdSetFragmentShadingRateEnumNV Source #
:: forall io. MonadIO io | |
=> CommandBuffer |
|
-> FragmentShadingRateNV |
|
-> ("combinerOps" ::: (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)) |
|
-> io () |
vkCmdSetFragmentShadingRateEnumNV - Set pipeline fragment shading rate dynamically using enums
Valid Usage
-
If
pipelineFragmentShadingRate
is not enabled,
shadingRate
must beFRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV
-
If
supersampleFragmentShadingRates
is not enabled,
shadingRate
must not beFRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV
,FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV
,FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV
, orFRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV
-
If
noInvocationFragmentShadingRates
is not enabled,
shadingRate
must not beFRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
- fragmentShadingRateEnums must be enabled
- One of pipelineFragmentShadingRate, primitiveFragmentShadingRate, or attachmentFragmentShadingRate must be enabled
-
If the
primitiveFragmentShadingRate feature
is not enabled,
combinerOps
[0] must beFRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-
If the
attachmentFragmentShadingRate feature
is not enabled,
combinerOps
[1] must beFRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-
If the
fragmentSizeNonTrivialCombinerOps
limit is not supported, elements of
combinerOps
must be eitherFRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
orFRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
Valid Usage (Implicit)
-
commandBuffer
must be a validCommandBuffer
handle
-
shadingRate
must be a validFragmentShadingRateNV
value - Any
given element of
combinerOps
must be a validFragmentShadingRateCombinerOpKHR
value -
commandBuffer
must be in the recording state - The
CommandPool
thatcommandBuffer
was allocated from must support graphics operations
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized
- Host access to the
CommandPool
thatcommandBuffer
was allocated from must be externally synchronized
Command Properties
'
Command Buffer Levels | Render Pass Scope | Supported Queue Types | Pipeline Type |
---|---|---|---|
Primary Secondary | Both | Graphics |
See Also
CommandBuffer
,
FragmentShadingRateCombinerOpKHR
,
FragmentShadingRateNV
data PhysicalDeviceFragmentShadingRateEnumsFeaturesNV Source #
VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV - Structure indicating support for fragment shading rate enums
Members
The members of the PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
structure describe the following features:
Description
If the PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
structure is
included in the pNext
chain of
PhysicalDeviceFeatures2
,
it is filled with values indicating whether each feature is supported.
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
can also be used in
the pNext
chain of DeviceCreateInfo
to enable
these features.
Valid Usage (Implicit)
See Also
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV | |
|
Instances
data PhysicalDeviceFragmentShadingRateEnumsPropertiesNV Source #
VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV - Structure describing fragment shading rate limits that can be supported by an implementation
Members
The members of the PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
structure describe the following implementation-dependent properties
related to
fragment shading rates:
Description
If the PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
structure is
included in the pNext
chain of
PhysicalDeviceProperties2
,
it is filled with the implementation-dependent limits.
Valid Usage (Implicit)
See Also
PhysicalDeviceFragmentShadingRateEnumsPropertiesNV | |
|
Instances
data PipelineFragmentShadingRateEnumStateCreateInfoNV Source #
VkPipelineFragmentShadingRateEnumStateCreateInfoNV - Structure specifying parameters controlling the fragment shading rate using rate enums
Description
If the pNext
chain of
GraphicsPipelineCreateInfo
includes a
PipelineFragmentShadingRateEnumStateCreateInfoNV
structure, then that
structure includes parameters that control the pipeline fragment shading
rate.
If this structure is not present, shadingRateType
is considered to be
equal to FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV
, shadingRate
is
considered to be equal to
FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV
, and both elements of
combinerOps
are considered to be equal to
FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
.
Valid Usage (Implicit)
-
shadingRateType
must be a validFragmentShadingRateTypeNV
value -
shadingRate
must be a validFragmentShadingRateNV
value -
Any given element of
combinerOps
must be a validFragmentShadingRateCombinerOpKHR
value
See Also
FragmentShadingRateCombinerOpKHR
,
FragmentShadingRateNV
, FragmentShadingRateTypeNV
,
StructureType
PipelineFragmentShadingRateEnumStateCreateInfoNV | |
|
Instances
newtype FragmentShadingRateNV Source #
VkFragmentShadingRateNV - Enumeration with fragment shading rates
Description
To use the shading rates
FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV
,
FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV
,
FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV
, and
FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV
as a pipeline,
primitive, or attachment shading rate, the
supersampleFragmentShadingRates
feature must be enabled. To use the
shading rate FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
as a pipeline,
primitive, or attachment shading rate, the
noInvocationFragmentShadingRates
feature must be enabled.
See Also
PipelineFragmentShadingRateEnumStateCreateInfoNV
,
cmdSetFragmentShadingRateEnumNV
Instances
newtype FragmentShadingRateTypeNV Source #
VkFragmentShadingRateTypeNV - Enumeration with fragment shading rate types
See Also
pattern FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV :: FragmentShadingRateTypeNV |
|
pattern FRAGMENT_SHADING_RATE_TYPE_ENUMS_NV :: FragmentShadingRateTypeNV |
|
Instances
pattern NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME = "VK_NV_fragment_shading_rate_enums" Source #
pattern NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype FragmentShadingRateCombinerOpKHR Source #
VkFragmentShadingRateCombinerOpKHR - Control how fragment shading rates are combined
Description
where combine(Axy,Bxy) is the combine operation, and Axy and Bxy are the inputs to the operation.
If
fragmentShadingRateStrictMultiplyCombiner
is FALSE
, using
FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR
with values of 1 for both A
and B in the same dimension results in the value 2 being produced for
that dimension. See the definition of
fragmentShadingRateStrictMultiplyCombiner
for more information.
These operations are performed in a component-wise fashion.
See Also
PipelineFragmentShadingRateEnumStateCreateInfoNV
,
PipelineFragmentShadingRateStateCreateInfoKHR
,
cmdSetFragmentShadingRateEnumNV
,
cmdSetFragmentShadingRateKHR
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR :: FragmentShadingRateCombinerOpKHR |
|
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR :: FragmentShadingRateCombinerOpKHR |
|
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR :: FragmentShadingRateCombinerOpKHR |
|
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR :: FragmentShadingRateCombinerOpKHR |
|
pattern FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR :: FragmentShadingRateCombinerOpKHR |
|