cmdSetFragmentShadingRateEnumNV :: MonadIO io=> CommandBuffercommandBufferis the command buffer into which the command will be recorded.-> FragmentShadingRateNVshadingRatespecifies a FragmentShadingRateNV enum indicating the pipeline fragment shading rate for subsequent drawing commands.->"combinerOps"
::: (FragmentShadingRateCombinerOpKHR, FragmentShadingRateCombinerOpKHR)combinerOpsspecifies a FragmentShadingRateCombinerOpKHR determining how the pipeline, primitive, and attachment shading rates are combined for fragments generated by subsequent drawing commands.-> io ()
vkCmdSetFragmentShadingRateEnumNV - Set pipeline fragment shading rate dynamically for a command buffer using enums
Description
This command sets the pipeline fragment shading rate and combiner
operation for subsequent drawing commands when drawing using
shader objects,
or when the graphics pipeline is created with
DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
set in
PipelineDynamicStateCreateInfo::pDynamicStates.
Otherwise, this state is specified by the
PipelineFragmentShadingRateEnumStateCreateInfoNV values used to create
the currently active pipeline.
This command allows specifying additional shading rates beyond those
supported by
cmdSetFragmentShadingRateKHR.
For more information, refer to the VK_NV_fragment_shading_rate_enums
appendix.
Valid Usage
If the pipelineFragmentShadingRate feature is not enabled,
shadingRatemust be FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV
If the supersampleFragmentShadingRates feature is not enabled,
shadingRatemust not be FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV, FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV, FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV, or FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NVIf the noInvocationFragmentShadingRates feature is not enabled,
shadingRatemust not be FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NVThe fragmentShadingRateEnums feature must be enabled
One of the pipelineFragmentShadingRate, primitiveFragmentShadingRate, or attachmentFragmentShadingRate features must be enabled
If the primitiveFragmentShadingRate feature is not enabled,
combinerOps[0] must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHRIf the attachmentFragmentShadingRate feature is not enabled,
combinerOps[1] must be FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHRIf the fragmentSizeNonTrivialCombinerOps limit is not supported, elements of
combinerOpsmust be either FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
Valid Usage (Implicit)
commandBuffermust be a valid CommandBuffer handle
shadingRatemust be a valid FragmentShadingRateNV valueEach element of
combinerOpsmust be a valid FragmentShadingRateCombinerOpKHR valuecommandBuffermust be in the recording stateThe CommandPool that
commandBufferwas allocated from must support QUEUE_GRAPHICS_BIT operationsThis command must only be called outside of a video coding scope
Host Synchronization
Host access to
commandBuffermust be externally synchronized
Host access to the CommandPool that
commandBufferwas allocated from must be externally synchronized
Command Properties
'
Primary Secondary | Both | Outside | VK_QUEUE_GRAPHICS_BIT | State |
Conditional Rendering
vkCmdSetFragmentShadingRateEnumNV is not affected by conditional rendering
See Also
VK_NV_fragment_shading_rate_enums, CommandBuffer, FragmentShadingRateCombinerOpKHR, FragmentShadingRateNV