agx: fix 16-bit mem swaps
don't clobber r1l Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28483>
This commit is contained in:
committed by
Marge Bot
parent
5bfdb20dac
commit
2fc2a45c8f
@@ -120,7 +120,8 @@ do_swap(agx_builder *b, const struct agx_copy *copy)
|
||||
assert(x.memory == y.memory);
|
||||
if (x.memory) {
|
||||
agx_index temp1 = agx_register(0, copy->src.size);
|
||||
agx_index temp2 = agx_register(2, copy->src.size);
|
||||
agx_index temp2 =
|
||||
agx_register(agx_size_align_16(copy->src.size), copy->src.size);
|
||||
|
||||
agx_index scratch_reg2 = agx_register(0, copy->src.size);
|
||||
agx_index scratch_mem2 = scratch_slot(b->shader, copy->src.size);
|
||||
|
||||
@@ -302,6 +302,7 @@ TEST_F(LowerParallelCopy, StackCopies)
|
||||
scratch_vec2.size = AGX_SIZE_16;
|
||||
temp1.size = AGX_SIZE_16;
|
||||
temp2.size = AGX_SIZE_16;
|
||||
temp2.value = 1;
|
||||
|
||||
agx_mov_to(b, scratch_vec2, spilled_gpr_vec2);
|
||||
agx_mov_to(b, temp1, agx_memory_register(807, AGX_SIZE_16));
|
||||
|
||||
Reference in New Issue
Block a user