summaryrefslogtreecommitdiff
path: root/tools/glslang
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2017-06-09 11:34:21 -0700
committerTim Foley <tfoley@nvidia.com>2017-06-09 13:44:59 -0700
commitfcf83dbf9effab3bd98bad2b83b2468b7eb05cfd (patch)
tree41047c94883b86ec085a81597391ce3ef557cd43 /tools/glslang
parent52e8d4b9a27ab0060f874c3a63ab531847be35c0 (diff)
Initial import of code.
Diffstat (limited to 'tools/glslang')
-rw-r--r--tools/glslang/glslang.cpp175
-rw-r--r--tools/glslang/glslang.h23
-rw-r--r--tools/glslang/glslang.vcxproj237
-rw-r--r--tools/glslang/glslang.vcxproj.filters253
4 files changed, 688 insertions, 0 deletions
diff --git a/tools/glslang/glslang.cpp b/tools/glslang/glslang.cpp
new file mode 100644
index 000000000..cf563faff
--- /dev/null
+++ b/tools/glslang/glslang.cpp
@@ -0,0 +1,175 @@
+// glslang.cpp
+#include "glslang.h"
+
+
+#include "StandAlone/ResourceLimits.h"
+#include "StandAlone/Worklist.h"
+#include "glslang/Include/ShHandle.h"
+#include "glslang/Include/revision.h"
+#include "glslang/Public/ShaderLang.h"
+#include "SPIRV/GlslangToSpv.h"
+#include "SPIRV/GLSL.std.450.h"
+#include "SPIRV/doc.h"
+#include "SPIRV/disassemble.h"
+
+#include "../../Slang.h"
+
+#if 0
+#include <cstring>
+#include <cstdlib>
+#include <cctype>
+#include <cmath>
+#include <array>
+#include <memory>
+#include <thread>
+#endif
+
+#ifdef _WIN32
+#include <Windows.h>
+#endif
+
+#include <sstream>
+
+// This is a wrapper to allow us to run the `glslang` compiler
+// in a controlled fashion.
+
+#define UNLIMITED 9999
+
+static TBuiltInResource gResources =
+{
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED, UNLIMITED,
+ UNLIMITED, UNLIMITED, UNLIMITED,
+
+ { true, true, true, true, true, true, true, true, true, }
+};
+
+static void dump(
+ std::string const& text,
+ glslang_OutputFunc outputFunc,
+ void* outputUserData,
+ FILE* fallbackStream)
+{
+ if( outputFunc )
+ {
+ outputFunc(text.c_str(), outputUserData);
+ }
+ else
+ {
+ fprintf(fallbackStream, "%s", text.c_str());
+
+ // also output it for debug purposes
+ OutputDebugStringA(text.c_str());
+ }
+}
+
+static void dumpDiagnostics(
+ glslang_CompileRequest* request,
+ std::string const& log)
+{
+ dump(log, request->diagnosticFunc, request->diagnosticUserData, stderr);
+}
+
+extern "C"
+_declspec(dllexport)
+int glslang_compile(glslang_CompileRequest* request)
+{
+ glslang::InitializeProcess();
+
+ EShLanguage glslangStage;
+ switch( request->slangStage )
+ {
+#define CASE(SP, GL) case SLANG_STAGE_##SP: glslangStage = EShLang##GL; break
+ CASE(VERTEX, Vertex);
+ CASE(FRAGMENT, Fragment);
+ CASE(GEOMETRY, Geometry);
+ CASE(HULL, TessControl);
+ CASE(DOMAIN, TessEvaluation);
+ CASE(COMPUTE, Compute);
+
+#undef CASE
+
+ default:
+ return 1;
+ }
+
+ // TODO: compute glslang stage to use
+
+ glslang::TShader* shader = new glslang::TShader(glslangStage);
+ auto shaderPtr = std::unique_ptr<glslang::TShader>(shader);
+
+ glslang::TProgram* program = new glslang::TProgram();
+ auto programPtr = std::unique_ptr<glslang::TProgram>(program);
+
+ int sourceTextLength = (int) strlen(request->sourceText);
+
+ shader->setPreamble("#extension GL_GOOGLE_cpp_style_line_directive : require\n");
+
+ shader->setStringsWithLengthsAndNames(
+ &request->sourceText,
+ &sourceTextLength,
+ &request->sourcePath,
+ 1);
+
+ // Note: this seems required to get past a bug where
+ // glslang complains about a declaration of `out gl_PerVertex`
+ // that it (seemingly) *should* allow according to the GLSL-for-Vulkan
+ // extension.
+ shader->setAutoMapLocations(true);
+
+ // Let's auto-map the bindings too, just because we can
+ shader->setAutoMapBindings(true);
+
+ EShMessages messages = EShMessages(EShMsgSpvRules | EShMsgVulkanRules);
+
+ if( !shader->parse(&gResources, 110, false, messages) )
+ {
+ dumpDiagnostics(request, shader->getInfoLog());
+ return 1;
+ }
+
+ program->addShader(shader);
+
+ if( !program->link(messages) )
+ {
+ dumpDiagnostics(request, program->getInfoLog());
+ return 1;
+ }
+
+ if( !program->mapIO() )
+ {
+ dumpDiagnostics(request, program->getInfoLog());
+ return 1;
+ }
+
+ for(int stage = 0; stage < EShLangCount; ++stage)
+ {
+ auto stageIntermediate = program->getIntermediate((EShLanguage)stage);
+ if(!stageIntermediate)
+ continue;
+
+ std::vector<unsigned int> spirv;
+ std::string warningsErrors;
+ spv::SpvBuildLogger logger;
+ glslang::GlslangToSpv(*stageIntermediate, spirv, &logger);
+
+ dumpDiagnostics(request, logger.getAllMessages());
+
+ std::stringstream spirvAsmStream;
+
+ spv::Disassemble(spirvAsmStream, spirv);
+
+ dump(spirvAsmStream.str(), request->outputFunc, request->outputUserData, stdout);
+ }
+
+
+ glslang::FinalizeProcess();
+
+ return 0;
+}
diff --git a/tools/glslang/glslang.h b/tools/glslang/glslang.h
new file mode 100644
index 000000000..73c8a978e
--- /dev/null
+++ b/tools/glslang/glslang.h
@@ -0,0 +1,23 @@
+// glslang.h
+#ifndef GLSLANG_H_INCLUDED
+#define GLSLANG_H_INCLUDED
+
+typedef void (*glslang_OutputFunc)(char const* text, void* userData);
+
+struct glslang_CompileRequest
+{
+ char const* sourcePath;
+ char const* sourceText;
+
+ glslang_OutputFunc diagnosticFunc;
+ void* diagnosticUserData;
+
+ glslang_OutputFunc outputFunc;
+ void* outputUserData;
+
+ int slangStage;
+};
+
+typedef int (*glslang_CompileFunc)(glslang_CompileRequest* request);
+
+#endif
diff --git a/tools/glslang/glslang.vcxproj b/tools/glslang/glslang.vcxproj
new file mode 100644
index 000000000..b8034e0bc
--- /dev/null
+++ b/tools/glslang/glslang.vcxproj
@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{C495878A-832C-485B-B347-0998A90CC936}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>glslang</RootNamespace>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\build\slang-build.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\build\slang-build.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\build\slang-build.props" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="..\..\build\slang-build.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <IncludePath>$(SolutionDir)external\glslang\;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <IncludePath>$(SolutionDir)external\glslang\;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <IncludePath>$(SolutionDir)external\glslang\;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <IncludePath>$(SolutionDir)external\glslang\;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\CodeGen.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\Link.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Constant.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\glslang_tab.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\InfoSink.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Initialize.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Intermediate.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\intermOut.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\IntermTraverse.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\iomapper.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\limits.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\linkValidate.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\parseConst.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseContextBase.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseHelper.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\PoolAlloc.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpMemory.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpSymbols.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\propagateNoContraction.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\reflection.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\RemoveTree.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Scan.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ShaderLang.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\SymbolTable.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Versions.cpp" />
+ <ClCompile Include="..\..\external\glslang\glslang\OSDependent\Windows\ossource.cpp" />
+ <ClCompile Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\disassemble.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\doc.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\GlslangToSpv.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\InReadableOrder.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\Logger.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\SpvBuilder.cpp" />
+ <ClCompile Include="..\..\external\glslang\SPIRV\SPVRemapper.cpp" />
+ <ClCompile Include="..\..\external\glslang\StandAlone\ResourceLimits.cpp" />
+ <ClCompile Include="..\..\external\glslang\StandAlone\StandAlone.cpp" />
+ <ClCompile Include="glslang.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\glslang_tab.cpp.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\gl_types.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\Initialize.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\iomapper.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\LiveTraverser.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\localintermediate.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\ParseHelper.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\parseVersions.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpContext.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpTokens.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\propagateNoContraction.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\reflection.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\RemoveTree.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\Scan.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\ScanContext.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\SymbolTable.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\Versions.h" />
+ <ClInclude Include="..\..\external\glslang\glslang\OSDependent\osinclude.h" />
+ <ClInclude Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\bitutils.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\disassemble.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\doc.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.ext.AMD.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.ext.KHR.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.ext.NV.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.std.450.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\GlslangToSpv.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\hex_float.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\Logger.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\spirv.hpp" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\SpvBuilder.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\spvIR.h" />
+ <ClInclude Include="..\..\external\glslang\SPIRV\SPVRemapper.h" />
+ <ClInclude Include="..\..\external\glslang\StandAlone\ResourceLimits.h" />
+ <ClInclude Include="..\..\external\glslang\StandAlone\Worklist.h" />
+ <ClInclude Include="glslang.h" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project> \ No newline at end of file
diff --git a/tools/glslang/glslang.vcxproj.filters b/tools/glslang/glslang.vcxproj.filters
new file mode 100644
index 000000000..79a7657ce
--- /dev/null
+++ b/tools/glslang/glslang.vcxproj.filters
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Constant.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\glslang_tab.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\InfoSink.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Initialize.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Intermediate.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\intermOut.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\IntermTraverse.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\iomapper.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\limits.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\linkValidate.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\parseConst.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseContextBase.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ParseHelper.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\PoolAlloc.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\propagateNoContraction.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\reflection.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\RemoveTree.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Scan.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\ShaderLang.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\SymbolTable.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\Versions.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpMemory.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpSymbols.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\OSDependent\Windows\ossource.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\StandAlone\ResourceLimits.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\StandAlone\StandAlone.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\CodeGen.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\glslang\GenericCodeGen\Link.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\disassemble.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\doc.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\GlslangToSpv.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\InReadableOrder.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\Logger.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\SpvBuilder.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\external\glslang\SPIRV\SPVRemapper.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="glslang.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\gl_types.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\glslang_tab.cpp.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\Initialize.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\iomapper.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\LiveTraverser.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\localintermediate.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\ParseHelper.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\parseVersions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\propagateNoContraction.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\reflection.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\RemoveTree.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\Scan.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\ScanContext.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\SymbolTable.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\Versions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpContext.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\MachineIndependent\preprocessor\PpTokens.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\glslang\OSDependent\osinclude.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\StandAlone\ResourceLimits.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\StandAlone\Worklist.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\OGLCompilersDLL\InitializeDll.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\bitutils.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\disassemble.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\doc.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.ext.AMD.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.ext.KHR.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.ext.NV.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\GLSL.std.450.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\GlslangToSpv.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\hex_float.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\Logger.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\spirv.hpp">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\SpvBuilder.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\spvIR.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\external\glslang\SPIRV\SPVRemapper.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="glslang.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project> \ No newline at end of file