VkPipelineColorBlendStateCreateInfo
The VkPipelineColorBlendStateCreateInfo structure is defined as:
typedef struct VkPipelineColorBlendStateCreateInfo {
VkStructureType sType;
const void* pNext;
VkPipelineColorBlendStateCreateFlags flags;
VkBool32 logicOpEnable;
VkLogicOp logicOp;
uint32_t attachmentCount;
const VkPipelineColorBlendAttachmentState* pAttachments;
float blendConstants[4];
} VkPipelineColorBlendStateCreateInfo;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis a bitmask of VkPipelineColorBlendStateCreateFlagBits specifying additional color blending information.logicOpEnablecontrols whether to apply Logical Operations.logicOpselects which logical operation to apply.attachmentCountis the number of VkPipelineColorBlendAttachmentState elements inpAttachments. It is ignored if the pipeline is created withVK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, andVK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXTdynamic states set, and eitherVK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXTset or the advancedBlendCoherentOperations feature is not enabled.pAttachmentsis a pointer to an array of VkPipelineColorBlendAttachmentState structures defining blend state for each color attachment. It is ignored if the pipeline is created withVK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, andVK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXTdynamic states set, and eitherVK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXTset or the advancedBlendCoherentOperations feature is not enabled.blendConstantsis a pointer to an array of four values used as the R, G, B, and A components of the blend constant that are used in blending, depending on the blend factor.
Valid Usage
VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-00605
If the independentBlend feature is
not enabled, all elements of pAttachments must be identical
VUID-VkPipelineColorBlendStateCreateInfo-logicOpEnable-00606
If the logicOp feature is not enabled,
logicOpEnable must be VK_FALSE
VUID-VkPipelineColorBlendStateCreateInfo-logicOpEnable-00607
If logicOpEnable is VK_TRUE, logicOp must be a valid
VkLogicOp value
VUID-VkPipelineColorBlendStateCreateInfo-rasterizationOrderColorAttachmentAccess-06465
If the rasterizationOrderColorAttachmentAccess feature is not enabled,
flags must not include
VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-07353
If attachmentCount is not 0
, and any of VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT,
VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT,
VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT, or
VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT are not set,
pAttachments must be a valid pointer to an array of
attachmentCount valid VkPipelineColorBlendAttachmentState
structures
Valid Usage (Implicit)
VUID-VkPipelineColorBlendStateCreateInfo-sType-sType
sType must be VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO
VUID-VkPipelineColorBlendStateCreateInfo-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineColorBlendAdvancedStateCreateInfoEXT or VkPipelineColorWriteCreateInfoEXT
VUID-VkPipelineColorBlendStateCreateInfo-sType-unique
The sType value of each structure in the pNext chain must be unique
VUID-VkPipelineColorBlendStateCreateInfo-flags-parameter
flags must be a valid combination of VkPipelineColorBlendStateCreateFlagBits values
VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-parameter
If attachmentCount is not 0, and pAttachments is not NULL, pAttachments must be a valid pointer to an array of attachmentCount valid VkPipelineColorBlendAttachmentState structures