From: Iago Toral Quiroga Date: Tue, 31 Mar 2020 10:56:16 +0000 (+0200) Subject: v3dv: improve asserts for VkPipelineColorBlendStateCreateInfo handling X-Git-Tag: upstream/21.0.0~4035 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=152a64185b2a3e9b92478e22a164851e661c1c08;p=platform%2Fupstream%2Fmesa.git v3dv: improve asserts for VkPipelineColorBlendStateCreateInfo handling According to the Vulkan 1.0 spec: "attachmentCount is the number of VkPipelineColorBlendAttachmentState elements in pAttachments. This value must equal the colorAttachmentCount for the subpass in which this pipeline is used." so let's assert exactly that. Part-of: --- diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c index 653a0e9..c0ce412 100644 --- a/src/broadcom/vulkan/v3dv_pipeline.c +++ b/src/broadcom/vulkan/v3dv_pipeline.c @@ -1577,14 +1577,14 @@ pack_blend(struct v3dv_pipeline *pipeline, if (pipeline->subpass->color_count == 0) return; + assert(pipeline->subpass->color_count == cb_info->attachmentCount); + pipeline->blend.needs_color_constants = false; uint32_t color_write_masks = 0; - for (uint32_t i = 0; i < cb_info->attachmentCount; i++) { + for (uint32_t i = 0; i < pipeline->subpass->color_count; i++) { const VkPipelineColorBlendAttachmentState *b_state = &cb_info->pAttachments[i]; - assert(i < pipeline->subpass->color_count); - uint32_t attachment_idx = pipeline->subpass->color_attachments[i].attachment; if (attachment_idx == VK_ATTACHMENT_UNUSED)