mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
panvk/csf: Fix register overlap in issue_fragment_jobs()
add_val is a 64-bit register, meaning release_sz points to the high word of add_val, which leads to corruptions of the value added to the sync object when simul_use=true. Fixes:5544d39f44("panvk: Add a CSF backend for panvk_queue/cmd_buffer") Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32350> (cherry picked from commit00e232d5f0) Conflicts: src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c
This commit is contained in:
parent
26429556c5
commit
f20caba05f
2 changed files with 3 additions and 2 deletions
|
|
@ -84,7 +84,7 @@
|
|||
"description": "panvk/csf: Fix register overlap in issue_fragment_jobs()",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "5544d39f4420da88c53aaf8dd48d86ac92bd0eaa",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -2480,8 +2480,9 @@ issue_fragment_jobs(struct panvk_cmd_buffer *cmdbuf)
|
|||
struct cs_index iter_sb = cs_scratch_reg32(b, 2);
|
||||
struct cs_index cmp_scratch = cs_scratch_reg32(b, 3);
|
||||
struct cs_index add_val = cs_scratch_reg64(b, 4);
|
||||
struct cs_index release_sz = cs_scratch_reg32(b, 5);
|
||||
struct cs_index ringbuf_sync_addr = cs_scratch_reg64(b, 6);
|
||||
struct cs_index release_sz = cs_scratch_reg32(b, 8);
|
||||
|
||||
struct cs_index completed = cs_scratch_reg_tuple(b, 10, 4);
|
||||
struct cs_index completed_top = cs_scratch_reg64(b, 10);
|
||||
struct cs_index completed_bottom = cs_scratch_reg64(b, 12);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue