Simplify and rationalize constant folding for dereferences (array, matrix, vector, swizzle, struct).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24259 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
1fbaa35ce7
commit
3591813a8b
8 changed files with 95 additions and 180 deletions
|
|
@ -697,10 +697,11 @@ public:
|
|||
virtual int getMatrixCols() const { return matrixCols; }
|
||||
virtual int getMatrixRows() const { return matrixRows; }
|
||||
|
||||
virtual bool isScalar() const { return vectorSize == 1 && ! getStruct() && ! isArray(); }
|
||||
virtual bool isScalar() const { return vectorSize == 1 && ! isStruct() && ! isArray(); }
|
||||
virtual bool isVector() const { return vectorSize > 1; }
|
||||
virtual bool isMatrix() const { return matrixCols ? true : false; }
|
||||
virtual bool isArray() const { return arraySizes != 0; }
|
||||
virtual bool isStruct() const { return structure != 0; }
|
||||
|
||||
// Recursively check the structure for any arrays, needed for some error checks
|
||||
virtual bool containsArray() const
|
||||
|
|
|
|||
|
|
@ -391,6 +391,7 @@ public:
|
|||
virtual bool isArray() const { return type.isArray(); }
|
||||
virtual bool isVector() const { return type.isVector(); }
|
||||
virtual bool isScalar() const { return type.isScalar(); }
|
||||
virtual bool isStruct() const { return type.isStruct(); }
|
||||
TString getCompleteString() const { return type.getCompleteString(); }
|
||||
|
||||
protected:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue