ac/nir/ngg: fix store shared alignment

For stream!=0, this align_mul=4 is not true. Not observe any
problem yet, just for correctness.

Fixes: 60ac5dda82 ("ac: Add NIR lowering for NGG GS.")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22304>
(cherry picked from commit a2cecbbc44)
This commit is contained in:
Qiang Yu 2023-04-05 09:52:01 +08:00 committed by Dylan Baker
parent 5ac5c276f3
commit 5986203fdb
2 changed files with 5 additions and 2 deletions

View file

@ -5904,7 +5904,7 @@
"description": "ac/nir/ngg: fix store shared alignment",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "60ac5dda82e1a5c020aa51a02fa65131e9bfb2ca",
"notes": null

View file

@ -2752,7 +2752,10 @@ lower_ngg_gs_emit_vertex_with_counter(nir_builder *b, nir_intrinsic_instr *intri
prim_flag = nir_ior(b, prim_flag, odd_flag);
}
nir_store_shared(b, nir_u2u8(b, prim_flag), gs_emit_vtx_addr, .base = s->lds_offs_primflags + stream, .align_mul = 4u);
nir_store_shared(b, nir_u2u8(b, prim_flag), gs_emit_vtx_addr,
.base = s->lds_offs_primflags + stream,
.align_mul = 4, .align_offset = stream);
nir_instr_remove(&intrin->instr);
return true;
}