agx: Handle load_instance_id

Preloaded into r6, as predicted.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12053>
This commit is contained in:
Alyssa Rosenzweig 2021-07-24 15:12:18 -04:00
parent 3f5eebe5e6
commit 3c1f754a71
2 changed files with 5 additions and 0 deletions

View File

@ -388,6 +388,9 @@ agx_emit_intrinsic(agx_builder *b, nir_intrinsic_instr *instr)
case nir_intrinsic_load_vertex_id:
return agx_mov_to(b, dst, agx_abs(agx_register(10, AGX_SIZE_32)));
case nir_intrinsic_load_instance_id:
return agx_mov_to(b, dst, agx_abs(agx_register(12, AGX_SIZE_32)));
case nir_intrinsic_load_blend_const_color_r_float: return agx_blend_const(b, dst, 0);
case nir_intrinsic_load_blend_const_color_g_float: return agx_blend_const(b, dst, 1);
case nir_intrinsic_load_blend_const_color_b_float: return agx_blend_const(b, dst, 2);

View File

@ -103,6 +103,8 @@ agx_ra_assign_local(agx_block *block, uint8_t *ssa_to_reg, uint8_t *ncomps, unsi
BITSET_SET(used_regs, 0); // control flow writes r0l
BITSET_SET(used_regs, 5*2); // TODO: precolouring, don't overwrite vertex ID
BITSET_SET(used_regs, (5*2 + 1));
BITSET_SET(used_regs, (6*2 + 0));
BITSET_SET(used_regs, (6*2 + 1));
agx_foreach_instr_in_block(block, I) {
/* First, free killed sources */