From 2b6c1a0b7cf60040ace0294ee0111de01187837a Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 13 Nov 2010 22:02:09 -0800 Subject: [PATCH] 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(+) diff --git a/src/glsl/glsl_lexer.lpp b/src/glsl/glsl_lexer.lpp index 8498b7e60f7..26cf30581c1 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 3813d7a4e20..6d7d148eb04 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 variable_identifier -- 2.30.2