introduce new --dump-builtin-symbols command line
add corresponding EShMsgBuiltinSymbolTable
TSymbol::dump functions have option to do "complete" print
bugfix in TType::getCompleteString, structure can be null for block
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index bb37a84..278c52e 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -162,6 +162,7 @@
const char* variableName = nullptr;
bool HlslEnable16BitTypes = false;
bool HlslDX9compatible = false;
+bool DumpBuiltinSymbols = false;
std::vector<std::string> IncludeDirectoryList;
// Source environment
@@ -494,6 +495,8 @@
Error("--client expects vulkan100 or opengl100");
}
bumpArg();
+ } else if (lowerword == "dump-builtin-symbols") {
+ DumpBuiltinSymbols = true;
} else if (lowerword == "entry-point") {
entryPointName = argv[1];
if (argc <= 1)
@@ -833,6 +836,8 @@
messages = (EShMessages)(messages | EShMsgHlslLegalization);
if (HlslDX9compatible)
messages = (EShMessages)(messages | EShMsgHlslDX9Compatible);
+ if (DumpBuiltinSymbols)
+ messages = (EShMessages)(messages | EShMsgBuiltinSymbolTable);
}
//
@@ -1520,6 +1525,7 @@
" --auto-map-locations | --aml automatically locate input/output lacking\n"
" 'location' (fragile, not cross stage)\n"
" --client {vulkan<ver>|opengl<ver>} see -V and -G\n"
+ " --dump-builtin-symbols prints builint symbol table prior each stage\n"
" -dumpfullversion | -dumpversion print bare major.minor.patchlevel\n"
" --flatten-uniform-arrays | --fua flatten uniform texture/sampler arrays to\n"
" scalars\n"