13 #pragma warning(disable: 4718)
32 TString TType::buildMangledName()
const
41 case EbtFloat: mangledName +=
'f';
break;
42 case EbtInt: mangledName +=
'i';
break;
43 case EbtBool: mangledName +=
'b';
break;
53 snprintf(buf,
sizeof(buf),
"%d", arraySize);
74 if (arraySize > INT_MAX / totalSize)
77 totalSize *= arraySize;
85 for (
size_t i = 0;
i < mFields->size(); ++
i) {
86 const TType* fieldType = (*mFields)[
i]->type();
93 TString TStructure::buildMangledName()
const
96 mangledName += *mName;
97 for (
size_t i = 0;
i < mFields->size(); ++
i) {
99 mangledName += (*mFields)[
i]->type()->getMangledName();
104 size_t TStructure::calculateObjectSize()
const
107 for (
size_t i = 0;
i < mFields->size(); ++
i) {
108 size_t fieldSize = (*mFields)[
i]->type()->getObjectSize();
109 if (fieldSize > INT_MAX - size)
117 int TStructure::calculateDeepestNesting()
const
120 for (
size_t i = 0;
i < mFields->size(); ++
i) {
121 maxNesting =
std::max(maxNesting, (*mFields)[
i]->
type()->getDeepestStructNesting());
123 return 1 + maxNesting;
132 infoSink.
debug <<
getName().c_str() <<
": " <<
type.getQualifierString() <<
" " <<
type.getPrecisionString() <<
" " <<
type.getBasicString();
133 if (
type.isArray()) {
134 infoSink.
debug <<
"[0]";
136 infoSink.
debug <<
"\n";
146 tLevel::const_iterator it;
147 for (it =
level.begin(); it !=
level.end(); ++it)
148 (*it).second->dump(infoSink);
164 for (TParamList::iterator
i = parameters.begin();
i != parameters.end(); ++
i)
173 for (tLevel::iterator it =
level.begin(); it !=
level.end(); ++it)
186 for (it =
level.begin(); it !=
level.end(); ++it) {
187 if ((*it).second->isFunction()) {
189 if (function->getName() ==
name)
203 for (tLevel::iterator it =
level.begin(); it !=
level.end(); ++it) {
virtual void dump(TInfoSink &infoSink) const
GLenum GLsizei GLenum GLenum const GLvoid * table
void relateToExtension(const char *name, const TString &ext)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
void relateToOperator(TOperator o)
virtual void dump(TInfoSink &infoSink) const
TBasicType getBasicType() const
int getNominalSize() const
void relateToExtension(const TString &ext)
EGLImageKHR EGLint * name
const TString & getName() const
void dump(TInfoSink &infoSink) const
std::basic_string< char, std::char_traits< char >, TStringAllocator > TString
void relateToOperator(const char *name, TOperator op)
const TString & getMangledName() const
void dump(TInfoSink &infoSink) const
GLenum GLuint GLsizei const GLchar * buf
bool containsArrays() const
size_t getObjectSize() const
const char * getBasicString() const
TStructure * getStruct() const
size_t objectSize() const
bool isStructureContainingArrays() const
GLenum GLint GLint * precision
const TString & mangledName() const