diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2022-06-08 13:52:47 -0400 |
---|---|---|
committer | Dylan Baker <dylan.c.baker@intel.com> | 2022-06-15 16:12:58 -0700 |
commit | 47a52576da74f58f550eba3a1d1c1fdea7015d85 (patch) | |
tree | 214067d0e78206d415f9832029289c81a6d7e8f0 | |
parent | f2f9aa5e8d1fd6b14335b1741a14d9b9f1430dee (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.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/zink/zink_descriptors_lazy.c | 3 |
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}; |