diff options
Diffstat (limited to 'gfx/angle/src/compiler/translator/Types.cpp')
-rwxr-xr-x | gfx/angle/src/compiler/translator/Types.cpp | 157 |
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 |