From 336b5c88231c98adb4e247f192ee5bf23401eb56 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 6 Jun 2022 09:11:17 -0400 Subject: [PATCH] zink: fix dynamic stride conditional in pipeline creation if dynamic stride isn't used then this struct member must be filled cc: mesa-stable Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/zink/zink_pipeline.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 21d93ded825..0c5257631a0 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -54,7 +54,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen, { struct zink_rasterizer_hw_state *hw_rast_state = (void*)state; VkPipelineVertexInputStateCreateInfo vertex_input_state; - if (!screen->info.have_EXT_vertex_input_dynamic_state || !state->element_state->num_attribs) { + if (!screen->info.have_EXT_vertex_input_dynamic_state || !state->element_state->num_attribs || !state->uses_dynamic_stride) { memset(&vertex_input_state, 0, sizeof(vertex_input_state)); vertex_input_state.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; vertex_input_state.pVertexBindingDescriptions = state->element_state->b.bindings; @@ -324,7 +324,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen, pci.renderPass = state->render_pass->render_pass; else pci.pNext = &state->rendering_info; - if (!screen->info.have_EXT_vertex_input_dynamic_state || !state->element_state->num_attribs) + if (!screen->info.have_EXT_vertex_input_dynamic_state || !state->element_state->num_attribs || !state->uses_dynamic_stride) pci.pVertexInputState = &vertex_input_state; pci.pInputAssemblyState = &primitive_state; pci.pRasterizationState = &rast_state;