summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl
diff options
context:
space:
mode:
authorAndres Gomez <[email protected]>2016-10-07 01:52:08 +0300
committerAndres Gomez <[email protected]>2016-11-25 13:18:30 +0200
commit93f90d7795ba414c01ab6fe905f8b3f61eeaf7ef (patch)
tree000792678a152e6810f6f4573860c447aeeb48c3 /src/compiler/glsl
parentbe54a58da3ee5485d18c04e1ccc0a1c6137a46a3 (diff)
glsl: simplified ast_type_qualifier::merge_into_[in|out]_qualifier API
Since we modified the way in which multiple repetitions of the same layout-qualifier-name in a single declaration collapse into the ast_type_qualifier class, we can simplify the merge_into_[in|out]_qualifier APIs through removing the create_node parameter. Reviewed-by: Timothy Arceri <[email protected]> Signed-off-by: Andres Gomez <[email protected]>
Diffstat (limited to 'src/compiler/glsl')
-rw-r--r--src/compiler/glsl/ast.h4
-rw-r--r--src/compiler/glsl/ast_type.cpp14
-rw-r--r--src/compiler/glsl/glsl_parser.yy4
3 files changed, 10 insertions, 12 deletions
diff --git a/src/compiler/glsl/ast.h b/src/compiler/glsl/ast.h
index 7bbb58800a7..e40387b8f65 100644
--- a/src/compiler/glsl/ast.h
+++ b/src/compiler/glsl/ast.h
@@ -767,7 +767,7 @@ struct ast_type_qualifier {
*/
bool merge_into_out_qualifier(YYLTYPE *loc,
_mesa_glsl_parse_state *state,
- ast_node* &node, bool create_node);
+ ast_node* &node);
/**
* Validate current qualifier against the global in one.
@@ -780,7 +780,7 @@ struct ast_type_qualifier {
*/
bool merge_into_in_qualifier(YYLTYPE *loc,
_mesa_glsl_parse_state *state,
- ast_node* &node, bool create_node);
+ ast_node* &node);
bool validate_flags(YYLTYPE *loc,
_mesa_glsl_parse_state *state,
diff --git a/src/compiler/glsl/ast_type.cpp b/src/compiler/glsl/ast_type.cpp
index 91050a5877a..bfe1d2faca6 100644
--- a/src/compiler/glsl/ast_type.cpp
+++ b/src/compiler/glsl/ast_type.cpp
@@ -514,7 +514,7 @@ ast_type_qualifier::validate_out_qualifier(YYLTYPE *loc,
bool
ast_type_qualifier::merge_into_out_qualifier(YYLTYPE *loc,
_mesa_glsl_parse_state *state,
- ast_node* &node, bool create_node)
+ ast_node* &node)
{
const bool r = state->out_qualifier->merge_qualifier(loc, state,
*this, false);
@@ -525,8 +525,7 @@ ast_type_qualifier::merge_into_out_qualifier(YYLTYPE *loc,
state->out_qualifier->flags.q.explicit_stream = 0;
break;
case MESA_SHADER_TESS_CTRL:
- if (create_node)
- node = new(state->linalloc) ast_tcs_output_layout(*loc);
+ node = new(state->linalloc) ast_tcs_output_layout(*loc);
break;
default:
break;
@@ -627,7 +626,7 @@ ast_type_qualifier::validate_in_qualifier(YYLTYPE *loc,
bool
ast_type_qualifier::merge_into_in_qualifier(YYLTYPE *loc,
_mesa_glsl_parse_state *state,
- ast_node* &node, bool create_node)
+ ast_node* &node)
{
bool r = true;
void *lin_ctx = state->linalloc;
@@ -636,8 +635,7 @@ ast_type_qualifier::merge_into_in_qualifier(YYLTYPE *loc,
* more repeated nodes will be created as we will have the flag set.
*/
if (state->stage == MESA_SHADER_GEOMETRY
- && this->flags.q.prim_type && !state->in_qualifier->flags.q.prim_type
- && create_node) {
+ && this->flags.q.prim_type && !state->in_qualifier->flags.q.prim_type) {
node = new(lin_ctx) ast_gs_input_layout(*loc, this->prim_type);
}
@@ -653,8 +651,8 @@ ast_type_qualifier::merge_into_in_qualifier(YYLTYPE *loc,
* into HIR.
*/
if (state->in_qualifier->flags.q.local_size) {
- if (create_node)
- node = new(lin_ctx) ast_cs_input_layout(*loc, state->in_qualifier->local_size);
+ node = new(lin_ctx) ast_cs_input_layout(*loc,
+ state->in_qualifier->local_size);
state->in_qualifier->flags.q.local_size = 0;
for (int i = 0; i < 3; i++)
state->in_qualifier->local_size[i] = NULL;
diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
index 5a8f854ece8..5529f1116c1 100644
--- a/src/compiler/glsl/glsl_parser.yy
+++ b/src/compiler/glsl/glsl_parser.yy
@@ -2957,14 +2957,14 @@ layout_defaults:
| layout_in_defaults
{
$$ = NULL;
- if (!$1.merge_into_in_qualifier(& @1, state, $$, true)) {
+ if (!$1.merge_into_in_qualifier(& @1, state, $$)) {
YYERROR;
}
}
| layout_out_defaults
{
$$ = NULL;
- if (!$1.merge_into_out_qualifier(& @1, state, $$, true)) {
+ if (!$1.merge_into_out_qualifier(& @1, state, $$)) {
YYERROR;
}
}