mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-04 10:58:15 +02:00
jay: hide MAD->MAC behind !JAY_DEBUG=strict
in case this comes back to bite us. nice to keep our nonconformances programatically triaged. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41808>
This commit is contained in:
parent
b2edda3037
commit
0c376dde89
3 changed files with 5 additions and 2 deletions
|
|
@ -323,11 +323,12 @@ pass(jay_function *func)
|
|||
*
|
||||
* The bspec says "Instructions that specify an implicit accumulator
|
||||
* source cannot specify an explicit accumulator source operand.". But
|
||||
* it works fine on Lunar Lake so ¯\_(ツ)_/¯
|
||||
* it works fine on Lunar Lake so ¯\_(ツ)_/¯ ... gate on !strict.
|
||||
*/
|
||||
if ((I->op == JAY_OPCODE_MAD && I->type == JAY_TYPE_F32) &&
|
||||
(I->src[2].file == ACCUM && I->src[2].reg == 0) &&
|
||||
!(I->src[2].negate || I->src[2].abs)) {
|
||||
!(I->src[2].negate || I->src[2].abs) &&
|
||||
!(jay_debug & JAY_DBG_STRICT)) {
|
||||
|
||||
I->op = JAY_OPCODE_MAC;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ static const struct debug_named_value jay_debug_options[] = {
|
|||
{ "sync", JAY_DBG_SYNC, "Sync after every instruction" },
|
||||
{ "noacc", JAY_DBG_NOACC, "Disable accumulator substitution" },
|
||||
{ "nosched", JAY_DBG_NOSCHED, "Disable scheduling" },
|
||||
{ "strict", JAY_DBG_STRICT, "Strictly conform to bspec/fulsim" },
|
||||
DEBUG_NAMED_VALUE_END
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ extern "C" {
|
|||
#define JAY_DBG_SYNC BITFIELD_BIT(3)
|
||||
#define JAY_DBG_NOACC BITFIELD_BIT(4)
|
||||
#define JAY_DBG_NOSCHED BITFIELD_BIT(5)
|
||||
#define JAY_DBG_STRICT BITFIELD_BIT(6)
|
||||
extern int jay_debug;
|
||||
|
||||
bool jay_nir_lower_bool(nir_shader *nir);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue