mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 19:50:11 +01:00
glsl: allow redeclaration of TCS gl_out[]
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
8cf72972ce
commit
19f46d0540
1 changed files with 16 additions and 4 deletions
|
|
@ -5892,16 +5892,28 @@ ast_interface_block::hir(exec_list *instructions,
|
||||||
if (ir_variable *earlier_gl_Position =
|
if (ir_variable *earlier_gl_Position =
|
||||||
state->symbols->get_variable("gl_Position")) {
|
state->symbols->get_variable("gl_Position")) {
|
||||||
earlier_per_vertex = earlier_gl_Position->get_interface_type();
|
earlier_per_vertex = earlier_gl_Position->get_interface_type();
|
||||||
|
} else if (ir_variable *earlier_gl_out =
|
||||||
|
state->symbols->get_variable("gl_out")) {
|
||||||
|
earlier_per_vertex = earlier_gl_out->get_interface_type();
|
||||||
} else {
|
} else {
|
||||||
_mesa_glsl_error(&loc, state,
|
_mesa_glsl_error(&loc, state,
|
||||||
"redeclaration of gl_PerVertex output not "
|
"redeclaration of gl_PerVertex output not "
|
||||||
"allowed in the %s shader",
|
"allowed in the %s shader",
|
||||||
_mesa_shader_stage_to_string(state->stage));
|
_mesa_shader_stage_to_string(state->stage));
|
||||||
}
|
}
|
||||||
if (this->instance_name != NULL) {
|
if (state->stage == MESA_SHADER_TESS_CTRL) {
|
||||||
_mesa_glsl_error(&loc, state,
|
if (this->instance_name == NULL ||
|
||||||
"gl_PerVertex output may not be redeclared with "
|
strcmp(this->instance_name, "gl_out") != 0 || this->array_specifier == NULL) {
|
||||||
"an instance name");
|
_mesa_glsl_error(&loc, state,
|
||||||
|
"gl_PerVertex output must be redeclared as "
|
||||||
|
"gl_out[]");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this->instance_name != NULL) {
|
||||||
|
_mesa_glsl_error(&loc, state,
|
||||||
|
"gl_PerVertex output may not be redeclared with "
|
||||||
|
"an instance name");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue