Mesa (master): glsl: Add new keywords and reserved words for GLSL 1.30.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Nov 15 21:36:21 UTC 2010


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sat Nov 13 22:02:09 2010 -0800

glsl: Add new keywords and reserved words for GLSL 1.30.

---

 src/glsl/glsl_lexer.lpp  |   21 +++++++++++++++++++++
 src/glsl/glsl_parser.ypp |    1 +
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/glsl/glsl_lexer.lpp b/src/glsl/glsl_lexer.lpp
index 8498b7e..26cf305 100644
--- a/src/glsl/glsl_lexer.lpp
+++ b/src/glsl/glsl_lexer.lpp
@@ -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);
diff --git a/src/glsl/glsl_parser.ypp b/src/glsl/glsl_parser.ypp
index 3813d7a..6d7d148 100644
--- a/src/glsl/glsl_parser.ypp
+++ b/src/glsl/glsl_parser.ypp
@@ -126,6 +126,7 @@
 %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




More information about the mesa-commit mailing list