vkCmdSetColorWriteEnableEXT
To dynamically enable or disable writes to a color attachment, call:
void vkCmdSetColorWriteEnableEXT(
VkCommandBuffer commandBuffer,
uint32_t attachmentCount,
const VkBool32* pColorWriteEnables);
commandBuffer
is the command buffer into which the command will be recorded.attachmentCount
is the number of VkBool32 elements inpColorWriteEnables
.pColorWriteEnables
is a pointer to an array of per target attachment boolean values specifying whether color writes are enabled for the given attachment.
This command sets the color write enables for subsequent drawing commands
when drawing using shader objects, or
when the graphics pipeline is created with
VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
set in
VkPipelineDynamicStateCreateInfo::pDynamicStates
.
Otherwise, this state is specified by the
VkPipelineColorWriteCreateInfoEXT::pColorWriteEnables
values
used to create the currently active pipeline.
Valid Usage
VUID-vkCmdSetColorWriteEnableEXT-None-04803
The colorWriteEnable
feature must
be enabled
VUID-vkCmdSetColorWriteEnableEXT-attachmentCount-06656
attachmentCount
must be less than or equal to the
maxColorAttachments
member of VkPhysicalDeviceLimits
Valid Usage (Implicit)
VUID-vkCmdSetColorWriteEnableEXT-commandBuffer-parameter
commandBuffer
must be a valid VkCommandBuffer handle
VUID-vkCmdSetColorWriteEnableEXT-pColorWriteEnables-parameter
pColorWriteEnables
must be a valid pointer to an array of attachmentCount
VkBool32 values
VUID-vkCmdSetColorWriteEnableEXT-commandBuffer-recording
commandBuffer
must be in the recording state
VUID-vkCmdSetColorWriteEnableEXT-commandBuffer-cmdpool
The VkCommandPool
that commandBuffer
was allocated from must support graphics operations
VUID-vkCmdSetColorWriteEnableEXT-videocoding
This command must only be called outside of a video coding scope
VUID-vkCmdSetColorWriteEnableEXT-attachmentCount-arraylength
attachmentCount
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 ::