aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickshapes/shaders_ng/compile.bat
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-08-10 15:06:35 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-08-11 13:08:19 +0000
commit0c278cc00aaa95948f74ebabd2f6279ce0ea89e9 (patch)
tree40e43939203d72f629b9be0bf6c2666545d93891 /src/quickshapes/shaders_ng/compile.bat
parenta4fb90f2239de76751922b3c54893a0207b59092 (diff)
Ship with optimized SPIR-V for the built-in shaders
Also includes stripping the shaders properly. While we do not have debug information, we do have OpName and similar that describe the variable and block member names. This is unnecessary in the final SPIR-V binary, and further reduces the size somewhat. To create debuggable shaders (for SPIR-V and D3D) with full source information, one needs to regenerate the relevant ones with -g instead of -O. Change-Id: I3b855ee4e9afe393cd460407c1a807d6c9c5e6c2 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quickshapes/shaders_ng/compile.bat')
-rwxr-xr-xsrc/quickshapes/shaders_ng/compile.bat15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/quickshapes/shaders_ng/compile.bat b/src/quickshapes/shaders_ng/compile.bat
index f5bd457190..88a9c31913 100755
--- a/src/quickshapes/shaders_ng/compile.bat
+++ b/src/quickshapes/shaders_ng/compile.bat
@@ -40,9 +40,12 @@
:: For HLSL we invoke fxc.exe (-c argument) and store the resulting intermediate format
:: instead of HLSL source, so this needs to be run on Windows from a developer command prompt.
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o lineargradient.vert.qsb lineargradient.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o lineargradient.frag.qsb lineargradient.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o radialgradient.vert.qsb radialgradient.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o radialgradient.frag.qsb radialgradient.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o conicalgradient.vert.qsb conicalgradient.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o conicalgradient.frag.qsb conicalgradient.frag
+:: For SPIR-V the optimizer is requested (-O argument) which means spirv-opt must be
+:: invokable (e.g. because it's in the PATH from the Vulkan SDK)
+
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o lineargradient.vert.qsb lineargradient.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o lineargradient.frag.qsb lineargradient.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o radialgradient.vert.qsb radialgradient.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o radialgradient.frag.qsb radialgradient.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o conicalgradient.vert.qsb conicalgradient.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o conicalgradient.frag.qsb conicalgradient.frag