zenilib
0.5.3.0
|
#include <intermediate.h>
Inherited by CollectAttribsUniforms, DetectCallDepth, MapLongVariableNames, RemoveTree, RenameFunction, RestrictVertexShaderTiming, sh::DetectGradientOperation, sh::DetectLoopDiscontinuity, sh::OutputHLSL, sh::SearchSymbol, sh::UnfoldShortCircuit, TAliveTraverser, TConstTraverser, TDependencyGraphBuilder, TOutputGLSLBase, TOutputTraverser, TVersionGLSL, and ValidateLimitations.
Public Member Functions | |
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 () | |
virtual bool | visitAggregate (Visit visit, TIntermAggregate *) |
virtual bool | visitBinary (Visit visit, TIntermBinary *) |
virtual bool | visitBranch (Visit visit, TIntermBranch *) |
virtual void | visitConstantUnion (TIntermConstantUnion *) |
virtual bool | visitLoop (Visit visit, TIntermLoop *) |
virtual bool | visitSelection (Visit visit, TIntermSelection *) |
virtual void | visitSymbol (TIntermSymbol *) |
virtual bool | visitUnary (Visit visit, TIntermUnary *) |
Static Public Member Functions | |
static TString | hash (const TString &name, ShHashFunction64 hashFunction) |
Public Attributes | |
const bool | inVisit |
const bool | postVisit |
const bool | preVisit |
const bool | rightToLeft |
Protected Attributes | |
int | depth |
int | maxDepth |
Definition at line 539 of file intermediate.h.
|
inline |
Definition at line 543 of file intermediate.h.
|
inlinevirtual |
Definition at line 550 of file intermediate.h.
|
inline |
Definition at line 563 of file intermediate.h.
Referenced by TIntermLoop::traverse(), TIntermBranch::traverse(), TIntermBinary::traverse(), TIntermUnary::traverse(), TIntermAggregate::traverse(), TIntermSelection::traverse(), TOutputGLSLBase::visitAggregate(), TOutputGLSLBase::visitLoop(), and TOutputGLSLBase::visitSelection().
|
inline |
Definition at line 561 of file intermediate.h.
References maxDepth.
Referenced by TCompiler::limitExpressionComplexity().
|
static |
Definition at line 1433 of file Intermediate.cpp.
References HASHED_NAME_PREFIX, and NULL.
Referenced by getUserDefinedVariableInfo(), TOutputGLSLBase::hashName(), and CollectAttribsUniforms::visitAggregate().
|
inline |
Definition at line 562 of file intermediate.h.
Referenced by TIntermLoop::traverse(), TIntermBranch::traverse(), TIntermBinary::traverse(), TIntermUnary::traverse(), TIntermAggregate::traverse(), TIntermSelection::traverse(), TOutputGLSLBase::visitAggregate(), TOutputGLSLBase::visitLoop(), and TOutputGLSLBase::visitSelection().
TIntermTraverser::POOL_ALLOCATOR_NEW_DELETE | ( | ) |
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, TVersionGLSL, sh::DetectGradientOperation, TOutputGLSLBase, CollectAttribsUniforms, DetectCallDepth, ValidateLimitations, sh::DetectLoopDiscontinuity, TDependencyGraphBuilder, and RenameFunction.
Definition at line 557 of file intermediate.h.
Referenced by TIntermAggregate::traverse().
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, TVersionGLSL, TOutputGLSLBase, CollectAttribsUniforms, ValidateLimitations, sh::UnfoldShortCircuit, and TDependencyGraphBuilder.
Definition at line 554 of file intermediate.h.
Referenced by TIntermBinary::traverse().
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, TVersionGLSL, TOutputGLSLBase, CollectAttribsUniforms, and sh::DetectLoopDiscontinuity.
Definition at line 559 of file intermediate.h.
Referenced by TIntermBranch::traverse().
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, TVersionGLSL, TOutputGLSLBase, and CollectAttribsUniforms.
Definition at line 553 of file intermediate.h.
Referenced by TIntermConstantUnion::traverse().
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, MapLongVariableNames, TVersionGLSL, TOutputGLSLBase, CollectAttribsUniforms, ValidateLimitations, sh::UnfoldShortCircuit, sh::DetectLoopDiscontinuity, and TDependencyGraphBuilder.
Definition at line 558 of file intermediate.h.
Referenced by TIntermLoop::traverse().
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, TVersionGLSL, TOutputGLSLBase, CollectAttribsUniforms, sh::UnfoldShortCircuit, and TDependencyGraphBuilder.
Definition at line 556 of file intermediate.h.
Referenced by TIntermSelection::traverse().
|
inlinevirtual |
Reimplemented in MapLongVariableNames, sh::OutputHLSL, TVersionGLSL, TOutputGLSLBase, CollectAttribsUniforms, RestrictVertexShaderTiming, TOutputGLSL, sh::SearchSymbol, and TDependencyGraphBuilder.
Definition at line 552 of file intermediate.h.
Referenced by TIntermSymbol::traverse().
|
inlinevirtual |
Reimplemented in sh::OutputHLSL, sh::DetectGradientOperation, TVersionGLSL, TOutputGLSLBase, CollectAttribsUniforms, and ValidateLimitations.
Definition at line 555 of file intermediate.h.
Referenced by TIntermUnary::traverse().
|
protected |
Definition at line 575 of file intermediate.h.
const bool TIntermTraverser::inVisit |
Definition at line 570 of file intermediate.h.
Referenced by TIntermBinary::traverse(), and TIntermAggregate::traverse().
|
protected |
Definition at line 576 of file intermediate.h.
Referenced by getMaxDepth(), and incrementDepth().
const bool TIntermTraverser::postVisit |
Definition at line 571 of file intermediate.h.
Referenced by TIntermLoop::traverse(), TIntermBranch::traverse(), TIntermBinary::traverse(), TIntermUnary::traverse(), TIntermAggregate::traverse(), and TIntermSelection::traverse().
const bool TIntermTraverser::preVisit |
Definition at line 569 of file intermediate.h.
Referenced by TIntermLoop::traverse(), TIntermBranch::traverse(), TIntermBinary::traverse(), TIntermUnary::traverse(), TIntermAggregate::traverse(), and TIntermSelection::traverse().
const bool TIntermTraverser::rightToLeft |
Definition at line 572 of file intermediate.h.
Referenced by TIntermLoop::traverse(), TIntermBinary::traverse(), TIntermAggregate::traverse(), and TIntermSelection::traverse().