From 0c278cc00aaa95948f74ebabd2f6279ce0ea89e9 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Mon, 10 Aug 2020 15:06:35 +0200 Subject: 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 --- src/quickshapes/shaders_ng/compile.bat | 15 +++++++++------ src/quickshapes/shaders_ng/conicalgradient.frag.qsb | Bin 2406 -> 2284 bytes src/quickshapes/shaders_ng/conicalgradient.vert.qsb | Bin 1961 -> 1856 bytes src/quickshapes/shaders_ng/lineargradient.frag.qsb | Bin 1563 -> 1500 bytes src/quickshapes/shaders_ng/lineargradient.vert.qsb | Bin 2214 -> 2003 bytes src/quickshapes/shaders_ng/radialgradient.frag.qsb | Bin 2919 -> 2555 bytes src/quickshapes/shaders_ng/radialgradient.vert.qsb | Bin 2100 -> 1956 bytes 7 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src/quickshapes') 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 diff --git a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb index e92dab1bfc..df58050128 100644 Binary files a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb and b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb differ diff --git a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb index 51dc00a837..958a75e918 100644 Binary files a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb and b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb differ diff --git a/src/quickshapes/shaders_ng/lineargradient.frag.qsb b/src/quickshapes/shaders_ng/lineargradient.frag.qsb index 57d921c2ba..be3a820afd 100644 Binary files a/src/quickshapes/shaders_ng/lineargradient.frag.qsb and b/src/quickshapes/shaders_ng/lineargradient.frag.qsb differ diff --git a/src/quickshapes/shaders_ng/lineargradient.vert.qsb b/src/quickshapes/shaders_ng/lineargradient.vert.qsb index b7cafbc29a..9e76279ca5 100644 Binary files a/src/quickshapes/shaders_ng/lineargradient.vert.qsb and b/src/quickshapes/shaders_ng/lineargradient.vert.qsb differ diff --git a/src/quickshapes/shaders_ng/radialgradient.frag.qsb b/src/quickshapes/shaders_ng/radialgradient.frag.qsb index a9372590ee..ecd7f2926d 100644 Binary files a/src/quickshapes/shaders_ng/radialgradient.frag.qsb and b/src/quickshapes/shaders_ng/radialgradient.frag.qsb differ diff --git a/src/quickshapes/shaders_ng/radialgradient.vert.qsb b/src/quickshapes/shaders_ng/radialgradient.vert.qsb index 3cfce054f5..68e0e21f02 100644 Binary files a/src/quickshapes/shaders_ng/radialgradient.vert.qsb and b/src/quickshapes/shaders_ng/radialgradient.vert.qsb differ -- cgit v1.2.3