pan/bi: Fix staging register packing

Writes are from the previous tuple, not the current one, otherwise we
incorrectly write to "two" places at once and raise an INSTR_INVALID_ENC
fault. While we're at it, fix the weird spacing.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>
This commit is contained in:
Alyssa Rosenzweig 2020-12-31 12:30:05 -05:00 committed by Marge Bot
parent bca242c785
commit 6cb0a0ad63
1 changed files with 2 additions and 5 deletions

View File

@ -234,11 +234,8 @@ bi_assign_slots(bi_bundle *now, bi_bundle *prev)
* use the data registers, which has its own mechanism entirely
* and thus gets skipped over here. */
bool read_dreg = now->add &&
bi_opcode_props[(now->add)->op].sr_read;
bool write_dreg = now->add &&
bi_opcode_props[(now->add)->op].sr_write;
bool read_dreg = now->add && bi_opcode_props[now->add->op].sr_read;
bool write_dreg = prev->add && bi_opcode_props[prev->add->op].sr_write;
/* First, assign reads */