zink: compare desc set to detect bindless vars in separate shaders
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tue, 9 May 2023 23:17:39 +0000 (19:17 -0400)
committerMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Tue, 9 May 2023 23:29:50 +0000 (19:29 -0400)
the bindless flag here isn't set, so this check did nothing

Fixes: e3b746e3a31 ("zink: use GPL to handle (simple) separate shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22931>

src/gallium/drivers/zink/zink_compiler.c

index 2e7f16c..fdc296a 100644 (file)
@@ -3760,7 +3760,7 @@ zink_shader_compile_separate(struct zink_screen *screen, struct zink_shader *zs)
    unsigned offsets[4];
    zink_descriptor_shader_get_binding_offsets(zs, offsets);
    nir_foreach_variable_with_modes(var, nir, nir_var_mem_ubo | nir_var_mem_ssbo | nir_var_uniform | nir_var_image) {
-      if (var->data.bindless)
+      if (var->data.descriptor_set == screen->desc_set_id[ZINK_DESCRIPTOR_BINDLESS])
          continue;
       var->data.descriptor_set = set;
       switch (var->data.mode) {