Skip to content

Commit

Permalink
Fix #2163: improve comments for addProcess() and the preamble.
Browse files Browse the repository at this point in the history
  • Loading branch information
johnkslang committed Mar 30, 2020
1 parent bfe4c59 commit 83855b9
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 4 deletions.
1 change: 1 addition & 0 deletions StandAlone/StandAlone.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ class TPreamble {
std::string text; // contents of preamble
};

// Track the user's #define and #undef from the command line.
TPreamble UserPreamble;

//
Expand Down
2 changes: 2 additions & 0 deletions glslang/MachineIndependent/ShaderLang.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1777,6 +1777,8 @@ void TShader::setSourceEntryPoint(const char* name)
sourceEntryPointName = name;
}

// Log initial settings and transforms.
// See comment for class TProcesses.
void TShader::addProcesses(const std::vector<std::string>& p)
{
intermediate->addProcesses(p);
Expand Down
5 changes: 4 additions & 1 deletion glslang/MachineIndependent/localintermediate.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,10 @@ struct TXfbBuffer {
#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
Expand Down
8 changes: 5 additions & 3 deletions glslang/Public/ShaderLang.h
Original file line number Diff line number Diff line change
Expand Up @@ -417,6 +417,8 @@ enum TResourceType {
// - 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*()
Expand Down Expand Up @@ -651,11 +653,11 @@ class TShader {
// 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;
Expand Down

0 comments on commit 83855b9

Please sign in to comment.