nak: Call nir_lower_io_to_temporaries for FS outputs

They can't be indirected and we also need the guarantee that all output
writes are in the last block in the shader or else our back-end copying
is sketchy.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28377>
This commit is contained in:
Faith Ekstrand
2024-03-25 17:32:37 -05:00
committed by Marge Bot
parent f46445a0f6
commit 278eaa5ab1
+5
View File
@@ -295,6 +295,11 @@ nak_preprocess_nir(nir_shader *nir, const struct nak_compiler *nak)
nir_validate_ssa_dominance(nir, "before nak_preprocess_nir");
if (nir->info.stage == MESA_SHADER_FRAGMENT) {
nir_lower_io_to_temporaries(nir, nir_shader_get_entrypoint(nir),
true /* outputs */, false /* inputs */);
}
const nir_lower_tex_options tex_options = {
.lower_txd_3d = true,
.lower_txd_cube_map = true,