aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/particles/shaders_ng/compile.bat23
-rw-r--r--src/particles/shaders_ng/imageparticle_colored.frag.qsbbin1725 -> 1634 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_colored.vert.qsbbin3794 -> 3451 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_deformed.frag.qsbbin1749 -> 1654 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_deformed.vert.qsbbin5884 -> 5352 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_simple.frag.qsbbin1730 -> 1639 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_simple.vert.qsbbin3778 -> 3449 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_sprite.frag.qsbbin2088 -> 1964 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_sprite.vert.qsbbin6625 -> 5997 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_tabled.frag.qsbbin1951 -> 1833 bytes
-rw-r--r--src/particles/shaders_ng/imageparticle_tabled.vert.qsbbin6234 -> 5673 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsbbin1687 -> 1574 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsbbin1555 -> 1467 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsbbin1550 -> 1462 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsbbin846 -> 772 bytes
-rwxr-xr-xsrc/quick/scenegraph/shaders_ng/compile.bat103
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsbbin2172 -> 1995 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsbbin2184 -> 2027 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsbbin2170 -> 2008 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsbbin2544 -> 2281 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsbbin2539 -> 2275 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsbbin2168 -> 1986 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsbbin2294 -> 2128 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsbbin2190 -> 1991 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a_fwidth.frag.qsbbin2465 -> 2157 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_fwidth.frag.qsbbin2456 -> 2177 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsbbin1741 -> 1637 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsbbin2016 -> 1903 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsbbin1738 -> 1631 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext_a_fwidth.frag.qsbbin1949 -> 1805 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/distancefieldtext_fwidth.frag.qsbbin1953 -> 1812 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/flatcolor.frag.qsbbin1024 -> 970 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/flatcolor.vert.qsbbin1585 -> 1499 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsbbin3276 -> 2928 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsbbin3769 -> 3276 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsbbin3250 -> 2937 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsbbin2317 -> 2119 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsbbin3124 -> 2755 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsbbin2321 -> 2103 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsbbin1042 -> 1013 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsbbin1748 -> 1651 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsbbin2392 -> 2193 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsbbin2949 -> 2685 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsbbin1437 -> 1310 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/shadereffect.frag.qsbbin1411 -> 1358 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/shadereffect.vert.qsbbin1816 -> 1719 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsbbin789 -> 755 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsbbin4069 -> 3493 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsbbin1176 -> 1136 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsbbin4863 -> 4223 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/sprite.frag.qsbbin1718 -> 1624 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/sprite.vert.qsbbin2405 -> 2252 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/stencilclip.frag.qsbbin830 -> 803 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/stencilclip.vert.qsbbin1523 -> 1429 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext.frag.qsbbin1975 -> 1807 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext.vert.qsbbin2545 -> 2368 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsbbin1159 -> 1042 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/textmask.frag.qsbbin1690 -> 1564 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/textmask.vert.qsbbin2268 -> 2141 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/texture.frag.qsbbin1418 -> 1344 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/texture.vert.qsbbin1832 -> 1710 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsbbin777 -> 762 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsbbin1799 -> 1709 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/visualization.frag.qsbbin1719 -> 1608 bytes
-rw-r--r--src/quick/scenegraph/shaders_ng/visualization.vert.qsbbin1965 -> 1776 bytes
-rwxr-xr-xsrc/quickshapes/shaders_ng/compile.bat15
-rw-r--r--src/quickshapes/shaders_ng/conicalgradient.frag.qsbbin2406 -> 2284 bytes
-rw-r--r--src/quickshapes/shaders_ng/conicalgradient.vert.qsbbin1961 -> 1856 bytes
-rw-r--r--src/quickshapes/shaders_ng/lineargradient.frag.qsbbin1563 -> 1500 bytes
-rw-r--r--src/quickshapes/shaders_ng/lineargradient.vert.qsbbin2214 -> 2003 bytes
-rw-r--r--src/quickshapes/shaders_ng/radialgradient.frag.qsbbin2919 -> 2555 bytes
-rw-r--r--src/quickshapes/shaders_ng/radialgradient.vert.qsbbin2100 -> 1956 bytes
72 files changed, 75 insertions, 66 deletions
diff --git a/src/particles/shaders_ng/compile.bat b/src/particles/shaders_ng/compile.bat
index b44fb5ed5a..334191bdf6 100755
--- a/src/particles/shaders_ng/compile.bat
+++ b/src/particles/shaders_ng/compile.bat
@@ -40,17 +40,20 @@
:: 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 imageparticle_simple.vert.qsb imageparticle.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_simple.frag.qsb imageparticle.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 -DTABLE -DDEFORM -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_tabled.vert.qsb imageparticle.vert
-qsb -DTABLE -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_tabled.frag.qsb imageparticle.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_simple.vert.qsb imageparticle.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_simple.frag.qsb imageparticle.frag
-qsb -DDEFORM -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_deformed.vert.qsb imageparticle.vert
-qsb -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_deformed.frag.qsb imageparticle.frag
+qsb -DTABLE -DDEFORM -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_tabled.vert.qsb imageparticle.vert
+qsb -DTABLE -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_tabled.frag.qsb imageparticle.frag
-qsb -DSPRITE -DTABLE -DDEFORM -DCOLOR -b --zorder-loc 8 --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_sprite.vert.qsb imageparticle.vert
-qsb -DSPRITE -DTABLE -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_sprite.frag.qsb imageparticle.frag
+qsb -DDEFORM -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_deformed.vert.qsb imageparticle.vert
+qsb -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_deformed.frag.qsb imageparticle.frag
-qsb -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_colored.vert.qsb imageparticle.vert
-qsb -DCOLOR --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o imageparticle_colored.frag.qsb imageparticle.frag
+qsb -DSPRITE -DTABLE -DDEFORM -DCOLOR -b --zorder-loc 8 --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_sprite.vert.qsb imageparticle.vert
+qsb -DSPRITE -DTABLE -DDEFORM -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_sprite.frag.qsb imageparticle.frag
+
+qsb -DCOLOR -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_colored.vert.qsb imageparticle.vert
+qsb -DCOLOR --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o imageparticle_colored.frag.qsb imageparticle.frag
diff --git a/src/particles/shaders_ng/imageparticle_colored.frag.qsb b/src/particles/shaders_ng/imageparticle_colored.frag.qsb
index c33fce8a1e..72e517c0ee 100644
--- a/src/particles/shaders_ng/imageparticle_colored.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_colored.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_colored.vert.qsb b/src/particles/shaders_ng/imageparticle_colored.vert.qsb
index 2283c50190..a18b222b61 100644
--- a/src/particles/shaders_ng/imageparticle_colored.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_colored.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb b/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
index da0726eacc..3107cfeddd 100644
--- a/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_deformed.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb b/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
index efc5d6b29e..b4a701e9fb 100644
--- a/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_deformed.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_simple.frag.qsb b/src/particles/shaders_ng/imageparticle_simple.frag.qsb
index 9f862f5e22..79e81fa479 100644
--- a/src/particles/shaders_ng/imageparticle_simple.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_simple.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_simple.vert.qsb b/src/particles/shaders_ng/imageparticle_simple.vert.qsb
index 0bd789618b..4e1d4c0423 100644
--- a/src/particles/shaders_ng/imageparticle_simple.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_simple.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb b/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
index 314759b452..05858b1e1e 100644
--- a/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_sprite.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb b/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
index 10115abee3..4054a0268e 100644
--- a/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_sprite.vert.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb b/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
index f511dbcf84..35da4df2f4 100644
--- a/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
+++ b/src/particles/shaders_ng/imageparticle_tabled.frag.qsb
Binary files differ
diff --git a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb b/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
index 0645de0dcd..c8be30f414 100644
--- a/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
+++ b/src/particles/shaders_ng/imageparticle_tabled.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb b/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb
index 65839ad672..1850d061f9 100644
--- a/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/24bittextmask.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb b/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb
index 7979e780e1..99ba159189 100644
--- a/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/32bitcolortext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb b/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb
index 70581e7504..ed45c364ca 100644
--- a/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/8bittextmask.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb b/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb
index 3f6403e1f7..427a6dfaf8 100644
--- a/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/8bittextmask_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/compile.bat b/src/quick/scenegraph/shaders_ng/compile.bat
index dd256a751e..bd73016be5 100755
--- a/src/quick/scenegraph/shaders_ng/compile.bat
+++ b/src/quick/scenegraph/shaders_ng/compile.bat
@@ -40,56 +40,59 @@
:: 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 vertexcolor.vert.qsb vertexcolor.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o vertexcolor.frag.qsb vertexcolor.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o flatcolor.vert.qsb flatcolor.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o flatcolor.frag.qsb flatcolor.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o smoothcolor.vert.qsb smoothcolor.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o smoothcolor.frag.qsb smoothcolor.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o stencilclip.vert.qsb stencilclip.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o stencilclip.frag.qsb stencilclip.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o texture.vert.qsb texture.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o texture.frag.qsb texture.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o opaquetexture.vert.qsb opaquetexture.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o opaquetexture.frag.qsb opaquetexture.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o smoothtexture.vert.qsb smoothtexture.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o smoothtexture.frag.qsb smoothtexture.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o textmask.vert.qsb textmask.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o textmask.frag.qsb textmask.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o 8bittextmask.frag.qsb 8bittextmask.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 vertexcolor.vert.qsb vertexcolor.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o vertexcolor.frag.qsb vertexcolor.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o flatcolor.vert.qsb flatcolor.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o flatcolor.frag.qsb flatcolor.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o smoothcolor.vert.qsb smoothcolor.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o smoothcolor.frag.qsb smoothcolor.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o stencilclip.vert.qsb stencilclip.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o stencilclip.frag.qsb stencilclip.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o texture.vert.qsb texture.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o texture.frag.qsb texture.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o opaquetexture.vert.qsb opaquetexture.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o opaquetexture.frag.qsb opaquetexture.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o smoothtexture.vert.qsb smoothtexture.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o smoothtexture.frag.qsb smoothtexture.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o textmask.vert.qsb textmask.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o textmask.frag.qsb textmask.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o 8bittextmask.frag.qsb 8bittextmask.frag
qsb --glsl "150,120,100 es" -o 8bittextmask_a.frag.qsb 8bittextmask_a.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o 24bittextmask.frag.qsb 24bittextmask.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o 32bitcolortext.frag.qsb 32bitcolortext.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o outlinedtext.vert.qsb outlinedtext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o outlinedtext.frag.qsb outlinedtext.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o 24bittextmask.frag.qsb 24bittextmask.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o 32bitcolortext.frag.qsb 32bitcolortext.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o outlinedtext.vert.qsb outlinedtext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o outlinedtext.frag.qsb outlinedtext.frag
qsb --glsl "150,120,100 es" -o outlinedtext_a.frag.qsb outlinedtext_a.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o styledtext.vert.qsb styledtext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o styledtext.frag.qsb styledtext.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o styledtext.vert.qsb styledtext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o styledtext.frag.qsb styledtext.frag
qsb --glsl "150,120,100 es" -o styledtext_a.frag.qsb styledtext_a.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldtext.vert.qsb distancefieldtext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldtext.frag.qsb distancefieldtext.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldtext_fwidth.frag.qsb distancefieldtext_fwidth.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldtext_a.frag.qsb distancefieldtext_a.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldtext_a_fwidth.frag.qsb distancefieldtext_a_fwidth.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldshiftedtext.vert.qsb distancefieldshiftedtext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldshiftedtext.frag.qsb distancefieldshiftedtext.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldshiftedtext_fwidth.frag.qsb distancefieldshiftedtext_fwidth.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldshiftedtext_a.frag.qsb distancefieldshiftedtext_a.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldshiftedtext_a_fwidth.frag.qsb distancefieldshiftedtext_a_fwidth.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldoutlinetext.vert.qsb distancefieldoutlinetext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldoutlinetext.frag.qsb distancefieldoutlinetext.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldoutlinetext_fwidth.frag.qsb distancefieldoutlinetext_fwidth.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldoutlinetext_a.frag.qsb distancefieldoutlinetext_a.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o distancefieldoutlinetext_a_fwidth.frag.qsb distancefieldoutlinetext_a_fwidth.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o hiqsubpixeldistancefieldtext.vert.qsb hiqsubpixeldistancefieldtext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o hiqsubpixeldistancefieldtext.frag.qsb hiqsubpixeldistancefieldtext.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o hiqsubpixeldistancefieldtext_a.frag.qsb hiqsubpixeldistancefieldtext_a.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o loqsubpixeldistancefieldtext.vert.qsb loqsubpixeldistancefieldtext.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o loqsubpixeldistancefieldtext.frag.qsb loqsubpixeldistancefieldtext.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o loqsubpixeldistancefieldtext_a.frag.qsb loqsubpixeldistancefieldtext_a.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o shadereffect.vert.qsb shadereffect.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o shadereffect.frag.qsb shadereffect.frag
-qsb -b --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o sprite.vert.qsb sprite.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o sprite.frag.qsb sprite.frag
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o visualization.vert.qsb visualization.vert
-qsb --glsl "150,120,100 es" --hlsl 50 -c --msl 12 -o visualization.frag.qsb visualization.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldtext.vert.qsb distancefieldtext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldtext.frag.qsb distancefieldtext.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldtext_fwidth.frag.qsb distancefieldtext_fwidth.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldtext_a.frag.qsb distancefieldtext_a.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldtext_a_fwidth.frag.qsb distancefieldtext_a_fwidth.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldshiftedtext.vert.qsb distancefieldshiftedtext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldshiftedtext.frag.qsb distancefieldshiftedtext.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldshiftedtext_fwidth.frag.qsb distancefieldshiftedtext_fwidth.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldshiftedtext_a.frag.qsb distancefieldshiftedtext_a.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldshiftedtext_a_fwidth.frag.qsb distancefieldshiftedtext_a_fwidth.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldoutlinetext.vert.qsb distancefieldoutlinetext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldoutlinetext.frag.qsb distancefieldoutlinetext.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldoutlinetext_fwidth.frag.qsb distancefieldoutlinetext_fwidth.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldoutlinetext_a.frag.qsb distancefieldoutlinetext_a.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o distancefieldoutlinetext_a_fwidth.frag.qsb distancefieldoutlinetext_a_fwidth.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o hiqsubpixeldistancefieldtext.vert.qsb hiqsubpixeldistancefieldtext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o hiqsubpixeldistancefieldtext.frag.qsb hiqsubpixeldistancefieldtext.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o hiqsubpixeldistancefieldtext_a.frag.qsb hiqsubpixeldistancefieldtext_a.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o loqsubpixeldistancefieldtext.vert.qsb loqsubpixeldistancefieldtext.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o loqsubpixeldistancefieldtext.frag.qsb loqsubpixeldistancefieldtext.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o loqsubpixeldistancefieldtext_a.frag.qsb loqsubpixeldistancefieldtext_a.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o shadereffect.vert.qsb shadereffect.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o shadereffect.frag.qsb shadereffect.frag
+qsb -b --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o sprite.vert.qsb sprite.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o sprite.frag.qsb sprite.frag
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o visualization.vert.qsb visualization.vert
+qsb --glsl "150,120,100 es" --hlsl 50 --msl 12 -O -c -o visualization.frag.qsb visualization.frag
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb
index d113427ba0..4b775fab75 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb
index 0584c2cc5b..fd8f8465d1 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb
index c956769849..c9b59f7373 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb
index 02a78a8ca9..6054685664 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_a_fwidth.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb
index b3fca6f785..22141bc69b 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldoutlinetext_fwidth.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb
index 92d29c39d6..0e1d8c558c 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb
index 99e86e6277..a5764aa06c 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb
index b243bb85c1..5174bed978 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a_fwidth.frag.qsb
index f6cb5353c7..d664f3d223 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a_fwidth.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_a_fwidth.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_fwidth.frag.qsb
index 7d9bba4fc4..82fc991f43 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_fwidth.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldshiftedtext_fwidth.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb
index b63255f1ca..77efd80911 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb
index 2f417e3051..f2ec30c757 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb
index 63600c671e..f28b6df278 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext_a_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext_a_fwidth.frag.qsb
index 10b342788b..f420bf5f23 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext_a_fwidth.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext_a_fwidth.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/distancefieldtext_fwidth.frag.qsb b/src/quick/scenegraph/shaders_ng/distancefieldtext_fwidth.frag.qsb
index 405fe962ad..4373f625ce 100644
--- a/src/quick/scenegraph/shaders_ng/distancefieldtext_fwidth.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/distancefieldtext_fwidth.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb b/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb
index 1327fe6261..1fa16190c9 100644
--- a/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/flatcolor.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb b/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb
index d4f95aa6fc..87442cde0b 100644
--- a/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/flatcolor.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb
index 52406a67cf..0204ca992d 100644
--- a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb
index ce344f46fd..2ec5f72563 100644
--- a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb
index 63e1fbff48..d90384a974 100644
--- a/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/hiqsubpixeldistancefieldtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb
index 7cba70ad3d..bd9aaf243b 100644
--- a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb
index a8dcedad8b..6050bb6d16 100644
--- a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb
index c5e92fb0df..0593243f36 100644
--- a/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/loqsubpixeldistancefieldtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb b/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb
index e164aa631b..beb6e97b0d 100644
--- a/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/opaquetexture.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb b/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb
index 4eedfcf76b..835c046830 100644
--- a/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/opaquetexture.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb b/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb
index 883903d20c..cf7e60e620 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb b/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb
index 421d1fa773..160b77531c 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb
index f44b92dc28..c6465c612d 100644
--- a/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/outlinedtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb b/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb
index 331a827eab..3a5dc85b98 100644
--- a/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/shadereffect.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb b/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb
index a2f13122d1..97f0395f35 100644
--- a/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/shadereffect.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb b/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb
index 371824209d..e598857192 100644
--- a/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothcolor.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb b/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb
index 84742fd065..e301f561ce 100644
--- a/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothcolor.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb b/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb
index 43cb270d40..12d3465f66 100644
--- a/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothtexture.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb b/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb
index 6ea2262954..2f7fa1bcd9 100644
--- a/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/smoothtexture.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/sprite.frag.qsb b/src/quick/scenegraph/shaders_ng/sprite.frag.qsb
index 8d13d0eaca..479695b7fe 100644
--- a/src/quick/scenegraph/shaders_ng/sprite.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/sprite.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/sprite.vert.qsb b/src/quick/scenegraph/shaders_ng/sprite.vert.qsb
index 5e7e450937..0c2fd4f403 100644
--- a/src/quick/scenegraph/shaders_ng/sprite.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/sprite.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb b/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb
index 396c3b38cb..7505d2c918 100644
--- a/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/stencilclip.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb b/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb
index 4776592f73..cd94715353 100644
--- a/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/stencilclip.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb b/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb
index 02057e4514..41c3419709 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/styledtext.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb b/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb
index 62a9f3e6a8..96d60d5e88 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/styledtext.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb b/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb
index f4aeee70ed..45a3366a33 100644
--- a/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/styledtext_a.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/textmask.frag.qsb b/src/quick/scenegraph/shaders_ng/textmask.frag.qsb
index a33d820d4c..da5f54db15 100644
--- a/src/quick/scenegraph/shaders_ng/textmask.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/textmask.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/textmask.vert.qsb b/src/quick/scenegraph/shaders_ng/textmask.vert.qsb
index 0290b8a848..c2554dceb3 100644
--- a/src/quick/scenegraph/shaders_ng/textmask.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/textmask.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/texture.frag.qsb b/src/quick/scenegraph/shaders_ng/texture.frag.qsb
index 7408525938..b7b5c481a7 100644
--- a/src/quick/scenegraph/shaders_ng/texture.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/texture.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/texture.vert.qsb b/src/quick/scenegraph/shaders_ng/texture.vert.qsb
index 7f500ddd53..fba7d35301 100644
--- a/src/quick/scenegraph/shaders_ng/texture.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/texture.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb b/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb
index 3faec1cf73..24ec283c72 100644
--- a/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/vertexcolor.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb b/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb
index 8a7b369027..e1d3ce6d61 100644
--- a/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/vertexcolor.vert.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/visualization.frag.qsb b/src/quick/scenegraph/shaders_ng/visualization.frag.qsb
index 07e2e2104a..af5b9b5b96 100644
--- a/src/quick/scenegraph/shaders_ng/visualization.frag.qsb
+++ b/src/quick/scenegraph/shaders_ng/visualization.frag.qsb
Binary files differ
diff --git a/src/quick/scenegraph/shaders_ng/visualization.vert.qsb b/src/quick/scenegraph/shaders_ng/visualization.vert.qsb
index 1ecb2c8822..c44d8a6dc2 100644
--- a/src/quick/scenegraph/shaders_ng/visualization.vert.qsb
+++ b/src/quick/scenegraph/shaders_ng/visualization.vert.qsb
Binary files differ
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
--- a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb
+++ b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb
index 51dc00a837..958a75e918 100644
--- a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb
+++ b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/lineargradient.frag.qsb b/src/quickshapes/shaders_ng/lineargradient.frag.qsb
index 57d921c2ba..be3a820afd 100644
--- a/src/quickshapes/shaders_ng/lineargradient.frag.qsb
+++ b/src/quickshapes/shaders_ng/lineargradient.frag.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/lineargradient.vert.qsb b/src/quickshapes/shaders_ng/lineargradient.vert.qsb
index b7cafbc29a..9e76279ca5 100644
--- a/src/quickshapes/shaders_ng/lineargradient.vert.qsb
+++ b/src/quickshapes/shaders_ng/lineargradient.vert.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/radialgradient.frag.qsb b/src/quickshapes/shaders_ng/radialgradient.frag.qsb
index a9372590ee..ecd7f2926d 100644
--- a/src/quickshapes/shaders_ng/radialgradient.frag.qsb
+++ b/src/quickshapes/shaders_ng/radialgradient.frag.qsb
Binary files differ
diff --git a/src/quickshapes/shaders_ng/radialgradient.vert.qsb b/src/quickshapes/shaders_ng/radialgradient.vert.qsb
index 3cfce054f5..68e0e21f02 100644
--- a/src/quickshapes/shaders_ng/radialgradient.vert.qsb
+++ b/src/quickshapes/shaders_ng/radialgradient.vert.qsb
Binary files differ