mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
glsl: relax stage restrictions on layout defaults for outputs
The new xfb_buffer and xfb_stride global qualifiers are allowed in geom, tess and vertex stages. Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
c9afd94af6
commit
7b407fecec
2 changed files with 7 additions and 7 deletions
|
|
@ -381,9 +381,10 @@ ast_type_qualifier::merge_out_qualifier(YYLTYPE *loc,
|
|||
if (create_node) {
|
||||
node = new(mem_ctx) ast_tcs_output_layout(*loc);
|
||||
}
|
||||
} else {
|
||||
} else if (!(state->stage == MESA_SHADER_TESS_EVAL ||
|
||||
state->stage == MESA_SHADER_VERTEX)) {
|
||||
_mesa_glsl_error(loc, state, "out layout qualifiers only valid in "
|
||||
"tessellation control or geometry shaders");
|
||||
"geometry, tessellation and vertex shaders");
|
||||
}
|
||||
|
||||
/* Allow future assigments of global out's */
|
||||
|
|
|
|||
|
|
@ -1595,13 +1595,12 @@ set_shader_inout_layout(struct gl_shader *shader,
|
|||
struct _mesa_glsl_parse_state *state)
|
||||
{
|
||||
/* Should have been prevented by the parser. */
|
||||
if (shader->Stage == MESA_SHADER_TESS_CTRL) {
|
||||
if (shader->Stage == MESA_SHADER_TESS_CTRL ||
|
||||
shader->Stage == MESA_SHADER_VERTEX) {
|
||||
assert(!state->in_qualifier->flags.i);
|
||||
} else if (shader->Stage == MESA_SHADER_TESS_EVAL) {
|
||||
assert(!state->out_qualifier->flags.i);
|
||||
} else if (shader->Stage != MESA_SHADER_GEOMETRY) {
|
||||
} else if (shader->Stage != MESA_SHADER_GEOMETRY &&
|
||||
shader->Stage != MESA_SHADER_TESS_EVAL) {
|
||||
assert(!state->in_qualifier->flags.i);
|
||||
assert(!state->out_qualifier->flags.i);
|
||||
}
|
||||
|
||||
if (shader->Stage != MESA_SHADER_COMPUTE) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue