diff --git a/.pick_status.json b/.pick_status.json index dea23898d85..e4e7838a771 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -28904,7 +28904,7 @@ "description": "zink: set pipeline dynamic state count after all dynamic states are set", "nominated": true, "nomination_type": 1, - "resolution": 1, + "resolution": 0, "main_sha": null, "because_sha": "d17c081b7c6485a00e99fa9472e3d6a0bb0f66be", "notes": null diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 91a325768bc..1f664eb122f 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -329,6 +329,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen, VkPipelineDynamicStateCreateInfo pipelineDynamicStateCreateInfo = {0}; pipelineDynamicStateCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; pipelineDynamicStateCreateInfo.pDynamicStates = dynamicStateEnables; + pipelineDynamicStateCreateInfo.dynamicStateCount = state_count; VkGraphicsPipelineCreateInfo pci = {0}; pci.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; @@ -367,7 +368,6 @@ zink_create_gfx_pipeline(struct zink_screen *screen, pci.pViewportState = &viewport_state; pci.pDepthStencilState = &depth_stencil_state; pci.pDynamicState = &pipelineDynamicStateCreateInfo; - pipelineDynamicStateCreateInfo.dynamicStateCount = state_count; VkPipelineTessellationStateCreateInfo tci = {0}; VkPipelineTessellationDomainOriginStateCreateInfo tdci = {0}; @@ -564,6 +564,7 @@ zink_create_gfx_pipeline_output(struct zink_screen *screen, struct zink_gfx_pipe VkPipelineDynamicStateCreateInfo pipelineDynamicStateCreateInfo = {0}; pipelineDynamicStateCreateInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; pipelineDynamicStateCreateInfo.pDynamicStates = dynamicStateEnables; + pipelineDynamicStateCreateInfo.dynamicStateCount = state_count; VkGraphicsPipelineCreateInfo pci = {0}; pci.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; @@ -588,7 +589,6 @@ 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; pci.pMultisampleState = &ms_state; pci.pDynamicState = &pipelineDynamicStateCreateInfo;