Safe Haskell | None |
---|---|
Language | Haskell2010 |
Vulkan.Extensions.VK_NV_fragment_shading_rate_enums
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 #
Arguments
:: 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
Constructors
PhysicalDeviceFragmentShadingRateEnumsFeaturesNV | |
Fields
|
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
Constructors
PhysicalDeviceFragmentShadingRateEnumsPropertiesNV | |
Fields
|
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
Constructors
PipelineFragmentShadingRateEnumStateCreateInfoNV | |
Fields
|
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
Constructors
FragmentShadingRateNV Int32 |
Bundled Patterns
Instances
newtype FragmentShadingRateTypeNV Source #
VkFragmentShadingRateTypeNV - Enumeration with fragment shading rate types
See Also
Constructors
FragmentShadingRateTypeNV Int32 |
Bundled Patterns
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
Constructors
FragmentShadingRateCombinerOpKHR Int32 |
Bundled Patterns
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 |
|