RetroArch
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
glslang::TReflectionTraverser Class Reference
Inheritance diagram for glslang::TReflectionTraverser:
[legend]
Collaboration diagram for glslang::TReflectionTraverser:
[legend]

Public Member Functions

 TReflectionTraverser (const TIntermediate &i, TReflection &r)
 
virtual bool visitBinary (TVisit, TIntermBinary *node)
 
virtual void visitSymbol (TIntermSymbol *base)
 
void addUniform (const TIntermSymbol &base)
 
void addAttribute (const TIntermSymbol &base)
 
int getOffset (const TType &type, int index)
 
int getBlockSize (const TType &blockType)
 
void blowUpActiveAggregate (const TType &baseType, const TString &baseName, const TList< TIntermBinary *> &derefs, TList< TIntermBinary *>::const_iterator deref, int offset, int blockIndex, int arraySize)
 
void addDereferencedUniform (TIntermBinary *topNode)
 
int addBlockName (const TString &name, const TType &type, int size)
 
bool isReflectionGranularity (const TType &type)
 
TIntermSymbolfindBase (const TIntermBinary *node)
 
int mapSamplerToGlType (TSampler sampler)
 
int mapToGlType (const TType &type)
 
int mapToGlArraySize (const TType &type)
 
- Public Member Functions inherited from glslang::TLiveTraverser
 TLiveTraverser (const TIntermediate &i, bool traverseAll=false, bool preVisit=true, bool inVisit=false, bool postVisit=false)
 
void pushFunction (const TString &name)
 
- Public Member Functions inherited from glslang::TIntermTraverser
 TIntermTraverser (bool preVisit=true, bool inVisit=false, bool postVisit=false, bool rightToLeft=false)
 
virtual ~TIntermTraverser ()
 
virtual void visitConstantUnion (TIntermConstantUnion *)
 
virtual bool visitUnary (TVisit, TIntermUnary *)
 
virtual bool visitLoop (TVisit, TIntermLoop *)
 
virtual bool visitBranch (TVisit, TIntermBranch *)
 
virtual bool visitSwitch (TVisit, TIntermSwitch *)
 
int getMaxDepth () const
 
void incrementDepth (TIntermNode *current)
 
void decrementDepth ()
 
TIntermNodegetParentNode ()
 

Public Attributes

TReflectionreflection
 
std::set< const TIntermNode * > processedDerefs
 
- Public Attributes inherited from glslang::TLiveTraverser
TFunctionStack functions
 
- Public Attributes inherited from glslang::TIntermTraverser
const bool preVisit
 
const bool inVisit
 
const bool postVisit
 
const bool rightToLeft
 

Protected Member Functions

 TReflectionTraverser (TReflectionTraverser &)
 
TReflectionTraverseroperator= (TReflectionTraverser &)
 
- Protected Member Functions inherited from glslang::TLiveTraverser
virtual bool visitAggregate (TVisit, TIntermAggregate *node)
 
virtual bool visitSelection (TVisit, TIntermSelection *node)
 
void addFunctionCall (TIntermAggregate *call)
 
- Protected Member Functions inherited from glslang::TIntermTraverser
TIntermTraverseroperator= (TIntermTraverser &)
 

Additional Inherited Members

- Public Types inherited from glslang::TLiveTraverser
typedef std::list< TIntermAggregate * > TFunctionStack
 
- Protected Types inherited from glslang::TLiveTraverser
typedef std::unordered_set< TStringTLiveFunctions
 
- Protected Attributes inherited from glslang::TLiveTraverser
const TIntermediateintermediate
 
TLiveFunctions liveFunctions
 
bool traverseAll
 
- Protected Attributes inherited from glslang::TIntermTraverser
int depth
 
int maxDepth
 
TVector< TIntermNode * > path
 

Constructor & Destructor Documentation

◆ TReflectionTraverser() [1/2]

glslang::TReflectionTraverser::TReflectionTraverser ( const TIntermediate i,
TReflection r 
)
inline

◆ TReflectionTraverser() [2/2]

glslang::TReflectionTraverser::TReflectionTraverser ( TReflectionTraverser )
protected

Member Function Documentation

◆ addAttribute()

void glslang::TReflectionTraverser::addAttribute ( const TIntermSymbol base)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addBlockName()

int glslang::TReflectionTraverser::addBlockName ( const TString name,
const TType type,
int  size 
)
inline
Here is the caller graph for this function:

◆ addDereferencedUniform()

void glslang::TReflectionTraverser::addDereferencedUniform ( TIntermBinary topNode)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addUniform()

void glslang::TReflectionTraverser::addUniform ( const TIntermSymbol base)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ blowUpActiveAggregate()

void glslang::TReflectionTraverser::blowUpActiveAggregate ( const TType baseType,
const TString baseName,
const TList< TIntermBinary *> &  derefs,
TList< TIntermBinary *>::const_iterator  deref,
int  offset,
int  blockIndex,
int  arraySize 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ findBase()

TIntermSymbol* glslang::TReflectionTraverser::findBase ( const TIntermBinary node)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBlockSize()

int glslang::TReflectionTraverser::getBlockSize ( const TType blockType)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOffset()

int glslang::TReflectionTraverser::getOffset ( const TType type,
int  index 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isReflectionGranularity()

bool glslang::TReflectionTraverser::isReflectionGranularity ( const TType type)
inline
Here is the caller graph for this function:

◆ mapSamplerToGlType()

int glslang::TReflectionTraverser::mapSamplerToGlType ( TSampler  sampler)
inline
Here is the caller graph for this function:

◆ mapToGlArraySize()

int glslang::TReflectionTraverser::mapToGlArraySize ( const TType type)
inline
Here is the caller graph for this function:

◆ mapToGlType()

int glslang::TReflectionTraverser::mapToGlType ( const TType type)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

TReflectionTraverser& glslang::TReflectionTraverser::operator= ( TReflectionTraverser )
protected

◆ visitBinary()

bool glslang::TReflectionTraverser::visitBinary ( TVisit  ,
TIntermBinary node 
)
virtual

Reimplemented from glslang::TIntermTraverser.

Here is the call graph for this function:

◆ visitSymbol()

void glslang::TReflectionTraverser::visitSymbol ( TIntermSymbol base)
virtual

Reimplemented from glslang::TIntermTraverser.

Here is the call graph for this function:

Member Data Documentation

◆ processedDerefs

std::set<const TIntermNode*> glslang::TReflectionTraverser::processedDerefs

◆ reflection

TReflection& glslang::TReflectionTraverser::reflection

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