From 53efd35acca14858666365c7e6772708ec8b2f42 Mon Sep 17 00:00:00 2001 From: Gert Wollny Date: Tue, 12 Dec 2023 13:01:12 +0100 Subject: [PATCH] zink: Don't pass a blend state when we have full ds3 support The blend state is considered to be dynamic when no VkPipelineColorBlendStateCreateInfo is passed in at pipeline creation. Fixes: VUID-VkGraphicsPipelineCreateInfo-renderPass-06055 when running "Quern - Undying thoughts" when the GFX level enables blending. Signed-off-by: Gert Wollny Part-of: --- src/gallium/drivers/zink/zink_pipeline.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 3186ba5e5cf..dc7de3443d3 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -617,7 +617,8 @@ zink_create_gfx_pipeline_output(struct zink_screen *screen, struct zink_gfx_pipe if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) pci.flags |= VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT; pipelineDynamicStateCreateInfo.dynamicStateCount = state_count; - pci.pColorBlendState = &blend_state; + if (!screen->have_full_ds3) + pci.pColorBlendState = &blend_state; pci.pMultisampleState = &ms_state; pci.pDynamicState = &pipelineDynamicStateCreateInfo;