vkCmdSetColorWriteEnableEXT
To dynamically enable or disable writes to a color attachment, call:
void vkCmdSetColorWriteEnableEXT(
VkCommandBuffer commandBuffer,
uint32_t attachmentCount,
const VkBool32* pColorWriteEnables);
commandBufferis the command buffer into which the command will be recorded.attachmentCountis the number of VkBool32 elements inpColorWriteEnables.pColorWriteEnablesis 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
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized ::