diff options
| author | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-01 16:18:35 -0500 |
|---|---|---|
| committer | Duck912 <350528965+Duck912@users.noreply.github.com> | 2026-11-01 21:54:48 -0500 |
| commit | 2b8002474d25897ced2f7787ab68f39971c6b05a (patch) | |
| tree | e891a58f1046e33b6cbb9dce379c2cb67faffe51 /src/tests/core/program_metadata.cpp | |
| parent | 18b0671e1b640fc3cbca565c39f5a69a287ede9b (diff) | |
shader: lower more integer forms
Forms Fire Emblem: Fortune's Weave's shaders use that the lowering
rejected, mostly 64-bit address and index arithmetic:
- ISETP.EX: EQ/NE as the high comparison ANDed/ORed with the low words'
predicate, unsigned LT/LE/GT/GE as (hi < or > hi) || (hi == hi && low).
- IMAD.HI signed (bit 73), and with a constant buffer multiplier (0xa27).
- IMAD.X Rd, Ra, 1, Rc, Pn (an add with carry).
- IADD3.X with a register first source or a uniform operand, and IADD3
with a uniform operand and a carry out.
- LEA.HI.X (carry in) with a register base, and LEA.HI.X.SX32 with a
constant base.
- SHF with a constant buffer shift amount (0xa19).
- IMNMX with a negative immediate.
- F2I.FTZ.U64.TRUNC (0x311).
Assisted-by: Claude Opus 5.5 (debugging, implementation and drafting)
Signed-off-by: duck912 <350528965+Duck912@users.noreply.github.com>
Signed-off-by: Duck912 <350528965+Duck912@users.noreply.github.com>
Diffstat (limited to 'src/tests/core/program_metadata.cpp')
0 files changed, 0 insertions, 0 deletions
