Add option for printing documentation (empty).
authorJohn Kessenich <cepheus@frii.com>
Mon, 8 Sep 2014 21:01:09 +0000 (21:01 +0000)
committerJohn Kessenich <cepheus@frii.com>
Mon, 8 Sep 2014 21:01:09 +0000 (21:01 +0000)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27966 e7fa87d3-cd2b-0410-9028-fcbf551c1848

BIL/CMakeLists.txt
StandAlone/StandAlone.cpp
Test/makeDoc [new file with mode: 0644]

index 676a83c..8f01ddf 100644 (file)
@@ -9,6 +9,7 @@ set(SOURCES
     BilDoc.cpp)\r
 \r
 set(HEADERS\r
+    Bil.h\r
     GlslangToBil.h\r
     BilBuilder.h\r
     Bir.h\r
index c2d1247..3ee056f 100644 (file)
@@ -42,6 +42,7 @@
 #include "./../glslang/Public/ShaderLang.h"
 #include "../BIL/GlslangToBil.h"
 #include "../BIL/BilDisassemble.h"
+#include "../BIL/BilDoc.h"
 #include <string.h>
 #include <stdlib.h>
 #include <math.h>
@@ -498,6 +499,11 @@ bool ProcessArguments(int argc, char* argv[])
             case 'm':
                 Options |= EOptionMemoryLeakMode;
                 break;
+            case 'p':
+                glbil::Parameterize();
+                glbil::PrintDoc();
+                exit(0);
+                break;
             case 'q':
                 Options |= EOptionDumpReflection;
                 break;
@@ -638,6 +644,7 @@ void CompileAndLinkShaders()
         if (CompileFailed || LinkFailed)
             printf("Bil is not generated for failed compile or link\n");
         else {
+            glbil::Parameterize();
             for (int stage = 0; stage < EShLangCount; ++stage) {
                 if (program.getIntermediate((EShLanguage)stage)) {
                     std::vector<unsigned int> bil;
@@ -854,11 +861,13 @@ void usage()
            "\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 in file <stage>.bil and print out disassembly\n"
            "  -c  configuration dump; use to create default configuration file (redirect to a .conf file)\n"
            "  -d  default to desktop (#version 110) when there is no version in the shader (default is ES version 100)\n"
            "  -i  intermediate tree (glslang AST) is printed out\n"
            "  -l  link validation of all input files\n"
            "  -m  memory leak mode\n"
+           "  -p  print BIL documentation\n"
            "  -q  dump reflection query database\n"
            "  -r  relaxed semantic error-checking mode\n"
            "  -s  silent mode\n"
diff --git a/Test/makeDoc b/Test/makeDoc
new file mode 100644 (file)
index 0000000..c9d598e
--- /dev/null
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+./glslangValidator -p > instDesc
+asciidoc --backend=html5 instDesc