Lines Matching refs:context

61 %parse-param {TParseContext* context}
105 extern void yyerror(YYLTYPE* lloc, TParseContext* context, void* scanner, const char* reason);
124 if (context->getShaderType() != GL_FRAGMENT_SHADER && \
125 context->getShaderType() != GL_VERTEX_SHADER) { \
126 context->error(L, " supported in vertex/fragment shaders only ", S); \
127 context->recover(); \
132 if (context->getShaderType() != GL_VERTEX_SHADER) { \
133 context->error(L, " supported in vertex shaders only ", S); \
134 context->recover(); \
139 if (context->getShaderType() != GL_FRAGMENT_SHADER) { \
140 context->error(L, " supported in fragment shaders only ", S); \
141 context->recover(); \
146 if (context->getShaderVersion() != 100) { \
147 context->error(L, " supported in GLSL ES 1.00 only ", S); \
148 context->recover(); \
153 if (context->getShaderVersion() != 300) { \
154 context->error(LINE, REASON " supported in GLSL ES 3.00 only ", TOKEN); \
155 context->recover(); \
231 const TVariable *variable = context->getNamedVariable(@1, $1.string, $1.symbol);
239 $$ = context->intermediate.addConstantUnion(constArray, t, @1);
241 $$ = context->intermediate.addSymbol(variable->getUniqueId(),
254 …$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtInt, EbpUndefined, EvqConstExpr),…
259 …$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtUInt, EbpUndefined, EvqConstExpr)…
264 …$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtFloat, EbpUndefined, EvqConstExpr…
269 …$$ = context->intermediate.addConstantUnion(unionArray, TType(EbtBool, EbpUndefined, EvqConstExpr)…
281 $$ = context->addIndexExpression($1, @2, $3);
287 $$ = context->addFieldSelectionExpression($1, @2, *$3.string, @3);
290 $$ = context->addUnaryMathLValue(EOpPostIncrement, $1, @2);
293 $$ = context->addUnaryMathLValue(EOpPostDecrement, $1, @2);
299 if (context->integerErrorCheck($1, "[]"))
300 context->recover();
308 …$$ = context->addFunctionCallOrMethod($1.function, $1.nodePair.node1, $1.nodePair.node2, @1, &fata…
359 $$.nodePair.node1 = context->intermediate.growAggregate($1.intermNode, $3, @2);
376 $$ = context->addConstructorFunc($1);
379 if (context->reservedErrorCheck(@1, *$1.string))
380 context->recover();
386 if (context->reservedErrorCheck(@1, *$1.string))
387 context->recover();
399 $$ = context->addUnaryMathLValue(EOpPreIncrement, $2, @1);
402 $$ = context->addUnaryMathLValue(EOpPreDecrement, $2, @1);
406 $$ = context->addUnaryMath($1.op, $2, @1);
428 $$ = context->addBinaryMath(EOpMul, $1, $3, @2);
432 $$ = context->addBinaryMath(EOpDiv, $1, $3, @2);
437 $$ = context->addBinaryMath(EOpIMod, $1, $3, @2);
444 $$ = context->addBinaryMath(EOpAdd, $1, $3, @2);
447 $$ = context->addBinaryMath(EOpSub, $1, $3, @2);
455 $$ = context->addBinaryMath(EOpBitShiftLeft, $1, $3, @2);
459 $$ = context->addBinaryMath(EOpBitShiftRight, $1, $3, @2);
466 $$ = context->addBinaryMathBooleanResult(EOpLessThan, $1, $3, @2);
469 $$ = context->addBinaryMathBooleanResult(EOpGreaterThan, $1, $3, @2);
472 $$ = context->addBinaryMathBooleanResult(EOpLessThanEqual, $1, $3, @2);
475 $$ = context->addBinaryMathBooleanResult(EOpGreaterThanEqual, $1, $3, @2);
482 $$ = context->addBinaryMathBooleanResult(EOpEqual, $1, $3, @2);
485 $$ = context->addBinaryMathBooleanResult(EOpNotEqual, $1, $3, @2);
493 $$ = context->addBinaryMath(EOpBitwiseAnd, $1, $3, @2);
501 $$ = context->addBinaryMath(EOpBitwiseXor, $1, $3, @2);
509 $$ = context->addBinaryMath(EOpBitwiseOr, $1, $3, @2);
516 $$ = context->addBinaryMathBooleanResult(EOpLogicalAnd, $1, $3, @2);
523 $$ = context->addBinaryMathBooleanResult(EOpLogicalXor, $1, $3, @2);
530 $$ = context->addBinaryMathBooleanResult(EOpLogicalOr, $1, $3, @2);
537 $$ = context->addTernarySelection($1, $3, $5, @2);
544 if (context->lValueErrorCheck(@2, "assign", $1))
545 context->recover();
546 $$ = context->addAssign($2.op, $1, $3, @2);
580 $$ = context->intermediate.addComma($1, $3, @2);
582 context->binaryOpError(@2, ",", $1->getCompleteString(), $3->getCompleteString());
583 context->recover();
591 if (context->constErrorCheck($1))
592 context->recover();
599 if (context->enterStructDeclaration(@1, *$1.string))
600 context->recover();
607 $$ = context->addFunctionPrototypeDeclaration(*($1.function), @1);
616 if (!context->symbolTable.setDefaultPrecision( $3, $2 )) {
617context->error(@1, "illegal type argument for default precision qualifier", getBasicString($3.type…
618 context->recover();
624 $$ = context->addInterfaceBlock($1, @2, *$2.string, $3, NULL, @1, NULL, @1);
628 $$ = context->addInterfaceBlock($1, @2, *$2.string, $3, $5.string, @5, NULL, @1);
632 $$ = context->addInterfaceBlock($1, @2, *$2.string, $3, $5.string, @5, $7, @6);
635 context->parseGlobalLayoutQualifier($1);
642 $$.function = context->parseFunctionDeclarator(@2, $1);
674 context->error(@2, "cannot be an argument type except for '(void)'", "void");
675 context->recover();
688context->error(@2, "no qualifiers allowed for function return", getQualifierString($1.qualifier));
689 context->recover();
693 context->error(@2, "no qualifiers allowed for function return", "layout");
694 context->recover();
697 if (context->samplerErrorCheck(@2, $1, "samplers can't be function return values"))
698 context->recover();
706 context->symbolTable.push();
714 context->error(@2, "illegal use of type 'void'", $2.string->c_str());
715 context->recover();
717 if (context->reservedErrorCheck(@2, *$2.string))
718 context->recover();
724 if (context->arrayTypeErrorCheck(@3, $1))
725 context->recover();
727 if (context->reservedErrorCheck(@2, *$2.string))
728 context->recover();
731 if (context->arraySizeErrorCheck(@3, $4, size))
732 context->recover();
752 if (context->paramErrorCheck(@3, $1, $2, $$.param.type))
753 context->recover();
757 if (context->parameterSamplerErrorCheck(@2, $1, *$2.param.type))
758 context->recover();
759 if (context->paramErrorCheck(@2, EvqTemporary, $1, $$.param.type))
760 context->recover();
767 if (context->paramErrorCheck(@3, $1, $2, $$.param.type))
768 context->recover();
772 if (context->parameterSamplerErrorCheck(@2, $1, *$2.param.type))
773 context->recover();
774 if (context->paramErrorCheck(@2, EvqTemporary, $1, $$.param.type))
775 context->recover();
807 $$.intermAggregate = context->parseDeclarator($$.type, $1.intermAggregate, @3, *$3.string);
811 …$$.intermAggregate = context->parseArrayDeclarator($$.type, $1.intermAggregate, @3, *$3.string, @4…
816 …$$.intermAggregate = context->parseArrayInitDeclarator($$.type, $1.intermAggregate, @3, *$3.string…
821 …$$.intermAggregate = context->parseArrayInitDeclarator($$.type, $1.intermAggregate, @3, *$3.string…
825 …$$.intermAggregate = context->parseInitDeclarator($$.type, $1.intermAggregate, @3, *$3.string, @4,…
832 $$.intermAggregate = context->parseSingleDeclaration($$.type, @1, "");
836 $$.intermAggregate = context->parseSingleDeclaration($$.type, @2, *$2.string);
840 $$.intermAggregate = context->parseSingleArrayDeclaration($$.type, @2, *$2.string, @3, $4);
845 …$$.intermAggregate = context->parseSingleArrayInitDeclaration($$.type, @2, *$2.string, @3, nullptr…
850 …$$.intermAggregate = context->parseSingleArrayInitDeclaration($$.type, @2, *$2.string, @3, $4, @6,…
854 $$.intermAggregate = context->parseSingleInitDeclaration($$.type, @2, *$2.string, @3, $4);
858 $$.intermAggregate = context->parseInvariantDeclaration(@1, @2, $2.string, $2.symbol);
868 if (context->getShaderVersion() != 300) {
874 $$ = context->addFullySpecifiedType($1.qualifier, $1.invariant, $1.layoutQualifier, $2);
897 if (context->globalErrorCheck(@1, context->symbolTable.atGlobalLevel(), "attribute"))
898 context->recover();
903 if (context->globalErrorCheck(@1, context->symbolTable.atGlobalLevel(), "varying"))
904 context->recover();
905 if (context->getShaderType() == GL_VERTEX_SHADER)
912 … if (context->globalErrorCheck(@1, context->symbolTable.atGlobalLevel(), "invariant varying"))
913 context->recover();
914 if (context->getShaderType() == GL_VERTEX_SHADER)
920 if ($1.qualifier != EvqConstExpr && !context->symbolTable.atGlobalLevel())
922context->error(@1, "Local variables can only use the const storage qualifier.", getQualifierString…
923 context->recover();
928 $$ = context->joinInterpolationQualifiers(@1, $1.qualifier, @2, $2.qualifier);
931context->error(@1, "interpolation qualifier requires a fragment 'in' or vertex 'out' storage quali…
932 context->recover();
934 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
938 $$.qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
946 context->es3InvariantErrorCheck($2.qualifier, @1);
951 context->es3InvariantErrorCheck($3.qualifier, @1);
952 $$ = context->joinInterpolationQualifiers(@2, $2.qualifier, @3, $3.qualifier);
963 … $$.qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentIn : EvqVertexIn;
967 … $$.qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqVertexOut;
971 if (context->getShaderType() == GL_VERTEX_SHADER)
973context->error(@1, "invalid storage qualifier", "it is an error to use 'centroid in' in the vertex…
974 context->recover();
976 … $$.qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqCentroidIn : EvqVertexIn;
980 if (context->getShaderType() == GL_FRAGMENT_SHADER)
982context->error(@1, "invalid storage qualifier", "it is an error to use 'centroid out' in the fragm…
983 context->recover();
985 … $$.qualifier = (context->getShaderType() == GL_FRAGMENT_SHADER) ? EvqFragmentOut : EvqCentroidOut;
988 if (context->globalErrorCheck(@1, context->symbolTable.atGlobalLevel(), "uniform"))
989 context->recover();
999 $$.precision = context->symbolTable.getDefaultPrecision($1.type);
1000 if (context->precisionErrorCheck(@1, $$.precision, $1.type)) {
1001 context->recover();
1010 context->error(@1, "illegal type for precision qualifier", getBasicString($2.type));
1011 context->recover();
1040 $$ = context->joinLayoutQualifiers($1, $3);
1046 $$ = context->parseLayoutQualifier(*$1.string, @1);
1049 $$ = context->parseLayoutQualifier(*$1.string, @1, *$3.string, $3.i, @3);
1052 $$ = context->parseLayoutQualifier(*$1.string, @1, *$3.string, $3.i, @3);
1068 if (context->arrayTypeErrorCheck(@2, $1))
1069 context->recover();
1072 if (context->arraySizeErrorCheck(@2, $3, size))
1073 context->recover();
1081 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1085 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1089 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1093 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1097 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1101 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1106 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1111 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1116 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1121 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1126 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1131 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1136 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1141 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1146 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1151 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1156 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1162 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1168 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1174 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1180 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1186 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1192 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1198 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1204 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1210 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1216 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1221 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1225 if (!context->supportsExtension("GL_OES_EGL_image_external")) {
1226 context->error(@1, "unsupported type", "samplerExternalOES", "");
1227 context->recover();
1230 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1235 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1240 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1245 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1250 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1255 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1260 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1265 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1270 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1275 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1280 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1285 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1290 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1295 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1301 $$.qualifier = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1309 TQualifier qual = context->symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
1316 …: STRUCT IDENTIFIER LEFT_BRACE { if (context->enterStructDeclaration(@2, *$2.string)) context->rec…
1317 $$ = context->addStructure(@1, @2, $2.string, $5);
1319 …| STRUCT LEFT_BRACE { if (context->enterStructDeclaration(@2, *$2.string)) context->recover(); } s…
1320 $$ = context->addStructure(@1, @1, NewPoolTString(""), $4);
1334context->error((*$2)[i]->line(), "duplicate field name in structure:", "struct", field->name().c_s…
1335 context->recover();
1345 $$ = context->addStructDeclaratorList($1, $2);
1351 $$ = context->addStructDeclaratorList($2, $3);
1367 if (context->reservedErrorCheck(@1, *$1.string))
1368 context->recover();
1374 if (context->reservedErrorCheck(@1, *$1.string))
1375 context->recover();
1379 if (context->arraySizeErrorCheck($3->getLine(), $3, size))
1380 context->recover();
1414 …| LEFT_BRACE { context->symbolTable.push(); } statement_list { context->symbolTable.pop(); } RIGHT…
1429 …: { context->symbolTable.push(); } compound_statement_no_new_scope { context->symbolTable.pop(); $…
1430 …| { context->symbolTable.push(); } simple_statement { context->symbolTable.pop(); $…
1449 $$ = context->intermediate.makeAggregate($1, @$);
1452 $$ = context->intermediate.growAggregate($1, $2, @$);
1463 if (context->boolErrorCheck(@1, $3))
1464 context->recover();
1465 $$ = context->intermediate.addSelection($3, $5, @1);
1481 …: SWITCH LEFT_PAREN expression RIGHT_PAREN { context->incrSwitchNestingLevel(); } compound_stateme…
1482 $$ = context->addSwitch($3, $6, @1);
1483 context->decrSwitchNestingLevel();
1489 $$ = context->addCase($2, @1);
1492 $$ = context->addDefault(@1);
1500 if (context->boolErrorCheck($1->getLine(), $1))
1501 context->recover();
1505 if (context->boolErrorCheck(@2, $1))
1506 context->recover();
1508 if (!context->executeInitializer(@2, *$2.string, $1, $4, &intermNode))
1511 context->recover();
1518 …: WHILE LEFT_PAREN { context->symbolTable.push(); context->incrLoopNestingLevel(); } condition RIG…
1519 context->symbolTable.pop();
1520 $$ = context->intermediate.addLoop(ELoopWhile, 0, $4, 0, $6, @1);
1521 context->decrLoopNestingLevel();
1523 …| DO { context->incrLoopNestingLevel(); } statement_with_scope WHILE LEFT_PAREN expression RIGHT_P…
1524 if (context->boolErrorCheck(@8, $6))
1525 context->recover();
1527 $$ = context->intermediate.addLoop(ELoopDoWhile, 0, $6, 0, $3, @4);
1528 context->decrLoopNestingLevel();
1530 …| FOR LEFT_PAREN { context->symbolTable.push(); context->incrLoopNestingLevel(); } for_init_statem…
1531 context->symbolTable.pop();
1532 …$$ = context->intermediate.addLoop(ELoopFor, $4, reinterpret_cast<TIntermTyped*>($5.node1), reinte…
1533 context->decrLoopNestingLevel();
1568 $$ = context->addBranch(EOpContinue, @1);
1571 $$ = context->addBranch(EOpBreak, @1);
1574 $$ = context->addBranch(EOpReturn, @1);
1577 $$ = context->addBranch(EOpReturn, $2, @1);
1581 $$ = context->addBranch(EOpKill, @1);
1590 context->setTreeRoot($$);
1593 $$ = context->intermediate.growAggregate($1, $2, @$);
1594 context->setTreeRoot($$);
1609 context->parseFunctionPrototype(@1, $1.function, &$1.intermAggregate);
1612 $$ = context->addFunctionDefinition(*($1.function), $1.intermAggregate, $3, @1);
1618 int glslang_parse(TParseContext* context) {
1619 return yyparse(context, context->getScanner());