Commit d273c273 by Nicolas Capens Committed by Shannon Woods

Add integer samplers to the lexer/parser.

TRAC #23359 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
parent 9363246a
...@@ -154,6 +154,8 @@ O [0-7] ...@@ -154,6 +154,8 @@ O [0-7]
"sampler3DRect" { return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); } "sampler3DRect" { return ES2_reserved_ES3_keyword(context, SAMPLER3DRECT); }
"sampler2DShadow" { return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); } "sampler2DShadow" { return ES2_reserved_ES3_keyword(context, SAMPLER2DSHADOW); }
"sampler2DRect" { return SAMPLER2DRECT; } "sampler2DRect" { return SAMPLER2DRECT; }
"isampler2D" { return ES2_ident_ES3_keyword(context, ISAMPLER2D); }
"isamplerCube" { return ES2_ident_ES3_keyword(context, ISAMPLERCUBE); }
"struct" { return STRUCT; } "struct" { return STRUCT; }
......
...@@ -131,7 +131,7 @@ extern void yyerror(TParseContext* context, const char* reason); ...@@ -131,7 +131,7 @@ extern void yyerror(TParseContext* context, const char* reason);
%token <lex> MATRIX2x3 MATRIX3x2 MATRIX2x4 MATRIX4x2 MATRIX3x4 MATRIX4x3 %token <lex> MATRIX2x3 MATRIX3x2 MATRIX2x4 MATRIX4x2 MATRIX3x4 MATRIX4x3
%token <lex> CENTROID FLAT SMOOTH %token <lex> CENTROID FLAT SMOOTH
%token <lex> STRUCT VOID_TYPE WHILE %token <lex> STRUCT VOID_TYPE WHILE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT %token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT ISAMPLER2D ISAMPLERCUBE
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW %token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> LAYOUT %token <lex> LAYOUT
...@@ -1514,6 +1514,14 @@ type_specifier_nonarray ...@@ -1514,6 +1514,14 @@ type_specifier_nonarray
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary; TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtSamplerCube, qual, $1.line); $$.setBasic(EbtSamplerCube, qual, $1.line);
} }
| ISAMPLER2D {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtISampler2D, qual, $1.line);
}
| ISAMPLERCUBE {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtISamplerCube, qual, $1.line);
}
| SAMPLER_EXTERNAL_OES { | SAMPLER_EXTERNAL_OES {
if (!context->supportsExtension("GL_OES_EGL_image_external")) { if (!context->supportsExtension("GL_OES_EGL_image_external")) {
context->error($1.line, "unsupported type", "samplerExternalOES"); 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,62 +104,64 @@ extern int yydebug; ...@@ -104,62 +104,64 @@ extern int yydebug;
SAMPLERCUBE = 313, SAMPLERCUBE = 313,
SAMPLER_EXTERNAL_OES = 314, SAMPLER_EXTERNAL_OES = 314,
SAMPLER2DRECT = 315, SAMPLER2DRECT = 315,
SAMPLER3D = 316, ISAMPLER2D = 316,
SAMPLER3DRECT = 317, ISAMPLERCUBE = 317,
SAMPLER2DSHADOW = 318, SAMPLER3D = 318,
LAYOUT = 319, SAMPLER3DRECT = 319,
IDENTIFIER = 320, SAMPLER2DSHADOW = 320,
TYPE_NAME = 321, LAYOUT = 321,
FLOATCONSTANT = 322, IDENTIFIER = 322,
INTCONSTANT = 323, TYPE_NAME = 323,
UINTCONSTANT = 324, FLOATCONSTANT = 324,
BOOLCONSTANT = 325, INTCONSTANT = 325,
FIELD_SELECTION = 326, UINTCONSTANT = 326,
LEFT_OP = 327, BOOLCONSTANT = 327,
RIGHT_OP = 328, FIELD_SELECTION = 328,
INC_OP = 329, LEFT_OP = 329,
DEC_OP = 330, RIGHT_OP = 330,
LE_OP = 331, INC_OP = 331,
GE_OP = 332, DEC_OP = 332,
EQ_OP = 333, LE_OP = 333,
NE_OP = 334, GE_OP = 334,
AND_OP = 335, EQ_OP = 335,
OR_OP = 336, NE_OP = 336,
XOR_OP = 337, AND_OP = 337,
MUL_ASSIGN = 338, OR_OP = 338,
DIV_ASSIGN = 339, XOR_OP = 339,
ADD_ASSIGN = 340, MUL_ASSIGN = 340,
MOD_ASSIGN = 341, DIV_ASSIGN = 341,
LEFT_ASSIGN = 342, ADD_ASSIGN = 342,
RIGHT_ASSIGN = 343, MOD_ASSIGN = 343,
AND_ASSIGN = 344, LEFT_ASSIGN = 344,
XOR_ASSIGN = 345, RIGHT_ASSIGN = 345,
OR_ASSIGN = 346, AND_ASSIGN = 346,
SUB_ASSIGN = 347, XOR_ASSIGN = 347,
LEFT_PAREN = 348, OR_ASSIGN = 348,
RIGHT_PAREN = 349, SUB_ASSIGN = 349,
LEFT_BRACKET = 350, LEFT_PAREN = 350,
RIGHT_BRACKET = 351, RIGHT_PAREN = 351,
LEFT_BRACE = 352, LEFT_BRACKET = 352,
RIGHT_BRACE = 353, RIGHT_BRACKET = 353,
DOT = 354, LEFT_BRACE = 354,
COMMA = 355, RIGHT_BRACE = 355,
COLON = 356, DOT = 356,
EQUAL = 357, COMMA = 357,
SEMICOLON = 358, COLON = 358,
BANG = 359, EQUAL = 359,
DASH = 360, SEMICOLON = 360,
TILDE = 361, BANG = 361,
PLUS = 362, DASH = 362,
STAR = 363, TILDE = 363,
SLASH = 364, PLUS = 364,
PERCENT = 365, STAR = 365,
LEFT_ANGLE = 366, SLASH = 366,
RIGHT_ANGLE = 367, PERCENT = 367,
VERTICAL_BAR = 368, LEFT_ANGLE = 368,
CARET = 369, RIGHT_ANGLE = 369,
AMPERSAND = 370, VERTICAL_BAR = 370,
QUESTION = 371 CARET = 371,
AMPERSAND = 372,
QUESTION = 373
}; };
#endif #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