nak: the MS location comes last in TLD, same spot as depth compare in TEX

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>
(cherry picked from commit e09045e26c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
This commit is contained in:
Karol Herbst 2026-04-11 17:45:19 +02:00 committed by Eric Engestrom
parent ed452ed664
commit a58d79067c
2 changed files with 3 additions and 3 deletions

View file

@ -5494,7 +5494,7 @@
"description": "nak: the MS location comes last in TLD, same spot as depth compare in TEX",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "ad01fbdda030d2c5d2dd09f02bbaa7ab3613b7ae",
"notes": null

View file

@ -298,8 +298,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) {
@ -310,6 +308,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);
}
nir_tex_instr_add_src(tex, nir_tex_src_backend1,