nak: the MS location comes last in TLD, same spot as depth compare in TEX
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Some Max Payne 3 shaders are impacted by this and probably will fix some
issue there. The VK CTS isn't testing this, but it was verified to fix a
real problem by inserting 0 offsets into the instruction and having CTS
tests fail with the old ordering.

Totals from 3 (0.00% of 1163204) affected shaders:
CodeSize: 2496 -> 2736 (+9.62%)
Static cycle count: 732 -> 741 (+1.23%)

Fixes: ad01fbdda0 ("nak: Add a NIR texture lowering pass")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40957>
This commit is contained in:
Karol Herbst 2026-04-11 17:45:19 +02:00 committed by Marge Bot
parent d6cc17cbdb
commit e09045e26c

View file

@ -361,8 +361,6 @@ lower_tex(nir_builder *b, nir_tex_instr *tex, const struct nak_compiler *nak)
if (tex_h != NULL)
PUSH(src1, tex_h);
if (ms_idx != NULL)
PUSH(src1, ms_idx);
if (lod != NULL)
PUSH(src1, lod);
if (offset_mode == NAK_NIR_OFFSET_MODE_AOFFI) {
@ -373,6 +371,8 @@ lower_tex(nir_builder *b, nir_tex_instr *tex, const struct nak_compiler *nak)
}
if (z_cmpr != NULL)
PUSH(src1, z_cmpr);
if (ms_idx != NULL)
PUSH(src1, ms_idx);
}
scalar = try_scalarize_tex(tex, nak, src0, &src0_comps, src1, &src1_comps);