diff --git a/src/panfrost/bifrost/ISA.xml b/src/panfrost/bifrost/ISA.xml index d5b61030518..422ea2679fb 100644 --- a/src/panfrost/bifrost/ISA.xml +++ b/src/panfrost/bifrost/ISA.xml @@ -3694,7 +3694,7 @@ - + diff --git a/src/panfrost/bifrost/bi_helper_invocations.c b/src/panfrost/bifrost/bi_helper_invocations.c index 946ae8c2dab..184796eae74 100644 --- a/src/panfrost/bifrost/bi_helper_invocations.c +++ b/src/panfrost/bifrost/bi_helper_invocations.c @@ -94,8 +94,8 @@ bi_instr_uses_helpers(bi_instr *I) case BI_OPCODE_VAR_TEX_F16: case BI_OPCODE_VAR_TEX_F32: return !I->lod_mode; /* set for zero, clear for computed */ + case BI_OPCODE_CLPER_I32: case BI_OPCODE_CLPER_V6_I32: - case BI_OPCODE_CLPER_V7_I32: /* Fragment shaders require helpers to implement derivatives. * Other shader stages don't have helpers at all */ return true; diff --git a/src/panfrost/bifrost/bi_lower_swizzle.c b/src/panfrost/bifrost/bi_lower_swizzle.c index 5f396827fdf..d5c4e965e80 100644 --- a/src/panfrost/bifrost/bi_lower_swizzle.c +++ b/src/panfrost/bifrost/bi_lower_swizzle.c @@ -44,8 +44,8 @@ bi_lower_swizzle_16(bi_context *ctx, bi_instr *ins, unsigned src) /* Despite ostensibly being 32-bit instructions, CLPER does not * inherently interpret the data, so it can be used for v2f16 * derivatives, which might require swizzle lowering */ + case BI_OPCODE_CLPER_I32: case BI_OPCODE_CLPER_V6_I32: - case BI_OPCODE_CLPER_V7_I32: break; case BI_OPCODE_IADD_V2S16: diff --git a/src/panfrost/bifrost/bi_schedule.c b/src/panfrost/bifrost/bi_schedule.c index 89f139e025b..6e0a9ea5e18 100644 --- a/src/panfrost/bifrost/bi_schedule.c +++ b/src/panfrost/bifrost/bi_schedule.c @@ -614,8 +614,8 @@ bi_reads_temps(bi_instr *ins, unsigned src) { switch (ins->op) { /* Cannot permute a temporary */ + case BI_OPCODE_CLPER_I32: case BI_OPCODE_CLPER_V6_I32: - case BI_OPCODE_CLPER_V7_I32: return src != 0; case BI_OPCODE_IMULD: return false; diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index b5ac6e84044..a386999c507 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -1971,11 +1971,11 @@ bi_emit_alu(bi_builder *b, nir_alu_instr *instr) left = bi_clper_v6_i32(b, s0, lane1); right = bi_clper_v6_i32(b, s0, lane2); } else { - left = bi_clper_v7_i32(b, s0, lane1, + left = bi_clper_i32(b, s0, lane1, BI_INACTIVE_RESULT_ZERO, BI_LANE_OP_NONE, BI_SUBGROUP_SUBGROUP4); - right = bi_clper_v7_i32(b, s0, lane2, + right = bi_clper_i32(b, s0, lane2, BI_INACTIVE_RESULT_ZERO, BI_LANE_OP_NONE, BI_SUBGROUP_SUBGROUP4); }