|
| | TParseContext (TSymbolTable &, TIntermediate &, bool parsingBuiltins, int version, EProfile, const SpvVersion &spvVersion, EShLanguage, TInfoSink &, bool forwardCompatible=false, EShMessages messages=EShMsgDefault, const TString *entryPoint=nullptr) |
| |
| virtual | ~TParseContext () |
| |
| bool | obeyPrecisionQualifiers () const |
| |
| void | setPrecisionDefaults () |
| |
| void | setLimits (const TBuiltInResource &) override |
| |
| bool | parseShaderStrings (TPpContext &, TInputScanner &input, bool versionWillBeError=false) override |
| |
| void | parserError (const char *s) |
| |
| void | reservedErrorCheck (const TSourceLoc &, const TString &) |
| |
| void | reservedPpErrorCheck (const TSourceLoc &, const char *name, const char *op) override |
| |
| bool | lineContinuationCheck (const TSourceLoc &, bool endOfComment) override |
| |
| bool | lineDirectiveShouldSetNextLine () const override |
| |
| bool | builtInName (const TString &) |
| |
| void | handlePragma (const TSourceLoc &, const TVector< TString > &) override |
| |
| TIntermTyped * | handleVariable (const TSourceLoc &, TSymbol *symbol, const TString *string) |
| |
| TIntermTyped * | handleBracketDereference (const TSourceLoc &, TIntermTyped *base, TIntermTyped *index) |
| |
| void | handleIndexLimits (const TSourceLoc &, TIntermTyped *base, TIntermTyped *index) |
| |
| void | makeEditable (TSymbol *&) override |
| |
| bool | isIoResizeArray (const TType &) const |
| |
| void | fixIoArraySize (const TSourceLoc &, TType &) |
| |
| void | ioArrayCheck (const TSourceLoc &, const TType &, const TString &identifier) |
| |
| void | handleIoResizeArrayAccess (const TSourceLoc &, TIntermTyped *base) |
| |
| void | checkIoArraysConsistency (const TSourceLoc &, bool tailOnly=false) |
| |
| int | getIoArrayImplicitSize () const |
| |
| void | checkIoArrayConsistency (const TSourceLoc &, int requiredSize, const char *feature, TType &, const TString &) |
| |
| TIntermTyped * | handleBinaryMath (const TSourceLoc &, const char *str, TOperator op, TIntermTyped *left, TIntermTyped *right) |
| |
| TIntermTyped * | handleUnaryMath (const TSourceLoc &, const char *str, TOperator op, TIntermTyped *childNode) |
| |
| TIntermTyped * | handleDotDereference (const TSourceLoc &, TIntermTyped *base, const TString &field) |
| |
| void | blockMemberExtensionCheck (const TSourceLoc &, const TIntermTyped *base, const TString &field) |
| |
| TFunction * | handleFunctionDeclarator (const TSourceLoc &, TFunction &function, bool prototype) |
| |
| TIntermAggregate * | handleFunctionDefinition (const TSourceLoc &, TFunction &) |
| |
| TIntermTyped * | handleFunctionCall (const TSourceLoc &, TFunction *, TIntermNode *) |
| |
| TIntermTyped * | handleBuiltInFunctionCall (TSourceLoc, TIntermNode *arguments, const TFunction &function) |
| |
| void | computeBuiltinPrecisions (TIntermTyped &, const TFunction &) |
| |
| TIntermNode * | handleReturnValue (const TSourceLoc &, TIntermTyped *) |
| |
| void | checkLocation (const TSourceLoc &, TOperator) |
| |
| TIntermTyped * | handleLengthMethod (const TSourceLoc &, TFunction *, TIntermNode *) |
| |
| void | addInputArgumentConversions (const TFunction &, TIntermNode *&) const |
| |
| TIntermTyped * | addOutputArgumentConversions (const TFunction &, TIntermAggregate &) const |
| |
| void | builtInOpCheck (const TSourceLoc &, const TFunction &, TIntermOperator &) |
| |
| void | nonOpBuiltInCheck (const TSourceLoc &, const TFunction &, TIntermAggregate &) |
| |
| void | userFunctionCallCheck (const TSourceLoc &, TIntermAggregate &) |
| |
| void | samplerConstructorLocationCheck (const TSourceLoc &, const char *token, TIntermNode *) |
| |
| TFunction * | handleConstructorCall (const TSourceLoc &, const TPublicType &) |
| |
| void | handlePrecisionQualifier (const TSourceLoc &, TQualifier &, TPrecisionQualifier) |
| |
| void | checkPrecisionQualifier (const TSourceLoc &, TPrecisionQualifier) |
| |
| void | assignError (const TSourceLoc &, const char *op, TString left, TString right) |
| |
| void | unaryOpError (const TSourceLoc &, const char *op, TString operand) |
| |
| void | binaryOpError (const TSourceLoc &, const char *op, TString left, TString right) |
| |
| void | variableCheck (TIntermTyped *&nodePtr) |
| |
| bool | lValueErrorCheck (const TSourceLoc &, const char *op, TIntermTyped *) override |
| |
| void | rValueErrorCheck (const TSourceLoc &, const char *op, TIntermTyped *) override |
| |
| void | constantValueCheck (TIntermTyped *node, const char *token) |
| |
| void | integerCheck (const TIntermTyped *node, const char *token) |
| |
| void | globalCheck (const TSourceLoc &, const char *token) |
| |
| bool | constructorError (const TSourceLoc &, TIntermNode *, TFunction &, TOperator, TType &) |
| |
| bool | constructorTextureSamplerError (const TSourceLoc &, const TFunction &) |
| |
| void | arraySizeCheck (const TSourceLoc &, TIntermTyped *expr, TArraySize &) |
| |
| bool | arrayQualifierError (const TSourceLoc &, const TQualifier &) |
| |
| bool | arrayError (const TSourceLoc &, const TType &) |
| |
| void | arraySizeRequiredCheck (const TSourceLoc &, const TArraySizes &) |
| |
| void | structArrayCheck (const TSourceLoc &, const TType &structure) |
| |
| void | arraySizesCheck (const TSourceLoc &, const TQualifier &, TArraySizes *, const TIntermTyped *initializer, bool lastMember) |
| |
| void | arrayOfArrayVersionCheck (const TSourceLoc &, const TArraySizes *) |
| |
| bool | voidErrorCheck (const TSourceLoc &, const TString &, TBasicType) |
| |
| void | boolCheck (const TSourceLoc &, const TIntermTyped *) |
| |
| void | boolCheck (const TSourceLoc &, const TPublicType &) |
| |
| void | samplerCheck (const TSourceLoc &, const TType &, const TString &identifier, TIntermTyped *initializer) |
| |
| void | atomicUintCheck (const TSourceLoc &, const TType &, const TString &identifier) |
| |
| void | transparentOpaqueCheck (const TSourceLoc &, const TType &, const TString &identifier) |
| |
| void | memberQualifierCheck (glslang::TPublicType &) |
| |
| void | globalQualifierFixCheck (const TSourceLoc &, TQualifier &) |
| |
| void | globalQualifierTypeCheck (const TSourceLoc &, const TQualifier &, const TPublicType &) |
| |
| bool | structQualifierErrorCheck (const TSourceLoc &, const TPublicType &pType) |
| |
| void | mergeQualifiers (const TSourceLoc &, TQualifier &dst, const TQualifier &src, bool force) |
| |
| void | setDefaultPrecision (const TSourceLoc &, TPublicType &, TPrecisionQualifier) |
| |
| int | computeSamplerTypeIndex (TSampler &) |
| |
| TPrecisionQualifier | getDefaultPrecision (TPublicType &) |
| |
| void | precisionQualifierCheck (const TSourceLoc &, TBasicType, TQualifier &) |
| |
| void | parameterTypeCheck (const TSourceLoc &, TStorageQualifier qualifier, const TType &type) |
| |
| bool | containsFieldWithBasicType (const TType &type, TBasicType basicType) |
| |
| TSymbol * | redeclareBuiltinVariable (const TSourceLoc &, const TString &, const TQualifier &, const TShaderQualifiers &) |
| |
| void | redeclareBuiltinBlock (const TSourceLoc &, TTypeList &typeList, const TString &blockName, const TString *instanceName, TArraySizes *arraySizes) |
| |
| void | paramCheckFixStorage (const TSourceLoc &, const TStorageQualifier &, TType &type) |
| |
| void | paramCheckFix (const TSourceLoc &, const TQualifier &, TType &type) |
| |
| void | nestedBlockCheck (const TSourceLoc &) |
| |
| void | nestedStructCheck (const TSourceLoc &) |
| |
| void | arrayObjectCheck (const TSourceLoc &, const TType &, const char *op) |
| |
| void | opaqueCheck (const TSourceLoc &, const TType &, const char *op) |
| |
| void | specializationCheck (const TSourceLoc &, const TType &, const char *op) |
| |
| void | structTypeCheck (const TSourceLoc &, TPublicType &) |
| |
| void | inductiveLoopCheck (const TSourceLoc &, TIntermNode *init, TIntermLoop *loop) |
| |
| void | arrayLimitCheck (const TSourceLoc &, const TString &, int size) |
| |
| void | limitCheck (const TSourceLoc &, int value, const char *limit, const char *feature) |
| |
| void | inductiveLoopBodyCheck (TIntermNode *, int loopIndexId, TSymbolTable &) |
| |
| void | constantIndexExpressionCheck (TIntermNode *) |
| |
| void | setLayoutQualifier (const TSourceLoc &, TPublicType &, TString &) |
| |
| void | setLayoutQualifier (const TSourceLoc &, TPublicType &, TString &, const TIntermTyped *) |
| |
| void | mergeObjectLayoutQualifiers (TQualifier &dest, const TQualifier &src, bool inheritOnly) |
| |
| void | layoutObjectCheck (const TSourceLoc &, const TSymbol &) |
| |
| void | layoutMemberLocationArrayCheck (const TSourceLoc &, bool memberWithLocation, TArraySizes *arraySizes) |
| |
| void | layoutTypeCheck (const TSourceLoc &, const TType &) |
| |
| void | layoutQualifierCheck (const TSourceLoc &, const TQualifier &) |
| |
| void | checkNoShaderLayouts (const TSourceLoc &, const TShaderQualifiers &) |
| |
| void | fixOffset (const TSourceLoc &, TSymbol &) |
| |
| const TFunction * | findFunction (const TSourceLoc &loc, const TFunction &call, bool &builtIn) |
| |
| const TFunction * | findFunctionExact (const TSourceLoc &loc, const TFunction &call, bool &builtIn) |
| |
| const TFunction * | findFunction120 (const TSourceLoc &loc, const TFunction &call, bool &builtIn) |
| |
| const TFunction * | findFunction400 (const TSourceLoc &loc, const TFunction &call, bool &builtIn) |
| |
| const TFunction * | findFunctionExplicitTypes (const TSourceLoc &loc, const TFunction &call, bool &builtIn) |
| |
| void | declareTypeDefaults (const TSourceLoc &, const TPublicType &) |
| |
| TIntermNode * | declareVariable (const TSourceLoc &, TString &identifier, const TPublicType &, TArraySizes *typeArray=0, TIntermTyped *initializer=0) |
| |
| TIntermTyped * | addConstructor (const TSourceLoc &, TIntermNode *, const TType &) |
| |
| TIntermTyped * | constructAggregate (TIntermNode *, const TType &, int, const TSourceLoc &) |
| |
| TIntermTyped * | constructBuiltIn (const TType &, TOperator, TIntermTyped *, const TSourceLoc &, bool subset) |
| |
| void | declareBlock (const TSourceLoc &, TTypeList &typeList, const TString *instanceName=0, TArraySizes *arraySizes=0) |
| |
| void | blockStageIoCheck (const TSourceLoc &, const TQualifier &) |
| |
| void | blockQualifierCheck (const TSourceLoc &, const TQualifier &, bool instanceName) |
| |
| void | fixBlockLocations (const TSourceLoc &, TQualifier &, TTypeList &, bool memberWithLocation, bool memberWithoutLocation) |
| |
| void | fixBlockXfbOffsets (TQualifier &, TTypeList &) |
| |
| void | fixBlockUniformOffsets (TQualifier &, TTypeList &) |
| |
| void | addQualifierToExisting (const TSourceLoc &, TQualifier, const TString &identifier) |
| |
| void | addQualifierToExisting (const TSourceLoc &, TQualifier, TIdentifierList &) |
| |
| void | invariantCheck (const TSourceLoc &, const TQualifier &) |
| |
| void | updateStandaloneQualifierDefaults (const TSourceLoc &, const TPublicType &) |
| |
| void | wrapupSwitchSubsequence (TIntermAggregate *statements, TIntermNode *branchNode) |
| |
| TIntermNode * | addSwitch (const TSourceLoc &, TIntermTyped *expression, TIntermAggregate *body) |
| |
| TAttributeType | attributeFromName (const TString &name) const |
| |
| TAttributes * | makeAttributes (const TString &identifier) const |
| |
| TAttributes * | makeAttributes (const TString &identifier, TIntermNode *node) const |
| |
| TAttributes * | mergeAttributes (TAttributes *, TAttributes *) const |
| |
| void | handleSelectionAttributes (const TAttributes &attributes, TIntermNode *) |
| |
| void | handleSwitchAttributes (const TAttributes &attributes, TIntermNode *) |
| |
| void | handleLoopAttributes (const TAttributes &attributes, TIntermNode *) |
| |
| | TParseContextBase (TSymbolTable &symbolTable, TIntermediate &interm, bool parsingBuiltins, int version, EProfile profile, const SpvVersion &spvVersion, EShLanguage language, TInfoSink &infoSink, bool forwardCompatible, EShMessages messages, const TString *entryPoint=nullptr) |
| |
| virtual | ~TParseContextBase () |
| |
| virtual void C_DECL | error (const TSourceLoc &, const char *szReason, const char *szToken, const char *szExtraInfoFormat,...) |
| |
| virtual void C_DECL | warn (const TSourceLoc &, const char *szReason, const char *szToken, const char *szExtraInfoFormat,...) |
| |
| virtual void C_DECL | ppError (const TSourceLoc &, const char *szReason, const char *szToken, const char *szExtraInfoFormat,...) |
| |
| virtual void C_DECL | ppWarn (const TSourceLoc &, const char *szReason, const char *szToken, const char *szExtraInfoFormat,...) |
| |
| void | checkIndex (const TSourceLoc &, const TType &, int &index) |
| |
| EShLanguage | getLanguage () const |
| |
| void | setScanContext (TScanContext *c) |
| |
| TScanContext * | getScanContext () const |
| |
| void | setPpContext (TPpContext *c) |
| |
| TPpContext * | getPpContext () const |
| |
| virtual void | setLineCallback (const std::function< void(int, int, bool, int, const char *)> &func) |
| |
| virtual void | setExtensionCallback (const std::function< void(int, const char *, const char *)> &func) |
| |
| virtual void | setVersionCallback (const std::function< void(int, int, const char *)> &func) |
| |
| virtual void | setPragmaCallback (const std::function< void(int, const TVector< TString > &)> &func) |
| |
| virtual void | setErrorCallback (const std::function< void(int, const char *)> &func) |
| |
| virtual void | notifyVersion (int line, int version, const char *type_string) |
| |
| virtual void | notifyErrorDirective (int line, const char *error_message) |
| |
| virtual void | notifyLineDirective (int curLineNo, int newLineNo, bool hasSource, int sourceNum, const char *sourceName) |
| |
| virtual void | notifyExtensionDirective (int line, const char *extension, const char *behavior) |
| |
| virtual void | growGlobalUniformBlock (const TSourceLoc &, TType &, const TString &memberName, TTypeList *typeList=nullptr) |
| |
| void | renameShaderFunction (TString *&name) const |
| |
| | TParseVersions (TIntermediate &interm, int version, EProfile profile, const SpvVersion &spvVersion, EShLanguage language, TInfoSink &infoSink, bool forwardCompatible, EShMessages messages) |
| |
| virtual | ~TParseVersions () |
| |
| virtual void | initializeExtensionBehavior () |
| |
| virtual void | requireProfile (const TSourceLoc &, int queryProfiles, const char *featureDesc) |
| |
| virtual void | profileRequires (const TSourceLoc &, int queryProfiles, int minVersion, int numExtensions, const char *const extensions[], const char *featureDesc) |
| |
| virtual void | profileRequires (const TSourceLoc &, int queryProfiles, int minVersion, const char *const extension, const char *featureDesc) |
| |
| virtual void | requireStage (const TSourceLoc &, EShLanguageMask, const char *featureDesc) |
| |
| virtual void | requireStage (const TSourceLoc &, EShLanguage, const char *featureDesc) |
| |
| virtual void | checkDeprecated (const TSourceLoc &, int queryProfiles, int depVersion, const char *featureDesc) |
| |
| virtual void | requireNotRemoved (const TSourceLoc &, int queryProfiles, int removedVersion, const char *featureDesc) |
| |
| virtual void | unimplemented (const TSourceLoc &, const char *featureDesc) |
| |
| virtual void | requireExtensions (const TSourceLoc &, int numExtensions, const char *const extensions[], const char *featureDesc) |
| |
| virtual void | ppRequireExtensions (const TSourceLoc &, int numExtensions, const char *const extensions[], const char *featureDesc) |
| |
| virtual TExtensionBehavior | getExtensionBehavior (const char *) |
| |
| virtual bool | extensionTurnedOn (const char *const extension) |
| |
| virtual bool | extensionsTurnedOn (int numExtensions, const char *const extensions[]) |
| |
| virtual void | updateExtensionBehavior (int line, const char *const extension, const char *behavior) |
| |
| virtual void | fullIntegerCheck (const TSourceLoc &, const char *op) |
| |
| virtual void | doubleCheck (const TSourceLoc &, const char *op) |
| |
| virtual void | float16Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | int64Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | explicitInt8Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | explicitInt16Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | explicitInt32Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | explicitFloat32Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | explicitFloat64Check (const TSourceLoc &, const char *op, bool builtIn=false) |
| |
| virtual void | spvRemoved (const TSourceLoc &, const char *op) |
| |
| virtual void | vulkanRemoved (const TSourceLoc &, const char *op) |
| |
| virtual void | requireVulkan (const TSourceLoc &, const char *op) |
| |
| virtual void | requireSpv (const TSourceLoc &, const char *op) |
| |
| virtual bool | checkExtensionsRequested (const TSourceLoc &, int numExtensions, const char *const extensions[], const char *featureDesc) |
| |
| virtual void | updateExtensionBehavior (const char *const extension, TExtensionBehavior) |
| |
| void | addError () |
| |
| int | getNumErrors () const |
| |
| void | setScanner (TInputScanner *scanner) |
| |
| TInputScanner * | getScanner () const |
| |
| const TSourceLoc & | getCurrentLoc () const |
| |
| void | setCurrentLine (int line) |
| |
| void | setCurrentColumn (int col) |
| |
| void | setCurrentSourceName (const char *name) |
| |
| void | setCurrentString (int string) |
| |
| void | getPreamble (std::string &) |
| |
| bool | relaxedErrors () const |
| |
| bool | suppressWarnings () const |
| |
| bool | isReadingHLSL () const |
| |
| bool | hlslEnable16BitTypes () const |
| |