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: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
This commit is contained in:
parent
c6dca4c529
commit
152a64185b
|
@ -1577,14 +1577,14 @@ pack_blend(struct v3dv_pipeline *pipeline,
|
||||||
if (pipeline->subpass->color_count == 0)
|
if (pipeline->subpass->color_count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
assert(pipeline->subpass->color_count == cb_info->attachmentCount);
|
||||||
|
|
||||||
pipeline->blend.needs_color_constants = false;
|
pipeline->blend.needs_color_constants = false;
|
||||||
uint32_t color_write_masks = 0;
|
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 =
|
const VkPipelineColorBlendAttachmentState *b_state =
|
||||||
&cb_info->pAttachments[i];
|
&cb_info->pAttachments[i];
|
||||||
|
|
||||||
assert(i < pipeline->subpass->color_count);
|
|
||||||
|
|
||||||
uint32_t attachment_idx =
|
uint32_t attachment_idx =
|
||||||
pipeline->subpass->color_attachments[i].attachment;
|
pipeline->subpass->color_attachments[i].attachment;
|
||||||
if (attachment_idx == VK_ATTACHMENT_UNUSED)
|
if (attachment_idx == VK_ATTACHMENT_UNUSED)
|
||||||
|
|
Loading…
Reference in New Issue