|
| 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 |
|