mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(glslang) Turn functions static
This commit is contained in:
parent
2b84be1210
commit
e602f8762b
@ -5806,9 +5806,6 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
||||
"flat in highp uint gl_ViewID_OVR;" // GL_OVR_multiview, GL_OVR_multiview2
|
||||
"\n");
|
||||
}
|
||||
|
||||
// printf("%s\n", commonBuiltins.c_str());
|
||||
// printf("%s\n", stageBuiltins[EShLangFragment].c_str());
|
||||
}
|
||||
|
||||
//
|
||||
|
75
deps/glslang/glslang/hlsl/hlslParseables.cpp
vendored
75
deps/glslang/glslang/hlsl/hlslParseables.cpp
vendored
@ -58,28 +58,29 @@ namespace { // anonymous namespace functions
|
||||
|
||||
const bool UseHlslTypes = true;
|
||||
|
||||
const char* BaseTypeName(const char argOrder, const char* scalarName, const char* vecName, const char* matName)
|
||||
static const char* BaseTypeName(const char argOrder, const char* scalarName, const char* vecName, const char* matName)
|
||||
{
|
||||
switch (argOrder) {
|
||||
case 'S': return scalarName;
|
||||
case 'V': return vecName;
|
||||
case 'M': return matName;
|
||||
default: return "UNKNOWN_TYPE";
|
||||
default: break;
|
||||
}
|
||||
return "UNKNOWN_TYPE";
|
||||
}
|
||||
|
||||
// arg order queries
|
||||
bool IsSamplerType(const char argType) { return argType == 'S' || argType == 's'; }
|
||||
bool IsArrayed(const char argOrder) { return argOrder == '@' || argOrder == '&' || argOrder == '#'; }
|
||||
bool IsTextureNonMS(const char argOrder) { return argOrder == '%'; }
|
||||
bool IsSubpassInput(const char argOrder) { return argOrder == '[' || argOrder == ']'; }
|
||||
bool IsArrayedTexture(const char argOrder) { return argOrder == '@'; }
|
||||
bool IsTextureMS(const char argOrder) { return argOrder == '$' || argOrder == '&'; }
|
||||
bool IsMS(const char argOrder) { return IsTextureMS(argOrder) || argOrder == ']'; }
|
||||
bool IsBuffer(const char argOrder) { return argOrder == '*' || argOrder == '~'; }
|
||||
bool IsImage(const char argOrder) { return argOrder == '!' || argOrder == '#' || argOrder == '~'; }
|
||||
static bool IsSamplerType(const char argType) { return argType == 'S' || argType == 's'; }
|
||||
static bool IsArrayed(const char argOrder) { return argOrder == '@' || argOrder == '&' || argOrder == '#'; }
|
||||
static bool IsTextureNonMS(const char argOrder) { return argOrder == '%'; }
|
||||
static bool IsSubpassInput(const char argOrder) { return argOrder == '[' || argOrder == ']'; }
|
||||
static bool IsArrayedTexture(const char argOrder) { return argOrder == '@'; }
|
||||
static bool IsTextureMS(const char argOrder) { return argOrder == '$' || argOrder == '&'; }
|
||||
static bool IsMS(const char argOrder) { return IsTextureMS(argOrder) || argOrder == ']'; }
|
||||
static bool IsBuffer(const char argOrder) { return argOrder == '*' || argOrder == '~'; }
|
||||
static bool IsImage(const char argOrder) { return argOrder == '!' || argOrder == '#' || argOrder == '~'; }
|
||||
|
||||
bool IsTextureType(const char argOrder)
|
||||
static bool IsTextureType(const char argOrder)
|
||||
{
|
||||
return IsTextureNonMS(argOrder) || IsArrayedTexture(argOrder) ||
|
||||
IsTextureMS(argOrder) || IsBuffer(argOrder) || IsImage(argOrder);
|
||||
@ -87,7 +88,7 @@ bool IsTextureType(const char argOrder)
|
||||
|
||||
// Reject certain combinations that are illegal sample methods. For example,
|
||||
// 3D arrays.
|
||||
bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim0)
|
||||
static bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim0)
|
||||
{
|
||||
const bool isArrayed = IsArrayed(*argOrder);
|
||||
const bool isMS = IsTextureMS(*argOrder);
|
||||
@ -152,30 +153,29 @@ bool IsIllegalSample(const glslang::TString& name, const char* argOrder, int dim
|
||||
}
|
||||
|
||||
// Return the number of the coordinate arg, if any
|
||||
int CoordinateArgPos(const glslang::TString& name, bool isTexture)
|
||||
static int CoordinateArgPos(const glslang::TString& name, bool isTexture)
|
||||
{
|
||||
if (!isTexture || (name == "GetDimensions"))
|
||||
return -1; // has none
|
||||
else if (name == "Load")
|
||||
return 1;
|
||||
else
|
||||
return 2; // other texture methods are 2
|
||||
return 2; // other texture methods are 2
|
||||
}
|
||||
|
||||
// Some texture methods use an addition coordinate dimension for the mip
|
||||
bool HasMipInCoord(const glslang::TString& name, bool isMS, bool isBuffer, bool isImage)
|
||||
static bool HasMipInCoord(const glslang::TString& name, bool isMS, bool isBuffer, bool isImage)
|
||||
{
|
||||
return name == "Load" && !isMS && !isBuffer && !isImage;
|
||||
}
|
||||
|
||||
// LOD calculations don't pass the array level in the coordinate.
|
||||
bool NoArrayCoord(const glslang::TString& name)
|
||||
static bool NoArrayCoord(const glslang::TString& name)
|
||||
{
|
||||
return name == "CalculateLevelOfDetail" || name == "CalculateLevelOfDetailUnclamped";
|
||||
}
|
||||
|
||||
// Handle IO params marked with > or <
|
||||
const char* IoParam(glslang::TString& s, const char* nthArgOrder)
|
||||
static const char* IoParam(glslang::TString& s, const char* nthArgOrder)
|
||||
{
|
||||
if (*nthArgOrder == '>') { // output params
|
||||
++nthArgOrder;
|
||||
@ -189,7 +189,7 @@ const char* IoParam(glslang::TString& s, const char* nthArgOrder)
|
||||
}
|
||||
|
||||
// Handle repeated args
|
||||
void HandleRepeatArg(const char*& arg, const char*& prev, const char* current)
|
||||
static void HandleRepeatArg(const char*& arg, const char*& prev, const char* current)
|
||||
{
|
||||
if (*arg == ',' || *arg == '\0')
|
||||
arg = prev;
|
||||
@ -199,13 +199,13 @@ void HandleRepeatArg(const char*& arg, const char*& prev, const char* current)
|
||||
|
||||
// Return true for the end of a single argument key, which can be the end of the string, or
|
||||
// the comma separator.
|
||||
inline bool IsEndOfArg(const char* arg)
|
||||
static inline bool IsEndOfArg(const char* arg)
|
||||
{
|
||||
return arg == nullptr || *arg == '\0' || *arg == ',';
|
||||
}
|
||||
|
||||
// If this is a fixed vector size, such as V3, return the size. Else return 0.
|
||||
int FixedVecSize(const char* arg)
|
||||
static int FixedVecSize(const char* arg)
|
||||
{
|
||||
while (!IsEndOfArg(arg)) {
|
||||
if (isdigit(*arg))
|
||||
@ -223,7 +223,7 @@ int FixedVecSize(const char* arg)
|
||||
// argType: F = float, D = double, I = int, U = uint, B = bool, S = sampler
|
||||
// dim0 = vector dimension, or matrix 1st dimension
|
||||
// dim1 = matrix 2nd dimension
|
||||
glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, const char* argType, int dim0, int dim1)
|
||||
static glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, const char* argType, int dim0, int dim1)
|
||||
{
|
||||
const bool isTranspose = (argOrder[0] == '^');
|
||||
const bool isTexture = IsTextureType(argOrder[0]);
|
||||
@ -373,7 +373,7 @@ glslang::TString& AppendTypeName(glslang::TString& s, const char* argOrder, cons
|
||||
// The GLSL parser can be used to parse a subset of HLSL prototypes. However, many valid HLSL prototypes
|
||||
// are not valid GLSL prototypes. This rejects the invalid ones. Thus, there is a single switch below
|
||||
// to enable creation of the entire HLSL space.
|
||||
inline bool IsValid(const char* cname, char retOrder, char retType, char argOrder, char argType, int dim0, int dim1)
|
||||
static inline bool IsValid(const char* cname, char retOrder, char retType, char argOrder, char argType, int dim0, int dim1)
|
||||
{
|
||||
const bool isVec = (argOrder == 'V');
|
||||
|
||||
@ -410,7 +410,7 @@ inline bool IsValid(const char* cname, char retOrder, char retType, char argOrde
|
||||
}
|
||||
|
||||
// return position of end of argument specifier
|
||||
inline const char* FindEndOfArg(const char* arg)
|
||||
static inline const char* FindEndOfArg(const char* arg)
|
||||
{
|
||||
while (!IsEndOfArg(arg))
|
||||
++arg;
|
||||
@ -419,7 +419,7 @@ inline const char* FindEndOfArg(const char* arg)
|
||||
}
|
||||
|
||||
// Return pointer to beginning of Nth argument specifier in the string.
|
||||
inline const char* NthArg(const char* arg, int n)
|
||||
static inline const char* NthArg(const char* arg, int n)
|
||||
{
|
||||
for (int x=0; x<n && arg; ++x)
|
||||
if ((arg = FindEndOfArg(arg)) != nullptr)
|
||||
@ -428,7 +428,7 @@ inline const char* NthArg(const char* arg, int n)
|
||||
return arg;
|
||||
}
|
||||
|
||||
inline void FindVectorMatrixBounds(const char* argOrder, int fixedVecSize, int& dim0Min, int& dim0Max, int& /*dim1Min*/, int& dim1Max)
|
||||
static inline void FindVectorMatrixBounds(const char* argOrder, int fixedVecSize, int& dim0Min, int& dim0Max, int& /*dim1Min*/, int& dim1Max)
|
||||
{
|
||||
for (int arg = 0; ; ++arg) {
|
||||
const char* nthArgOrder(NthArg(argOrder, arg));
|
||||
@ -1053,14 +1053,6 @@ void TBuiltInParseablesHlsl::initialize(int /*version*/, EProfile /*profile*/, c
|
||||
}
|
||||
|
||||
createMatTimesMat(); // handle this case separately, for convenience
|
||||
|
||||
// printf("Common:\n%s\n", getCommonString().c_str());
|
||||
// printf("Frag:\n%s\n", getStageString(EShLangFragment).c_str());
|
||||
// printf("Vertex:\n%s\n", getStageString(EShLangVertex).c_str());
|
||||
// printf("Geo:\n%s\n", getStageString(EShLangGeometry).c_str());
|
||||
// printf("TessCtrl:\n%s\n", getStageString(EShLangTessControl).c_str());
|
||||
// printf("TessEval:\n%s\n", getStageString(EShLangTessEvaluation).c_str());
|
||||
// printf("Compute:\n%s\n", getStageString(EShLangCompute).c_str());
|
||||
}
|
||||
|
||||
//
|
||||
@ -1166,22 +1158,9 @@ void TBuiltInParseablesHlsl::identifyBuiltIns(int /*version*/, EProfile /*profil
|
||||
symbolTable.relateToOperator("max", EOpMax);
|
||||
symbolTable.relateToOperator("min", EOpMin);
|
||||
symbolTable.relateToOperator("modf", EOpModf);
|
||||
// symbolTable.relateToOperator("msad4", EOpMsad4);
|
||||
symbolTable.relateToOperator("mul", EOpGenMul);
|
||||
// symbolTable.relateToOperator("noise", EOpNoise); // TODO: check return type
|
||||
symbolTable.relateToOperator("normalize", EOpNormalize);
|
||||
symbolTable.relateToOperator("pow", EOpPow);
|
||||
// symbolTable.relateToOperator("printf", EOpPrintf);
|
||||
// symbolTable.relateToOperator("Process2DQuadTessFactorsAvg");
|
||||
// symbolTable.relateToOperator("Process2DQuadTessFactorsMax");
|
||||
// symbolTable.relateToOperator("Process2DQuadTessFactorsMin");
|
||||
// symbolTable.relateToOperator("ProcessIsolineTessFactors");
|
||||
// symbolTable.relateToOperator("ProcessQuadTessFactorsAvg");
|
||||
// symbolTable.relateToOperator("ProcessQuadTessFactorsMax");
|
||||
// symbolTable.relateToOperator("ProcessQuadTessFactorsMin");
|
||||
// symbolTable.relateToOperator("ProcessTriTessFactorsAvg");
|
||||
// symbolTable.relateToOperator("ProcessTriTessFactorsMax");
|
||||
// symbolTable.relateToOperator("ProcessTriTessFactorsMin");
|
||||
symbolTable.relateToOperator("radians", EOpRadians);
|
||||
symbolTable.relateToOperator("rcp", EOpRcp);
|
||||
symbolTable.relateToOperator("reflect", EOpReflect);
|
||||
|
Loading…
x
Reference in New Issue
Block a user