Ensure the shared symbol table levels are read-only to make multi-threading safe. Also removed inadvertent extra copies of the symbol table shared across all stages.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22939 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
69f4b517c2
commit
38f3b890de
14 changed files with 230 additions and 125 deletions
|
|
@ -577,12 +577,14 @@ public:
|
|||
virtual bool isMatrix() const { return matrixCols ? true : false; }
|
||||
virtual bool isArray() const { return arraySizes != 0; }
|
||||
int getArraySize() const { return arraySizes->front(); }
|
||||
void setArraySizes(TArraySizes s) {
|
||||
void setArraySizes(TArraySizes s)
|
||||
{
|
||||
// copy; we don't want distinct types sharing the same descriptor
|
||||
if (! arraySizes)
|
||||
arraySizes = NewPoolTArraySizes();
|
||||
*arraySizes = *s;
|
||||
}
|
||||
|
||||
void changeArraySize(int s) { arraySizes->front() = s; }
|
||||
void setMaxArraySize (int s) { maxArraySize = s; }
|
||||
int getMaxArraySize () const { return maxArraySize; }
|
||||
|
|
@ -590,10 +592,13 @@ public:
|
|||
TType* getArrayInformationType() { return arrayInformationType; }
|
||||
virtual bool isVector() const { return vectorSize > 1; }
|
||||
virtual bool isScalar() const { return vectorSize == 1; }
|
||||
const char* getBasicString() const {
|
||||
const char* getBasicString() const
|
||||
{
|
||||
return TType::getBasicString(basicType);
|
||||
}
|
||||
static const char* getBasicString(TBasicType t) {
|
||||
|
||||
static const char* getBasicString(TBasicType t)
|
||||
{
|
||||
switch (t) {
|
||||
case EbtVoid: return "void";
|
||||
case EbtFloat: return "float";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue