intel: Drop compressed_multisample_layout_mask from the compiler keys

The compiler looks at this key field to determine whether to perform
an MCS fetch for a txf_ms or samples_identical texture message, if a
nir_tex_src_ms_mcs_intel source wasn't provided.  If it isn't set,
it instead uses constant 0 (nothing is compressed).

All of the drivers (iris, crocus, anv, hasvk) unconditionally set this
to ~0 because we don't want to pay for costly shader recompiles (which
can cause nasty stuttering).  Most textures are compressed anyway, and
the hardware ignores the l2dms MCS parameter if MCS is disabled.

The only user was BLORP, which sets the key field based on whether the
texture's aux usage has MCS.  But if it has MCS, it also does the MCS
fetch itself and supplies it directly.  Otherwise, it relies on the
compiler to fill in the 0 value.  But it could easily just provide the
0 value itself in that case and not rely on the compiler at all.

With that fixed, we can just drop the key fields entirely.  We leave
them as padding for now to avoid repacking structures; we won't need
to after the next commits anyway.

Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223>
This commit is contained in:
Kenneth Graunke
2022-12-07 20:20:12 -08:00
committed by Marge Bot
parent 5c62f526a4
commit 584e18863e
10 changed files with 10 additions and 40 deletions

View File

@@ -63,8 +63,6 @@ debug_sampler_recompile(const struct brw_compiler *c, void *log,
bool found = false;
found |= check("gather channel quirk", gather_channel_quirk_mask);
found |= check("compressed multisample layout",
compressed_multisample_layout_mask);
found |= check("16x msaa", msaa_16);
found |= check("y_uv image bound", y_uv_image_mask);
found |= check("y_u_v image bound", y_u_v_image_mask);