vkCmdSetExclusiveScissorEnableNV
To dynamically set whether an exclusive scissor is enabled or not, call:
void vkCmdSetExclusiveScissorEnableNV(
VkCommandBuffer commandBuffer,
uint32_t firstExclusiveScissor,
uint32_t exclusiveScissorCount,
const VkBool32* pExclusiveScissorEnables);
commandBuffer
is the command buffer into which the command will be recorded.firstExclusiveScissor
is the index of the first exclusive scissor rectangle whose state is updated by the command.exclusiveScissorCount
is the number of exclusive scissor rectangles updated by the command.pExclusiveScissorEnables
is a pointer to an array of VkBool32 values defining whether the exclusive scissor is enabled.
The exclusive scissor enables taken from element i of
pExclusiveScissorEnables
replace the current state for the scissor
index firstExclusiveScissor
+ i, for i in [0,
exclusiveScissorCount
).
This command sets the exclusive scissor enable for subsequent drawing
commands
when drawing using shader objects, or
when the graphics pipeline is created with
VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV
set in
VkPipelineDynamicStateCreateInfo::pDynamicStates
.
Otherwise, this state is implied by the
VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount
value used to create the currently active pipeline, where all
exclusiveScissorCount
exclusive scissors are implicitly enabled and
the remainder up to VkPhysicalDeviceLimits
::maxViewports
are
implicitly disabled.
Valid Usage
VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissor-07853
The exclusiveScissor
feature must
be enabled, and the implementation must support at least
specVersion
2
of the VK_NV_scissor_exclusive extension
Valid Usage (Implicit)
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-parameter
commandBuffer
must be a valid VkCommandBuffer handle
VUID-vkCmdSetExclusiveScissorEnableNV-pExclusiveScissorEnables-parameter
pExclusiveScissorEnables
must be a valid pointer to an array of exclusiveScissorCount
VkBool32 values
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-recording
commandBuffer
must be in the recording state
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-cmdpool
The VkCommandPool
that commandBuffer
was allocated from must support graphics operations
VUID-vkCmdSetExclusiveScissorEnableNV-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissorCount-arraylength
exclusiveScissorCount
must be greater than 0
Host Synchronization
- Host access to
commandBuffer
must be externally synchronized - Host access to the
VkCommandPool
thatcommandBuffer
was allocated from must be externally synchronized ::