mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-29 13:20:54 +00:00
Compile GLSL shaders to SPIR-V to generate 'disassembly' (hex dump)
This commit is contained in:
@@ -64,6 +64,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shaders", "shaders", "{DB2D
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dxbc", "renderdoc\driver\shaders\dxbc\renderdoc_dxbc.vcxproj", "{C43FF27E-A155-4852-88EC-5CE9334C07A8}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "spirv", "renderdoc\driver\shaders\spirv\renderdoc_spirv.vcxproj", "{0AAE0AD1-371B-4A36-9ED1-80E10E960605}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Profile|Win32 = Profile|Win32
|
||||
@@ -176,6 +178,14 @@ Global
|
||||
{C43FF27E-A155-4852-88EC-5CE9334C07A8}.Release|Win32.Build.0 = Release|Win32
|
||||
{C43FF27E-A155-4852-88EC-5CE9334C07A8}.Release|x64.ActiveCfg = Release|x64
|
||||
{C43FF27E-A155-4852-88EC-5CE9334C07A8}.Release|x64.Build.0 = Release|x64
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Profile|Win32.ActiveCfg = Profile|Win32
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Profile|Win32.Build.0 = Profile|Win32
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Profile|x64.ActiveCfg = Profile|x64
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Profile|x64.Build.0 = Profile|x64
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Release|Win32.Build.0 = Release|Win32
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Release|x64.ActiveCfg = Release|x64
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
@@ -198,5 +208,6 @@ Global
|
||||
{F92FCDA6-A261-4EEC-9CD0-73A11FBCC459} = {864A44B0-5612-451A-857F-41E3EF785EF6}
|
||||
{DB2DDA74-A668-4AC7-A1D5-198C9F0BD242} = {864A44B0-5612-451A-857F-41E3EF785EF6}
|
||||
{C43FF27E-A155-4852-88EC-5CE9334C07A8} = {DB2DDA74-A668-4AC7-A1D5-198C9F0BD242}
|
||||
{0AAE0AD1-371B-4A36-9ED1-80E10E960605} = {DB2DDA74-A668-4AC7-A1D5-198C9F0BD242}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
+9
-3
@@ -8,7 +8,7 @@ MACROS=-DLINUX \
|
||||
CFLAGS=-c -Wall -Werror -Wno-unused -Wno-unknown-pragmas -fPIC $(MACROS) -I. -I3rdparty/
|
||||
CPPFLAGS=-std=c++11 -g -Wno-reorder -fvisibility=hidden -fvisibility-inlines-hidden
|
||||
LDFLAGS=-lpthread -lrt -shared -ldl -lX11
|
||||
LIBS=driver/gl/rdoc_gl.a
|
||||
LIBS=driver/gl/rdoc_gl.a driver/shaders/spirv/rdoc_spirv.a
|
||||
OBJDIR=.obj
|
||||
OBJECTS=replay/replay_output.o \
|
||||
replay/replay_renderer.o \
|
||||
@@ -64,12 +64,12 @@ all: librenderdoc.so
|
||||
$(OBJDIR)/%.o: %.cpp
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(CPP) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
||||
@$(CPP) $(CFLAGS) $(CPPFLAGS) -MM -MT $(OBJDIR)/$*.o $*.cpp > $(OBJDIR)/$*.d
|
||||
@$(CPP) $(CFLAGS) $(CPPFLAGS) -MM -MT $(OBJDIR)/$*.o $< > $(OBJDIR)/$*.d
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
@$(CC) $(CFLAGS) -MM -MT $(OBJDIR)/$*.o $*.c > $(OBJDIR)/$*.d
|
||||
@$(CC) $(CFLAGS) -MM -MT $(OBJDIR)/$*.o $< > $(OBJDIR)/$*.d
|
||||
|
||||
# objcopy needs to be run in with paths in current directory
|
||||
# to produce the right symbol names
|
||||
@@ -104,9 +104,14 @@ OBJDIR_DATA=$(addprefix $(OBJDIR)/, $(DATA))
|
||||
|
||||
-include $(OBJDIR_OBJECTS:.o=.d)
|
||||
|
||||
.PHONY: driver/gl/rdoc_gl.a
|
||||
driver/gl/rdoc_gl.a:
|
||||
cd driver/gl && make rdoc_gl.a
|
||||
|
||||
.PHONY: driver/shaders/spirv/rdoc_spirv.a
|
||||
driver/shaders/spirv/rdoc_spirv.a:
|
||||
cd driver/shaders/spirv && make rdoc_spirv.a
|
||||
|
||||
librenderdoc.so: $(OBJDIR_OBJECTS) $(OBJDIR_DATA) $(LIBS)
|
||||
$(CPP) -o librenderdoc.so $^ $(LDFLAGS)
|
||||
|
||||
@@ -114,3 +119,4 @@ librenderdoc.so: $(OBJDIR_OBJECTS) $(OBJDIR_DATA) $(LIBS)
|
||||
clean:
|
||||
rm -rf librenderdoc.so $(OBJDIR)
|
||||
cd driver/gl && make clean
|
||||
cd driver/shaders/spirv && make clean
|
||||
|
||||
@@ -268,6 +268,9 @@ RenderDoc::~RenderDoc()
|
||||
UnloadCrashHandler();
|
||||
}
|
||||
|
||||
for(auto it=m_ShutdownFunctions.begin(); it != m_ShutdownFunctions.end(); ++it)
|
||||
(*it)();
|
||||
|
||||
for(size_t i=0; i < m_Captures.size(); i++)
|
||||
{
|
||||
if(m_Captures[i].retrieved)
|
||||
|
||||
@@ -153,6 +153,8 @@ class IReplayDriver;
|
||||
typedef ReplayCreateStatus (*RemoteDriverProvider)(const char *logfile, IRemoteDriver **driver);
|
||||
typedef ReplayCreateStatus (*ReplayDriverProvider)(const char *logfile, IReplayDriver **driver);
|
||||
|
||||
typedef void (*ShutdownFunction)();
|
||||
|
||||
// this class mediates everything and owns any 'global' resources such as the crash handler.
|
||||
//
|
||||
// It acts as a central hub that registers any driver providers and can be asked to create one
|
||||
@@ -174,6 +176,8 @@ class RenderDoc
|
||||
void Initialise();
|
||||
void Shutdown();
|
||||
|
||||
void RegisterShutdownFunction(ShutdownFunction func) { m_ShutdownFunctions.insert(func); }
|
||||
|
||||
void SetReplayApp(bool replay) { m_Replay = replay; }
|
||||
bool IsReplayApp() const { return m_Replay; }
|
||||
|
||||
@@ -317,6 +321,8 @@ class RenderDoc
|
||||
map<RDCDriver, ReplayDriverProvider> m_ReplayDriverProviders;
|
||||
map<RDCDriver, RemoteDriverProvider> m_RemoteDriverProviders;
|
||||
|
||||
set<ShutdownFunction> m_ShutdownFunctions;
|
||||
|
||||
struct FrameCap
|
||||
{
|
||||
FrameCap() : FrameCapturer(NULL), RefCount(1) {}
|
||||
@@ -369,6 +375,7 @@ class RenderDoc
|
||||
static void RemoteAccessClientThread(void *s);
|
||||
|
||||
ICrashHandler *m_ExHandler;
|
||||
bool m_GLSLang;
|
||||
};
|
||||
|
||||
struct DriverRegistration
|
||||
|
||||
@@ -39,12 +39,12 @@ all: rdoc_gl.a
|
||||
$(OBJDIR)/%.o: %.cpp
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(CPP) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
||||
@$(CPP) $(CFLAGS) $(CPPFLAGS) -MM -MT $(OBJDIR)/$*.o $*.cpp > $(OBJDIR)/$*.d
|
||||
@$(CPP) $(CFLAGS) $(CPPFLAGS) -MM -MT $(OBJDIR)/$*.o $< > $(OBJDIR)/$*.d
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
@$(CC) $(CFLAGS) -MM -MT $(OBJDIR)/$*.o $*.c > $(OBJDIR)/$*.d
|
||||
@$(CC) $(CFLAGS) -MM -MT $(OBJDIR)/$*.o $< > $(OBJDIR)/$*.d
|
||||
|
||||
OBJDIR_OBJECTS=$(addprefix $(OBJDIR)/, $(OBJECTS))
|
||||
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
#include "common/common.h"
|
||||
#include "gl_driver.h"
|
||||
|
||||
#include "driver/shaders/spirv/spirv_common.h"
|
||||
|
||||
#include "serialise/string_utils.h"
|
||||
|
||||
#include "replay/type_helpers.h"
|
||||
@@ -766,6 +768,9 @@ WrappedOpenGL::WrappedOpenGL(const char *logfile, const GLHookSet &funcs)
|
||||
m_DeviceRecord = m_ContextRecord = NULL;
|
||||
|
||||
TrackedResource::SetReplayResourceIDs();
|
||||
|
||||
InitSPIRVCompiler();
|
||||
RenderDoc::Inst().RegisterShutdownFunction(&ShutdownSPIRVCompiler);
|
||||
}
|
||||
|
||||
m_FakeBB_FBO = 0;
|
||||
|
||||
@@ -250,6 +250,7 @@ class WrappedOpenGL : public IFrameCapturer
|
||||
GLenum type;
|
||||
vector<string> sources;
|
||||
vector<string> includepaths;
|
||||
vector<uint32_t> spirv;
|
||||
ShaderReflection reflection;
|
||||
GLuint prog;
|
||||
};
|
||||
|
||||
@@ -64,6 +64,16 @@
|
||||
<ClCompile Include="wrappers\gl_texture_funcs.cpp" />
|
||||
<ClCompile Include="wrappers\gl_uniform_funcs.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\shaders\spirv\renderdoc_spirv.vcxproj">
|
||||
<Project>{0aae0ad1-371b-4a36-9ed1-80e10e960605}</Project>
|
||||
<Private>false</Private>
|
||||
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
|
||||
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{F92FCDA6-A261-4EEC-9CD0-73A11FBCC459}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "../gl_driver.h"
|
||||
#include "../gl_shader_refl.h"
|
||||
|
||||
#include "driver/shaders/spirv/spirv_common.h"
|
||||
|
||||
#pragma region Shaders
|
||||
|
||||
bool WrappedOpenGL::Serialise_glCreateShader(GLuint shader, GLenum type)
|
||||
@@ -165,7 +167,13 @@ bool WrappedOpenGL::Serialise_glCompileShader(GLuint shader)
|
||||
{
|
||||
shadDetails.prog = sepProg;
|
||||
MakeShaderReflection(m_Real, shadDetails.type, sepProg, shadDetails.reflection, pointSizeUsed, clipDistanceUsed);
|
||||
|
||||
|
||||
string s = CompileSPIRV(SPIRVShaderStage(ShaderIdx(shadDetails.type)), shadDetails.sources, shadDetails.spirv);
|
||||
if(!shadDetails.spirv.empty())
|
||||
DisassembleSPIRV(SPIRVShaderStage(ShaderIdx(shadDetails.type)), shadDetails.spirv, s);
|
||||
|
||||
shadDetails.reflection.Disassembly = s;
|
||||
|
||||
create_array_uninit(shadDetails.reflection.DebugInfo.files, shadDetails.sources.size());
|
||||
for(size_t i=0; i < shadDetails.sources.size(); i++)
|
||||
{
|
||||
@@ -356,6 +364,12 @@ bool WrappedOpenGL::Serialise_glCreateShaderProgramv(GLuint program, GLenum type
|
||||
shadDetails.prog = sepprog;
|
||||
MakeShaderReflection(m_Real, Type, real, shadDetails.reflection, pointSizeUsed, clipDistanceUsed);
|
||||
|
||||
string s = CompileSPIRV(SPIRVShaderStage(ShaderIdx(shadDetails.type)), shadDetails.sources, shadDetails.spirv);
|
||||
if(!shadDetails.spirv.empty())
|
||||
DisassembleSPIRV(SPIRVShaderStage(ShaderIdx(shadDetails.type)), shadDetails.spirv, s);
|
||||
|
||||
shadDetails.reflection.Disassembly = s;
|
||||
|
||||
create_array_uninit(shadDetails.reflection.DebugInfo.files, shadDetails.sources.size());
|
||||
for(size_t i=0; i < shadDetails.sources.size(); i++)
|
||||
{
|
||||
@@ -1162,6 +1176,12 @@ bool WrappedOpenGL::Serialise_glCompileShaderIncludeARB(GLuint shader, GLsizei c
|
||||
shadDetails.prog = sepProg;
|
||||
MakeShaderReflection(m_Real, shadDetails.type, sepProg, shadDetails.reflection, pointSizeUsed, clipDistanceUsed);
|
||||
|
||||
string s = CompileSPIRV(SPIRVShaderStage(ShaderIdx(shadDetails.type)), shadDetails.sources, shadDetails.spirv);
|
||||
if(!shadDetails.spirv.empty())
|
||||
DisassembleSPIRV(SPIRVShaderStage(ShaderIdx(shadDetails.type)), shadDetails.spirv, s);
|
||||
|
||||
shadDetails.reflection.Disassembly = s;
|
||||
|
||||
create_array_uninit(shadDetails.reflection.DebugInfo.files, shadDetails.sources.size());
|
||||
for(size_t i=0; i < shadDetails.sources.size(); i++)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
CC=gcc
|
||||
CPP=g++
|
||||
COMMIT=`git rev-parse HEAD`
|
||||
MACROS=-DLINUX \
|
||||
-DRENDERDOC_PLATFORM=linux \
|
||||
-DRENDERDOC_EXPORTS \
|
||||
-DGIT_COMMIT_HASH="\"$(COMMIT)\""
|
||||
CFLAGS=-c -Wall -Werror -Wno-unused -Wno-unknown-pragmas -fPIC $(MACROS) -I../../../ -I../../../3rdparty/
|
||||
CPPFLAGS=-std=c++11 -g -Wno-reorder -fvisibility=hidden -fvisibility-inlines-hidden
|
||||
LDFLAGS=-lpthread -lrt -shared -ldl -lX11
|
||||
OBJDIR=.obj
|
||||
|
||||
VPATH=../../../3rdparty
|
||||
|
||||
# VPATH above takes care of finding these within the 3rdparty directory
|
||||
GLSLANG_OBJECTS=glslang/OGLCompilersDLL/InitializeDll.o \
|
||||
glslang/SPIRV/GlslangToSpv.o \
|
||||
glslang/SPIRV/SpvBuilder.o \
|
||||
glslang/glslang/GenericCodeGen/CodeGen.o \
|
||||
glslang/glslang/GenericCodeGen/Link.o \
|
||||
glslang/glslang/MachineIndependent/Constant.o \
|
||||
glslang/glslang/MachineIndependent/glslang_tab.o \
|
||||
glslang/glslang/MachineIndependent/InfoSink.o \
|
||||
glslang/glslang/MachineIndependent/Initialize.o \
|
||||
glslang/glslang/MachineIndependent/Intermediate.o \
|
||||
glslang/glslang/MachineIndependent/intermOut.o \
|
||||
glslang/glslang/MachineIndependent/IntermTraverse.o \
|
||||
glslang/glslang/MachineIndependent/limits.o \
|
||||
glslang/glslang/MachineIndependent/linkValidate.o \
|
||||
glslang/glslang/MachineIndependent/parseConst.o \
|
||||
glslang/glslang/MachineIndependent/ParseHelper.o \
|
||||
glslang/glslang/MachineIndependent/PoolAlloc.o \
|
||||
glslang/glslang/MachineIndependent/reflection.o \
|
||||
glslang/glslang/MachineIndependent/RemoveTree.o \
|
||||
glslang/glslang/MachineIndependent/Scan.o \
|
||||
glslang/glslang/MachineIndependent/ShaderLang.o \
|
||||
glslang/glslang/MachineIndependent/SymbolTable.o \
|
||||
glslang/glslang/MachineIndependent/Versions.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/Pp.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/PpAtom.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/PpContext.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/PpMemory.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/PpScanner.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/PpSymbols.o \
|
||||
glslang/glslang/MachineIndependent/preprocessor/PpTokens.o \
|
||||
glslang/glslang/OSDependent/Linux/ossource.o
|
||||
|
||||
OBJECTS=spirv_common.o \
|
||||
spirv_compile.o \
|
||||
spirv_disassemble.o \
|
||||
$(GLSLANG_OBJECTS)
|
||||
|
||||
.PHONY: all
|
||||
all: rdoc_spirv.a
|
||||
|
||||
# glslang needs -Wno-error added :(
|
||||
GLSLANG_OBJDIR_OBJECTS=$(addprefix $(OBJDIR)/, $(GLSLANG_OBJECTS))
|
||||
|
||||
$(GLSLANG_OBJDIR_OBJECTS): CPPFLAGS += -Wno-error
|
||||
|
||||
$(OBJDIR)/%.o: %.cpp
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(CPP) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
|
||||
@$(CPP) $(CFLAGS) $(CPPFLAGS) -MM -MT $(OBJDIR)/$*.o $< > $(OBJDIR)/$*.d
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
@mkdir -p $$(dirname $@)
|
||||
$(CC) $(CFLAGS) -c -o $@ $<
|
||||
@$(CC) $(CFLAGS) -MM -MT $(OBJDIR)/$*.o $< > $(OBJDIR)/$*.d
|
||||
|
||||
OBJDIR_OBJECTS=$(addprefix $(OBJDIR)/, $(OBJECTS))
|
||||
|
||||
-include $(OBJDIR_OBJECTS:.o=.d)
|
||||
|
||||
rdoc_spirv.a: $(OBJDIR_OBJECTS)
|
||||
ar rcs rdoc_spirv.a $(OBJDIR_OBJECTS)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf rdoc_spirv.a $(OBJDIR)
|
||||
@@ -0,0 +1,266 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Profile|Win32">
|
||||
<Configuration>Profile</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Profile|x64">
|
||||
<Configuration>Profile</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\GenericCodeGen\CodeGen.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\GenericCodeGen\Link.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Constant.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\InfoSink.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Initialize.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Intermediate.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\intermOut.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\IntermTraverse.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\limits.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\linkValidate.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\parseConst.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ParseHelper.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\PoolAlloc.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpMemory.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpSymbols.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\reflection.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\RemoveTree.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Scan.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ShaderLang.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\SymbolTable.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Versions.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Linux\ossource.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Windows\ossource.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\OGLCompilersDLL\InitializeDll.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\SPIRV\GlslangToSpv.cpp" />
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\SPIRV\SpvBuilder.cpp" />
|
||||
<ClCompile Include="spirv_common.cpp" />
|
||||
<ClCompile Include="spirv_compile.cpp" />
|
||||
<ClCompile Include="spirv_disassemble.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\arrays.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\BaseTypes.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\Common.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\ConstantUnion.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\InfoSink.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\InitializeGlobals.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\intermediate.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\PoolAlloc.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\ResourceLimits.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\revision.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\ShHandle.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\Types.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\gl_types.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Initialize.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\localintermediate.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ParseHelper.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\reflection.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\RemoveTree.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Scan.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ScanContext.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\SymbolTable.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Versions.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Linux\osinclude.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\OSDependent\osinclude.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Windows\osinclude.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Public\ShaderLang.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\OGLCompilersDLL\InitializeDll.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\GLSL450Lib.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\GlslangToSpv.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\spirv.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\SpvBuilder.h" />
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\spvIR.h" />
|
||||
<ClInclude Include="spirv_common.h" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{0AAE0AD1-371B-4A36-9ED1-80E10E960605}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>renderdoc_spirv</RootNamespace>
|
||||
<ProjectName>spirv</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</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" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<ExecutablePath>$(ProgramFiles)\Windows Kits\8.1\bin\x86;$(ExecutablePath)</ExecutablePath>
|
||||
<IncludePath>$(ProgramFiles)\Windows Kits\8.1\Debuggers\inc;$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(VSInstallDir)\DIA SDK\include;$(SolutionDir)\breakpad;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(ProgramFiles)\Windows Kits\8.1\lib\win8\um\x86;$(LibraryPath)</LibraryPath>
|
||||
<ExcludePath>$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(ExcludePath)</ExcludePath>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<ExecutablePath>$(ProgramFiles)\Windows Kits\8.1\bin\x86;$(ExecutablePath)</ExecutablePath>
|
||||
<LibraryPath>$(ProgramFiles)\Windows Kits\8.1\lib\win8\um\x86;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>$(ProgramFiles)\Windows Kits\8.1\Debuggers\inc;$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(VSInstallDir)\DIA SDK\include;$(SolutionDir)\breakpad;$(IncludePath)</IncludePath>
|
||||
<ExcludePath>$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(ExcludePath)</ExcludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<ExecutablePath>$(ProgramFiles)\Windows Kits\8.1\bin;$(ExecutablePath)</ExecutablePath>
|
||||
<IncludePath>$(ProgramFiles)\Windows Kits\8.1\Debuggers\inc;$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(VSInstallDir)\DIA SDK\include;$(SolutionDir)\breakpad;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(ProgramFiles)\Windows Kits\8.1\lib\win8\um\x64;$(LibraryPath)</LibraryPath>
|
||||
<ExcludePath>$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(ExcludePath)</ExcludePath>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<ExecutablePath>$(ProgramFiles)\Windows Kits\8.1\bin;$(ExecutablePath)</ExecutablePath>
|
||||
<IncludePath>$(ProgramFiles)\Windows Kits\8.1\Debuggers\inc;$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(VSInstallDir)\DIA SDK\include;$(SolutionDir)\breakpad;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(ProgramFiles)\Windows Kits\8.1\lib\win8\um\x64;$(LibraryPath)</LibraryPath>
|
||||
<ExcludePath>$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(ExcludePath)</ExcludePath>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
|
||||
<ExecutablePath>$(ProgramFiles)\Windows Kits\8.1\bin\x86;$(ExecutablePath)</ExecutablePath>
|
||||
<IncludePath>$(ProgramFiles)\Windows Kits\8.1\Debuggers\inc;$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(VSInstallDir)\DIA SDK\include;$(SolutionDir)\breakpad;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(ProgramFiles)\Windows Kits\8.1\lib\win8\um\x86;$(LibraryPath)</LibraryPath>
|
||||
<ExcludePath>$(ProgramFiles)\Windows Kits\8.1\Include\um;$(ProgramFiles)\Windows Kits\8.1\Include\shared;$(ExcludePath)</ExcludePath>
|
||||
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(Platform)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)</TargetName>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>RENDERDOC_EXPORTS;RENDERDOC_PLATFORM=win32;WIN64;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Profile|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>RENDERDOC_EXPORTS;RENDERDOC_PLATFORM=win32;WIN64;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>RENDERDOC_EXPORTS;RENDERDOC_PLATFORM=win32;WIN64;WIN32;RELEASE;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>RENDERDOC_EXPORTS;RENDERDOC_PLATFORM=win32;USE_BREAKPAD;WIN64;WIN32;RELEASE;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)renderdoc\;$(SolutionDir)renderdoc\3rdparty\</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>RENDERDOC_EXPORTS;RENDERDOC_PLATFORM=win32;WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,220 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="3rdparty">
|
||||
<UniqueIdentifier>{4aaae50a-4e0a-40b2-964d-5bfeae6f287f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="3rdparty\glslang">
|
||||
<UniqueIdentifier>{e27da9c0-fc84-4bda-a7ed-f0d6a6e1e214}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\OGLCompilersDLL\InitializeDll.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\SPIRV\GlslangToSpv.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\SPIRV\SpvBuilder.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\GenericCodeGen\CodeGen.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\GenericCodeGen\Link.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Constant.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\InfoSink.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Initialize.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Intermediate.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\intermOut.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\IntermTraverse.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\limits.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\linkValidate.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\parseConst.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ParseHelper.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\PoolAlloc.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\reflection.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\RemoveTree.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Scan.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ShaderLang.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\SymbolTable.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Versions.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpMemory.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpSymbols.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Windows\ossource.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Linux\ossource.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="spirv_compile.cpp" />
|
||||
<ClCompile Include="spirv_disassemble.cpp" />
|
||||
<ClCompile Include="spirv_common.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\OGLCompilersDLL\InitializeDll.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\GLSL450Lib.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\GlslangToSpv.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\spirv.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\SpvBuilder.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\SPIRV\spvIR.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\arrays.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\BaseTypes.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\Common.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\ConstantUnion.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\InfoSink.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\InitializeGlobals.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\intermediate.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\PoolAlloc.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\ResourceLimits.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\revision.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\ShHandle.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Include\Types.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\gl_types.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Initialize.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\localintermediate.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ParseHelper.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\reflection.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\RemoveTree.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Scan.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\ScanContext.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\SymbolTable.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\Versions.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\OSDependent\osinclude.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Windows\osinclude.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\OSDependent\Linux\osinclude.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\..\3rdparty\glslang\glslang\Public\ShaderLang.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="spirv_common.h" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,49 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2015 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "spirv_common.h"
|
||||
|
||||
#undef min
|
||||
#undef max
|
||||
|
||||
#include "3rdparty/glslang/glslang/Public/ShaderLang.h"
|
||||
|
||||
static bool inited = false;
|
||||
|
||||
void InitSPIRVCompiler()
|
||||
{
|
||||
if(!inited)
|
||||
{
|
||||
glslang::InitializeProcess();
|
||||
inited = true;
|
||||
}
|
||||
}
|
||||
|
||||
void ShutdownSPIRVCompiler()
|
||||
{
|
||||
if(inited)
|
||||
{
|
||||
glslang::FinalizeProcess();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2015 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
enum SPIRVShaderStage
|
||||
{
|
||||
eSPIRVVertex,
|
||||
eSPIRVTessControl,
|
||||
eSPIRVTessEvaluation,
|
||||
eSPIRVGeometry,
|
||||
eSPIRVFragment,
|
||||
eSPIRVCompute,
|
||||
eSPIRVInvalid,
|
||||
};
|
||||
|
||||
void InitSPIRVCompiler();
|
||||
void ShutdownSPIRVCompiler();
|
||||
|
||||
string CompileSPIRV(SPIRVShaderStage shadType, const vector<string> &sources, vector<uint32_t> &spirv);
|
||||
void DisassembleSPIRV(SPIRVShaderStage shadType, const vector<uint32_t> &spirv, string &disasm);
|
||||
@@ -0,0 +1,205 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2015 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "common/common.h"
|
||||
|
||||
#include "spirv_common.h"
|
||||
|
||||
#undef min
|
||||
#undef max
|
||||
|
||||
#include "3rdparty/glslang/SPIRV/GlslangToSpv.h"
|
||||
#include "3rdparty/glslang/glslang/Public/ShaderLang.h"
|
||||
|
||||
TBuiltInResource DefaultResources =
|
||||
{
|
||||
/*.maxLights =*/ 32,
|
||||
/*.maxClipPlanes =*/ 6,
|
||||
/*.maxTextureUnits =*/ 32,
|
||||
/*.maxTextureCoords =*/ 32,
|
||||
/*.maxVertexAttribs =*/ 64,
|
||||
/*.maxVertexUniformComponents =*/ 4096,
|
||||
/*.maxVaryingFloats =*/ 64,
|
||||
/*.maxVertexTextureImageUnits =*/ 32,
|
||||
/*.maxCombinedTextureImageUnits =*/ 80,
|
||||
/*.maxTextureImageUnits =*/ 32,
|
||||
/*.maxFragmentUniformComponents =*/ 4096,
|
||||
/*.maxDrawBuffers =*/ 32,
|
||||
/*.maxVertexUniformVectors =*/ 128,
|
||||
/*.maxVaryingVectors =*/ 8,
|
||||
/*.maxFragmentUniformVectors =*/ 16,
|
||||
/*.maxVertexOutputVectors =*/ 16,
|
||||
/*.maxFragmentInputVectors =*/ 15,
|
||||
/*.minProgramTexelOffset =*/ -8,
|
||||
/*.maxProgramTexelOffset =*/ 7,
|
||||
/*.maxClipDistances =*/ 8,
|
||||
/*.maxComputeWorkGroupCountX =*/ 65535,
|
||||
/*.maxComputeWorkGroupCountY =*/ 65535,
|
||||
/*.maxComputeWorkGroupCountZ =*/ 65535,
|
||||
/*.maxComputeWorkGroupSizeX =*/ 1024,
|
||||
/*.maxComputeWorkGroupSizeY =*/ 1024,
|
||||
/*.maxComputeWorkGroupSizeZ =*/ 64,
|
||||
/*.maxComputeUniformComponents =*/ 1024,
|
||||
/*.maxComputeTextureImageUnits =*/ 16,
|
||||
/*.maxComputeImageUniforms =*/ 8,
|
||||
/*.maxComputeAtomicCounters =*/ 8,
|
||||
/*.maxComputeAtomicCounterBuffers =*/ 1,
|
||||
/*.maxVaryingComponents =*/ 60,
|
||||
/*.maxVertexOutputComponents =*/ 64,
|
||||
/*.maxGeometryInputComponents =*/ 64,
|
||||
/*.maxGeometryOutputComponents =*/ 128,
|
||||
/*.maxFragmentInputComponents =*/ 128,
|
||||
/*.maxImageUnits =*/ 8,
|
||||
/*.maxCombinedImageUnitsAndFragmentOutputs =*/ 8,
|
||||
/*.maxCombinedShaderOutputResources =*/ 8,
|
||||
/*.maxImageSamples =*/ 0,
|
||||
/*.maxVertexImageUniforms =*/ 0,
|
||||
/*.maxTessControlImageUniforms =*/ 0,
|
||||
/*.maxTessEvaluationImageUniforms =*/ 0,
|
||||
/*.maxGeometryImageUniforms =*/ 0,
|
||||
/*.maxFragmentImageUniforms =*/ 8,
|
||||
/*.maxCombinedImageUniforms =*/ 8,
|
||||
/*.maxGeometryTextureImageUnits =*/ 16,
|
||||
/*.maxGeometryOutputVertices =*/ 256,
|
||||
/*.maxGeometryTotalOutputComponents =*/ 1024,
|
||||
/*.maxGeometryUniformComponents =*/ 1024,
|
||||
/*.maxGeometryVaryingComponents =*/ 64,
|
||||
/*.maxTessControlInputComponents =*/ 128,
|
||||
/*.maxTessControlOutputComponents =*/ 128,
|
||||
/*.maxTessControlTextureImageUnits =*/ 16,
|
||||
/*.maxTessControlUniformComponents =*/ 1024,
|
||||
/*.maxTessControlTotalOutputComponents =*/ 4096,
|
||||
/*.maxTessEvaluationInputComponents =*/ 128,
|
||||
/*.maxTessEvaluationOutputComponents =*/ 128,
|
||||
/*.maxTessEvaluationTextureImageUnits =*/ 16,
|
||||
/*.maxTessEvaluationUniformComponents =*/ 1024,
|
||||
/*.maxTessPatchComponents =*/ 120,
|
||||
/*.maxPatchVertices =*/ 32,
|
||||
/*.maxTessGenLevel =*/ 64,
|
||||
/*.maxViewports =*/ 16,
|
||||
/*.maxVertexAtomicCounters =*/ 0,
|
||||
/*.maxTessControlAtomicCounters =*/ 0,
|
||||
/*.maxTessEvaluationAtomicCounters =*/ 0,
|
||||
/*.maxGeometryAtomicCounters =*/ 0,
|
||||
/*.maxFragmentAtomicCounters =*/ 8,
|
||||
/*.maxCombinedAtomicCounters =*/ 8,
|
||||
/*.maxAtomicCounterBindings =*/ 1,
|
||||
/*.maxVertexAtomicCounterBuffers =*/ 0,
|
||||
/*.maxTessControlAtomicCounterBuffers =*/ 0,
|
||||
/*.maxTessEvaluationAtomicCounterBuffers =*/ 0,
|
||||
/*.maxGeometryAtomicCounterBuffers =*/ 0,
|
||||
/*.maxFragmentAtomicCounterBuffers =*/ 1,
|
||||
/*.maxCombinedAtomicCounterBuffers =*/ 1,
|
||||
/*.maxAtomicCounterBufferSize =*/ 16384,
|
||||
/*.maxTransformFeedbackBuffers =*/ 4,
|
||||
/*.maxTransformFeedbackInterleavedComponents =*/ 64,
|
||||
/*.maxCullDistances =*/ 8,
|
||||
/*.maxCombinedClipAndCullDistances =*/ 8,
|
||||
/*.maxSamples =*/ 4,
|
||||
|
||||
/*.limits*/
|
||||
{
|
||||
/*.limits.nonInductiveForLoops =*/ 1,
|
||||
/*.limits.whileLoops =*/ 1,
|
||||
/*.limits.doWhileLoops =*/ 1,
|
||||
/*.limits.generalUniformIndexing =*/ 1,
|
||||
/*.limits.generalAttributeMatrixVectorIndexing =*/ 1,
|
||||
/*.limits.generalVaryingIndexing =*/ 1,
|
||||
/*.limits.generalSamplerIndexing =*/ 1,
|
||||
/*.limits.generalVariableIndexing =*/ 1,
|
||||
/*.limits.generalConstantMatrixVectorIndexing =*/ 1,
|
||||
},
|
||||
};
|
||||
|
||||
string CompileSPIRV(SPIRVShaderStage shadType, const std::vector<std::string> &sources, vector<uint32_t> &spirv)
|
||||
{
|
||||
if(shadType >= eSPIRVInvalid)
|
||||
return "Invalid shader stage specified";
|
||||
|
||||
string errors = "";
|
||||
|
||||
const char **strs = new const char *[sources.size()];
|
||||
|
||||
for(size_t i=0; i < sources.size(); i++)
|
||||
strs[i] = sources[i].c_str();
|
||||
|
||||
RDCCOMPILE_ASSERT(
|
||||
(int)EShLangVertex == (int)eSPIRVVertex &&
|
||||
(int)EShLangTessControl == (int)eSPIRVTessControl &&
|
||||
(int)EShLangTessEvaluation == (int)eSPIRVTessEvaluation &&
|
||||
(int)EShLangGeometry == (int)eSPIRVGeometry &&
|
||||
(int)EShLangCompute == (int)eSPIRVCompute,
|
||||
"Shader language enums don't match");
|
||||
|
||||
{
|
||||
EShLanguage lang = EShLanguage(shadType);
|
||||
|
||||
glslang::TShader *shader = new glslang::TShader(lang);
|
||||
|
||||
shader->setStrings(strs, (int)sources.size());
|
||||
|
||||
bool success = shader->parse(&DefaultResources, 110, false, EShMsgDefault);
|
||||
|
||||
if(!success)
|
||||
{
|
||||
errors = "Shader failed to compile:\n\n";
|
||||
errors += shader->getInfoLog();
|
||||
errors += "\n\n";
|
||||
errors += shader->getInfoDebugLog();
|
||||
}
|
||||
else
|
||||
{
|
||||
glslang::TProgram *program = new glslang::TProgram();
|
||||
|
||||
program->addShader(shader);
|
||||
|
||||
success = program->link(EShMsgDefault);
|
||||
|
||||
if(!success)
|
||||
{
|
||||
errors = "Program failed to link:\n\n";
|
||||
errors += program->getInfoLog();
|
||||
errors += "\n\n";
|
||||
errors += program->getInfoDebugLog();
|
||||
}
|
||||
else
|
||||
{
|
||||
glslang::TIntermediate *intermediate = program->getIntermediate(lang);
|
||||
|
||||
// if we successfully compiled and linked, we must have the stage we started with
|
||||
RDCASSERT(intermediate);
|
||||
|
||||
glslang::GlslangToSpv(*intermediate, spirv);
|
||||
}
|
||||
|
||||
delete program;
|
||||
}
|
||||
|
||||
delete shader;
|
||||
}
|
||||
|
||||
delete[] strs;
|
||||
|
||||
return errors;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
/******************************************************************************
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2015 Baldur Karlsson
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
******************************************************************************/
|
||||
|
||||
#include "common/common.h"
|
||||
|
||||
#include "spirv_common.h"
|
||||
|
||||
#undef min
|
||||
#undef max
|
||||
|
||||
#include "3rdparty/glslang/SPIRV/GlslangToSpv.h"
|
||||
#include "3rdparty/glslang/glslang/Public/ShaderLang.h"
|
||||
|
||||
void DisassembleSPIRV(SPIRVShaderStage shadType, const vector<uint32_t> &spirv, string &disasm)
|
||||
{
|
||||
if(shadType >= eSPIRVInvalid)
|
||||
return;
|
||||
|
||||
// temporary function until we build our own structure from the SPIR-V
|
||||
const char *header[] = {
|
||||
"Vertex Shader",
|
||||
"Tessellation Control Shader",
|
||||
"Tessellation Evaluation Shader",
|
||||
"Geometry Shader",
|
||||
"Fragment Shader",
|
||||
"Compute Shader",
|
||||
};
|
||||
|
||||
disasm = header[(int)shadType];
|
||||
disasm += " SPIR-V raw stream:\n\n";
|
||||
|
||||
for(size_t i=0; i < spirv.size(); i++)
|
||||
disasm += StringFormat::Fmt(" %08x\n", spirv[i]);
|
||||
}
|
||||
@@ -220,38 +220,6 @@
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\BaseTypes.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\Common.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\ConstantUnion.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\InfoSink.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\InitializeGlobals.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\intermediate.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\PoolAlloc.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\ResourceLimits.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\revision.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\ShHandle.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\Types.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\gl_types.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\Initialize.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\localintermediate.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\ParseHelper.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\reflection.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\RemoveTree.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\Scan.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\ScanContext.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\SymbolTable.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\Versions.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\OSDependent\Windows\osinclude.h" />
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Public\ShaderLang.h" />
|
||||
<ClInclude Include="3rdparty\glslang\OGLCompilersDLL\InitializeDll.h" />
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\GLSL450Lib.h" />
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\GlslangToSpv.h" />
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\spirv.h" />
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\SpvBuilder.h" />
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\spvIR.h" />
|
||||
<ClInclude Include="3rdparty\jpeg-compressor\jpgd.h" />
|
||||
<ClInclude Include="3rdparty\jpeg-compressor\jpge.h" />
|
||||
<ClInclude Include="3rdparty\lz4\lz4.h" />
|
||||
@@ -303,37 +271,6 @@
|
||||
<ClInclude Include="serialise\string_utils.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\GenericCodeGen\CodeGen.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\GenericCodeGen\Link.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Constant.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\InfoSink.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Initialize.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Intermediate.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\intermOut.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\IntermTraverse.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\limits.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\linkValidate.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\parseConst.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\ParseHelper.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\PoolAlloc.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpMemory.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpSymbols.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\reflection.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\RemoveTree.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Scan.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\ShaderLang.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\SymbolTable.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Versions.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\glslang\OSDependent\Windows\ossource.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\OGLCompilersDLL\InitializeDll.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\SPIRV\GlslangToSpv.cpp" />
|
||||
<ClCompile Include="3rdparty\glslang\SPIRV\SpvBuilder.cpp" />
|
||||
<ClCompile Include="3rdparty\jpeg-compressor\jpgd.cpp" />
|
||||
<ClCompile Include="3rdparty\jpeg-compressor\jpge.cpp" />
|
||||
<ClCompile Include="3rdparty\lz4\lz4.c" />
|
||||
|
||||
@@ -70,9 +70,6 @@
|
||||
<Filter Include="Hooks">
|
||||
<UniqueIdentifier>{3e51a921-b167-4794-937d-e77573a928b8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="3rdparty\glslang">
|
||||
<UniqueIdentifier>{cec343f1-e0e5-4168-8f0a-57314338c6c6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="maths\camera.h">
|
||||
@@ -222,102 +219,6 @@
|
||||
<ClInclude Include="data\embedded_files.h">
|
||||
<Filter>Resources</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\OGLCompilersDLL\InitializeDll.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\GLSL450Lib.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\GlslangToSpv.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\spirv.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\SpvBuilder.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\SPIRV\spvIR.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\BaseTypes.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\Common.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\ConstantUnion.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\InfoSink.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\InitializeGlobals.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\intermediate.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\PoolAlloc.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\ResourceLimits.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\revision.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\ShHandle.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Include\Types.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\gl_types.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\Initialize.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\localintermediate.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\ParseHelper.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\reflection.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\RemoveTree.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\Scan.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\ScanContext.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\SymbolTable.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\Versions.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\OSDependent\Windows\osinclude.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="3rdparty\glslang\glslang\Public\ShaderLang.h">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="maths\camera.cpp">
|
||||
@@ -440,99 +341,6 @@
|
||||
<ClCompile Include="os\win32\sys_win32_hooks.cpp">
|
||||
<Filter>OS\Win32</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\OGLCompilersDLL\InitializeDll.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\SPIRV\GlslangToSpv.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\SPIRV\SpvBuilder.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\GenericCodeGen\CodeGen.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\GenericCodeGen\Link.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Constant.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\glslang_tab.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\InfoSink.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Initialize.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Intermediate.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\intermOut.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\IntermTraverse.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\limits.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\linkValidate.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\parseConst.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\ParseHelper.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\PoolAlloc.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\reflection.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\RemoveTree.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Scan.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\ShaderLang.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\SymbolTable.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\Versions.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\Pp.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpAtom.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpContext.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpMemory.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpScanner.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpSymbols.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\MachineIndependent\preprocessor\PpTokens.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="3rdparty\glslang\glslang\OSDependent\Windows\ossource.cpp">
|
||||
<Filter>3rdparty\glslang</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="os\win32\comexport.def">
|
||||
|
||||
@@ -34,4 +34,4 @@ bin/renderdoccmd: $(OBJDIR_OBJECTS) ../renderdoc/librenderdoc.so
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf bin/renderdoccmd $(OBJDIR)
|
||||
rm -rf bin/ $(OBJDIR)
|
||||
|
||||
Reference in New Issue
Block a user