summaryrefslogtreecommitdiffstats
path: root/gfx/angle/src/compiler/translator/Types.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/angle/src/compiler/translator/Types.cpp')
-rwxr-xr-xgfx/angle/src/compiler/translator/Types.cpp157
1 files changed, 30 insertions, 127 deletions
diff --git a/gfx/angle/src/compiler/translator/Types.cpp b/gfx/angle/src/compiler/translator/Types.cpp
index af79d3eea..be1f9822c 100755
--- a/gfx/angle/src/compiler/translator/Types.cpp
+++ b/gfx/angle/src/compiler/translator/Types.cpp
@@ -11,86 +11,49 @@
#include "compiler/translator/Types.h"
#include "compiler/translator/InfoSink.h"
#include "compiler/translator/IntermNode.h"
-#include "compiler/translator/SymbolTable.h"
#include <algorithm>
#include <climits>
-namespace sh
-{
-
const char* getBasicString(TBasicType t)
{
switch (t)
{
- case EbtVoid: return "void";
- case EbtFloat: return "float";
- case EbtInt: return "int";
- case EbtUInt: return "uint";
- case EbtBool: return "bool";
- case EbtSampler2D: return "sampler2D";
- case EbtSampler3D: return "sampler3D";
- case EbtSamplerCube: return "samplerCube";
- case EbtSamplerExternalOES: return "samplerExternalOES";
- case EbtSampler2DRect: return "sampler2DRect";
- case EbtSampler2DArray: return "sampler2DArray";
- case EbtISampler2D: return "isampler2D";
- case EbtISampler3D: return "isampler3D";
- case EbtISamplerCube: return "isamplerCube";
- case EbtISampler2DArray: return "isampler2DArray";
- case EbtUSampler2D: return "usampler2D";
- case EbtUSampler3D: return "usampler3D";
- case EbtUSamplerCube: return "usamplerCube";
- case EbtUSampler2DArray: return "usampler2DArray";
- case EbtSampler2DShadow: return "sampler2DShadow";
- case EbtSamplerCubeShadow: return "samplerCubeShadow";
- case EbtSampler2DArrayShadow: return "sampler2DArrayShadow";
- case EbtStruct: return "structure";
- case EbtInterfaceBlock: return "interface block";
- case EbtImage2D:
- return "image2D";
- case EbtIImage2D:
- return "iimage2D";
- case EbtUImage2D:
- return "uimage2D";
- case EbtImage3D:
- return "image3D";
- case EbtIImage3D:
- return "iimage3D";
- case EbtUImage3D:
- return "uimage3D";
- case EbtImage2DArray:
- return "image2DArray";
- case EbtIImage2DArray:
- return "iimage2DArray";
- case EbtUImage2DArray:
- return "uimage2DArray";
- case EbtImageCube:
- return "imageCube";
- case EbtIImageCube:
- return "iimageCube";
- case EbtUImageCube:
- return "uimageCube";
- default: UNREACHABLE(); return "unknown type";
+ case EbtVoid: return "void"; break;
+ case EbtFloat: return "float"; break;
+ case EbtInt: return "int"; break;
+ case EbtUInt: return "uint"; break;
+ case EbtBool: return "bool"; break;
+ case EbtSampler2D: return "sampler2D"; break;
+ case EbtSampler3D: return "sampler3D"; break;
+ case EbtSamplerCube: return "samplerCube"; break;
+ case EbtSamplerExternalOES: return "samplerExternalOES"; break;
+ case EbtSampler2DRect: return "sampler2DRect"; break;
+ case EbtSampler2DArray: return "sampler2DArray"; break;
+ case EbtISampler2D: return "isampler2D"; break;
+ case EbtISampler3D: return "isampler3D"; break;
+ case EbtISamplerCube: return "isamplerCube"; break;
+ case EbtISampler2DArray: return "isampler2DArray"; break;
+ case EbtUSampler2D: return "usampler2D"; break;
+ case EbtUSampler3D: return "usampler3D"; break;
+ case EbtUSamplerCube: return "usamplerCube"; break;
+ case EbtUSampler2DArray: return "usampler2DArray"; break;
+ case EbtSampler2DShadow: return "sampler2DShadow"; break;
+ case EbtSamplerCubeShadow: return "samplerCubeShadow"; break;
+ case EbtSampler2DArrayShadow: return "sampler2DArrayShadow"; break;
+ case EbtStruct: return "structure"; break;
+ case EbtInterfaceBlock: return "interface block"; break;
+ default: UNREACHABLE(); return "unknown type";
}
}
TType::TType(const TPublicType &p)
- : type(p.getBasicType()),
- precision(p.precision),
- qualifier(p.qualifier),
- invariant(p.invariant),
- memoryQualifier(p.memoryQualifier),
- layoutQualifier(p.layoutQualifier),
- primarySize(p.getPrimarySize()),
- secondarySize(p.getSecondarySize()),
- array(p.array),
- arraySize(p.arraySize),
- interfaceBlock(0),
- structure(0)
+ : type(p.type), precision(p.precision), qualifier(p.qualifier), invariant(p.invariant),
+ layoutQualifier(p.layoutQualifier), primarySize(p.primarySize), secondarySize(p.secondarySize),
+ array(p.array), arraySize(p.arraySize), interfaceBlock(0), structure(0)
{
- if (p.getUserDef())
- structure = p.getUserDef()->getStruct();
+ if (p.userDef)
+ structure = p.userDef->getStruct();
}
bool TStructure::equals(const TStructure &other) const
@@ -311,42 +274,6 @@ TString TType::buildMangledName() const
case EbtSampler2DArrayShadow:
mangledName += "s2as";
break;
- case EbtImage2D:
- mangledName += "im2";
- break;
- case EbtIImage2D:
- mangledName += "iim2";
- break;
- case EbtUImage2D:
- mangledName += "uim2";
- break;
- case EbtImage3D:
- mangledName += "im3";
- break;
- case EbtIImage3D:
- mangledName += "iim3";
- break;
- case EbtUImage3D:
- mangledName += "uim3";
- break;
- case EbtImage2DArray:
- mangledName += "im2a";
- break;
- case EbtIImage2DArray:
- mangledName += "iim2a";
- break;
- case EbtUImage2DArray:
- mangledName += "uim2a";
- break;
- case EbtImageCube:
- mangledName += "imc";
- break;
- case EbtIImageCube:
- mangledName += "iimc";
- break;
- case EbtUImageCube:
- mangledName += "uimc";
- break;
case EbtStruct:
mangledName += structure->mangledName();
break;
@@ -391,9 +318,6 @@ size_t TType::getObjectSize() const
if (isArray())
{
- if (totalSize == 0)
- return 0;
-
size_t currentArraySize = getArraySize();
if (currentArraySize > INT_MAX / totalSize)
totalSize = INT_MAX;
@@ -404,14 +328,6 @@ size_t TType::getObjectSize() const
return totalSize;
}
-TStructure::TStructure(const TString *name, TFieldList *fields)
- : TFieldListCollection(name, fields),
- mDeepestNesting(0),
- mUniqueId(TSymbolTable::nextUniqueId()),
- mAtGlobalScope(false)
-{
-}
-
bool TStructure::containsArrays() const
{
for (size_t i = 0; i < mFields->size(); ++i)
@@ -445,17 +361,6 @@ bool TStructure::containsSamplers() const
return false;
}
-bool TStructure::containsImages() const
-{
- for (size_t i = 0; i < mFields->size(); ++i)
- {
- const TType *fieldType = (*mFields)[i]->type();
- if (IsImage(fieldType->getBasicType()) || fieldType->isStructureContainingImages())
- return true;
- }
- return false;
-}
-
void TStructure::createSamplerSymbols(const TString &structName,
const TString &structAPIName,
const unsigned int arrayOfStructsSize,
@@ -560,5 +465,3 @@ int TStructure::calculateDeepestNesting() const
maxNesting = std::max(maxNesting, (*mFields)[i]->type()->getDeepestStructNesting());
return 1 + maxNesting;
}
-
-} // namespace sh