Create dummy side project.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27519 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
index 4c60c4a..ec4ba66 100644
--- a/StandAlone/CMakeLists.txt
+++ b/StandAlone/CMakeLists.txt
@@ -16,7 +16,8 @@
set(LIBRARIES
glslang
OGLCompiler
- OSDependent)
+ OSDependent
+ BIL)
if(WIN32)
set(LIBRARIES ${LIBRARIES} psapi)
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index 10da8e1..8d3f5ca 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -40,6 +40,7 @@
#include "Worklist.h"
#include "./../glslang/Include/ShHandle.h"
#include "./../glslang/Public/ShaderLang.h"
+#include "../BIL/GlslangToBil.h"
#include <string.h>
#include <stdlib.h>
#include <math.h>
@@ -64,6 +65,7 @@
EOptionDumpReflection = 0x100,
EOptionSuppressWarnings = 0x200,
EOptionDumpVersions = 0x400,
+ EOptionBil = 0x800,
};
//
@@ -464,6 +466,9 @@
Work[argc] = 0;
if (argv[0][0] == '-') {
switch (argv[0][1]) {
+ case 'b':
+ Options |= EOptionBil;
+ break;
case 'c':
Options |= EOptionDumpConfig;
break;
@@ -615,6 +620,17 @@
program.dumpReflection();
}
+ if (Options & EOptionBil) {
+ if (CompileFailed || LinkFailed)
+ printf("Bil is not generated for failed compile or link\n");
+ else {
+ for (int stage = 0; stage < EShLangCount; ++stage) {
+ if (program.getIntermediate((EShLanguage)stage))
+ glslang::GlslangToBil(*program.getIntermediate((EShLanguage)stage));
+ }
+ }
+ }
+
// Free everything up, program has to go before the shaders
// because it might have merged stuff from the shaders, and
// the stuff from the shaders has to have its destructors called
@@ -813,6 +829,7 @@
"\n"
"To get other information, use one of the following options:\n"
"(Each option must be specified separately, but can go anywhere in the command line.)\n"
+ " -b create BIL\n"
" -c configuration dump; use to create default configuration file (redirect to a .conf file)\n"
" -i intermediate tree (glslang AST) is printed out\n"
" -l link validation of all input files\n"
diff --git a/StandAlone/Worklist.h b/StandAlone/Worklist.h
index 1dabec9..c304007 100644
--- a/StandAlone/Worklist.h
+++ b/StandAlone/Worklist.h
@@ -48,6 +48,7 @@
name(s) { }
std::string name;
std::string results;
+ std::string resultsIndex;
};
class TWorklist {