Mesa (main): freedreno/ir3: Add infrastructure for flat.b

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Nov 4 03:20:38 UTC 2021


Module: Mesa
Branch: main
Commit: 2ee1b5a5268b206b4d431862da3296d197d1cc17
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ee1b5a5268b206b4d431862da3296d197d1cc17

Author: Matt Turner <mattst88 at gmail.com>
Date:   Mon Nov  1 16:12:40 2021 -0700

freedreno/ir3: Add infrastructure for flat.b

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13558>

---

 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 634732a6acb..04e68c676a3 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 07cc651b682..96835e0e595 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)



More information about the mesa-commit mailing list