39 #ifndef _TYPES_INCLUDED 40 #define _TYPES_INCLUDED 42 #include "../Include/Common.h" 43 #include "../Include/BaseTypes.h" 44 #include "../Public/ShaderLang.h" 209 #ifdef AMD_EXTENSIONS 212 case EbtInt8:
s.append(
"i8");
break;
216 case EbtInt:
s.append(
"i");
break;
233 s.append(
"ExternalOES");
237 case Esd1D:
s.append(
"1D");
break;
238 case Esd2D:
s.append(
"2D");
break;
239 case Esd3D:
s.append(
"3D");
break;
240 case EsdCube:
s.append(
"Cube");
break;
241 case EsdRect:
s.append(
"2DRect");
break;
457 #ifdef AMD_EXTENSIONS 458 explicitInterp =
false;
496 #ifdef AMD_EXTENSIONS 497 bool explicitInterp : 1;
515 #ifdef AMD_EXTENSIONS 521 #ifdef AMD_EXTENSIONS 522 bool isExplicitInterpolation()
const 524 return explicitInterp;
641 layoutPassthrough =
false;
642 layoutViewportRelative =
false;
644 layoutSecondaryViewportRelativeOffset = -2048;
728 bool layoutPassthrough;
729 bool layoutViewportRelative;
730 int layoutSecondaryViewportRelativeOffset;
866 default:
return "none";
874 default:
return "none";
891 case ElfRg8:
return "rg8";
892 case ElfR16:
return "r16";
893 case ElfR8:
return "r8";
909 case ElfR8i:
return "r8i";
921 default:
return "none";
927 case EldAny:
return "depth_any";
929 case EldLess:
return "depth_less";
931 default:
return "none";
953 default:
return "unknown";
968 default:
return "none";
974 case EvsEqual:
return "equal_spacing";
977 default:
return "none";
983 case EvoCw:
return "cw";
984 case EvoCcw:
return "ccw";
985 default:
return "none";
1020 #ifdef NV_EXTENSIONS 1021 bool layoutOverrideCoverage;
1045 #ifdef NV_EXTENSIONS 1046 layoutOverrideCoverage =
false;
1056 if (
src.pixelCenterInteger)
1058 if (
src.originUpperLeft)
1070 for (
int i = 0; i < 3; ++i) {
1071 if (
src.localSize[i] > 1)
1074 for (
int i = 0; i < 3; ++i) {
1078 if (
src.earlyFragmentTests)
1080 if (
src.postDepthCoverage)
1082 if (
src.layoutDepth)
1084 if (
src.blendEquation)
1088 #ifdef NV_EXTENSIONS 1089 if (
src.layoutOverrideCoverage)
1090 layoutOverrideCoverage =
src.layoutOverrideCoverage;
1227 if (
type.isArray()) {
1229 if (
type.getArraySizes()->getNumDims() == 1) {
1311 for (
unsigned int i = 0; i <
structure->size(); ++i)
1398 template <
typename P>
1401 if (predicate(
this))
1404 const auto hasa = [predicate](
const TTypeLoc& tl) {
return tl.type->contains(predicate); };
1412 return contains([checkType](
const TType*
t) {
return t->basicType == checkType; } );
1424 return contains([
this](
const TType*
t) {
return t !=
this &&
t->isStruct(); } );
1446 const auto nonOpaque = [](
const TType*
t) {
1447 switch (
t->basicType) {
1472 return contains([](
const TType*
t) {
return t->isArray() &&
t->arraySizes->isOuterSpecialization(); } );
1491 assert(
type.arraySizes !=
nullptr);
1534 int lastMember = (int)
structure->size() - 1;
1535 for (
int i = 0; i < lastMember; ++i)
1536 (*
structure)[i].type->adoptImplicitArraySizes(
false);
1554 case EbtInt8:
return "int8_t";
1558 case EbtInt:
return "int";
1567 default:
return "unknown type";
1575 const auto appendStr = [&](
const char*
s) { typeString.append(
s); };
1576 const auto appendUint = [&](
unsigned int u) { typeString.append(
std::to_string(u).c_str()); };
1577 const auto appendInt = [&](
int i) { typeString.append(
std::to_string(i).c_str()); };
1585 appendStr(
"layout(");
1587 appendStr(
" location=");
1590 appendStr(
" component=");
1594 appendStr(
" index=");
1603 appendStr(
" binding=");
1607 appendStr(
" stream=");
1619 appendStr(
" offset=");
1623 appendStr(
" align=");
1631 appendStr(
" xfb_buffer=");
1635 appendStr(
" xfb_offset=");
1639 appendStr(
" xfb_stride=");
1643 appendStr(
" input_attachment_index=");
1647 appendStr(
" constant_id=");
1651 appendStr(
" push_constant");
1653 #ifdef NV_EXTENSIONS 1655 appendStr(
" passthrough");
1657 appendStr(
" layoutViewportRelative");
1658 if (
qualifier.layoutSecondaryViewportRelativeOffset != -2048) {
1659 appendStr(
" layoutSecondaryViewportRelativeOffset=");
1660 appendInt(
qualifier.layoutSecondaryViewportRelativeOffset);
1669 appendStr(
" invariant");
1671 appendStr(
" noContraction");
1673 appendStr(
" centroid");
1675 appendStr(
" smooth");
1679 appendStr(
" noperspective");
1680 #ifdef AMD_EXTENSIONS 1682 appendStr(
" __explicitInterpAMD");
1685 appendStr(
" patch");
1687 appendStr(
" sample");
1689 appendStr(
" coherent");
1691 appendStr(
" volatile");
1693 appendStr(
" restrict");
1695 appendStr(
" readonly");
1697 appendStr(
" writeonly");
1699 appendStr(
" specialization-constant");
1701 appendStr(
" nonuniform");
1708 appendStr(
" runtime-sized array of");
1711 appendStr(
" unsized");
1720 appendStr(
"-element array of");
1733 appendStr(
" matrix of");
1737 appendStr(
"-component vector of");
1751 for (
size_t i = 0; i <
structure->size(); ++i) {
1752 if (! (*
structure)[i].type->hiddenMember()) {
1753 typeString.append((*
structure)[i].
type->getCompleteString());
1754 typeString.append(
" ");
1756 if (i < structure->
size() - 1)
1786 for (TTypeList::const_iterator tl =
getStruct()->begin(); tl !=
getStruct()->end(); tl++)
1787 components += ((*tl).type)->computeNumComponents();
1831 for (
unsigned int i = 0; i <
structure->size(); ++i) {
1832 if ((*
structure)[i].type->getFieldName() != (*
right.structure)[i].
type->getFieldName())
1902 auto prevCopy = copiedMap.find(copyOf.
structure);
1903 if (prevCopy != copiedMap.end())
1908 for (
unsigned int i = 0; i < copyOf.
structure->size(); ++i) {
1918 if (copyOf.fieldName)
1920 if (copyOf.typeName)
1925 void buildMangledName(
TString&)
const;
1947 #endif // _TYPES_INCLUDED_ bool hasAnyLocation() const
Definition: Types.h:770
virtual bool containsNonOpaque() const
Definition: Types.h:1444
TSamplerDim
Definition: Types.h:62
bool isArrayed() const
Definition: Types.h:104
bool layoutPushConstant
Definition: Types.h:725
TBuiltInVariable declaredBuiltIn
Definition: Types.h:488
static const char * getBasicString(TBasicType t)
Definition: Types.h:1547
const char * getPrecisionQualifierString() const
Definition: Types.h:1776
TType(TTypeList *userDef, const TString &n)
Definition: Types.h:1262
const TTypeList * getStruct() const
Definition: Types.h:1777
TType(TTypeList *userDef, const TString &n, const TQualifier &q)
Definition: Types.h:1271
GLuint const GLchar * name
Definition: glext.h:6671
Definition: BaseTypes.h:58
virtual int getCumulativeArraySize() const
Definition: Types.h:1353
int matrixCols
Definition: Types.h:1929
void appendMangledName(TString &name) const
Definition: Types.h:1801
void changeOuterSize(int s)
Definition: arrays.h:259
Definition: BaseTypes.h:53
Definition: BaseTypes.h:86
void merge(const TShaderQualifiers &src)
Definition: Types.h:1052
Definition: ShaderLang.h:92
static const unsigned int layoutLocationEnd
Definition: Types.h:691
void makeTemporary()
Definition: Types.h:432
Definition: BaseTypes.h:61
bool centroid
Definition: Types.h:492
GLenum GLenum GLuint components
Definition: glext.h:10527
int matrixRows
Definition: Types.h:1930
int localSizeSpecId[3]
Definition: Types.h:1013
Definition: ShaderLang.h:94
Definition: BaseTypes.h:379
bool hasNonXfbLayout() const
Definition: Types.h:672
TType * type
Definition: Types.h:262
Definition: BaseTypes.h:55
bool isShadow() const
Definition: Types.h:103
void deepCopy(const TType ©Of, TMap< TTypeList *, TTypeList *> &copiedMap)
Definition: Types.h:1892
bool hasUniformLayout() const
Definition: Types.h:733
bool isSpecConstant() const
Definition: Types.h:832
int getDimSize(int dim) const
Definition: arrays.h:239
Definition: BaseTypes.h:88
bool noContraction
Definition: Types.h:491
EShLanguage
Definition: ShaderLang.h:90
static const unsigned int layoutComponentEnd
Definition: Types.h:694
Definition: BaseTypes.h:87
TBlendEquationShift
Definition: Types.h:394
bool hasOffset() const
Definition: Types.h:762
Definition: BaseTypes.h:60
const char * semanticName
Definition: Types.h:485
bool restrict
Definition: Types.h:503
unsigned int layoutXfbBuffer
Definition: Types.h:708
std::string to_string(const T &val)
Definition: Common.h:45
Definition: BaseTypes.h:107
virtual bool hiddenMember() const
Definition: Types.h:1326
Definition: BaseTypes.h:49
TString * fieldName
Definition: Types.h:1940
Definition: BaseTypes.h:63
unsigned int layoutSpecConstantId
Definition: Types.h:720
bool sameStructType(const TType &right) const
Definition: Types.h:1815
const int GlslangMaxTypeLength
Definition: Types.h:51
Definition: BaseTypes.h:112
virtual int getImplicitArraySize() const
Definition: Types.h:1355
bool hasComponent() const
Definition: Types.h:780
Definition: BaseTypes.h:52
int layoutOffset
Definition: Types.h:687
TLayoutDepth layoutDepth
Definition: Types.h:1016
virtual bool containsOpaque() const
Definition: Types.h:1433
TStorageQualifier storage
Definition: Types.h:486
virtual bool isTexture() const
Definition: Types.h:1395
GLdouble GLdouble GLdouble r
Definition: glext.h:6406
GLenum GLuint GLint GLint GLsizei numViews
Definition: glsym_es2.h:226
void clearInterstage()
Definition: Types.h:444
void clearInterstageLayout()
Definition: Types.h:653
GLdouble GLdouble t
Definition: glext.h:6398
bool sample
Definition: Types.h:500
virtual bool containsUnsizedArray() const
Definition: Types.h:1428
unsigned int layoutStream
Definition: Types.h:705
Definition: BaseTypes.h:109
void clearXfbLayout()
Definition: Types.h:665
static const char * getVertexOrderString(TVertexOrder order)
Definition: Types.h:980
Definition: BaseTypes.h:47
bool hasLocation() const
Definition: Types.h:776
#define P(a, b, c, d, k, s, t)
bool hasIndex() const
Definition: Types.h:784
const char * getBuiltInVariableString() const
Definition: Types.h:1775
unsigned int layoutComponent
Definition: Types.h:693
void clear()
Definition: Types.h:422
bool operator!=(const TType &right) const
Definition: Types.h:1879
GLsizeiptr size
Definition: glext.h:6559
Definition: BaseTypes.h:102
GLfloat f
Definition: glext.h:8207
bool hasReturnStruct() const
Definition: Types.h:106
__inline const char * GetStorageQualifierString(TStorageQualifier q)
Definition: BaseTypes.h:251
bool readonly
Definition: Types.h:504
virtual TArraySizes * getArraySizes()
Definition: Types.h:1357
static const char * getLayoutDepthString(TLayoutDepth d)
Definition: Types.h:924
TString * NewPoolTString(const char *s)
Definition: Common.h:156
bool postDepthCoverage
Definition: Types.h:1015
int vectorSize
Definition: Types.h:1109
bool isVariablyIndexed() const
Definition: arrays.h:319
virtual const TString & getFieldName() const
Definition: Types.h:1335
bool isPureSampler() const
Definition: Types.h:101
static const unsigned int layoutBindingEnd
Definition: Types.h:700
void makeTemporary()
Definition: Types.h:1306
void setImage(TBasicType t, TSamplerDim d, bool a=false, bool s=false, bool m=false)
Definition: Types.h:138
void shallowCopy(const TType ©Of)
Definition: Types.h:1283
bool isUniformOrBuffer() const
Definition: Types.h:585
GLdouble s
Definition: glext.h:6390
static const int layoutNotSet
Definition: Types.h:420
TTypeList * getWritableStruct() const
Definition: Types.h:1779
TVertexSpacing spacing
Definition: Types.h:1009
TSourceLoc loc
Definition: Types.h:1114
TLayoutMatrix
Definition: Types.h:283
bool hasXfb() const
Definition: Types.h:804
TBuiltInVariable
Definition: BaseTypes.h:135
virtual bool isArray() const
Definition: Types.h:1363
bool invariant
Definition: Types.h:490
TType(TBasicType t=EbtVoid, TStorageQualifier q=EvqTemporary, int vs=1, int mc=0, int mr=0, bool isVector=false)
Definition: Types.h:1174
unsigned int layoutAttachment
Definition: Types.h:717
bool sameElementType(const TType &right) const
Definition: Types.h:1843
void clearLayout()
Definition: Types.h:635
const char * getBasicString() const
Definition: Types.h:1542
Definition: BaseTypes.h:113
const char * getStorageQualifierString() const
Definition: Types.h:1774
virtual TIntermTyped * getOuterArrayNode() const
Definition: Types.h:1352
bool hasXfbBuffer() const
Definition: Types.h:810
TSourceLoc loc
Definition: Types.h:263
static const unsigned int layoutStreamEnd
Definition: Types.h:706
Definition: BaseTypes.h:93
unsigned int layoutXfbStride
Definition: Types.h:711
bool isMemory() const
Definition: Types.h:509
void init()
Definition: Types.h:1024
void makeSpecConstant()
Definition: Types.h:854
Definition: BaseTypes.h:99
GLenum GLint GLint * precision
Definition: glext.h:8206
bool nopersp
Definition: Types.h:495
unsigned int getVectorSize() const
Definition: Types.h:96
TString * typeName
Definition: Types.h:1941
bool shadow
Definition: Types.h:78
GLdouble GLdouble right
Definition: glext.h:11766
static const char * getVertexSpacingString(TVertexSpacing spacing)
Definition: Types.h:971
static int mapGeometryToSize(TLayoutGeometry geometry)
Definition: Types.h:988
const GLubyte * c
Definition: glext.h:9812
void clearUniformLayout()
Definition: Types.h:742
bool isCombined() const
Definition: Types.h:100
TSampler sampler
Definition: Types.h:1106
void updateImplicitSize(int s)
Definition: arrays.h:261
bool isIo() const
Definition: Types.h:596
void copyArrayInnerSizes(const TArraySizes *s)
Definition: Types.h:1513
Definition: BaseTypes.h:82
void set(TBasicType t, TSamplerDim d, bool a=false, bool s=false, bool m=false)
Definition: Types.h:126
virtual TSampler & getSampler()
Definition: Types.h:1343
Definition: BaseTypes.h:104
__inline const char * GetBuiltInVariableString(TBuiltInVariable v)
Definition: BaseTypes.h:280
bool hasSpecConstantId() const
Definition: Types.h:826
TLayoutPacking
Definition: Types.h:274
bool isPipeInput() const
Definition: Types.h:532
bool ms
Definition: Types.h:79
bool flat
Definition: Types.h:494
TQualifier qualifier
Definition: Types.h:1936
TVector< TString * > TIdentifierList
Definition: Types.h:267
bool isConstant() const
Definition: Types.h:849
TPoolAllocator & GetThreadPoolAllocator()
Definition: PoolAlloc.cpp:47
Definition: BaseTypes.h:51
Definition: BaseTypes.h:56
bool hasXfbOffset() const
Definition: Types.h:818
static const unsigned noReturnStruct
Definition: Types.h:90
bool nonUniform
Definition: Types.h:507
TString getString() const
Definition: Types.h:198
virtual bool isIntegerDomain() const
Definition: Types.h:1371
unsigned int layoutLocation
Definition: Types.h:690
bool volatil
Definition: Types.h:502
bool pixelCenterInteger
Definition: Types.h:1005
int getOuterSize() const
Definition: arrays.h:242
GLenum type
Definition: glext.h:6233
static const char * getBlendEquationString(TBlendEquationShift e)
Definition: Types.h:934
bool hasBinding() const
Definition: Types.h:792
bool l
Definition: connect_wiiupro.c:37
TType & operator=(const TType &type)
TBasicType basicType
Definition: Types.h:1927
static const unsigned int layoutSpecConstantIdEnd
Definition: Types.h:721
void copyDereferenced(const TArraySizes &rhs)
Definition: arrays.h:297
bool hasMatrix() const
Definition: Types.h:754
void setVariablyIndexed()
Definition: arrays.h:318
static const unsigned int layoutXfbOffsetEnd
Definition: Types.h:715
int matrixRows
Definition: Types.h:1111
bool isParamInput() const
Definition: Types.h:562
virtual bool isStruct() const
Definition: Types.h:1369
Definition: BaseTypes.h:83
TLayoutPacking layoutPacking
Definition: Types.h:686
void deepCopy(const TType ©Of)
Definition: Types.h:1299
bool hasAlign() const
Definition: Types.h:766
bool IsAnonymous(const TString &name)
Definition: Types.h:54
TType(const TSampler &sampler, TStorageQualifier q=EvqUniform, TArraySizes *as=nullptr)
Definition: Types.h:1214
bool isArrayedIo(EShLanguage language) const
Definition: Types.h:620
bool external
Definition: Types.h:83
static const unsigned structReturnSlots
Definition: Types.h:89
void setVector(int s)
Definition: Types.h:1142
static const unsigned int layoutXfbBufferEnd
Definition: Types.h:709
virtual void setFieldName(const TString &n)
Definition: Types.h:1328
virtual bool isImage() const
Definition: Types.h:1393
bool sampler
Definition: Types.h:82
__inline const char * GetPrecisionQualifierString(TPrecisionQualifier p)
Definition: BaseTypes.h:382
Definition: BaseTypes.h:94
int computeNumComponents() const
Definition: Types.h:1781
bool isImage() const
Definition: Types.h:98
Definition: BaseTypes.h:376
virtual bool containsStructure() const
Definition: Types.h:1422
TVertexSpacing
Definition: Types.h:306
TString getCompleteString() const
Definition: Types.h:1571
TTypeList * structure
Definition: Types.h:1939
#define POOL_ALLOCATOR_NEW_DELETE(A)
Definition: Common.h:112
TSamplerDim dim
Definition: Types.h:76
virtual bool containsBasicType(TBasicType checkType) const
Definition: Types.h:1410
const char *const AnonymousPrefix
Definition: Types.h:53
bool writeonly
Definition: Types.h:505
virtual bool isScalar() const
Definition: Types.h:1359
bool operator==(const TSampler &right) const
Definition: Types.h:178
virtual const TString & getTypeName() const
Definition: Types.h:1329
static const char * getLayoutPackingString(TLayoutPacking packing)
Definition: Types.h:859
virtual void setArrayVariablyIndexed()
Definition: Types.h:1367
bool vector1
Definition: Types.h:1931
void updateArraySizes(const TType &type)
Definition: Types.h:1486
bool sameElementShape(const TType &right) const
Definition: Types.h:1863
void clearInterpolation()
Definition: Types.h:451
TQualifier qualifier
Definition: Types.h:1107
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glext.h:6305
TIntermTyped * getOuterNode() const
Definition: arrays.h:243
bool earlyFragmentTests
Definition: Types.h:1014
void changeOuterArraySize(int s)
Definition: Types.h:1522
bool arrayed
Definition: Types.h:77
static const unsigned int layoutIndexEnd
Definition: Types.h:703
TSampler sampler
Definition: Types.h:1942
TLayoutFormat layoutFormat
Definition: Types.h:723
bool contains(P predicate) const
Definition: Types.h:1399
GLenum src
Definition: glext.h:6980
bool hasFormat() const
Definition: Types.h:800
bool isPipeOutput() const
Definition: Types.h:547
TType(TBasicType t, TStorageQualifier q, TPrecisionQualifier p, int vs=1, int mc=0, int mr=0, bool isVector=false)
Definition: Types.h:1185
const int UnsizedArraySize
Definition: arrays.h:49
bool isTexture() const
Definition: Types.h:102
TLayoutGeometry
Definition: Types.h:293
void setTexture(TBasicType t, TSamplerDim d, bool a=false, bool s=false, bool m=false)
Definition: Types.h:150
bool hasXfbStride() const
Definition: Types.h:814
int vectorSize
Definition: Types.h:1928
GLdouble GLdouble GLdouble GLdouble q
Definition: glext.h:6414
GLuint GLdouble GLdouble GLint GLint order
Definition: glext.h:12101
void setStruct(TTypeList *s)
Definition: Types.h:1778
TType * clone() const
Definition: Types.h:1315
Definition: BaseTypes.h:92
const TType * userDef
Definition: Types.h:1113
bool isInterpolation() const
Definition: Types.h:513
bool isAuxiliary() const
Definition: Types.h:527
virtual TBasicType getBasicType() const
Definition: Types.h:1341
bool operator==(const TType &right) const
Definition: Types.h:1874
GLfloat GLfloat p
Definition: glext.h:9809
virtual bool isFloatingDomain() const
Definition: Types.h:1370
virtual bool isSubpass() const
Definition: Types.h:1394
TShaderQualifiers shaderQualifiers
Definition: Types.h:1108
bool isFrontEndConstant() const
Definition: Types.h:843
virtual bool isArrayVariablyIndexed() const
Definition: Types.h:1366
TArraySizes * arraySizes
Definition: Types.h:1938
bool coherent
Definition: Types.h:501
bool isImage() const
Definition: Types.h:1162
static const unsigned int layoutSetEnd
Definition: Types.h:697
virtual bool isBuiltIn() const
Definition: Types.h:1390
Definition: BaseTypes.h:108
void buildMangledName(TString &) const
Definition: SymbolTable.cpp:54
TVector< TTypeLoc > TTypeList
Definition: Types.h:265
TLayoutMatrix layoutMatrix
Definition: Types.h:685
bool hasPacking() const
Definition: Types.h:758
TArraySizes * arraySizes
Definition: Types.h:1112
bool sameArrayness(const TType &right) const
Definition: Types.h:1849
void clear()
Definition: Types.h:108
virtual bool isArrayOfArrays() const
Definition: Types.h:1354
TStorageQualifier
Definition: BaseTypes.h:81
void initQualifiers(bool global=false)
Definition: Types.h:1127
virtual bool isVector() const
Definition: Types.h:1361
void copyArraySizes(const TArraySizes &s)
Definition: Types.h:1494
bool hasAttachment() const
Definition: Types.h:822
virtual int getMatrixCols() const
Definition: Types.h:1349
bool hasLayout() const
Definition: Types.h:680
virtual bool containsBuiltIn() const
Definition: Types.h:1439
virtual TQualifier & getQualifier()
Definition: Types.h:1345
int vertices
Definition: Types.h:1008
Definition: BaseTypes.h:103
static const char * getLayoutMatrixString(TLayoutMatrix m)
Definition: Types.h:869
void setSubpass(TBasicType t, bool m=false)
Definition: Types.h:161
virtual void updateImplicitArraySize(int size)
Definition: Types.h:1368
unsigned int layoutIndex
Definition: Types.h:702
int layoutAlign
Definition: Types.h:688
TType(const TPublicType &p)
Definition: Types.h:1198
int getCumulativeSize() const
Definition: arrays.h:244
int getNumDims() const
Definition: arrays.h:238
virtual bool isUnsizedArray() const
Definition: Types.h:1365
TVertexOrder order
Definition: Types.h:1010
virtual bool isScalarOrVec1() const
Definition: Types.h:1360
Definition: BaseTypes.h:95
void addInnerSizes(const TArraySizes &s)
Definition: arrays.h:258
int localSize[3]
Definition: Types.h:1012
static const char * getGeometryString(TLayoutGeometry geometry)
Definition: Types.h:956
bool isScalar() const
Definition: Types.h:1156
static const unsigned int layoutAttachmentEnd
Definition: Types.h:718
bool smooth
Definition: Types.h:493
TPrecisionQualifier
Definition: BaseTypes.h:375
bool pointMode
Definition: Types.h:1011
void makeVector()
Definition: Types.h:1323
virtual const TArraySizes * getArraySizes() const
Definition: Types.h:1356
TVertexOrder
Definition: Types.h:313
TBasicType
Definition: BaseTypes.h:46
bool hasSet() const
Definition: Types.h:788
virtual bool isMatrix() const
Definition: Types.h:1362
bool isParamOutput() const
Definition: Types.h:574
unsigned int layoutBinding
Definition: Types.h:699
Definition: BaseTypes.h:50
TLayoutGeometry geometry
Definition: Types.h:1004
TBasicType basicType
Definition: Types.h:1105
void transferArraySizes(TArraySizes *s)
Definition: Types.h:1500
virtual bool containsSpecializationSize() const
Definition: Types.h:1470
Definition: BaseTypes.h:59
int getImplicitSize() const
Definition: arrays.h:260
Definition: BaseTypes.h:98
Definition: retroarch.h:240
bool sameInnerArrayness(const TArraySizes &rhs) const
Definition: arrays.h:304
unsigned int layoutSet
Definition: Types.h:696
bool isSized() const
Definition: arrays.h:295
static const unsigned structReturnIndexBits
Definition: Types.h:88
virtual int getOuterArraySize() const
Definition: Types.h:1351
virtual bool isSizedArray() const
Definition: Types.h:1364
static const unsigned int layoutXfbStrideEnd
Definition: Types.h:712
static const char * getLayoutFormatString(TLayoutFormat f)
Definition: Types.h:877
virtual bool containsArray() const
Definition: Types.h:1416
void init(const TSourceLoc &l, bool global=false)
Definition: Types.h:1134
TLayoutFormat
Definition: Types.h:320
virtual const TQualifier & getQualifier() const
Definition: Types.h:1346
bool isNonUniform() const
Definition: Types.h:839
int numViews
Definition: Types.h:1018
void adoptImplicitArraySizes(bool skipNonvariablyIndexed)
Definition: Types.h:1529
TBuiltInVariable builtIn
Definition: Types.h:487
Definition: BaseTypes.h:136
Definition: BaseTypes.h:54
bool isSubpass() const
Definition: Types.h:99
void makePartialTemporary()
Definition: Types.h:478
int invocations
Definition: Types.h:1007
virtual const TSampler & getSampler() const
Definition: Types.h:1342
bool hasStream() const
Definition: Types.h:796
#define false
Definition: ordinals.h:83
GLuint sampler
Definition: glext.h:7950
void initType(const TSourceLoc &l)
Definition: Types.h:1116
#define true
Definition: ordinals.h:82
virtual int getVectorSize() const
Definition: Types.h:1348
TType(const TType &type, int derefIndex, bool rowMajor=false)
Definition: Types.h:1225
TPrecisionQualifier precision
Definition: Types.h:489
Definition: BaseTypes.h:62
bool image
Definition: Types.h:80
virtual bool isOpaque() const
Definition: Types.h:1389
unsigned int structReturnIndex
Definition: Types.h:93
virtual int getMatrixRows() const
Definition: Types.h:1350
int matrixCols
Definition: Types.h:1110
Definition: intermediate.h:1042
void clearStreamLayout()
Definition: Types.h:661
bool patch
Definition: Types.h:499
void clearMemory()
Definition: Types.h:462
bool specConstant
Definition: Types.h:506
TString getBasicTypeString() const
Definition: Types.h:1766
void setMatrix(int c, int r)
Definition: Types.h:1149
unsigned int layoutXfbOffset
Definition: Types.h:714
bool blendEquation
Definition: Types.h:1017
GLdouble n
Definition: glext.h:8396
bool originUpperLeft
Definition: Types.h:1006
void clearArraySizes()
Definition: Types.h:1506
TLayoutDepth
Definition: Types.h:384
bool sameInnerArrayness(const TType &right) const
Definition: Types.h:1856
const GLfloat * m
Definition: glext.h:11755
bool operator!=(const TSampler &right) const
Definition: Types.h:193
Definition: BaseTypes.h:84
Definition: BaseTypes.h:85
Definition: lobject.h:303
Definition: BaseTypes.h:57
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6844
TBasicType type
Definition: Types.h:75
virtual void hideMember()
Definition: Types.h:1325
bool isSubpass() const
Definition: Types.h:1163
Definition: BaseTypes.h:48
bool isMultiSample() const
Definition: Types.h:105
Definition: ShaderLang.h:93
virtual ~TType()
Definition: Types.h:1278
void setPureSampler(bool s)
Definition: Types.h:171
unsigned int vectorSize
Definition: Types.h:84
bool combined
Definition: Types.h:81