Add and partially implement an interface for doing uniform reflection.  It includes an AST traversal to identify live accesses.  

It does not yet correctly compute block offsets, give correct GL-API-style type values, or handle arrays.

This is tied to the new -q flag.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23938 e7fa87d3-cd2b-0410-9028-fcbf551c1848
diff --git a/glslang.vcxproj b/glslang.vcxproj
index 47ba6ee..7685882 100644
--- a/glslang.vcxproj
+++ b/glslang.vcxproj
@@ -165,6 +165,7 @@
     <ClCompile Include="glslang\MachineIndependent\preprocessor\PpContext.cpp" />

     <ClCompile Include="glslang\MachineIndependent\preprocessor\PpSymbols.cpp" />

     <ClCompile Include="glslang\MachineIndependent\preprocessor\PpTokens.cpp" />

+    <ClCompile Include="glslang\MachineIndependent\reflection.cpp" />

     <ClCompile Include="glslang\MachineIndependent\Scan.cpp" />

     <ClCompile Include="glslang\MachineIndependent\Versions.cpp" />

     <ClCompile Include="OGLCompilersDLL\InitializeDll.cpp" />

@@ -192,6 +193,7 @@
     <ClInclude Include="glslang\MachineIndependent\ParseHelper.h" />

     <ClInclude Include="glslang\MachineIndependent\preprocessor\PpContext.h" />

     <ClInclude Include="glslang\MachineIndependent\preprocessor\PpTokens.h" />

+    <ClInclude Include="glslang\MachineIndependent\reflection.h" />

     <ClInclude Include="glslang\MachineIndependent\RemoveTree.h" />

     <ClInclude Include="glslang\MachineIndependent\localintermediate.h" />

     <ClInclude Include="glslang\Include\BaseTypes.h" />