zink: add `descriptor_bindless_id` to `zink_shader_info`
authorantonino <antonino.maniscalco@collabora.com>
Fri, 7 Apr 2023 15:57:15 +0000 (17:57 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 7 Apr 2023 19:25:08 +0000 (19:25 +0000)
This field stores the id of the descriptor set used for bindless
textures.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22358>

src/gallium/drivers/zink/zink_compiler.c
src/gallium/drivers/zink/zink_types.h

index 9d91cb6..c83839c 100644 (file)
@@ -4693,6 +4693,7 @@ zink_shader_create(struct zink_screen *screen, struct nir_shader *nir,
                         nir_find_variable_with_location(nir, nir_var_shader_out, VARYING_SLOT_EDGE);
 
    ret->sinfo.have_vulkan_memory_model = screen->info.have_KHR_vulkan_memory_model;
+   ret->sinfo.bindless_set_idx = screen->desc_set_id[ZINK_DESCRIPTOR_BINDLESS];
 
    util_queue_fence_init(&ret->precompile.fence);
    util_dynarray_init(&ret->pipeline_libs, ret);
index 988d016..67bbe0d 100644 (file)
@@ -721,6 +721,7 @@ struct zink_shader_info {
    bool have_xfb;
    bool have_sparse;
    bool have_vulkan_memory_model;
+   unsigned bindless_set_idx;
 };
 
 enum zink_rast_prim {