webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Protected Member Functions | List of all members
TOutputGLSL Class Reference

#include <OutputGLSL.h>

Inheritance diagram for TOutputGLSL:
TOutputGLSLBase TIntermTraverser angle::NonCopyable

Public Member Functions

 TOutputGLSL (TInfoSinkBase &objSink, ShArrayIndexClampingStrategy clampingStrategy, ShHashFunction64 hashFunction, NameMap &nameMap, TSymbolTable &symbolTable, int shaderVersion, ShShaderOutput output)
 
- Public Member Functions inherited from TOutputGLSLBase
 TOutputGLSLBase (TInfoSinkBase &objSink, ShArrayIndexClampingStrategy clampingStrategy, ShHashFunction64 hashFunction, NameMap &nameMap, TSymbolTable &symbolTable, int shaderVersion, ShShaderOutput output)
 
ShShaderOutput getShaderOutput () const
 
- Public Member Functions inherited from TIntermTraverser
 POOL_ALLOCATOR_NEW_DELETE ()
 
 TIntermTraverser (bool preVisit, bool inVisit, bool postVisit)
 
virtual ~TIntermTraverser ()
 
virtual void visitRaw (TIntermRaw *node)
 
virtual void traverseSymbol (TIntermSymbol *node)
 
virtual void traverseRaw (TIntermRaw *node)
 
virtual void traverseConstantUnion (TIntermConstantUnion *node)
 
virtual void traverseSwizzle (TIntermSwizzle *node)
 
virtual void traverseBinary (TIntermBinary *node)
 
virtual void traverseUnary (TIntermUnary *node)
 
virtual void traverseTernary (TIntermTernary *node)
 
virtual void traverseIfElse (TIntermIfElse *node)
 
virtual void traverseSwitch (TIntermSwitch *node)
 
virtual void traverseCase (TIntermCase *node)
 
virtual void traverseFunctionDefinition (TIntermFunctionDefinition *node)
 
virtual void traverseAggregate (TIntermAggregate *node)
 
virtual void traverseBlock (TIntermBlock *node)
 
virtual void traverseLoop (TIntermLoop *node)
 
virtual void traverseBranch (TIntermBranch *node)
 
int getMaxDepth () const
 
void updateTree ()
 
void useTemporaryIndex (unsigned int *temporaryIndex)
 

Protected Member Functions

bool writeVariablePrecision (TPrecision) override
 
void visitSymbol (TIntermSymbol *node) override
 
TString translateTextureFunction (TString &name) override
 
- Protected Member Functions inherited from TOutputGLSLBase
TInfoSinkBaseobjSink ()
 
void writeTriplet (Visit visit, const char *preStr, const char *inStr, const char *postStr)
 
void writeLayoutQualifier (const TType &type)
 
void writeVariableType (const TType &type)
 
void writeFunctionParameters (const TIntermSequence &args)
 
const TConstantUnionwriteConstantUnion (const TType &type, const TConstantUnion *pConstUnion)
 
void writeConstructorTriplet (Visit visit, const TType &type)
 
TString getTypeName (const TType &type)
 
void visitSymbol (TIntermSymbol *node) override
 
void visitConstantUnion (TIntermConstantUnion *node) override
 
bool visitSwizzle (Visit visit, TIntermSwizzle *node) override
 
bool visitBinary (Visit visit, TIntermBinary *node) override
 
bool visitUnary (Visit visit, TIntermUnary *node) override
 
bool visitTernary (Visit visit, TIntermTernary *node) override
 
bool visitIfElse (Visit visit, TIntermIfElse *node) override
 
bool visitSwitch (Visit visit, TIntermSwitch *node) override
 
bool visitCase (Visit visit, TIntermCase *node) override
 
bool visitFunctionDefinition (Visit visit, TIntermFunctionDefinition *node) override
 
bool visitAggregate (Visit visit, TIntermAggregate *node) override
 
bool visitBlock (Visit visit, TIntermBlock *node) override
 
bool visitLoop (Visit visit, TIntermLoop *node) override
 
bool visitBranch (Visit visit, TIntermBranch *node) override
 
void visitCodeBlock (TIntermBlock *node)
 
TString hashName (const TString &name)
 
TString hashVariableName (const TString &name)
 
TString hashFunctionNameIfNeeded (const TName &mangledName)
 
- Protected Member Functions inherited from TIntermTraverser
void incrementDepth (TIntermNode *current)
 
void decrementDepth ()
 
TIntermNodegetParentNode ()
 
TIntermNodegetAncestorNode (unsigned int n)
 
void pushParentBlock (TIntermBlock *node)
 
void incrementParentBlockPos ()
 
void popParentBlock ()
 
bool parentNodeIsBlock ()
 
void insertStatementsInParentBlock (const TIntermSequence &insertions)
 
void insertStatementsInParentBlock (const TIntermSequence &insertionsBefore, const TIntermSequence &insertionsAfter)
 
void insertStatementInParentBlock (TIntermNode *statement)
 
TIntermSymbolcreateTempSymbol (const TType &type, TQualifier qualifier)
 
TIntermSymbolcreateTempSymbol (const TType &type)
 
TIntermAggregatecreateTempDeclaration (const TType &type)
 
TIntermAggregatecreateTempInitDeclaration (TIntermTyped *initializer, TQualifier qualifier)
 
TIntermAggregatecreateTempInitDeclaration (TIntermTyped *initializer)
 
TIntermBinarycreateTempAssignment (TIntermTyped *rightNode)
 
void nextTemporaryIndex ()
 
void clearReplacementQueue ()
 
void queueReplacement (TIntermNode *original, TIntermNode *replacement, OriginalNode originalStatus)
 
void queueReplacementWithParent (TIntermNode *parent, TIntermNode *original, TIntermNode *replacement, OriginalNode originalStatus)
 

Additional Inherited Members

- Static Public Member Functions inherited from TIntermTraverser
static TString hash (const TString &name, ShHashFunction64 hashFunction)
 
- Protected Types inherited from TIntermTraverser
enum  OriginalNode { OriginalNode::BECOMES_CHILD, OriginalNode::IS_DROPPED }
 
- Protected Attributes inherited from TIntermTraverser
const bool preVisit
 
const bool inVisit
 
const bool postVisit
 
int mDepth
 
int mMaxDepth
 
TVector< TIntermNode * > mPath
 
bool mInGlobalScope
 
std::vector< NodeReplaceWithMultipleEntrymMultiReplacements
 
std::vector< NodeInsertMultipleEntrymInsertions
 

Constructor & Destructor Documentation

◆ TOutputGLSL()

TOutputGLSL::TOutputGLSL ( TInfoSinkBase objSink,
ShArrayIndexClampingStrategy  clampingStrategy,
ShHashFunction64  hashFunction,
NameMap nameMap,
TSymbolTable symbolTable,
int  shaderVersion,
ShShaderOutput  output 
)

Member Function Documentation

◆ translateTextureFunction()

TString TOutputGLSL::translateTextureFunction ( TString name)
overrideprotectedvirtual

Reimplemented from TOutputGLSLBase.

◆ visitSymbol()

void TOutputGLSL::visitSymbol ( TIntermSymbol node)
overrideprotectedvirtual

Reimplemented from TIntermTraverser.

◆ writeVariablePrecision()

bool TOutputGLSL::writeVariablePrecision ( TPrecision  )
overrideprotectedvirtual

Implements TOutputGLSLBase.


The documentation for this class was generated from the following files: