diff options
author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2023-05-09 19:17:39 -0400 |
---|---|---|
committer | Eric Engestrom <eric@engestrom.ch> | 2023-05-10 12:40:08 +0100 |
commit | 0c447913c0ed706b19566f1b5028bb82deb1bdb9 (patch) | |
tree | 08791fdcd32a94c7d8daea5f8f1d29db6b0ce3dd | |
parent | c7f257a09cf893197ccbb5194009e50074d89fb7 (diff) | |
download | mesa-0c447913c0ed706b19566f1b5028bb82deb1bdb9.tar.gz |
zink: compare desc set to detect bindless vars in separate shaders
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>
(cherry picked from commit 8ef098a6008860cf6a10c51adecd4a5d0c5f4aa7)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/zink/zink_compiler.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/.pick_status.json b/.pick_status.json index 8daaf2a1f68..96d63060818 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -148,7 +148,7 @@ "description": "zink: compare desc set to detect bindless vars in separate shaders", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "e3b746e3a31e350e9f0962717e49acba28efee30" }, diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 2edd2ac1605..c5addf13655 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -3693,7 +3693,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) { |