nir: relax validation failure for generic TCS outputs with no_varying

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26918>
This commit is contained in:
Marek Olšák
2023-12-26 08:39:34 -05:00
parent d84a616d4d
commit c844b5dc85
+6 -2
View File
@@ -760,8 +760,12 @@ validate_intrinsic_instr(nir_intrinsic_instr *instr, validate_state *state)
validate_assert(state,
(nir_slot_is_sysval_output(sem.location, MESA_SHADER_NONE) &&
!sem.no_sysval_output) ||
(nir_slot_is_varying(sem.location) && !sem.no_varying) ||
nir_instr_xfb_write_mask(instr));
(nir_slot_is_varying(sem.location) && !sem.no_varying) ||
nir_instr_xfb_write_mask(instr) ||
/* TCS can set no_varying and no_sysval_output, meaning
* that the output is only read by TCS and not TES.
*/
state->shader->info.stage == MESA_SHADER_TESS_CTRL);
}
}