panvk: reset dyn_bufs map count to 0 in create_copy_table
We were forgetting to reset the map count to 0 in case of dyn_bufs in
create_copy_table.
This was causing invalid copy entries to be added to the table causing
invalid copies in most situation with holes in the set definition while
still binding set 0 or at worst an assert to be triggered in
cmd_fill_dyn_bufs.
This fixes "dEQP-GLES3.functional.ubo.*" and
dEQP-GLES31.functional.ubo.*" on PanVK+ANGLE.
Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: e350c334b6
("panvk: Extend the descriptor lowering pass to support Valhall")
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34652>
(cherry picked from commit 8d2e16cc110b081c4fd8910aac93715cdf6d005c)
This commit is contained in:

committed by
Eric Engestrom

parent
d3285fe971
commit
a05f320447
@@ -394,7 +394,7 @@
|
||||
"description": "panvk: reset dyn_bufs map count to 0 in create_copy_table",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "e350c334b6b2c7b420f326501533984c43d7c900",
|
||||
"notes": null
|
||||
|
@@ -1251,7 +1251,7 @@ create_copy_table(nir_shader *nir, struct lower_desc_ctx *ctx)
|
||||
}
|
||||
desc_info->dummy_sampler_handle = pan_res_handle(0, dummy_sampler_idx);
|
||||
|
||||
copy_count = desc_info->dyn_bufs.count + desc_info->dyn_bufs.count;
|
||||
copy_count = desc_info->dyn_bufs.count;
|
||||
#endif
|
||||
|
||||
if (copy_count == 0)
|
||||
@@ -1278,6 +1278,7 @@ create_copy_table(nir_shader *nir, struct lower_desc_ctx *ctx)
|
||||
desc_info->dyn_bufs_start = dummy_sampler_idx + 1;
|
||||
|
||||
desc_info->dyn_bufs.map = rzalloc_array(ctx->ht, uint32_t, copy_count);
|
||||
desc_info->dyn_bufs.count = 0;
|
||||
assert(desc_info->dyn_bufs.map);
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user