Put in infrastructure for tessellation, geometry, and compute stages, and partially flesh out with built-in functions.

Added the built-in functions EmitVertex(), EndPrimitive(), barrier(), memoryBarrier(), memoryBarrierAtomicCounter(), memoryBarrierBuffer(), memoryBarrierImage(), memoryBarrierShared(), and groupMemoryBarrier().

Have not added any new built-in variables.

Also changed the linear performance relateToOperator() to a high-performance version.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22659 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index f0a39df..ec493fd 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -251,6 +251,8 @@
         return EShLangGeometry;
     else if (suffix == "frag")
         return EShLangFragment;
+    else if (suffix == "comp")
+        return EShLangCompute;
 
     usage();
     return EShLangVertex;
@@ -306,7 +308,13 @@
 void usage()
 {
     printf("Usage: standalone [ options ] filename\n"
-           "Where: filename is a name ending in .frag or .vert\n\n"
+           "Where: filename is a name ending in\n"
+           "    .vert for a vertex shader\n"
+           "    .tesc for a tessellation control shader\n"
+           "    .tese for a tessellation evaluation shader\n"
+           "    .geom for a geometry shader\n"
+           "    .frag for a fragment shader\n"
+           "    .comp for a compute shader\n\n"
            "Compilation warnings and errors will be printed to stdout.\n"
            "To get other information, use one of the following options:\n"
            "-i: intermediate tree (glslang AST) is printed out\n"