Commit 9e3a3f43 by Nicolas Capens Committed by Shannon Woods

Add unsigned integer samplers to the lexer/parser.

TRAC #23360 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens
parent 8613229e
......@@ -156,6 +156,8 @@ O [0-7]
"sampler2DRect" { return SAMPLER2DRECT; }
"isampler2D" { return ES2_ident_ES3_keyword(context, ISAMPLER2D); }
"isamplerCube" { return ES2_ident_ES3_keyword(context, ISAMPLERCUBE); }
"usampler2D" { return ES2_ident_ES3_keyword(context, USAMPLER2D); }
"usamplerCube" { return ES2_ident_ES3_keyword(context, USAMPLERCUBE); }
"struct" { return STRUCT; }
......
......@@ -131,7 +131,7 @@ 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 ISAMPLER2D ISAMPLERCUBE
%token <lex> SAMPLER2D SAMPLERCUBE SAMPLER_EXTERNAL_OES SAMPLER2DRECT ISAMPLER2D ISAMPLERCUBE USAMPLER2D USAMPLERCUBE
%token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW
%token <lex> LAYOUT
......@@ -1522,6 +1522,14 @@ type_specifier_nonarray
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtISamplerCube, qual, $1.line);
}
| USAMPLER2D {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUSampler2D, qual, $1.line);
}
| USAMPLERCUBE {
TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
$$.setBasic(EbtUSamplerCube, 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.
......@@ -106,62 +106,64 @@ extern int yydebug;
SAMPLER2DRECT = 315,
ISAMPLER2D = 316,
ISAMPLERCUBE = 317,
SAMPLER3D = 318,
SAMPLER3DRECT = 319,
SAMPLER2DSHADOW = 320,
LAYOUT = 321,
IDENTIFIER = 322,
TYPE_NAME = 323,
FLOATCONSTANT = 324,
INTCONSTANT = 325,
UINTCONSTANT = 326,
BOOLCONSTANT = 327,
FIELD_SELECTION = 328,
LEFT_OP = 329,
RIGHT_OP = 330,
INC_OP = 331,
DEC_OP = 332,
LE_OP = 333,
GE_OP = 334,
EQ_OP = 335,
NE_OP = 336,
AND_OP = 337,
OR_OP = 338,
XOR_OP = 339,
MUL_ASSIGN = 340,
DIV_ASSIGN = 341,
ADD_ASSIGN = 342,
MOD_ASSIGN = 343,
LEFT_ASSIGN = 344,
RIGHT_ASSIGN = 345,
AND_ASSIGN = 346,
XOR_ASSIGN = 347,
OR_ASSIGN = 348,
SUB_ASSIGN = 349,
LEFT_PAREN = 350,
RIGHT_PAREN = 351,
LEFT_BRACKET = 352,
RIGHT_BRACKET = 353,
LEFT_BRACE = 354,
RIGHT_BRACE = 355,
DOT = 356,
COMMA = 357,
COLON = 358,
EQUAL = 359,
SEMICOLON = 360,
BANG = 361,
DASH = 362,
TILDE = 363,
PLUS = 364,
STAR = 365,
SLASH = 366,
PERCENT = 367,
LEFT_ANGLE = 368,
RIGHT_ANGLE = 369,
VERTICAL_BAR = 370,
CARET = 371,
AMPERSAND = 372,
QUESTION = 373
USAMPLER2D = 318,
USAMPLERCUBE = 319,
SAMPLER3D = 320,
SAMPLER3DRECT = 321,
SAMPLER2DSHADOW = 322,
LAYOUT = 323,
IDENTIFIER = 324,
TYPE_NAME = 325,
FLOATCONSTANT = 326,
INTCONSTANT = 327,
UINTCONSTANT = 328,
BOOLCONSTANT = 329,
FIELD_SELECTION = 330,
LEFT_OP = 331,
RIGHT_OP = 332,
INC_OP = 333,
DEC_OP = 334,
LE_OP = 335,
GE_OP = 336,
EQ_OP = 337,
NE_OP = 338,
AND_OP = 339,
OR_OP = 340,
XOR_OP = 341,
MUL_ASSIGN = 342,
DIV_ASSIGN = 343,
ADD_ASSIGN = 344,
MOD_ASSIGN = 345,
LEFT_ASSIGN = 346,
RIGHT_ASSIGN = 347,
AND_ASSIGN = 348,
XOR_ASSIGN = 349,
OR_ASSIGN = 350,
SUB_ASSIGN = 351,
LEFT_PAREN = 352,
RIGHT_PAREN = 353,
LEFT_BRACKET = 354,
RIGHT_BRACKET = 355,
LEFT_BRACE = 356,
RIGHT_BRACE = 357,
DOT = 358,
COMMA = 359,
COLON = 360,
EQUAL = 361,
SEMICOLON = 362,
BANG = 363,
DASH = 364,
TILDE = 365,
PLUS = 366,
STAR = 367,
SLASH = 368,
PERCENT = 369,
LEFT_ANGLE = 370,
RIGHT_ANGLE = 371,
VERTICAL_BAR = 372,
CARET = 373,
AMPERSAND = 374,
QUESTION = 375
};
#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