anv: check that push range actually match binding considered
We can't just check the load_ubo range is contained in the push entry,
we also need to check that the push entry set/binding matches the
load_ubo set/binding.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: ff91c5ca42
("anv: add analysis for push descriptor uses and store it in shader cache")
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20555>
This commit is contained in:

committed by
Marge Bot

parent
48bb3df951
commit
e2b0086b78
@@ -222,7 +222,9 @@ anv_nir_push_desc_ubo_fully_promoted(nir_shader *nir,
|
||||
(nir_dest_bit_size(intrin->dest) / 8);
|
||||
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(bind_map->push_ranges); i++) {
|
||||
if (bind_map->push_ranges[i].start * 32 <= load_offset &&
|
||||
if (bind_map->push_ranges[i].set == binding->set &&
|
||||
bind_map->push_ranges[i].index == desc_idx &&
|
||||
bind_map->push_ranges[i].start * 32 <= load_offset &&
|
||||
(bind_map->push_ranges[i].start +
|
||||
bind_map->push_ranges[i].length) * 32 >=
|
||||
(load_offset + load_bytes)) {
|
||||
|
Reference in New Issue
Block a user