Module: Mesa Branch: staging/22.3 Commit: c2905f27ff6c4606af6f6c0fc0ab166b141c5707 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2905f27ff6c4606af6f6c0fc0ab166b141c5707
Author: Mike Blumenkrantz <[email protected]> Date: Wed Jan 25 11:55:13 2023 -0500 zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT when using DB cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20912> (cherry picked from commit ac339d97978e96c80d43688566717d4c4f6fa7f3) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_pipeline.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index e369e6306c7..fa4247fc5c3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -94,7 +94,7 @@ "description": "zink: set VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT when using DB", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/gallium/drivers/zink/zink_pipeline.c b/src/gallium/drivers/zink/zink_pipeline.c index 12869a7ccc6..220e83569b6 100644 --- a/src/gallium/drivers/zink/zink_pipeline.c +++ b/src/gallium/drivers/zink/zink_pipeline.c @@ -330,6 +330,8 @@ zink_create_gfx_pipeline(struct zink_screen *screen, else warn_missing_feature(feedback_warn, "EXT_attachment_feedback_loop_layout"); } + if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) + pci.flags |= VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT; pci.layout = prog->base.layout; if (state->render_pass) pci.renderPass = state->render_pass->render_pass; @@ -532,6 +534,8 @@ zink_create_gfx_pipeline_output(struct zink_screen *screen, struct zink_gfx_pipe else warn_missing_feature(feedback_warn, "EXT_attachment_feedback_loop_layout"); } + if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) + pci.flags |= VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT; pci.pColorBlendState = &blend_state; pci.pMultisampleState = &ms_state; pci.pDynamicState = &pipelineDynamicStateCreateInfo; @@ -759,6 +763,8 @@ zink_create_gfx_pipeline_combined(struct zink_screen *screen, struct zink_gfx_pr pci.flags = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT; else pci.flags = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT; + if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) + pci.flags |= VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT; pci.pNext = &libstate; VkPipeline pipeline;
