36 #ifndef _REFLECTION_INCLUDED 37 #define _REFLECTION_INCLUDED 39 #include "../Public/ShaderLang.h" 40 #include "../Include/Types.h" 52 class TIntermAggregate;
53 class TReflectionTraverser;
65 if (
type ==
nullptr || !
type->getQualifier().hasBinding())
67 return type->getQualifier().layoutBinding;
71 printf(
"%s: offset %d, type %x, size %d, index %d, binding %d",
99 for (
int dim=0; dim<3; ++dim)
177 #endif // _REFLECTION_INCLUDED Definition: reflection.h:56
TMapIndexToReflection indexToAttribute
Definition: reflection.h:170
GLuint const GLchar * name
Definition: glext.h:6671
const TObjectReflection & getAttribute(int i) const
Definition: reflection.h:130
EShLanguage
Definition: ShaderLang.h:90
unsigned int localSize[3]
Definition: reflection.h:172
int getIndex(const TString &name) const
Definition: reflection.h:149
const TType *const getType() const
Definition: reflection.h:62
int getNumUniformBlocks() const
Definition: reflection.h:119
static TObjectReflection badReflection()
Definition: reflection.h:79
TMapIndexToReflection indexToUniformBlock
Definition: reflection.h:169
TString name
Definition: reflection.h:81
GLsizeiptr size
Definition: glext.h:6559
Definition: localintermediate.h:210
int counterIndex
Definition: reflection.h:86
void buildAttributeReflection(EShLanguage, const TIntermediate &)
Definition: reflection.cpp:759
TNameToIndex nameToIndex
Definition: reflection.h:167
Definition: reflection.cpp:78
GLenum type
Definition: glext.h:6233
Definition: reflection.h:95
int getNumUniforms()
Definition: reflection.h:109
TObjectReflection()
Definition: reflection.h:89
int index
Definition: reflection.h:85
TMapIndexToReflection indexToUniform
Definition: reflection.h:168
const TObjectReflection & getUniform(int i) const
Definition: reflection.h:110
void dump() const
Definition: reflection.h:69
int getBinding() const
Definition: reflection.h:63
TObjectReflection(const TString &pName, const TType &pType, int pOffset, int pGLDefineType, int pSize, int pIndex)
Definition: reflection.h:58
bool addStage(EShLanguage, const TIntermediate &)
Definition: reflection.cpp:784
int size
Definition: reflection.h:84
int getIndex(const char *name) const
Definition: reflection.h:139
GLuint index
Definition: glext.h:6671
TObjectReflection badReflection
Definition: reflection.h:166
int offset
Definition: reflection.h:82
int glDefineType
Definition: reflection.h:83
const TType * type
Definition: reflection.h:91
TReflection()
Definition: reflection.h:97
const TObjectReflection & getUniformBlock(int i) const
Definition: reflection.h:120
std::map< TString, int > TNameToIndex
Definition: reflection.h:163
unsigned getLocalSize(int dim) const
Definition: reflection.h:152
std::vector< TObjectReflection > TMapIndexToReflection
Definition: reflection.h:164
GLintptr offset
Definition: glext.h:6560
int getNumAttributes()
Definition: reflection.h:129
Definition: lobject.h:303
virtual ~TReflection()
Definition: reflection.h:103
void dump()
Definition: reflection.cpp:810
void buildCounterIndices(const TIntermediate &)
Definition: reflection.cpp:769