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)
 
TIntermSymbol * findBase (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 ()
 
TIntermNode * getParentNode ()
 

Public Attributes

TReflection & reflection
 
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 &)
 
TReflectionTraverser & operator= (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
TIntermTraverser & operator= (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< TString > TLiveFunctions
 
- Protected Attributes inherited from glslang::TLiveTraverser
const TIntermediate & intermediate
 
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: