summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>2022-06-08 13:52:47 -0400
committerDylan Baker <dylan.c.baker@intel.com>2022-06-15 16:12:58 -0700
commit47a52576da74f58f550eba3a1d1c1fdea7015d85 (patch)
tree214067d0e78206d415f9832029289c81a6d7e8f0
parentf2f9aa5e8d1fd6b14335b1741a14d9b9f1430dee (diff)
zink: always create descriptor templates
the 'notemplates' debug mode is somewhat misleading since there's no uncached+notemplates mechanism, meaning that if the descriptor cache explodes it'll still use templates for updating in the fallback path Fixes: 4e3768914d4 ("zink: add ZINK_DESCRIPTORS env var to explicitly set a mode") Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16927> (cherry picked from commit ee1a0a0772d0aaf4f5124d451f6a087bc6910b58)
-rw-r--r--.pick_status.json2
-rw-r--r--src/gallium/drivers/zink/zink_descriptors_lazy.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json
index f1ee1aab896..2e7a06f175b 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1381,7 +1381,7 @@
"description": "zink: always create descriptor templates",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "4e3768914d4ca226041e121b8b80b2daa7b5aa64"
},
diff --git a/src/gallium/drivers/zink/zink_descriptors_lazy.c b/src/gallium/drivers/zink/zink_descriptors_lazy.c
index 2a596b810af..cae24c90929 100644
--- a/src/gallium/drivers/zink/zink_descriptors_lazy.c
+++ b/src/gallium/drivers/zink/zink_descriptors_lazy.c
@@ -282,7 +282,8 @@ zink_descriptor_program_init_lazy(struct zink_context *ctx, struct zink_program
pg->layout = zink_pipeline_layout_create(screen, pg, &pg->compat_id);
if (!pg->layout)
return false;
- if (!screen->info.have_KHR_descriptor_update_template || screen->descriptor_mode == ZINK_DESCRIPTOR_MODE_NOTEMPLATES)
+ /* TODO: figure out uncached+notemplate and return on screen->descriptor_mode == ZINK_DESCRIPTOR_MODE_NOTEMPLATES */
+ if (!screen->info.have_KHR_descriptor_update_template)
return true;
VkDescriptorUpdateTemplateCreateInfo template[ZINK_DESCRIPTOR_TYPES + 1] = {0};