glsl: Add new keywords and reserved words for GLSL 1.30.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 14 Nov 2010 06:02:09 +0000 (22:02 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Mon, 15 Nov 2010 21:33:58 +0000 (13:33 -0800)
src/glsl/glsl_lexer.lpp
src/glsl/glsl_parser.ypp

index 8498b7e..26cf305 100644 (file)
@@ -219,8 +219,26 @@ sampler1D  return SAMPLER1D;
 sampler2D      return SAMPLER2D;
 sampler3D      return SAMPLER3D;
 samplerCube    return SAMPLERCUBE;
+sampler1DArray KEYWORD(130, 130, SAMPLER1DARRAY);
+sampler2DArray KEYWORD(130, 130, SAMPLER2DARRAY);
 sampler1DShadow        return SAMPLER1DSHADOW;
 sampler2DShadow        return SAMPLER2DSHADOW;
+samplerCubeShadow      KEYWORD(130, 130, SAMPLERCUBESHADOW);
+sampler1DArrayShadow   KEYWORD(130, 130, SAMPLER1DARRAYSHADOW);
+sampler2DArrayShadow   KEYWORD(130, 130, SAMPLER2DARRAYSHADOW);
+isampler1D             KEYWORD(130, 130, ISAMPLER1D);
+isampler2D             KEYWORD(130, 130, ISAMPLER2D);
+isampler3D             KEYWORD(130, 130, ISAMPLER3D);
+isamplerCube           KEYWORD(130, 130, ISAMPLERCUBE);
+isampler1DArray                KEYWORD(130, 130, ISAMPLER1DARRAY);
+isampler2DArray                KEYWORD(130, 130, ISAMPLER2DARRAY);
+usampler1D             KEYWORD(130, 130, USAMPLER1D);
+usampler2D             KEYWORD(130, 130, USAMPLER2D);
+usampler3D             KEYWORD(130, 130, USAMPLER3D);
+usamplerCube           KEYWORD(130, 130, USAMPLERCUBE);
+usampler1DArray                KEYWORD(130, 130, USAMPLER1DARRAY);
+usampler2DArray                KEYWORD(130, 130, USAMPLER2DARRAY);
+
 
 struct         return STRUCT;
 void           return VOID_TOK;
@@ -355,6 +373,7 @@ highp               KEYWORD(120, 130 || ES, HIGHP);
 precision      KEYWORD(120, 130 || ES, PRECISION);
 
     /* Additional reserved words in GLSL 1.30. */
+case           KEYWORD(130, 130, CASE);
 common         KEYWORD(130, 999, COMMON);
 partition      KEYWORD(130, 999, PARTITION);
 active         KEYWORD(130, 999, ACTIVE);
@@ -381,6 +400,8 @@ uimage1DArray       KEYWORD(130, 999, UIMAGE1DARRAY);
 uimage2DArray  KEYWORD(130, 999, UIMAGE2DARRAY);
 image1DShadow  KEYWORD(130, 999, IMAGE1DSHADOW);
 image2DShadow  KEYWORD(130, 999, IMAGE2DSHADOW);
+image1DArrayShadow KEYWORD(130, 999, IMAGE1DARRAYSHADOW);
+image2DArrayShadow KEYWORD(130, 999, IMAGE2DARRAYSHADOW);
 imageBuffer    KEYWORD(130, 999, IMAGEBUFFER);
 iimageBuffer   KEYWORD(130, 999, IIMAGEBUFFER);
 uimageBuffer   KEYWORD(130, 999, UIMAGEBUFFER);
index 3813d7a..6d7d148 100644 (file)
 %token IIMAGE1D IIMAGE2D IIMAGE3D IIMAGECUBE IIMAGE1DARRAY IIMAGE2DARRAY
 %token UIMAGE1D UIMAGE2D UIMAGE3D UIMAGECUBE UIMAGE1DARRAY UIMAGE2DARRAY
 %token IMAGE1DSHADOW IMAGE2DSHADOW IMAGEBUFFER IIMAGEBUFFER UIMAGEBUFFER
+%token IMAGE1DARRAYSHADOW IMAGE2DARRAYSHADOW
 %token ROW_MAJOR
 
 %type <identifier> variable_identifier