From: Rhys Perry Date: Tue, 16 Jun 2020 18:13:04 +0000 (+0100) Subject: aco: fix validation error from vgpr spill/restore code X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1e791e51a65c3cf2b7f511c3bf12f9625428f701;p=mesa.git aco: fix validation error from vgpr spill/restore code Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- diff --git a/src/amd/compiler/aco_spill.cpp b/src/amd/compiler/aco_spill.cpp index 54b84488a0a..9b8833a64ba 100644 --- a/src/amd/compiler/aco_spill.cpp +++ b/src/amd/compiler/aco_spill.cpp @@ -1573,7 +1573,7 @@ void assign_spill_slots(spill_ctx& ctx, unsigned spills_to_vgpr) { for (unsigned i = 0; i < temp.size(); i++) bld.mubuf(opcode, scratch_rsrc, Operand(), scratch_offset, split->definitions[i].getTemp(), offset + i * 4, false); } else { - bld.mubuf(opcode, scratch_rsrc, Operand(), scratch_offset, temp, offset, false); + bld.mubuf(opcode, scratch_rsrc, Operand(v1), scratch_offset, temp, offset, false); } } else if (sgpr_slot.find(spill_id) != sgpr_slot.end()) { ctx.program->config->spilled_sgprs += (*it)->operands[0].size(); @@ -1641,7 +1641,7 @@ void assign_spill_slots(spill_ctx& ctx, unsigned spills_to_vgpr) { } bld.insert(vec); } else { - bld.mubuf(opcode, def, scratch_rsrc, Operand(), scratch_offset, offset, false); + bld.mubuf(opcode, def, scratch_rsrc, Operand(v1), scratch_offset, offset, false); } } else if (sgpr_slot.find(spill_id) != sgpr_slot.end()) { uint32_t spill_slot = sgpr_slot[spill_id];