From 90d3f55aff427a3475a0205579df480ad6e12819 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sat, 11 Dec 2021 18:15:03 -0500 Subject: [PATCH] pan/bi: Set table for Valhall LD_ATTR Signed-off-by: Alyssa Rosenzweig Part-of: --- src/panfrost/bifrost/bifrost_compile.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 8403782c624..b801503e8d3 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -259,10 +259,12 @@ bi_emit_load_attr(bi_builder *b, nir_intrinsic_instr *instr) bool constant = nir_src_is_const(*offset); bool immediate = bi_is_intr_immediate(instr, &imm_index, 16); bi_index dest = (component == 0) ? bi_dest_index(&instr->dest) : bi_temp(b->shader); + bi_instr *I; if (immediate) { - bi_ld_attr_imm_to(b, dest, bi_register(61), bi_register(62), - regfmt, vecsize, imm_index); + I = bi_ld_attr_imm_to(b, dest, bi_vertex_id(b), + bi_instance_id(b), regfmt, vecsize, + imm_index); } else { bi_index idx = bi_src_index(&instr->src[0]); @@ -271,10 +273,13 @@ bi_emit_load_attr(bi_builder *b, nir_intrinsic_instr *instr) else if (base != 0) idx = bi_iadd_u32(b, idx, bi_imm_u32(base), false); - bi_ld_attr_to(b, dest, bi_register(61), bi_register(62), - idx, regfmt, vecsize); + I = bi_ld_attr_to(b, dest, bi_vertex_id(b), bi_instance_id(b), + idx, regfmt, vecsize); } + if (b->shader->arch >= 9) + I->table = PAN_TABLE_ATTRIBUTE; + bi_copy_component(b, instr, dest); }