glsl: update parser to allow duplicate default layout qualifiers
authorTimothy Arceri <timothy.arceri@collabora.com>
Mon, 18 Jan 2016 06:06:57 +0000 (17:06 +1100)
committerTimothy Arceri <timothy.arceri@collabora.com>
Tue, 19 Jan 2016 21:06:45 +0000 (08:06 +1100)
commit564009986ff1485c467664542a9042e6ce4dcdfe
treed9ced4f72b47da1d1319b70d6219025122fff124
parenta0a93470e3413d5a5890d988462bb898362bd68f
glsl: update parser to allow duplicate default layout qualifiers

In order to only create a single node for each default declaration
we add a new boolean parameter to the in/out merge function to
only create one once we reach the rightmost layout qualifier.

From the ARB_shading_language_420pack spec:

   "More than one layout qualifier may appear in a single
   declaration. If the same layout-qualifier-name occurs in
   multiple layout qualifiers for the same declaration, the
   last one overrides the former ones."

Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
src/glsl/ast.h
src/glsl/ast_type.cpp
src/glsl/glsl_parser.yy