{"novalidate",AGX_DBG_NOVALIDATE,"Skip IR validation in debug builds"},
{"noopt", AGX_DBG_NOOPT, "Disable backend optimizations"},
{"wait", AGX_DBG_WAIT, "Wait after all async instructions"},
+ {"nopreamble",AGX_DBG_NOPREAMBLE,"Do not use shader preambles"},
DEBUG_NAMED_VALUE_END
};
/* clang-format on */
NIR_PASS_V(nir, agx_nir_lower_address);
NIR_PASS_V(nir, nir_lower_int64);
- NIR_PASS_V(nir, agx_nir_opt_preamble, preamble_size);
+ if (likely(!(agx_debug & AGX_DBG_NOPREAMBLE)))
+ NIR_PASS_V(nir, agx_nir_opt_preamble, preamble_size);
/* Forming preambles may dramatically reduce the instruction count
* in certain blocks, causing some if-else statements to become
AGX_DBG_NOVALIDATE = BITFIELD_BIT(5),
AGX_DBG_NOOPT = BITFIELD_BIT(6),
AGX_DBG_WAIT = BITFIELD_BIT(7),
+ AGX_DBG_NOPREAMBLE = BITFIELD_BIT(8),
};
/* clang-format on */