mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 07:10:15 +01:00
glsl: Check that 'centroid in' does not occur in vertex shader
The check is performed only in GLSL versions >= 1.30. From section 4.3.4 of the GLSL 1.30 spec: "It is an error to use centroid in in a vertex shader." Fixes Piglit test spec/glsl-1.30/compiler/storage-qualifiers/vs-centroid-in-01.vert
This commit is contained in:
parent
8faaa4a672
commit
1eb0f17fa4
1 changed files with 13 additions and 0 deletions
|
|
@ -2338,6 +2338,19 @@ ast_declarator_list::hir(exec_list *instructions,
|
|||
}
|
||||
|
||||
|
||||
/* From section 4.3.4 of the GLSL 1.30 spec:
|
||||
* "It is an error to use centroid in in a vertex shader."
|
||||
*/
|
||||
if (state->language_version >= 130
|
||||
&& this->type->qualifier.flags.q.centroid
|
||||
&& this->type->qualifier.flags.q.in
|
||||
&& state->target == vertex_shader) {
|
||||
|
||||
_mesa_glsl_error(&loc, state,
|
||||
"'centroid in' cannot be used in a vertex shader");
|
||||
}
|
||||
|
||||
|
||||
/* Process the initializer and add its instructions to a temporary
|
||||
* list. This list will be added to the instruction stream (below) after
|
||||
* the declaration is added. This is done because in some cases (such as
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue