From ff5a761232ec8c99447f58f6d3dd395899ce5861 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 31 Jan 2023 16:37:15 -0500 Subject: [PATCH] zink: only set VkPipelineColorBlendStateCreateInfo::attachmentCount without full ds3 this should be ignored by drivers/layers, but it isn't, and the crashing is immense 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 fc6f4d88759..201f0ea5308 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -451,7 +451,8 @@ zink_create_gfx_pipeline_output(struct zink_screen *screen, struct zink_gfx_pipe blend_state.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; if (state->rast_attachment_order) blend_state.flags |= VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT; - blend_state.attachmentCount = state->rendering_info.colorAttachmentCount; + if (!screen->have_full_ds3) + blend_state.attachmentCount = state->rendering_info.colorAttachmentCount; if (state->blend_state) blend_state.logicOp = state->blend_state->logicop_func;