SDL_ttf: Removed unused binary shader representations (0564c)

From 0564c82acc24a62e6fe575f72296d4db61f17dee Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Mon, 10 Mar 2025 20:47:14 -0700
Subject: [PATCH] Removed unused binary shader representations

(cherry picked from commit b0cea8d5f85f91fde52663c0a9a1aa16dc96d4af)
---
 examples/testgputext/shaders/build-shaders.sh |   2 ++
 .../testgputext/shaders/shader-sdf.frag.dxil  | Bin 3972 -> 0 bytes
 .../testgputext/shaders/shader-sdf.frag.msl   |  23 ------------
 .../testgputext/shaders/shader-sdf.frag.spv   | Bin 1148 -> 0 bytes
 examples/testgputext/shaders/shader.frag.dxil | Bin 3856 -> 0 bytes
 examples/testgputext/shaders/shader.frag.msl  |  23 ------------
 examples/testgputext/shaders/shader.frag.spv  | Bin 868 -> 0 bytes
 examples/testgputext/shaders/shader.vert.dxil | Bin 5236 -> 0 bytes
 examples/testgputext/shaders/shader.vert.msl  |  34 ------------------
 examples/testgputext/shaders/shader.vert.spv  | Bin 1312 -> 0 bytes
 10 files changed, 2 insertions(+), 80 deletions(-)
 delete mode 100644 examples/testgputext/shaders/shader-sdf.frag.dxil
 delete mode 100644 examples/testgputext/shaders/shader-sdf.frag.msl
 delete mode 100644 examples/testgputext/shaders/shader-sdf.frag.spv
 delete mode 100644 examples/testgputext/shaders/shader.frag.dxil
 delete mode 100644 examples/testgputext/shaders/shader.frag.msl
 delete mode 100644 examples/testgputext/shaders/shader.frag.spv
 delete mode 100644 examples/testgputext/shaders/shader.vert.dxil
 delete mode 100644 examples/testgputext/shaders/shader.vert.msl
 delete mode 100644 examples/testgputext/shaders/shader.vert.spv

diff --git a/examples/testgputext/shaders/build-shaders.sh b/examples/testgputext/shaders/build-shaders.sh
index 451413d7..7ad9b58d 100755
--- a/examples/testgputext/shaders/build-shaders.sh
+++ b/examples/testgputext/shaders/build-shaders.sh
@@ -31,3 +31,5 @@ for filename in *.frag.hlsl; do
         make-header "${filename/.hlsl/.dxil}"
     fi
 done
