Commit fc2e6b90 by Nicolas Capens Committed by Shannon Woods

Add 2D array samplers to the lexer/parser.

TRAC #23377 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
parent eceb50d3
......@@ -154,12 +154,15 @@ O [0-7]
"sampler3DRect" { return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
"sampler2DShadow" { return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
"sampler2DRect" { return SAMPLER2DRECT; }
"sampler2DArray" { return ES2_ident_ES3_keyword(context, SAMPLER2DARRAY); }
"isampler2D" { return ES2_ident_ES3_keyword(context, ISAMPLER2D); }
"isampler3D" { return ES2_ident_ES3_keyword(context, ISAMPLER3D); }
"isamplerCube" { return ES2_ident_ES3_keyword(context, ISAMPLERCUBE); }
"isampler2DArray" { return ES2_ident_ES3_keyword(context, ISAMPLER2DARRAY); }
"usampler2D" { return ES2_ident_ES3_keyword(context, USAMPLER2D); }
"usampler3D" { return ES2_ident_ES3_keyword(context, USAMPLER3D); }
"usamplerCube" { return ES2_ident_ES3_keyword(context, USAMPLERCUBE); }
"usampler2DArray" { return ES2_ident_ES3_keyword(context, USAMPLER2DARRAY); }
"struct" { return STRUCT; }
......
......@@ -131,8 +131,9 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> MATRIX2x3 MATRIX3x2 MATRIX2x4 MATRIX4x2 MATRIX3x4 MATRIX4x3
%token <lex> CENTROID FLAT SMOOTH
%token <lex> STRUCT VOID_TYPE WHILE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT
%token <lex> ISAMPLER2D ISAMPLER3D ISAMPLERCUBE USAMPLER2D USAMPLER3D USAMPLERCUBE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT SAMPLER2DARRAY
%token <lex> ISAMPLER2D ISAMPLER3D ISAMPLERCUBE ISAMPLER2DARRAY
%token <lex> USAMPLER2D USAMPLER3D USAMPLERCUBE USAMPLER2DARRAY
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> LAYOUT
......@@ -1519,6 +1520,10 @@ type_specifier_nonarray
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtSamplerCube, qual, $1.line);
}
| SAMPLER2DARRAY {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtSampler2DArray, qual, $1.line);
}
| ISAMPLER2D {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtISampler2D, qual, $1.line);
......@@ -1531,6 +1536,10 @@ type_specifier_nonarray
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtISamplerCube, qual, $1.line);
}
| ISAMPLER2DARRAY {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtISampler2DArray, qual, $1.line);
}
| USAMPLER2D {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUSampler2D, qual, $1.line);
......@@ -1543,6 +1552,10 @@ type_specifier_nonarray
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUSamplerCube, qual, $1.line);
}
| USAMPLER2DARRAY {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUSampler2DArray, qual, $1.line);
}
| SAMPLER_EXTERNAL_OES {
if (!context->supportsExtension("GL_OES_EGL_image_external")) {
context->error($1.line, "unsupported type", "samplerExternalOES");
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -104,68 +104,71 @@ extern int yydebug;
SAMPLERCUBE = 313,
SAMPLER_EXTERNAL_OES = 314,
SAMPLER2DRECT = 315,
ISAMPLER2D = 316,
ISAMPLER3D = 317,
ISAMPLERCUBE = 318,
USAMPLER2D = 319,
USAMPLER3D = 320,
USAMPLERCUBE = 321,
SAMPLER3D = 322,
SAMPLER3DRECT = 323,
SAMPLER2DSHADOW = 324,
LAYOUT = 325,
IDENTIFIER = 326,
TYPE_NAME = 327,
FLOATCONSTANT = 328,
INTCONSTANT = 329,
UINTCONSTANT = 330,
BOOLCONSTANT = 331,
FIELD_SELECTION = 332,
LEFT_OP = 333,
RIGHT_OP = 334,
INC_OP = 335,
DEC_OP = 336,
LE_OP = 337,
GE_OP = 338,
EQ_OP = 339,
NE_OP = 340,
AND_OP = 341,
OR_OP = 342,
XOR_OP = 343,
MUL_ASSIGN = 344,
DIV_ASSIGN = 345,
ADD_ASSIGN = 346,
MOD_ASSIGN = 347,
LEFT_ASSIGN = 348,
RIGHT_ASSIGN = 349,
AND_ASSIGN = 350,
XOR_ASSIGN = 351,
OR_ASSIGN = 352,
SUB_ASSIGN = 353,
LEFT_PAREN = 354,
RIGHT_PAREN = 355,
LEFT_BRACKET = 356,
RIGHT_BRACKET = 357,
LEFT_BRACE = 358,
RIGHT_BRACE = 359,
DOT = 360,
COMMA = 361,
COLON = 362,
EQUAL = 363,
SEMICOLON = 364,
BANG = 365,
DASH = 366,
TILDE = 367,
PLUS = 368,
STAR = 369,
SLASH = 370,
PERCENT = 371,
LEFT_ANGLE = 372,
RIGHT_ANGLE = 373,
VERTICAL_BAR = 374,
CARET = 375,
AMPERSAND = 376,
QUESTION = 377
SAMPLER2DARRAY = 316,
ISAMPLER2D = 317,
ISAMPLER3D = 318,
ISAMPLERCUBE = 319,
ISAMPLER2DARRAY = 320,
USAMPLER2D = 321,
USAMPLER3D = 322,
USAMPLERCUBE = 323,
USAMPLER2DARRAY = 324,
SAMPLER3D = 325,
SAMPLER3DRECT = 326,
SAMPLER2DSHADOW = 327,
LAYOUT = 328,
IDENTIFIER = 329,
TYPE_NAME = 330,
FLOATCONSTANT = 331,
INTCONSTANT = 332,
UINTCONSTANT = 333,
BOOLCONSTANT = 334,
FIELD_SELECTION = 335,
LEFT_OP = 336,
RIGHT_OP = 337,
INC_OP = 338,
DEC_OP = 339,
LE_OP = 340,
GE_OP = 341,
EQ_OP = 342,
NE_OP = 343,
AND_OP = 344,
OR_OP = 345,
XOR_OP = 346,
MUL_ASSIGN = 347,
DIV_ASSIGN = 348,
ADD_ASSIGN = 349,
MOD_ASSIGN = 350,
LEFT_ASSIGN = 351,
RIGHT_ASSIGN = 352,
AND_ASSIGN = 353,
XOR_ASSIGN = 354,
OR_ASSIGN = 355,
SUB_ASSIGN = 356,
LEFT_PAREN = 357,
RIGHT_PAREN = 358,
LEFT_BRACKET = 359,
RIGHT_BRACKET = 360,
LEFT_BRACE = 361,
RIGHT_BRACE = 362,
DOT = 363,
COMMA = 364,
COLON = 365,
EQUAL = 366,
SEMICOLON = 367,
BANG = 368,
DASH = 369,
TILDE = 370,
PLUS = 371,
STAR = 372,
SLASH = 373,
PERCENT = 374,
LEFT_ANGLE = 375,
RIGHT_ANGLE = 376,
VERTICAL_BAR = 377,
CARET = 378,
AMPERSAND = 379,
QUESTION = 380
};
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment