zenilib  0.5.3.0
 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 ()
 
 POOL_ALLOCATOR_NEW_DELETE ()
 

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

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)
protected
TString TOutputGLSLBase::hashVariableName ( const TString name)
protected

Definition at line 778 of file OutputGLSLBase.cpp.

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

Referenced by visitSymbol().

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

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)
protectedvirtual
void TOutputGLSLBase::writeFunctionParameters ( const TIntermSequence args)
protected
void TOutputGLSLBase::writeTriplet ( Visit  visit,
const char *  preStr,
const char *  inStr,
const char *  postStr 
)
protected

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: