Turn on basic support for shader storage buffer objects, but not yet the entire extension.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27699 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-08-12 02:11:55 +00:00
parent 79cddfcb56
commit 67cf1f6179
14 changed files with 190 additions and 78 deletions

View file

@ -406,7 +406,7 @@ public:
}
}
bool isUniform() const
bool isUniformOrBuffer() const
{
switch (storage) {
case EvqUniform:
@ -802,10 +802,15 @@ public:
vectorSize = 0;
}
bool isScalar()
bool isScalar() const
{
return matrixCols == 0 && vectorSize == 1 && arraySizes == 0 && userDef == 0;
}
bool isImage() const
{
return basicType == EbtSampler && sampler.image;
}
};
typedef std::map<TTypeList*, TTypeList*> TStructureMap;
@ -1008,9 +1013,11 @@ public:
virtual bool isVector() const { return vectorSize > 1; }
virtual bool isMatrix() const { return matrixCols ? true : false; }
virtual bool isArray() const { return arraySizes != 0; }
virtual bool isImplicitlySizedArray() const { return isArray() && ! getArraySize(); }
virtual bool isExplicitlySizedArray() const { return ! isImplicitlySizedArray(); }
virtual bool isImplicitlySizedArray() const { return isArray() && ! getArraySize() && qualifier.storage != EvqBuffer; }
virtual bool isExplicitlySizedArray() const { return isArray() && getArraySize(); }
virtual bool isRuntimeSizedArray() const { return isArray() && ! getArraySize() && qualifier.storage == EvqBuffer; }
virtual bool isStruct() const { return structure != 0; }
virtual bool isImage() const { return basicType == EbtSampler && getSampler().image; }
// Recursively checks if the type contains the given basic type
virtual bool containsBasicType(TBasicType checkType) const