Merge pull request #2162 from ntfshard/small_fix
Humble fix
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index bbd1a27..a7ce53d 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -242,6 +242,7 @@
std::string text; // contents of preamble
};
+// Track the user's #define and #undef from the command line.
TPreamble UserPreamble;
//
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index 055fdbd..a1392db 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -1777,6 +1777,8 @@
sourceEntryPointName = name;
}
+// Log initial settings and transforms.
+// See comment for class TProcesses.
void TShader::addProcesses(const std::vector<std::string>& p)
{
intermediate->addProcesses(p);
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index 240944e..6e6b176 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -162,7 +162,10 @@
#endif
// Track a set of strings describing how the module was processed.
-// Using the form:
+// This includes command line options, transforms, etc., ideally inclusive enough
+// to reproduce the steps used to transform the input source to the output.
+// E.g., see SPIR-V OpModuleProcessed.
+// Each "process" or "transform" uses is expressed in the form:
// process arg0 arg1 arg2 ...
// process arg0 arg1 arg2 ...
// where everything is textual, and there can be zero or more arguments
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index b6f634b..acb2a07 100755
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -417,6 +417,8 @@
// - optionally call setEnv*(), see below for more detail
// - optionally use setPreamble() to set a special shader string that will be
// processed before all others but won't affect the validity of #version
+// - optionally call addProcesses() for each setting/transform,
+// see comment for class TProcesses
// - call parse(): source language and target environment must be selected
// either by correct setting of EShMessages sent to parse(), or by
// explicitly calling setEnv*()
@@ -651,11 +653,11 @@
// stringNames is the optional names for all the strings. If stringNames
// is null, then none of the strings has name. If a certain element in
// stringNames is null, then the corresponding string does not have name.
- const char* const* strings;
+ const char* const* strings; // explicit code to compile, see previous comment
const int* lengths;
const char* const* stringNames;
- const char* preamble;
- int numStrings;
+ int numStrings; // size of the above arrays
+ const char* preamble; // string of implicit code to compile before the explicitly provided code
// a function in the source string can be renamed FROM this TO the name given in setEntryPoint.
std::string sourceEntryPointName;