NIR already has these so they are redundant. A run of shader-db confirms that the only cases where these backend optimizations are activated are some Tomb Raider shaders where the affected variables are qualified as "precise", which is why NIR won't apply them and why the backend shouldn't either (so it is actually a bug).
Suggested-by: Jason Ekstrand <ja...@jlekstrand.net> --- src/intel/compiler/brw_fs.cpp | 37 ----------------------------------- 1 file changed, 37 deletions(-) diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 77c955ac435..e7f5a8822a3 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -2568,16 +2568,6 @@ fs_visitor::opt_algebraic() break; } break; - case BRW_OPCODE_LRP: - if (inst->src[1].equals(inst->src[2])) { - inst->opcode = BRW_OPCODE_MOV; - inst->src[0] = inst->src[1]; - inst->src[1] = reg_undef; - inst->src[2] = reg_undef; - progress = true; - break; - } - break; case BRW_OPCODE_CMP: if ((inst->conditional_mod == BRW_CONDITIONAL_Z || inst->conditional_mod == BRW_CONDITIONAL_NZ) && @@ -2654,33 +2644,6 @@ fs_visitor::opt_algebraic() } } break; - case BRW_OPCODE_MAD: - if (inst->src[1].is_zero() || inst->src[2].is_zero()) { - inst->opcode = BRW_OPCODE_MOV; - inst->src[1] = reg_undef; - inst->src[2] = reg_undef; - progress = true; - } else if (inst->src[0].is_zero()) { - inst->opcode = BRW_OPCODE_MUL; - inst->src[0] = inst->src[2]; - inst->src[2] = reg_undef; - progress = true; - } else if (inst->src[1].is_one()) { - inst->opcode = BRW_OPCODE_ADD; - inst->src[1] = inst->src[2]; - inst->src[2] = reg_undef; - progress = true; - } else if (inst->src[2].is_one()) { - inst->opcode = BRW_OPCODE_ADD; - inst->src[2] = reg_undef; - progress = true; - } else if (inst->src[1].file == IMM && inst->src[2].file == IMM) { - inst->opcode = BRW_OPCODE_ADD; - inst->src[1].f *= inst->src[2].f; - inst->src[2] = reg_undef; - progress = true; - } - break; case SHADER_OPCODE_BROADCAST: if (is_uniform(inst->src[0])) { inst->opcode = BRW_OPCODE_MOV; -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev