From 2ee1b5a5268b206b4d431862da3296d197d1cc17 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Mon, 1 Nov 2021 16:12:40 -0700 Subject: [PATCH] freedreno/ir3: Add infrastructure for flat.b Part-of: --- src/freedreno/ir3/ir3.c | 3 ++- src/freedreno/ir3/ir3.h | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c index 634732a..04e68c6 100644 --- a/src/freedreno/ir3/ir3.c +++ b/src/freedreno/ir3/ir3.c @@ -275,7 +275,8 @@ ir3_collect_info(struct ir3_shader_variant *v) info->ldp_count += components; } - if ((instr->opc == OPC_BARY_F) && (instr->dsts[0]->flags & IR3_REG_EI)) + if ((instr->opc == OPC_BARY_F || instr->opc == OPC_FLAT_B) && + (instr->dsts[0]->flags & IR3_REG_EI)) info->last_baryf = info->instrs_count; unsigned instrs_count = 1 + instr->repeat + instr->nop; diff --git a/src/freedreno/ir3/ir3.h b/src/freedreno/ir3/ir3.h index 07cc651..96835e0 100644 --- a/src/freedreno/ir3/ir3.h +++ b/src/freedreno/ir3/ir3.h @@ -963,6 +963,7 @@ is_input(struct ir3_instruction *instr) switch (instr->opc) { case OPC_LDLV: case OPC_BARY_F: + case OPC_FLAT_B: return true; default: return false; @@ -1268,6 +1269,7 @@ ir3_cat2_int(opc_t opc) case OPC_GETBIT_B: case OPC_CBITS_B: case OPC_BARY_F: + case OPC_FLAT_B: return true; default: @@ -2068,6 +2070,7 @@ INSTR2(SHL_B) INSTR2(SHR_B) INSTR2(ASHR_B) INSTR2(BARY_F) +INSTR2(FLAT_B) INSTR2(MGEN_B) INSTR2(GETBIT_B) INSTR1(SETRM) -- 2.7.4