mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 10:10:14 +01:00
aco: fix voffset missing when buffer store base >=4096
Regression on test: dEQP-GLES31.functional.geometry_shading.basic.output_256 voffset is missing if buffer store base >=4096, we need to re-calculate offen after resolve_excess_vmem_const_offset(). Fixes:cdaf269924("aco: inline store_vmem_mubuf/emit_single_mubuf_store") (cherry picked from commitdff14d102d) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32852>
This commit is contained in:
parent
29c400ca56
commit
cc58288510
2 changed files with 4 additions and 1 deletions
|
|
@ -1964,7 +1964,7 @@
|
|||
"description": "aco: fix voffset missing when buffer store base >=4096",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "cdaf269924ffc2f40c38ff05359466bfc0155fde",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -7303,6 +7303,9 @@ visit_store_buffer(isel_context* ctx, nir_intrinsic_instr* intrin)
|
|||
unsigned const_offset = resolve_excess_vmem_const_offset(
|
||||
bld, write_voffset, offsets[i] + nir_intrinsic_base(intrin));
|
||||
|
||||
/* write_voffset may be updated in resolve_excess_vmem_const_offset(). */
|
||||
offen = write_voffset.id();
|
||||
|
||||
Operand vaddr_op(v1);
|
||||
if (offen && idxen)
|
||||
vaddr_op = bld.pseudo(aco_opcode::p_create_vector, bld.def(v2), idx, write_voffset);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue