diff options
author | Andres Gomez <[email protected]> | 2016-11-11 21:03:24 +0200 |
---|---|---|
committer | Andres Gomez <[email protected]> | 2016-11-25 13:18:30 +0200 |
commit | ae1ce8ecd3cfd243d6fdc558c0d0f04d073c2290 (patch) | |
tree | 804392879e08e344b37dda489f777475c9799a53 | |
parent | a5d6ae2f51718b877a15a3a687586dce97b3b1ba (diff) |
glsl: assert on incoherent point mode layout-id-qualifier validation
The point mode value in an ast_type_qualifier can only be true if the
flag is already set since this layout-id-qualifier can only be or not
be present in a shader.
Hence, it is useless to check for its value if the flag is already
set. Just replaced with an assert.
V2: assert instead of checking for coherence and raising a compilation
error. Suggested by Timothy.
Reviewed-by: Timothy Arceri <[email protected]>
Signed-off-by: Andres Gomez <[email protected]>
-rw-r--r-- | src/compiler/glsl/ast_type.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/compiler/glsl/ast_type.cpp b/src/compiler/glsl/ast_type.cpp index 6aedeaa62d7..1adb1f4752a 100644 --- a/src/compiler/glsl/ast_type.cpp +++ b/src/compiler/glsl/ast_type.cpp @@ -316,10 +316,8 @@ ast_type_qualifier::merge_qualifier(YYLTYPE *loc, } if (q.flags.q.point_mode) { - if (this->flags.q.point_mode && this->point_mode != q.point_mode) { - _mesa_glsl_error(loc, state, "conflicting point mode used"); - return false; - } + /* Point mode can only be true if the flag is set. */ + assert (!this->flags.q.point_mode || (this->point_mode && q.point_mode)); this->flags.q.point_mode = 1; this->point_mode = q.point_mode; } @@ -582,12 +580,10 @@ ast_type_qualifier::validate_in_qualifier(YYLTYPE *loc, "conflicting ordering specified"); } - if (state->in_qualifier->flags.q.point_mode && this->flags.q.point_mode - && state->in_qualifier->point_mode != this->point_mode) { - r = false; - _mesa_glsl_error(loc, state, - "conflicting point mode specified"); - } + /* Point mode can only be true if the flag is set. */ + assert (!state->in_qualifier->flags.q.point_mode + || !this->flags.q.point_mode + || (state->in_qualifier->point_mode && this->point_mode)); return r; } |