summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndres Gomez <[email protected]>2016-11-11 21:03:24 +0200
committerAndres Gomez <[email protected]>2016-11-25 13:18:30 +0200
commitae1ce8ecd3cfd243d6fdc558c0d0f04d073c2290 (patch)
tree804392879e08e344b37dda489f777475c9799a53
parenta5d6ae2f51718b877a15a3a687586dce97b3b1ba (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.cpp16
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;
}