#include "compiler/translator/util.h"
#include <limits>
#include "common/utilities.h"
#include "compiler/preprocessor/numeric_lex.h"
#include "compiler/translator/ImmutableStringBuilder.h"
#include "compiler/translator/SymbolTable.h"
bool atoi_clamp(const char *str, unsigned int *value)
{ … }
namespace sh
{
namespace
{
constexpr GLenum kFloatGLType[4][4] = …;
constexpr GLenum kIntGLType[4] = …;
constexpr GLenum kUIntGLType[4] = …;
constexpr GLenum kBoolGLType[4] = …;
bool IsInterpolationIn(TQualifier qualifier)
{ … }
bool IsInterpolationOut(TQualifier qualifier)
{ … }
}
float NumericLexFloat32OutOfRangeToInfinity(const std::string &str)
{ … }
bool strtof_clamp(const std::string &str, float *value)
{ … }
GLenum GLVariableType(const TType &type)
{ … }
GLenum GLVariablePrecision(const TType &type)
{ … }
ImmutableString ArrayString(const TType &type)
{ … }
ImmutableString GetTypeName(const TType &type, ShHashFunction64 hashFunction, NameMap *nameMap)
{ … }
bool IsVaryingOut(TQualifier qualifier)
{ … }
bool IsVaryingIn(TQualifier qualifier)
{ … }
bool IsVarying(TQualifier qualifier)
{ … }
bool IsMatrixGLType(GLenum type)
{ … }
bool IsGeometryShaderInput(GLenum shaderType, TQualifier qualifier)
{ … }
bool IsTessellationControlShaderInput(GLenum shaderType, TQualifier qualifier)
{ … }
bool IsTessellationControlShaderOutput(GLenum shaderType, TQualifier qualifier)
{ … }
bool IsTessellationEvaluationShaderInput(GLenum shaderType, TQualifier qualifier)
{ … }
InterpolationType GetInterpolationType(TQualifier qualifier)
{ … }
InterpolationType GetFieldInterpolationType(TQualifier qualifier)
{ … }
TType GetShaderVariableBasicType(const sh::ShaderVariable &var)
{ … }
void DeclareGlobalVariable(TIntermBlock *root, const TVariable *variable)
{ … }
bool CanBeInvariantESSL1(TQualifier qualifier)
{ … }
bool CanBeInvariantESSL3OrGreater(TQualifier qualifier)
{ … }
bool IsBuiltinOutputVariable(TQualifier qualifier)
{ … }
bool IsBuiltinFragmentInputVariable(TQualifier qualifier)
{ … }
bool IsShaderOutput(TQualifier qualifier)
{ … }
bool IsFragmentOutput(TQualifier qualifier)
{ … }
bool IsOutputESSL(ShShaderOutput output)
{ … }
bool IsOutputGLSL(ShShaderOutput output)
{ … }
bool IsOutputHLSL(ShShaderOutput output)
{ … }
bool IsOutputSPIRV(ShShaderOutput output)
{ … }
bool IsOutputMSL(ShShaderOutput output)
{ … }
bool IsOutputWGSL(ShShaderOutput output)
{ … }
bool IsInShaderStorageBlock(TIntermTyped *node)
{ … }
GLenum GetImageInternalFormatType(TLayoutImageInternalFormat iifq)
{ … }
bool IsSpecWithFunctionBodyNewScope(ShShaderSpec shaderSpec, int shaderVersion)
{ … }
ImplicitTypeConversion GetConversion(TBasicType t1, TBasicType t2)
{ … }
bool IsValidImplicitConversion(sh::ImplicitTypeConversion conversion, TOperator op)
{ … }
bool IsPrecisionApplicableToType(TBasicType type)
{ … }
bool IsRedeclarableBuiltIn(const ImmutableString &name)
{ … }
size_t FindFieldIndex(const TFieldList &fieldList, const char *fieldName)
{ … }
Declaration ViewDeclaration(TIntermDeclaration &declNode, uint32_t index)
{ … }
}