Mesa (master): glsl/parser: handle multiple layout sections with AST nodes.

Dave Airlie airlied at kemper.freedesktop.org
Mon May 23 06:20:36 UTC 2016


Module: Mesa
Branch: master
Commit: 3466db396938751d8db28dd68d2fed80f526a0f4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3466db396938751d8db28dd68d2fed80f526a0f4

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon May 23 15:55:06 2016 +1000

glsl/parser: handle multiple layout sections with AST nodes.

For geometry/compute inputs and tess control outputs, we create
an AST node to keep track of some things. However if we have
multiple layout sections, we don't ever link the node into the AST.

This is because we create the node on the rightmost layout declaration
and don't pass it back in so it gets linked at the end of the parsing
of the rightmost.

Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/compiler/glsl/glsl_parser.yy | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
index 09e346d..3885688 100644
--- a/src/compiler/glsl/glsl_parser.yy
+++ b/src/compiler/glsl/glsl_parser.yy
@@ -2859,6 +2859,7 @@ layout_in_defaults:
                 merge_in_qualifier(& @1, state, $1, $$, false)) {
             YYERROR;
          }
+         $$ = $2;
       }
    }
    | layout_qualifier IN_TOK ';'
@@ -2883,6 +2884,7 @@ layout_out_defaults:
                 merge_out_qualifier(& @1, state, $1, $$, false)) {
             YYERROR;
          }
+         $$ = $2;
       }
    }
    | layout_qualifier OUT_TOK ';'




More information about the mesa-commit mailing list