glsl: no xfb buffer qualifier for mesh shader

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36405>
This commit is contained in:
Qiang Yu 2025-07-15 14:46:06 +08:00 committed by Marge Bot
parent 8c58bd5acf
commit 521aa2e010
2 changed files with 7 additions and 2 deletions

View file

@ -398,7 +398,9 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc,
}
}
if (state->has_enhanced_layouts()) {
/* Not apply to mesh shader */
if (state->stage <= MESA_SHADER_GEOMETRY &&
state->has_enhanced_layouts()) {
if (!this->flags.q.explicit_xfb_buffer) {
if (q.flags.q.xfb_buffer) {
this->flags.q.xfb_buffer = 1;

View file

@ -1241,7 +1241,10 @@ _mesa_ast_process_interface_block(YYLTYPE *locp,
block->default_layout.stream = state->out_qualifier->stream;
}
if (state->has_enhanced_layouts() && block->default_layout.flags.q.out &&
/* Not apply to mesh shader. */
if (state->stage <= MESA_SHADER_GEOMETRY &&
state->has_enhanced_layouts() &&
block->default_layout.flags.q.out &&
state->exts->ARB_transform_feedback3) {
/* Assign global layout's xfb_buffer value. */
block->default_layout.flags.q.xfb_buffer = 1;