+
+rm -f *.spv *.msl *.dxil
diff --git a/examples/testgputext/shaders/shader-sdf.frag.dxil b/examples/testgputext/shaders/shader-sdf.frag.dxil
deleted file mode 100644
index 0de2fc22dd4c60457878898fe29ba64def9ee687..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3972
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
L`S{$QH%R{m-6z6e

diff --git a/examples/testgputext/shaders/shader-sdf.frag.msl b/examples/testgputext/shaders/shader-sdf.frag.msl
deleted file mode 100644
index 8a452dd9..00000000
--- a/examples/testgputext/shaders/shader-sdf.frag.msl
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <metal_stdlib>
-#include <simd/simd.h>
-
-using namespace metal;
-
-struct main0_out
-{
-    float4 out_var_SV_Target [[color(0)]];
-};
-
-struct main0_in
-{
-    float4 in_var_TEXCOORD0 [[user(locn0)]];
-    float2 in_var_TEXCOORD1 [[user(locn1)]];
-};
-
-fragment main0_out main0(main0_in in [[stage_in]], texture2d<float> tex [[texture(0)]], sampler samp [[sampler(0)]])
-{
-    main0_out out = {};
-    out.out_var_SV_Target = float4(in.in_var_TEXCOORD0.xyz, in.in_var_TEXCOORD0.w * smoothstep(0.4375, 0.5625, tex.sample(samp, in.in_var_TEXCOORD1).w));
-    return out;
-}
-
diff --git a/examples/testgputext/shaders/shader-sdf.frag.spv b/examples/testgputext/shaders/shader-sdf.frag.spv
deleted file mode 100644
index 3dfeca6f3f1b39955459c172ba6972d29a4de216..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1148
zcmZ9KZ%b5B5XMituK!!tOik_2Zdz%=C8HvUjHvL9V5OMv<boGjXie5z=m+R~_Az=B
z^!uH?CzcM(&Uv1hGxN;st=Cq^Lbw(}Xoko9dS*i{GE-qR`kmeV-Rz<~$(}ubV!RpZ
zx)_@Y<6(q*4eRCIGkK$O4Xgz+MiXxJ$Q?m6s67f-UY!@&)03>*%TEh%gB)|q;xgup
zr<{wtcmB2L1K~%)1YT-@$9NS&_bmI7_p^f!NALFbKEIDz8&p%vf3dCfPL1Ebm+|5L
z;qgJ<KP^f)dkoKHok{qpccA5;=pAzHe;4zJ?J0J%V*3ooo$)?q598tv<`FyJa9o_?
z3v`<Tx3PJ0r>ncYHY<FcyPB4$<etqpZohQIo;GiqgKNxPCd<9c&s4m45!}LC%lVAY
z;;kcZ{082*eT>iHjmwK~;?-sT99i@D4$K1H`wDmWtmaqbtIOSZ#OiSu9<lwcXAiOc
z)RwUQ+`T#OMs15&2*0)yz7=unjrx|j`_{Y{yi`-#nHqnCmhrF2b%qtp+G1zCjoDx9
z40kZ~i`}8$fcg)q?VR^8bL7A9!kTSN-ddhd<f^BGwK4lmQ%%lqM7@5{&gCrTz2%Lw
ztYYT-J*dGqYnc4cs_uh|vsUW$kh`;a68DI^oc$8FUUBZ|Ba^Cs1M|K4#;w1N3jYUV
Jf2i;h`wJtYM4$iw

diff --git a/examples/testgputext/shaders/shader.frag.dxil b/examples/testgputext/shaders/shader.frag.dxil
deleted file mode 100644
index 02c948d37cd93169a8f1796fd57351ee61c07fb6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3856
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

diff --git a/examples/testgputext/shaders/shader.frag.msl b/examples/testgputext/shaders/shader.frag.msl
deleted file mode 100644
index 14d07e28..00000000
--- a/examples/testgputext/shaders/shader.frag.msl
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <metal_stdlib>
-#include <simd/simd.h>
-
-using namespace metal;
-
-struct main0_out
-{
-    float4 out_var_SV_Target [[color(0)]];
-};
-
-struct main0_in
-{
-    float4 in_var_TEXCOORD0 [[user(locn0)]];
-    float2 in_var_TEXCOORD1 [[user(locn1)]];
-};
-
-fragment main0_out main0(main0_in in [[stage_in]], texture2d<float> tex [[texture(0)]], sampler samp [[sampler(0)]])
-{
-    main0_out out = {};
-    out.out_var_SV_Target = in.in_var_TEXCOORD0 * tex.sample(samp, in.in_var_TEXCOORD1);
-    return out;
-}
-
diff --git a/examples/testgputext/shaders/shader.frag.spv b/examples/testgputext/shaders/shader.frag.spv
deleted file mode 100644
index b59ce0f230397dcc5cc1cd6b3630306a2efa3efe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 868
zcmZ9IOH0F05QWF4X?^x#wY9BCtNWlXL=fGmxGZR?-ATYu3id&aqCdd@>_+f>w~Yh`
zCUeg@b7#(tmpdw&t(aNK_Vp#ImRmBO!>DCjwY)0lNjRP&<dk&4S9C(tFr7T}RflTu
zt>Dhd=R68dpM&uv97WQ6^%PW-=)?7J&-J{9lle;&3yRNcs~OY+7v0YBG<Xl=pnp5O
z?)C0(j#CXU|Fn}-!{h8NaTgy3PyH|+MTt0eWZ&fL1#99nUj9tqsh2k&C<!n-!OQ@&
zC#&<uLnZgn!CfT*=6zWmoa%K=Ul;Bun{vfJ1+$BJX@H52=4~vFuD7Kw{ww_Ek_R`0
zw^W&hU-XhHbKud-s_5)Nuc)HKgR82%o&K7-wpF`gYO0*uI`bd#e4&1P@pb}?AKprU
z+0QO^fZ50V6tfSnaA%sz4m5(D-@3h{dZ{iv?JAiE#&ccCT`-;+O8kKNCwof#45Z?_
hsiX(~QJu_eDdCw#e5n_{tz;kimA2p$?ne&KmA^g^H=qCj

diff --git a/examples/testgputext/shaders/shader.vert.dxil b/examples/testgputext/shaders/shader.vert.dxil
deleted file mode 100644
index e135dc6c628b9b190620da6163ad91eb8d5d1108..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5236
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
IZwG*X0!w&22><{9

diff --git a/examples/testgputext/shaders/shader.vert.msl b/examples/testgputext/shaders/shader.vert.msl
deleted file mode 100644
index 455d2db1..00000000
--- a/examples/testgputext/shaders/shader.vert.msl
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <metal_stdlib>
-#include <simd/simd.h>
-
-using namespace metal;
-
-struct type_uniforms
-{
-    float4x4 proj_view;
-    float4x4 model;
-};
-
-struct main0_out
-{
-    float4 out_var_TEXCOORD0 [[user(locn0)]];
-    float2 out_var_TEXCOORD1 [[user(locn1)]];
-    float4 gl_Position [[position]];
-};
-
-struct main0_in
-{
-    float3 in_var_TEXCOORD0 [[attribute(0)]];
-    float4 in_var_TEXCOORD1 [[attribute(1)]];
-    float2 in_var_TEXCOORD2 [[attribute(2)]];
-};
-
-vertex main0_out main0(main0_in in [[stage_in]], constant type_uniforms& uniforms [[buffer(0)]])
-{
-    main0_out out = {};
-    out.out_var_TEXCOORD0 = in.in_var_TEXCOORD1;
-    out.out_var_TEXCOORD1 = in.in_var_TEXCOORD2;
-    out.gl_Position = (uniforms.proj_view * uniforms.model) * float4(in.in_var_TEXCOORD0, 1.0);
-    return out;
-}
-
diff --git a/examples/testgputext/shaders/shader.vert.spv b/examples/testgputext/shaders/shader.vert.spv
deleted file mode 100644
index c643b7109ba9256feecdaabaa95834c771bdaa29..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1312
zcmZXTSx-|@6on5hR}d8}$l%B=Wj1Mm2V-KKq6Xej!vk-GgqqaYA!RVU@fYCN`eNeu
z-FuIz*F$#qS!=I7oZV8bG{!<02_Z~|O+G!fP$`&dhK){zJAdz;<91h2!BmW533dyk
z7+f{OhX@kbak#U~eye%jZGY<xI;WX7=edUdp!fagqTTwL@kyq)XQy}4`hidQyNw@8
zhZ)QIx4X@Y<3aP_)8U8x{jVRlkYzFFD#f;A%y~<(ofz{Sz4NpGirUZjm17o7*g!UK
zv6o%2d&oByg4kU>!#rZ=6PqV?Cb2rPa}4Y4J*;;hOIXYo*D=o?+3wua$lX7jv)#w`
z=o5AJi+R>G?_G&2=czMqm)BUw*=MOaflo2x&kO7>hVfmnXO7%^_!Lv?eG&`d>g_yu
zikqDKS>V&T<??;y^UG-|Yz^-m&SU;G-hB6Md<O3v^5O>twx;@7yn1UGpTnz{7tiCZ
zrCz*HVB<4nJ;c{hJi>cd^B8YEXM6>AM!zpPu`_wMkJy>)5wSD)-iV#Sy{l304E{bM
zHlF_<hVTNVbC~OKu3vO}f`3h}dw7c3U+la5omorlyB0C~f1#GUNilOgk*jl;vrpuf
z3eMV}naJ7=EXC9t_q%>iU3avMxfg#c_I6(@n0(Z%a#!Q;Cu-KX%imDPoOMjj+-o@d
cZea5Ef5YqCpYQbU?tG(n_ontYFL{am0n%Yg2><{9