mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-29 03:00:23 +01:00
glsl: Disallow auxiliary storage qualifiers on FS outputs.
This has always been an error; we just forgot to check for it.
Fixes Piglit's no-aux-qual-on-fs-output.frag.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67333
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 17856726c9)
This commit is contained in:
parent
4953bf3837
commit
8a27c824ec
1 changed files with 14 additions and 0 deletions
|
|
@ -2927,6 +2927,20 @@ ast_declarator_list::hir(exec_list *instructions,
|
|||
"'centroid in' cannot be used in a vertex shader");
|
||||
}
|
||||
|
||||
/* Section 4.3.6 of the GLSL 1.30 specification states:
|
||||
* "It is an error to use centroid out in a fragment shader."
|
||||
*
|
||||
* The GL_ARB_shading_language_420pack extension specification states:
|
||||
* "It is an error to use auxiliary storage qualifiers or interpolation
|
||||
* qualifiers on an output in a fragment shader."
|
||||
*/
|
||||
if (state->target == fragment_shader &&
|
||||
this->type->qualifier.flags.q.out &&
|
||||
this->type->qualifier.has_auxiliary_storage()) {
|
||||
_mesa_glsl_error(&loc, state,
|
||||
"auxiliary storage qualifiers cannot be used on "
|
||||
"fragment shader outputs");
|
||||
}
|
||||
|
||||
/* Precision qualifiers exists only in GLSL versions 1.00 and >= 1.30.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue