mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 20:18:12 +02:00
pan/bi/ra: Allow offsets on tied sources
The only real requirement here is that the destination offset is zero and that the destination is big enough to hold the source. The source offset doesn't matter. Fixes:bc17288697("pan/bi: Lower split/collect before RA") Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com> (cherry picked from commit05c5e52054) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
This commit is contained in:
parent
ddf6c31b8e
commit
cb93fe85b9
2 changed files with 5 additions and 6 deletions
|
|
@ -3954,7 +3954,7 @@
|
|||
"description": "pan/bi/ra: Allow offsets on tied sources",
|
||||
"nominated": true,
|
||||
"nomination_type": 2,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "bc17288697f87830f533c2a55ba3503e7423d53a",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -918,13 +918,12 @@ bi_coalesce_tied(bi_context *ctx)
|
|||
bi_builder b = bi_init_builder(ctx, bi_before_instr(I));
|
||||
unsigned n = bi_count_read_registers(I, 0);
|
||||
|
||||
bi_index dst = I->dest[0], src = I->src[0];
|
||||
assert(dst.offset == 0);
|
||||
for (unsigned i = 0; i < n; ++i) {
|
||||
bi_index dst = I->dest[0], src = I->src[0];
|
||||
|
||||
assert(dst.offset == 0 && src.offset == 0);
|
||||
dst.offset = src.offset = i;
|
||||
|
||||
bi_mov_i32_to(&b, dst, src);
|
||||
dst.offset++;
|
||||
src.offset++;
|
||||
}
|
||||
|
||||
bi_replace_src(I, 0, I->dest[0]);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue