summaryrefslogtreecommitdiffstats
path: root/premake5.lua
diff options
context:
space:
mode:
authorRobert Stepinski <rob.stepinski@gmail.com>2019-10-17 17:22:46 -0400
committerTim Foley <tfoleyNV@users.noreply.github.com>2019-10-17 14:22:46 -0700
commitbb4a2ac62f59fd0cd2f597207bbfa93e07f7525b (patch)
treea52d4681a1d2d637dc830c3bb786791602ee19bd /premake5.lua
parent1102c53513837e7f052730b847270f533876833f (diff)
Enable spriv-opt on spirv (#1076)
* Add spirv-tools module and set ENABLE_OPT to be true * Add spirv-headers dependency * Build spirv-opt into glslang project * Add optimization pass * Add generated spirv-opt files Modify solution to avoid obj file conflicts * Add optimization pass to SPIR-V generation * Don't pass additional optimizer options to glslang * Build spirv-opt in Linux
Diffstat (limited to 'premake5.lua')
-rw-r--r--premake5.lua8
1 files changed, 6 insertions, 2 deletions
diff --git a/premake5.lua b/premake5.lua
index 1f167b17a..862d42662 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -688,12 +688,12 @@ standardProject "slang"
standardProject "slang-glslang"
uuid "C495878A-832C-485B-B347-0998A90CC936"
kind "SharedLib"
- includedirs { "external/glslang" }
+ includedirs { "external/glslang", "external/spirv-tools", "external/spirv-tools/include", "external/spirv-headers/include", "external/spirv-tools-generated" }
defines
{
-- `ENABLE_OPT` must be defined (to either zero or one) for glslang to compile at all
- "ENABLE_OPT=0",
+ "ENABLE_OPT=1",
-- We want to build a version of glslang that supports every feature possible,
-- so we will enable all of the supported vendor-specific extensions so
@@ -712,6 +712,10 @@ standardProject "slang-glslang"
addSourceDir("external/glslang/OGLCompilersDLL")
addSourceDir("external/glslang/SPIRV")
addSourceDir("external/glslang/StandAlone")
+ addSourceDir("external/spirv-tools/source")
+ addSourceDir("external/spirv-tools/source/opt")
+ addSourceDir("external/spirv-tools/source/util")
+ addSourceDir("external/spirv-tools/source/val")
-- Unfortunately, blindly adding files like that also pulled in a declaration
-- of a main entry point that we do *not* want, so we will specifically