All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TOutputGLSLBase Class Referenceabstract

#include <OutputGLSLBase.h>

Inherits TIntermTraverser.

Inherited by TOutputESSL, and TOutputGLSL.

Public Member Functions

 TOutputGLSLBase (TInfoSinkBase &objSink, ShArrayIndexClampingStrategy clampingStrategy, ShHashFunction64 hashFunction, NameMap &nameMap, TSymbolTable &symbolTable)
- Public Member Functions inherited from TIntermTraverser
 TIntermTraverser (bool preVisit=true, bool inVisit=false, bool postVisit=false, bool rightToLeft=false)
virtual ~TIntermTraverser ()
void decrementDepth ()
int getMaxDepth () const
void incrementDepth ()

Protected Member Functions

TString getTypeName (const TType &type)
TString hashFunctionName (const TString &mangled_name)
TString hashName (const TString &name)
TString hashVariableName (const TString &name)
TInfoSinkBaseobjSink ()
virtual bool visitAggregate (Visit visit, TIntermAggregate *node)
virtual bool visitBinary (Visit visit, TIntermBinary *node)
virtual bool visitBranch (Visit visit, TIntermBranch *node)
void visitCodeBlock (TIntermNode *node)
virtual void visitConstantUnion (TIntermConstantUnion *node)
virtual bool visitLoop (Visit visit, TIntermLoop *node)
virtual bool visitSelection (Visit visit, TIntermSelection *node)
virtual void visitSymbol (TIntermSymbol *node)
virtual bool visitUnary (Visit visit, TIntermUnary *node)
const ConstantUnionwriteConstantUnion (const TType &type, const ConstantUnion *pConstUnion)
void writeFunctionParameters (const TIntermSequence &args)
void writeTriplet (Visit visit, const char *preStr, const char *inStr, const char *postStr)
virtual bool writeVariablePrecision (TPrecision precision)=0
void writeVariableType (const TType &type)

Additional Inherited Members

- Static Public Member Functions inherited from TIntermTraverser
static TString hash (const TString &name, ShHashFunction64 hashFunction)
- Public Attributes inherited from TIntermTraverser
const bool inVisit
const bool postVisit
const bool preVisit
const bool rightToLeft
- Protected Attributes inherited from TIntermTraverser
int depth
int maxDepth

Detailed Description

Definition at line 16 of file OutputGLSLBase.h.

Constructor & Destructor Documentation

TOutputGLSLBase::TOutputGLSLBase ( TInfoSinkBase objSink,
ShArrayIndexClampingStrategy  clampingStrategy,
ShHashFunction64  hashFunction,
NameMap nameMap,
TSymbolTable symbolTable 

Definition at line 42 of file OutputGLSLBase.cpp.

Member Function Documentation

TString TOutputGLSLBase::hashFunctionName ( const TString mangled_name)

Definition at line 785 of file OutputGLSLBase.cpp.

References TSymbolTable::findBuiltIn(), hashName(), NULL, and TFunction::unmangleName().

Referenced by visitAggregate().

TString TOutputGLSLBase::hashName ( const TString name)
TString TOutputGLSLBase::hashVariableName ( const TString name)

Definition at line 778 of file OutputGLSLBase.cpp.

References TSymbolTable::findBuiltIn(), hashName(), and NULL.

Referenced by visitSymbol().

bool TOutputGLSLBase::visitBranch ( Visit  visit,
TIntermBranch node 
void TOutputGLSLBase::visitCodeBlock ( TIntermNode node)

Definition at line 721 of file OutputGLSLBase.cpp.

References NULL, objSink(), and TIntermNode::traverse().

Referenced by visitAggregate(), visitLoop(), and visitSelection().

void TOutputGLSLBase::visitConstantUnion ( TIntermConstantUnion node)
void TOutputGLSLBase::writeFunctionParameters ( const TIntermSequence args)
void TOutputGLSLBase::writeTriplet ( Visit  visit,
const char *  preStr,
const char *  inStr,
const char *  postStr 

Definition at line 57 of file OutputGLSLBase.cpp.

References InVisit, objSink(), PostVisit, and PreVisit.

Referenced by visitAggregate(), visitBinary(), visitBranch(), and visitUnary().

virtual bool TOutputGLSLBase::writeVariablePrecision ( TPrecision  precision)
protectedpure virtual

Implemented in TOutputESSL, and TOutputGLSL.

Referenced by writeVariableType().

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