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;

Reply via email to