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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.flags
is a bitmask of VkPipelineColorBlendStateCreateFlagBits specifying additional color blending information.logicOpEnable
controls whether to apply Logical Operations.logicOp
selects which logical operation to apply.attachmentCount
is 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_EXT
dynamic states set, and eitherVK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT
set or advancedBlendCoherentOperations is not enabled on the device.pAttachments
is 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_EXT
dynamic states set, and eitherVK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT
set or advancedBlendCoherentOperations is not enabled on the device.blendConstants
is 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 struct 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