diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index f5af023d09b..c447c136488 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -615,6 +615,8 @@ zink_create_gfx_pipeline_input(struct zink_screen *screen, pci.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; pci.pNext = &gplci; pci.flags = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR | VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT; + if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) + pci.flags |= VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT; pci.pVertexInputState = &vertex_input_state; pci.pInputAssemblyState = &primitive_state; pci.pDynamicState = &pipelineDynamicStateCreateInfo; @@ -701,6 +703,8 @@ zink_create_gfx_pipeline_library(struct zink_screen *screen, struct zink_gfx_pro pci.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; pci.pNext = &gplci; pci.flags = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR | VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT; + if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) + pci.flags |= VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT; pci.layout = prog->base.layout; pci.pRasterizationState = &rast_state; pci.pViewportState = &viewport_state;