microsof: Run lower_sysvals_to_varyings after lower_input_attachments

This lets us request system values from lower_input_attachments and just
lower them ourselves instead of asking it to create variables.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38562>
This commit is contained in:
Faith Ekstrand 2025-11-20 17:17:35 -05:00 committed by Marge Bot
parent 82280a7e86
commit b02a98d7d8

View file

@ -967,11 +967,14 @@ dxil_spirv_nir_passes(nir_shader *nir,
if (nir->info.stage == MESA_SHADER_FRAGMENT) {
NIR_PASS(_, nir, nir_lower_input_attachments,
&(nir_input_attachment_options){
.use_fragcoord_sysval = false,
.use_layer_id_sysval = !conf->lower_view_index,
.use_fragcoord_sysval = true,
.use_layer_id_sysval = true,
.use_view_id_for_layer = !conf->lower_view_index,
});
/* Lower sysvals again to get rid of load_layer_id */
NIR_PASS(_, nir, nir_lower_sysvals_to_varyings, &sysvals_to_varyings);
NIR_PASS(_, nir, dxil_nir_lower_discard_and_terminate);
NIR_PASS(_, nir, nir_lower_returns);
NIR_PASS(_, nir, dxil_nir_lower_sample_pos);