|
| | TParseContext (TSymbolTable &symt, TExtensionBehavior &ext, sh::GLenum type, ShShaderSpec spec, ShCompileOptions options, bool checksPrecErrors, TInfoSink &is, const ShBuiltInResources &resources) |
| |
| const pp::Preprocessor & | getPreprocessor () const |
| |
| pp::Preprocessor & | getPreprocessor () |
| |
| void * | getScanner () const |
| |
| void | setScanner (void *scanner) |
| |
| int | getShaderVersion () const |
| |
| sh::GLenum | getShaderType () const |
| |
| ShShaderSpec | getShaderSpec () const |
| |
| int | numErrors () const |
| |
| TInfoSink & | infoSink () |
| |
| void | error (const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="") |
| |
| void | warning (const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="") |
| |
| void | outOfRangeError (bool isError, const TSourceLoc &loc, const char *reason, const char *token, const char *extraInfo="") |
| |
| TIntermBlock * | getTreeRoot () const |
| |
| void | setTreeRoot (TIntermBlock *treeRoot) |
| |
| bool | getFragmentPrecisionHigh () const |
| |
| void | setFragmentPrecisionHighOnESSL1 (bool fragmentPrecisionHigh) |
| |
| void | setLoopNestingLevel (int loopNestintLevel) |
| |
| void | incrLoopNestingLevel () |
| |
| void | decrLoopNestingLevel () |
| |
| void | incrSwitchNestingLevel () |
| |
| void | decrSwitchNestingLevel () |
| |
| bool | isComputeShaderLocalSizeDeclared () const |
| |
| sh::WorkGroupSize | getComputeShaderLocalSize () const |
| |
| void | enterFunctionDeclaration () |
| |
| void | exitFunctionDeclaration () |
| |
| bool | declaringFunction () const |
| |
| const TVariable * | getNamedVariable (const TSourceLoc &location, const TString *name, const TSymbol *symbol) |
| |
| TIntermTyped * | parseVariableIdentifier (const TSourceLoc &location, const TString *name, const TSymbol *symbol) |
| |
| bool | parseVectorFields (const TString &, int vecSize, TVectorFields &, const TSourceLoc &line) |
| |
| void | assignError (const TSourceLoc &line, const char *op, TString left, TString right) |
| |
| void | unaryOpError (const TSourceLoc &line, const char *op, TString operand) |
| |
| void | binaryOpError (const TSourceLoc &line, const char *op, TString left, TString right) |
| |
| bool | checkIsNotReserved (const TSourceLoc &line, const TString &identifier) |
| |
| void | checkPrecisionSpecified (const TSourceLoc &line, TPrecision precision, TBasicType type) |
| |
| bool | checkCanBeLValue (const TSourceLoc &line, const char *op, TIntermTyped *node) |
| |
| void | checkIsConst (TIntermTyped *node) |
| |
| void | checkIsScalarInteger (TIntermTyped *node, const char *token) |
| |
| bool | checkIsAtGlobalLevel (const TSourceLoc &line, const char *token) |
| |
| bool | checkConstructorArguments (const TSourceLoc &line, TIntermNode *argumentsNode, const TFunction &function, TOperator op, const TType &type) |
| |
| unsigned int | checkIsValidArraySize (const TSourceLoc &line, TIntermTyped *expr) |
| |
| bool | checkIsValidQualifierForArray (const TSourceLoc &line, const TPublicType &elementQualifier) |
| |
| bool | checkIsValidTypeForArray (const TSourceLoc &line, const TPublicType &elementType) |
| |
| bool | checkIsNonVoid (const TSourceLoc &line, const TString &identifier, const TBasicType &type) |
| |
| void | checkIsScalarBool (const TSourceLoc &line, const TIntermTyped *type) |
| |
| void | checkIsScalarBool (const TSourceLoc &line, const TPublicType &pType) |
| |
| bool | checkIsNotSampler (const TSourceLoc &line, const TTypeSpecifierNonArray &pType, const char *reason) |
| |
| void | checkDeclaratorLocationIsNotSpecified (const TSourceLoc &line, const TPublicType &pType) |
| |
| void | checkLocationIsNotSpecified (const TSourceLoc &location, const TLayoutQualifier &layoutQualifier) |
| |
| void | checkOutParameterIsNotSampler (const TSourceLoc &line, TQualifier qualifier, const TType &type) |
| |
| void | checkIsParameterQualifierValid (const TSourceLoc &line, const TTypeQualifierBuilder &typeQualifierBuilder, TType *type) |
| |
| bool | checkCanUseExtension (const TSourceLoc &line, const TString &extension) |
| |
| void | singleDeclarationErrorCheck (const TPublicType &publicType, const TSourceLoc &identifierLocation) |
| |
| void | checkLayoutQualifierSupported (const TSourceLoc &location, const TString &layoutQualifierName, int versionRequired) |
| |
| bool | checkWorkGroupSizeIsNotSpecified (const TSourceLoc &location, const TLayoutQualifier &layoutQualifier) |
| |
| void | functionCallLValueErrorCheck (const TFunction *fnCandidate, TIntermAggregate *fnCall) |
| |
| void | checkInvariantVariableQualifier (bool invariant, const TQualifier qualifier, const TSourceLoc &invariantLocation) |
| |
| void | checkInputOutputTypeIsValidES3 (const TQualifier qualifier, const TPublicType &type, const TSourceLoc &qualifierLocation) |
| |
| const TPragma & | pragma () const |
| |
| const TExtensionBehavior & | extensionBehavior () const |
| |
| bool | supportsExtension (const char *extension) |
| |
| bool | isExtensionEnabled (const char *extension) const |
| |
| void | handleExtensionDirective (const TSourceLoc &loc, const char *extName, const char *behavior) |
| |
| void | handlePragmaDirective (const TSourceLoc &loc, const char *name, const char *value, bool stdgl) |
| |
| bool | containsSampler (const TType &type) |
| |
| const TFunction * | findFunction (const TSourceLoc &line, TFunction *pfnCall, int inputShaderVersion, bool *builtIn=0) |
| |
| bool | executeInitializer (const TSourceLoc &line, const TString &identifier, const TPublicType &pType, TIntermTyped *initializer, TIntermNode **intermNode) |
| |
| TPublicType | addFullySpecifiedType (const TTypeQualifierBuilder &typeQualifierBuilder, const TPublicType &typeSpecifier) |
| |
| TIntermAggregate * | parseSingleDeclaration (TPublicType &publicType, const TSourceLoc &identifierOrTypeLocation, const TString &identifier) |
| |
| TIntermAggregate * | parseSingleArrayDeclaration (TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression) |
| |
| TIntermAggregate * | parseSingleInitDeclaration (const TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &initLocation, TIntermTyped *initializer) |
| |
| TIntermAggregate * | parseSingleArrayInitDeclaration (TPublicType &publicType, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression, const TSourceLoc &initLocation, TIntermTyped *initializer) |
| |
| TIntermAggregate * | parseInvariantDeclaration (const TTypeQualifierBuilder &typeQualifierBuilder, const TSourceLoc &identifierLoc, const TString *identifier, const TSymbol *symbol) |
| |
| TIntermAggregate * | parseDeclarator (TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier) |
| |
| TIntermAggregate * | parseArrayDeclarator (TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &arrayLocation, TIntermTyped *indexExpression) |
| |
| TIntermAggregate * | parseInitDeclarator (const TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &initLocation, TIntermTyped *initializer) |
| |
| TIntermAggregate * | parseArrayInitDeclarator (const TPublicType &publicType, TIntermAggregate *aggregateDeclaration, const TSourceLoc &identifierLocation, const TString &identifier, const TSourceLoc &indexLocation, TIntermTyped *indexExpression, const TSourceLoc &initLocation, TIntermTyped *initializer) |
| |
| void | parseGlobalLayoutQualifier (const TTypeQualifierBuilder &typeQualifierBuilder) |
| |
| TIntermAggregate * | addFunctionPrototypeDeclaration (const TFunction &parsedFunction, const TSourceLoc &location) |
| |
| TIntermFunctionDefinition * | addFunctionDefinition (const TFunction &function, TIntermAggregate *functionParameters, TIntermBlock *functionBody, const TSourceLoc &location) |
| |
| void | parseFunctionDefinitionHeader (const TSourceLoc &location, TFunction **function, TIntermAggregate **aggregateOut) |
| |
| TFunction * | parseFunctionDeclarator (const TSourceLoc &location, TFunction *function) |
| |
| TFunction * | parseFunctionHeader (const TPublicType &type, const TString *name, const TSourceLoc &location) |
| |
| TFunction * | addConstructorFunc (const TPublicType &publicType) |
| |
| TIntermTyped * | addConstructor (TIntermNode *arguments, TOperator op, TFunction *fnCall, const TSourceLoc &line) |
| |
| TIntermTyped * | addIndexExpression (TIntermTyped *baseExpression, const TSourceLoc &location, TIntermTyped *indexExpression) |
| |
| TIntermTyped * | addFieldSelectionExpression (TIntermTyped *baseExpression, const TSourceLoc &dotLocation, const TString &fieldString, const TSourceLoc &fieldLocation) |
| |
| TFieldList * | addStructDeclaratorListWithQualifiers (const TTypeQualifierBuilder &typeQualifierBuilder, TPublicType *typeSpecifier, TFieldList *fieldList) |
| |
| TFieldList * | addStructDeclaratorList (const TPublicType &typeSpecifier, TFieldList *fieldList) |
| |
| TTypeSpecifierNonArray | addStructure (const TSourceLoc &structLine, const TSourceLoc &nameLine, const TString *structName, TFieldList *fieldList) |
| |
| TIntermAggregate * | addInterfaceBlock (const TTypeQualifierBuilder &typeQualifierBuilder, const TSourceLoc &nameLine, const TString &blockName, TFieldList *fieldList, const TString *instanceName, const TSourceLoc &instanceLine, TIntermTyped *arrayIndex, const TSourceLoc &arrayIndexLine) |
| |
| void | parseLocalSize (const TString &qualifierType, const TSourceLoc &qualifierTypeLine, int intValue, const TSourceLoc &intValueLine, const std::string &intValueString, size_t index, sh::WorkGroupSize *localSize) |
| |
| TLayoutQualifier | parseLayoutQualifier (const TString &qualifierType, const TSourceLoc &qualifierTypeLine) |
| |
| TLayoutQualifier | parseLayoutQualifier (const TString &qualifierType, const TSourceLoc &qualifierTypeLine, int intValue, const TSourceLoc &intValueLine) |
| |
| TTypeQualifierBuilder * | createTypeQualifierBuilder (const TSourceLoc &loc) |
| |
| TLayoutQualifier | joinLayoutQualifiers (TLayoutQualifier leftQualifier, TLayoutQualifier rightQualifier, const TSourceLoc &rightQualifierLocation) |
| |
| void | enterStructDeclaration (const TSourceLoc &line, const TString &identifier) |
| |
| void | exitStructDeclaration () |
| |
| void | checkIsBelowStructNestingLimit (const TSourceLoc &line, const TField &field) |
| |
| TIntermSwitch * | addSwitch (TIntermTyped *init, TIntermBlock *statementList, const TSourceLoc &loc) |
| |
| TIntermCase * | addCase (TIntermTyped *condition, const TSourceLoc &loc) |
| |
| TIntermCase * | addDefault (const TSourceLoc &loc) |
| |
| TIntermTyped * | addUnaryMath (TOperator op, TIntermTyped *child, const TSourceLoc &loc) |
| |
| TIntermTyped * | addUnaryMathLValue (TOperator op, TIntermTyped *child, const TSourceLoc &loc) |
| |
| TIntermTyped * | addBinaryMath (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc) |
| |
| TIntermTyped * | addBinaryMathBooleanResult (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc) |
| |
| TIntermTyped * | addAssign (TOperator op, TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc) |
| |
| TIntermTyped * | addComma (TIntermTyped *left, TIntermTyped *right, const TSourceLoc &loc) |
| |
| TIntermBranch * | addBranch (TOperator op, const TSourceLoc &loc) |
| |
| TIntermBranch * | addBranch (TOperator op, TIntermTyped *returnValue, const TSourceLoc &loc) |
| |
| void | checkTextureOffsetConst (TIntermAggregate *functionCall) |
| |
| TIntermTyped * | addFunctionCallOrMethod (TFunction *fnCall, TIntermNode *paramNode, TIntermNode *thisNode, const TSourceLoc &loc, bool *fatalError) |
| |
| TIntermTyped * | addTernarySelection (TIntermTyped *cond, TIntermTyped *trueExpression, TIntermTyped *falseExpression, const TSourceLoc &line) |
| |