From 7ce2eeac47b6c36572b5e6236ca0c5da87124155 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 2 May 2023 08:41:43 +0200 Subject: [PATCH 1/4] build: Use generated SPIR-V files We weren't looking in the build dir for generated files. Actually make sure that we look in the build dir *first*, otherwise glib-compile-resources will still use the wrong files. --- gsk/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gsk/meson.build b/gsk/meson.build index bd50524785..5b4f2389e9 100644 --- a/gsk/meson.build +++ b/gsk/meson.build @@ -164,7 +164,7 @@ gskenum_h = gsk_enums[1] gskresources = gnome.compile_resources('gskresources', gsk_resources_xml, dependencies: gsk_private_vulkan_compiled_shaders_deps, - source_dir: meson.current_source_dir(), + source_dir: [meson.current_build_dir(), meson.current_source_dir()], c_name: '_gsk', extra_args: [ '--manual-register', ], ) From 9b558b50b8b46026ed962eaa0421521c18bf1590 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 2 May 2023 08:47:10 +0200 Subject: [PATCH 2/4] vulkan: Rebuild SPIR-V files It's been a while since somebody last compiled them, glslc should be somewhat newer by now. --- .../resources/blendmode-clip-rounded.frag.spv | Bin 33432 -> 33400 bytes .../resources/blendmode-clip-rounded.vert.spv | Bin 5856 -> 5992 bytes gsk/vulkan/resources/blendmode-clip.frag.spv | Bin 26660 -> 26628 bytes gsk/vulkan/resources/blendmode-clip.vert.spv | Bin 5856 -> 5992 bytes gsk/vulkan/resources/blendmode.frag.spv | Bin 26660 -> 26628 bytes gsk/vulkan/resources/blendmode.vert.spv | Bin 4260 -> 4260 bytes .../resources/blur-clip-rounded.frag.spv | Bin 10812 -> 10812 bytes .../resources/blur-clip-rounded.vert.spv | Bin 5172 -> 5308 bytes gsk/vulkan/resources/blur-clip.frag.spv | Bin 4068 -> 4068 bytes gsk/vulkan/resources/blur-clip.vert.spv | Bin 5172 -> 5308 bytes gsk/vulkan/resources/blur.frag.spv | Bin 4068 -> 4068 bytes gsk/vulkan/resources/blur.vert.spv | Bin 3576 -> 3576 bytes .../resources/border-clip-rounded.frag.spv | Bin 10456 -> 10456 bytes .../resources/border-clip-rounded.vert.spv | Bin 9136 -> 9256 bytes gsk/vulkan/resources/border-clip.frag.spv | Bin 9804 -> 9804 bytes gsk/vulkan/resources/border-clip.vert.spv | Bin 9136 -> 9256 bytes gsk/vulkan/resources/border.frag.spv | Bin 9804 -> 9804 bytes gsk/vulkan/resources/border.vert.spv | Bin 7548 -> 7548 bytes .../resources/color-clip-rounded.frag.spv | Bin 8356 -> 8356 bytes .../resources/color-clip-rounded.vert.spv | Bin 3880 -> 4016 bytes gsk/vulkan/resources/color-clip.frag.spv | Bin 1448 -> 1448 bytes gsk/vulkan/resources/color-clip.vert.spv | Bin 3880 -> 4016 bytes .../color-matrix-clip-rounded.frag.spv | Bin 9568 -> 9752 bytes .../color-matrix-clip-rounded.vert.spv | Bin 5220 -> 5356 bytes .../resources/color-matrix-clip.frag.spv | Bin 2716 -> 2948 bytes .../resources/color-matrix-clip.vert.spv | Bin 5220 -> 5356 bytes gsk/vulkan/resources/color-matrix.frag.spv | Bin 2716 -> 2948 bytes gsk/vulkan/resources/color-matrix.vert.spv | Bin 3624 -> 3624 bytes gsk/vulkan/resources/color.frag.spv | Bin 1448 -> 1448 bytes gsk/vulkan/resources/color.vert.spv | Bin 2284 -> 2284 bytes .../resources/crossfade-clip-rounded.frag.spv | Bin 8720 -> 8720 bytes .../resources/crossfade-clip-rounded.vert.spv | Bin 5840 -> 5976 bytes gsk/vulkan/resources/crossfade-clip.frag.spv | Bin 1780 -> 1780 bytes gsk/vulkan/resources/crossfade-clip.vert.spv | Bin 5840 -> 5976 bytes gsk/vulkan/resources/crossfade.frag.spv | Bin 1780 -> 1780 bytes gsk/vulkan/resources/crossfade.vert.spv | Bin 4244 -> 4244 bytes .../inset-shadow-clip-rounded.frag.spv | Bin 10656 -> 10656 bytes .../inset-shadow-clip-rounded.vert.spv | Bin 4744 -> 4880 bytes .../resources/inset-shadow-clip.frag.spv | Bin 10004 -> 10004 bytes .../resources/inset-shadow-clip.vert.spv | Bin 4744 -> 4880 bytes gsk/vulkan/resources/inset-shadow.frag.spv | Bin 10004 -> 10004 bytes gsk/vulkan/resources/inset-shadow.vert.spv | Bin 3148 -> 3148 bytes .../resources/linear-clip-rounded.frag.spv | Bin 9836 -> 9836 bytes .../resources/linear-clip-rounded.vert.spv | Bin 7928 -> 8048 bytes gsk/vulkan/resources/linear-clip.frag.spv | Bin 3032 -> 3032 bytes gsk/vulkan/resources/linear-clip.vert.spv | Bin 7928 -> 8048 bytes gsk/vulkan/resources/linear.frag.spv | Bin 3032 -> 3032 bytes gsk/vulkan/resources/linear.vert.spv | Bin 6332 -> 6332 bytes .../resources/mask-clip-rounded.frag.spv | Bin 8636 -> 8636 bytes .../resources/mask-clip-rounded.vert.spv | Bin 5016 -> 5152 bytes gsk/vulkan/resources/mask-clip.frag.spv | Bin 1728 -> 1728 bytes gsk/vulkan/resources/mask-clip.vert.spv | Bin 5016 -> 5152 bytes gsk/vulkan/resources/mask.frag.spv | Bin 1728 -> 1728 bytes gsk/vulkan/resources/mask.vert.spv | Bin 3420 -> 3420 bytes .../outset-shadow-clip-rounded.frag.spv | Bin 10744 -> 10744 bytes .../outset-shadow-clip-rounded.vert.spv | Bin 5536 -> 5672 bytes .../resources/outset-shadow-clip.frag.spv | Bin 10092 -> 10092 bytes .../resources/outset-shadow-clip.vert.spv | Bin 5536 -> 5672 bytes gsk/vulkan/resources/outset-shadow.frag.spv | Bin 10092 -> 10092 bytes gsk/vulkan/resources/outset-shadow.vert.spv | Bin 3940 -> 3940 bytes .../resources/texture-clip-rounded.frag.spv | Bin 8268 -> 8268 bytes .../resources/texture-clip-rounded.vert.spv | Bin 4868 -> 5004 bytes gsk/vulkan/resources/texture-clip.frag.spv | Bin 1328 -> 1328 bytes gsk/vulkan/resources/texture-clip.vert.spv | Bin 4868 -> 5004 bytes gsk/vulkan/resources/texture.frag.spv | Bin 1328 -> 1328 bytes gsk/vulkan/resources/texture.vert.spv | Bin 3272 -> 3272 bytes 66 files changed, 0 insertions(+), 0 deletions(-) diff --git a/gsk/vulkan/resources/blendmode-clip-rounded.frag.spv b/gsk/vulkan/resources/blendmode-clip-rounded.frag.spv index 1b8e07c1b5d44ec98136bb9b9c79a4bf5f54097b..423ac50f4a63ae81ff4e8c6d9d6ea22033280b31 100644 GIT binary patch delta 208 zcmbQy%Jid!iIbU0nVo@wk%4<7XSg@>e+I_Q#onrHV8-gemmIeDnHU&=3K(n|SQyxV z^j#o75=d`hUFhNNgUE{hfiC;USO>0>6Oj?@hiKrOtSN^3SMxAXyo$%y@tE z+-P-XTRvt~LwSJwM4%>^p}asoNNfX83}mPPkPQMLLwP4N#;Y^(P1cN`3?%o)D>L$K Jei*-92>@ThE8_qF delta 240 zcmey-!Zf3miIbU0nVo@wk%4g|XSla8BLg!78v_G_J`)4OKL#ccy*b%il?^UY2bBQQ zo4W&Fa@gJl3IGjYuw`HY>%0f#M*{g<7+8Urf#E)o4-%UPWPb;m{t(CpfnPxN_a|?R zQfIt7`DRo-kc^C0X1u$(Hd>w8mWLVDP+lNE5vU1fC?Ajy659Y20~sm+WPCUeG529k5*l^J<9AB^9w1OWTPEj9oE diff --git a/gsk/vulkan/resources/blendmode-clip-rounded.vert.spv b/gsk/vulkan/resources/blendmode-clip-rounded.vert.spv index 499a74abe1112feda521426ff3ae08903e0a710d..efc8c1dde5a7aec8a06d1d40241112b5af3de1e7 100644 GIT binary patch literal 5992 zcmZ9PiFaL96~=FyyrdIlC{PC|sdd0oD{7&X0xgu9BEhB>QBjC#-b-^aeJ{TEQVNQ+ zAXsNX8Jz`GsPlvh6rAU&&QKL_D8)ZOmuunj_q*@z=9ts ztc|qu?KO3?5?x*&8K11Cf(nYXmP*!}&0~+e-mW!UWI1vB=!(@M%PQFZL?JJ@?&72tf{VU8TgcoP9c|Uxt-@c4->kJJ$5B-1ow)`lTVv}Q^;Ubh zjw*xgE_lpr+x7|kj?P}X-_VxEWWCxt#M_^OzdWzD$K-p9_1-|ikJa+6V@2wshAR97 zdomUNR{i1T@V3&=r}-23>6yH{y#9*fl%CO=r`C66m+Ln?Z%=W@TgQhksx{lS9p}}n zwH=*vUylZUu-5E^aEtTEJB&42c{^{^i}T2P{(|SCHs@Dz)2`{wjM)QX>uArpxt$!T zv42kfo4g(W7JRBIj%Ka*;Ip*Z4zgI+Q#_k_eY24ZYdhlHm25BZTD^Km zZ4RH|yuQ9(J*0H6-r~7t??|$)(P(-N#CnS7omgj48IkuLfInxPO)h9ui}O}k;d_zS zr|1pI^HL$U0gcac)U)8Mz!P!r_!G!a9l6yVqr?>8*uAlvVCKdsQ zzVEj0%2Hs?xK}wxaPBSV9Gp4j+|PaDe$DG0ru*zEeb*be|Hh*(zbE<;_uDcR?<#sc zAI`P*+gNAc?xN4(FCe2i7ZWwEeJoZFb01j9di$#Hx22E&&SI7mi|N7a(v}yC(YUv9 zeRCYeY!34ugTH{e4>(RL{iCtf9EX1lvuots^H^qM@~cbVZ;+hpou39A%c#kNF>yMVc>o3EOd((eo z8FLTw={HNx_;ze#_ErDQWz4+l^?f(o&-m5M-ii9S-?w5L_kOQqHZHfQe2>g8XUrUL zWA>T69=M18?vjf$y&d17{vFJoX}I)nWOluIjenr@t;u})zISTk%)WOs65sbOeD(W4 z==JxPzWM)A+CJOn(?5{JpTIU(#PtuB+^O`y=fit3Z|R@KZoW%C&u6linl@+xWA3BBifW8a0{=#kH*Q^Wv33Wx+(y*) z`U)T?9QGizS7N8yH{r_(`(Yo{`kcK5_>7%R9X?+>fpyEPaj#uqC%6uc{x!gy^1Djz zT5M}FX8ra}&b&TD?*vugvt{04=63=4*yr8YuG_>KpV{{SIY)5s#g_BDgY?4Qy$`50 z=6mn=y4 zW@AzJXR!UgM2|m^z<9p*5C;4o7i&cecXrddPnH) z$CgX);{kkgn!`0}ybr&B#^Q_*VLu3>Z{Na}6Ap8R_S@L0_B;4;BF-4v@4}`1_#VET zaF{px@qKJ_sfqje0k*Xmi=02iPWS&2zMPo8|BvC){eOZlCqf(h{}j$#YNDqJS&8l1=+g<9{nm*A(`XXDF>=xOxgIdJAu6VL8*vHO4{xaVQ_0rv^+L~PeP zf_px;oVs}KmtvdK9IjDgZ>`Z-^y4IK`xgCJhAk%?<_zr%uv6`Fd^zDrwJ*d^wI}1t ziRt}#5uCZy#F<`m8vx1zRrd$Eo<{G>2={*bi$o7H2#SJH5wM z_;SLLp7C`2^o*Uct_9JfbFi(+5!^cLs57{8;mqR*ZasG7j_2*AaOO0JYt-0Z-#=qfe?PWd zJZ~GY<%Gj}Lwg=}s(l&0oQSjT<=ZfTe*rL;n%nuNoX`AnApbAw7-V+*hnW0EAm{f& z`@hVaN?$%|*o>Xla3Q{&aHRFV5BsrU@LlIKqE_GE$jg}D0IFaVgnqo_)tgIy7613+9^1e?U>;-EEoa^T1GUa5 AtN;K2 literal 5856 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 diff --git a/gsk/vulkan/resources/blendmode-clip.vert.spv b/gsk/vulkan/resources/blendmode-clip.vert.spv index 499a74abe1112feda521426ff3ae08903e0a710d..efc8c1dde5a7aec8a06d1d40241112b5af3de1e7 100644 GIT binary patch literal 5992 zcmZ9PiFaL96~=FyyrdIlC{PC|sdd0oD{7&X0xgu9BEhB>QBjC#-b-^aeJ{TEQVNQ+ zAXsNX8Jz`GsPlvh6rAU&&QKL_D8)ZOmuunj_q*@z=9ts ztc|qu?KO3?5?x*&8K11Cf(nYXmP*!}&0~+e-mW!UWI1vB=!(@M%PQFZL?JJ@?&72tf{VU8TgcoP9c|Uxt-@c4->kJJ$5B-1ow)`lTVv}Q^;Ubh zjw*xgE_lpr+x7|kj?P}X-_VxEWWCxt#M_^OzdWzD$K-p9_1-|ikJa+6V@2wshAR97 zdomUNR{i1T@V3&=r}-23>6yH{y#9*fl%CO=r`C66m+Ln?Z%=W@TgQhksx{lS9p}}n zwH=*vUylZUu-5E^aEtTEJB&42c{^{^i}T2P{(|SCHs@Dz)2`{wjM)QX>uArpxt$!T zv42kfo4g(W7JRBIj%Ka*;Ip*Z4zgI+Q#_k_eY24ZYdhlHm25BZTD^Km zZ4RH|yuQ9(J*0H6-r~7t??|$)(P(-N#CnS7omgj48IkuLfInxPO)h9ui}O}k;d_zS zr|1pI^HL$U0gcac)U)8Mz!P!r_!G!a9l6yVqr?>8*uAlvVCKdsQ zzVEj0%2Hs?xK}wxaPBSV9Gp4j+|PaDe$DG0ru*zEeb*be|Hh*(zbE<;_uDcR?<#sc zAI`P*+gNAc?xN4(FCe2i7ZWwEeJoZFb01j9di$#Hx22E&&SI7mi|N7a(v}yC(YUv9 zeRCYeY!34ugTH{e4>(RL{iCtf9EX1lvuots^H^qM@~cbVZ;+hpou39A%c#kNF>yMVc>o3EOd((eo z8FLTw={HNx_;ze#_ErDQWz4+l^?f(o&-m5M-ii9S-?w5L_kOQqHZHfQe2>g8XUrUL zWA>T69=M18?vjf$y&d17{vFJoX}I)nWOluIjenr@t;u})zISTk%)WOs65sbOeD(W4 z==JxPzWM)A+CJOn(?5{JpTIU(#PtuB+^O`y=fit3Z|R@KZoW%C&u6linl@+xWA3BBifW8a0{=#kH*Q^Wv33Wx+(y*) z`U)T?9QGizS7N8yH{r_(`(Yo{`kcK5_>7%R9X?+>fpyEPaj#uqC%6uc{x!gy^1Djz zT5M}FX8ra}&b&TD?*vugvt{04=63=4*yr8YuG_>KpV{{SIY)5s#g_BDgY?4Qy$`50 z=6mn=y4 zW@AzJXR!UgM2|m^z<9p*5C;4o7i&cecXrddPnH) z$CgX);{kkgn!`0}ybr&B#^Q_*VLu3>Z{Na}6Ap8R_S@L0_B;4;BF-4v@4}`1_#VET zaF{px@qKJ_sfqje0k*Xmi=02iPWS&2zMPo8|BvC){eOZlCqf(h{}j$#YNDqJS&8l1=+g<9{nm*A(`XXDF>=xOxgIdJAu6VL8*vHO4{xaVQ_0rv^+L~PeP zf_px;oVs}KmtvdK9IjDgZ>`Z-^y4IK`xgCJhAk%?<_zr%uv6`Fd^zDrwJ*d^wI}1t ziRt}#5uCZy#F<`m8vx1zRrd$Eo<{G>2={*bi$o7H2#SJH5wM z_;SLLp7C`2^o*Uct_9JfbFi(+5!^cLs57{8;mqR*ZasG7j_2*AaOO0JYt-0Z-#=qfe?PWd zJZ~GY<%Gj}Lwg=}s(l&0oQSjT<=ZfTe*rL;n%nuNoX`AnApbAw7-V+*hnW0EAm{f& z`@hVaN?$%|*o>Xla3Q{&aHRFV5BsrU@LlIKqE_GE$jg}D0IFaVgnqo_)tgIy7613+9^1e?U>;-EEoa^T1GUa5 AtN;K2 literal 5856 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 diff --git a/gsk/vulkan/resources/blendmode.vert.spv b/gsk/vulkan/resources/blendmode.vert.spv index 2a8e9392ae8686df3584b457296b9f5c560ea1fa..4c4a8ebce3a196afc38380b600c71d841b129523 100644 GIT binary patch delta 18 ZcmZ3YxI~eYnMs+Qfq{{Mdn4y;0RSN312g~t delta 18 ZcmZ3YxI~eYnMs+Qfq{{MaUo3>9`0+Hw{dEVz;&-`hc+byBq~ETKR%iNUbGEi`Y3|(ar~S?jQ)bEydc^5|M|y+5 zD@C01MGL-_?S9uPe|x&6qcvqpO^Kl=r_{uP-km*Z)h*b}Av-9Af6$l(CY{>ZooY=h zp)?rM@7S2yxgLe2Qj@daquw0GR_gkeHor&J0#DxliDsuCP$8AGMm{$@8jo-qL!*@l zjrvI(T4OkDtvClC!_EqLEa3R4MJ&qd&nb8R@G>w^jc4@3Lnpvzm zp5#3Ob?3_N(_I#7wc$JTNdpbvJjLwQO(|wy7TPQwjhcL={Q`&h1G;AlEuno}w_-E; z#)W_r1;JG5rXV)IH57C<%W(EKaTdVP&Yu&OMaajx?zaXRB;SJ?Qden#jPnq)EM*-%60_k%r<$4=#& zHJx})LYHlb*UfjOhNKjix*!{E$R^`n!$q<40;hHy4Y0#)h+#o_^?e@cqyv0X6LyjP6o$mx5d$lKgS)} zRJkdTLktVjzXyZQO?p>+)J|1Y*NX%doM#M=;8s2^jy7gr#=TAV#i-@HS#dPLVU|99 z_$u8K0@=j$hS~%1djdY!@uB#r^(%v|t$r-4xWg0KXuy4P*WszOM*=Z!E6>Cq*zc8I zieAM#oRUoj$3;IEM=Rdp3)xhe6v!dQ?GT@v`=$7xU7PrShp+JnZcA^((O%o$8D8eC z*lvM8kc{qkLbZTSZFcuwKzA?wAWju@x66;>uLOL|m(z_#jWXR|g}i|8b7=oHk?ik8 Gvg{wZGv@gK delta 1680 zcmZ9M$xo9}6vbaBMvIZp1aU!4OpL}A3s(jc;(`ztP&CG!A<~#8LbbM$n3%>03eNb6 zf+MInB8o*tMZp25;$Ps(|HSkA`aRO{nv-|Wxx>5fzP58)W;RDd!Hwm{1oVlTKSR;B z`qRc3R~Qza37>>tLSZ`lHxTG^?;<(J#4mda{TOSBsF>|#p|IJEH5QjKSaJsV%Z=Uly%GX{9ER>&KP&1F3DRjDL} z!={iQ4yS^-2LF5w*ldv8ubmKj+U|2khPG8aq5X`&B7Q)7rO@f~%i4*x^{)85Ry+0J zJRLFOdp&_m`hqzkn~QNto502JbKpkJG_ym!!xgyP$W_@if{$^*X_A81gtX8mM$^}Q4V|ZF667&ed`%`+OdJ(C zEZD>wve8D}HLIP-O<8Gouqu{2r6wtSTOj6^U=P0|yY%q8;%LAgKH%q%NuvfaHh)}p zX%F|r(SV=t?s6(4_r=rhw(3}`tu`Tr=m&y*pNF!?1eVnv$sQAUAFDlia5J8`Pu zu`l;jHdV+X>WRSc`03-beNW2fYiVcqTsGPyv#Xz4;e8>FHsv-uPWMY$)U&zMve5vG ze)|2Hy^>8fF(-X3FPro5*?wkZm-h2o9BqaZBX4AlxQnY|t+wv06k^^Ab}H{=Q=4VA z_p;GSr}sg8)@_VBajKL~@1r+t`w Kl+V_*l>G;vO4UCA diff --git a/gsk/vulkan/resources/blur-clip.frag.spv b/gsk/vulkan/resources/blur-clip.frag.spv index d6619c9246626a4e121a71d8b38ccd4c6466aa43..edcb13a2f3bc3d535e5cf2088c1845725575acf7 100644 GIT binary patch delta 18 ZcmaDN|3sdXnMs+Qfq{{Mdn4yo3>9`0+Hw{dEVz;&-`hc+byBq~ETKR%iNUbGEi`Y3|(ar~S?jQ)bEydc^5|M|y+5 zD@C01MGL-_?S9uPe|x&6qcvqpO^Kl=r_{uP-km*Z)h*b}Av-9Af6$l(CY{>ZooY=h zp)?rM@7S2yxgLe2Qj@daquw0GR_gkeHor&J0#DxliDsuCP$8AGMm{$@8jo-qL!*@l zjrvI(T4OkDtvClC!_EqLEa3R4MJ&qd&nb8R@G>w^jc4@3Lnpvzm zp5#3Ob?3_N(_I#7wc$JTNdpbvJjLwQO(|wy7TPQwjhcL={Q`&h1G;AlEuno}w_-E; z#)W_r1;JG5rXV)IH57C<%W(EKaTdVP&Yu&OMaajx?zaXRB;SJ?Qden#jPnq)EM*-%60_k%r<$4=#& zHJx})LYHlb*UfjOhNKjix*!{E$R^`n!$q<40;hHy4Y0#)h+#o_^?e@cqyv0X6LyjP6o$mx5d$lKgS)} zRJkdTLktVjzXyZQO?p>+)J|1Y*NX%doM#M=;8s2^jy7gr#=TAV#i-@HS#dPLVU|99 z_$u8K0@=j$hS~%1djdY!@uB#r^(%v|t$r-4xWg0KXuy4P*WszOM*=Z!E6>Cq*zc8I zieAM#oRUoj$3;IEM=Rdp3)xhe6v!dQ?GT@v`=$7xU7PrShp+JnZcA^((O%o$8D8eC z*lvM8kc{qkLbZTSZFcuwKzA?wAWju@x66;>uLOL|m(z_#jWXR|g}i|8b7=oHk?ik8 Gvg{wZGv@gK delta 1680 zcmZ9M$xo9}6vbaBMvIZp1aU!4OpL}A3s(jc;(`ztP&CG!A<~#8LbbM$n3%>03eNb6 zf+MInB8o*tMZp25;$Ps(|HSkA`aRO{nv-|Wxx>5fzP58)W;RDd!Hwm{1oVlTKSR;B z`qRc3R~Qza37>>tLSZ`lHxTG^?;<(J#4mda{TOSBsF>|#p|IJEH5QjKSaJsV%Z=Uly%GX{9ER>&KP&1F3DRjDL} z!={iQ4yS^-2LF5w*ldv8ubmKj+U|2khPG8aq5X`&B7Q)7rO@f~%i4*x^{)85Ry+0J zJRLFOdp&_m`hqzkn~QNto502JbKpkJG_ym!!xgyP$W_@if{$^*X_A81gtX8mM$^}Q4V|ZF667&ed`%`+OdJ(C zEZD>wve8D}HLIP-O<8Gouqu{2r6wtSTOj6^U=P0|yY%q8;%LAgKH%q%NuvfaHh)}p zX%F|r(SV=t?s6(4_r=rhw(3}`tu`Tr=m&y*pNF!?1eVnv$sQAUAFDlia5J8`Pu zu`l;jHdV+X>WRSc`03-beNW2fYiVcqTsGPyv#Xz4;e8>FHsv-uPWMY$)U&zMve5vG ze)|2Hy^>8fF(-X3FPro5*?wkZm-h2o9BqaZBX4AlxQnY|t+wv06k^^Ab}H{=Q=4VA z_p;GSr}sg8)@_VBajKL~@1r+t`w Kl+V_*l>G;vO4UCA diff --git a/gsk/vulkan/resources/blur.frag.spv b/gsk/vulkan/resources/blur.frag.spv index d6619c9246626a4e121a71d8b38ccd4c6466aa43..edcb13a2f3bc3d535e5cf2088c1845725575acf7 100644 GIT binary patch delta 18 ZcmaDN|3sdXnMs+Qfq{{Mdn4y4FE0|1U>)& diff --git a/gsk/vulkan/resources/border-clip-rounded.vert.spv b/gsk/vulkan/resources/border-clip-rounded.vert.spv index 50ce2a23af48ba8b03f5abe42d6ac63609551140..38dd7e11a99e7c66c90329d3aa26a046d8470b53 100644 GIT binary patch delta 1031 zcmYk4-D(s;5QS@Y_Jzz=*wa=tXyrF1vYI>d;g)?IX?`{Uddj| z-pY<;>5s$Dm0&%)7G4~!3$q@rK3wh(<0S6)tZog1N6PuQm)wiDy2N>{QfLdS@!IWp zn6!JHuGK6w>al88&Fl6z66Gy0JqX|Jb`t4z`ndqH&>!@=g9q_S@^~nrVaM60@KTUY zPQzC4zr*Pwu`MdZcLzs7&(RfJD2wzZ4lZ)t%*kh=(ao9MujW2l5gX<&<+STLK=es@ zLVpk+t(qqaEiGy3q+R`8oA>CQd|e$X1l%RCZJ8+S;Eu9!%M% z!uMr&@`0K?lMl!8+@|B8mo;53z9m5HW;Qe18g0uXGwi%F(fE#hu21z_Y7tBvmH88& zqia7>Ja|_a?xXxY$L$Hj^JqTqg?#u(HZI~uwl9DHNdwzTav=YYb~K98_DlKjH1ykH z{}e~!c?vY90QTqJ$j=my#zeqg8wZhY>qN#gE{X5tA2^Lsf&IY~`MXZzzdM=4m!tYW DbAWvX delta 916 zcmYjP%Sr=55bVt)1|v~aB%&k;f*0`z6a^2m9#!xxK}7^H(QJH1SB>wuk+47DO>ZhW zDSGfTJo*jd-Kxn9>@3Z6RrU0A_w3W`i_t^m5;}BXR+|g5AJsu;BIL zG3FG*F_oDq0&}fxEX@^4>)v`{Qxc+t=eQCQ*XIjm4|)qT7x2RBvIo6QZo)5>acbeW z8gzo@pXzmdo3^8sMO>sL7Xx-p%3MTa%1)!vr`C#9x@@bl1!_viD&3CN*c!FCNRPfS zh$Ib~Ux{bs=S&?Kk_;ho3n9$K+9nKU>*T1H;J3ri!$yHuu^)r$GWt1u#`eH?o|xk% zNBoAJ{TMu=2{sW8VBt|5G{;iE-9GR3U@OS+37bT|Jod8TiFxl1@FHwpKZeLId~#ft z+cO;LIZ5IZ*#}@OwSM3MSOYnz9XR6aix@Nwl8qd~=Wtle6e=c0pe~GqsldlCB3Fnf zJ_0890RO~rJ}`L>(Z-#?C-1^)ChpV;Q`wZys}FJf4AKYoQ|#=UHCEx1XDROn+nHQ~ z=S-;aJ&5hOYxp7Jsqt-yt#%8)Vl+I{xR9{o9sH^h`DVmctHVDw8vna`^C#=J{R3H0 BX%YYc diff --git a/gsk/vulkan/resources/border-clip.frag.spv b/gsk/vulkan/resources/border-clip.frag.spv index 2fc1ca1dcb7d33fb0fb2ba1c5de6211ad5374599..e0e9f37f7e3e7d2e9a872bcf283fef91c2fdf23f 100644 GIT binary patch delta 18 ZcmX@(bH<00nMs+Qfq{{Mdn2c_8UQNy1DF5+ delta 18 ZcmX@(bH<00nMs+Qfq{{MaU-X*8UQNA1C9Uy diff --git a/gsk/vulkan/resources/border-clip.vert.spv b/gsk/vulkan/resources/border-clip.vert.spv index 50ce2a23af48ba8b03f5abe42d6ac63609551140..38dd7e11a99e7c66c90329d3aa26a046d8470b53 100644 GIT binary patch delta 1031 zcmYk4-D(s;5QS@Y_Jzz=*wa=tXyrF1vYI>d;g)?IX?`{Uddj| z-pY<;>5s$Dm0&%)7G4~!3$q@rK3wh(<0S6)tZog1N6PuQm)wiDy2N>{QfLdS@!IWp zn6!JHuGK6w>al88&Fl6z66Gy0JqX|Jb`t4z`ndqH&>!@=g9q_S@^~nrVaM60@KTUY zPQzC4zr*Pwu`MdZcLzs7&(RfJD2wzZ4lZ)t%*kh=(ao9MujW2l5gX<&<+STLK=es@ zLVpk+t(qqaEiGy3q+R`8oA>CQd|e$X1l%RCZJ8+S;Eu9!%M% z!uMr&@`0K?lMl!8+@|B8mo;53z9m5HW;Qe18g0uXGwi%F(fE#hu21z_Y7tBvmH88& zqia7>Ja|_a?xXxY$L$Hj^JqTqg?#u(HZI~uwl9DHNdwzTav=YYb~K98_DlKjH1ykH z{}e~!c?vY90QTqJ$j=my#zeqg8wZhY>qN#gE{X5tA2^Lsf&IY~`MXZzzdM=4m!tYW DbAWvX delta 916 zcmYjP%Sr=55bVt)1|v~aB%&k;f*0`z6a^2m9#!xxK}7^H(QJH1SB>wuk+47DO>ZhW zDSGfTJo*jd-Kxn9>@3Z6RrU0A_w3W`i_t^m5;}BXR+|g5AJsu;BIL zG3FG*F_oDq0&}fxEX@^4>)v`{Qxc+t=eQCQ*XIjm4|)qT7x2RBvIo6QZo)5>acbeW z8gzo@pXzmdo3^8sMO>sL7Xx-p%3MTa%1)!vr`C#9x@@bl1!_viD&3CN*c!FCNRPfS zh$Ib~Ux{bs=S&?Kk_;ho3n9$K+9nKU>*T1H;J3ri!$yHuu^)r$GWt1u#`eH?o|xk% zNBoAJ{TMu=2{sW8VBt|5G{;iE-9GR3U@OS+37bT|Jod8TiFxl1@FHwpKZeLId~#ft z+cO;LIZ5IZ*#}@OwSM3MSOYnz9XR6aix@Nwl8qd~=Wtle6e=c0pe~GqsldlCB3Fnf zJ_0890RO~rJ}`L>(Z-#?C-1^)ChpV;Q`wZys}FJf4AKYoQ|#=UHCEx1XDROn+nHQ~ z=S-;aJ&5hOYxp7Jsqt-yt#%8)Vl+I{xR9{o9sH^h`DVmctHVDw8vna`^C#=J{R3H0 BX%YYc diff --git a/gsk/vulkan/resources/border.frag.spv b/gsk/vulkan/resources/border.frag.spv index 2fc1ca1dcb7d33fb0fb2ba1c5de6211ad5374599..e0e9f37f7e3e7d2e9a872bcf283fef91c2fdf23f 100644 GIT binary patch delta 18 ZcmX@(bH<00nMs+Qfq{{Mdn2c_8UQNy1DF5+ delta 18 ZcmX@(bH<00nMs+Qfq{{MaU-X*8UQNA1C9Uy diff --git a/gsk/vulkan/resources/border.vert.spv b/gsk/vulkan/resources/border.vert.spv index 5cd6c74e2a36fe9dcb80dded001b826b1177f59a..4545d409838dc705df600cdeb3e5f9819ecd474f 100644 GIT binary patch delta 18 Zcmexk^~Z{nnMs+Qfq{{Mdn0GDEC4TV1N#5~ delta 18 Zcmexk^~Z{nnMs+Qfq{{MaU*B3EC4S&1MvU= diff --git a/gsk/vulkan/resources/color-clip-rounded.frag.spv b/gsk/vulkan/resources/color-clip-rounded.frag.spv index 74d6fb96894cef59830a853d900a8ff45c1e89ef..496f8371caf35925f7e141e0fb633eb7ad8b2f28 100644 GIT binary patch delta 18 ZcmZ4DxWti@nMs+Qfq{{Mdn4y;1pp-R1B3to delta 18 ZcmZ4DxWti@nMs+Qfq{{MaUG!+C+o}E&B+O5Cyi&2wEmmLkx(PP84n2^#8wEsqKZJMTH-y zRo|rZ8{hbbGxy$e@7#Otn~&W0TsGk@q>XV*#$?TVE4z`sGRC|L9ijUZ{5s7GdHa=8 z(XVg&_0T_2Xgode9CEcr5C*lX*mT4@F&|XJt>DzBF3!2b+-fB_SPL3qxw`9{lt~yS zb5bT5DX1NV>Z{LEdOGcvJLPoSefKL8L}7-P&bso5VJI9n<`@Q-5DI!z2UoB|a`HLk zSa~AylaWu3UetDFZ9Mo)_-=Di!ODRFGIpi%F>XSA4o%DK47yrK9t`b^u3bPr1!0`Copqa z<;=Mg;E8E_FB}V-+KK%hEGIMK9xdm{79|dOPXe{%riB@yr5@y3#_U9cC|VJT&bGj1 iASN%x#3~#Kd6SP2a_mTqNE-G8{t`L%?G66M3f@25XjusW delta 608 zcmYjN%SyyR5bQ}dSr&;04cR}up@adqwVNYL`J|H;J&jT(?3UcFz9vDd^gRD z^bAx&Y}UEhv&UJH*+U7$7bG!+C+o}E&B+O5Cyi&2wEmmLkx(PP84n2^#8wEsqKZJMTH-y zRo|rZ8{hbbGxy$e@7#Otn~&W0TsGk@q>XV*#$?TVE4z`sGRC|L9ijUZ{5s7GdHa=8 z(XVg&_0T_2Xgode9CEcr5C*lX*mT4@F&|XJt>DzBF3!2b+-fB_SPL3qxw`9{lt~yS zb5bT5DX1NV>Z{LEdOGcvJLPoSefKL8L}7-P&bso5VJI9n<`@Q-5DI!z2UoB|a`HLk zSa~AylaWu3UetDFZ9Mo)_-=Di!ODRFGIpi%F>XSA4o%DK47yrK9t`b^u3bPr1!0`Copqa z<;=Mg;E8E_FB}V-+KK%hEGIMK9xdm{79|dOPXe{%riB@yr5@y3#_U9cC|VJT&bGj1 iASN%x#3~#Kd6SP2a_mTqNE-G8{t`L%?G66M3f@25XjusW delta 608 zcmYjN%SyyR5bQ}dSr&;04cR}up@adqwVNYL`J|H;J&jT(?3UcFz9vDd^gRD z^bAx&Y}UEhv&UJH*+U7$7bW&ibciJTJCSndDw~4bg67+Nvm;+LUFJ(=Wx;X{d)mS~USjD`R+7+kyX zedT&hhwtiOjva2F?XXJR*^rJN3RV<29#PT*M@KND^ML8V=uqgN`<$&(2Xmo%jrt3p zhY7)KL9d=0XCl7v@3&roQa)S^1g!iGrEI=$VKOx*NtcWjUniJW0 zEYsSV6RX!c6gW_26`>>bu*rPImp1?a delta 1233 zcmZ{i&1(};6vbb@KQKb67^GHelKMe$saPb1(nYZdDI&JD8cmzT2AWJvQf;jotF2op zZ{yar2ueY5;ljVbe?k8d_53FDpcI^$%iMF%x%ZuUZ{FSbHJ6Em^9f@@x-;g@er9&4 z88XIGY$&!A+n;NHqt~gfdh1@t7!xy5U(smIdtD#LOjmrPb*r}7+vwDS8Wa55jOTT# z^u^7V{TRzGZTrj&^Gfx4x7G`$K2yD2=~S8letrb^kKk8F@U9(=zwP7oj3#i+23`+i zyygb9&x6k%!uUq7m-vXk3&;ID>gRCbfa6OXM=tJQBJm?Uy)F=u=!D{$On@;)ZA`eO zT#wP_`#hL!r*_JuOxs>c=lhQY+X^~5P`aow5sY;%FcYv&3H@e}^QrJ)4pfhUe;VY@ zA(&6lW3K41^ojOodh{}f;#}s%aVQR-7UobKP6~4<3Hv)e+%IYs-1ZbW1*3ed9H$Ff zh1H)ZM?-x|JH(3A(BuAva-74lIv9@Lm&$PshZFFmRuNY=I|3IZVjztOoQc=U*>D=M z3?|>zo4!f?tt_yod`xdNaA-Kly@R1+A5Mn8*zdWoMdxNg#JI#IogmGN!qjdnqQWsn zT)|(!Ahe4%QyA$lNpVidO}ZltyC3Y)vM?IzPIFiJd1-b6%{^gs)ZKJyPG45e%=y9o znES$W!V0^bO4(0^WaxqYRv5`t#ON^-in47MvZ-mUF(tHO-{*!eu8LeyxXD%JOfH$E vxv9LSpjNfT@$6bXsLSyu?Gzf<-%w8fAN{A~SLOE~S-OO; diff --git a/gsk/vulkan/resources/color-matrix-clip-rounded.vert.spv b/gsk/vulkan/resources/color-matrix-clip-rounded.vert.spv index f4951f653007b9ecf37bb1ac220e8a56dacaadf3..22fe32d5e8a26ea47576311852a3d11c38c49548 100644 GIT binary patch delta 1804 zcmYk6$xl;J6vl5`hAKmVCL%^aqYI6)aBVaJOmJhsAtuI!X`q-UghHtiO-N%D=Lw&R z6Ap+IqKJq%&m&rl3s-Jk>cT(3#P9d|F7%R*d%o|Sd+s^sy}nG@rMNN+W&{_Cm9nnNI z)+#mE)qPfvwkFm`cSeY_K7ZO*+Y)VC741lbTN@)L+XM`iu(C~-TTyIVLV3+BSLl^P zcgG`*3Gr+*=#2P7RTQkS4Ux{;SS;QoJ;!Z8T5YT)7GD!i#G@)0eZu+cFD;`j>#c8Y z?uaDP-jp*xFz&Xh08J;oR_i2f(heHC)o24PAk^tUacFg3`4zHRaE1%#Je<0xdBCl? z(3l$6$rHe7lkqgBdBA-#3U*^@2VaiIQ={!!F@JK2?g&ZRBXH+j@ow#ep;dT&=~Zww zeDf5uPdok4%W{wNSkTDHb37ohh(D-(h7k7n3GIqa>MckIoJE6+VF4XZ^+$y5!dmxbGUlkKX`9lHc^VZpXa-E-xIiqv*}@#5M>+8I7_-j3h@fhT zRO<-LoMKk0Zny%c3OOyCLhvz4I7O21jL_y(&#ZKYg27Ga#NtA|e6(<0Km#nw+^t*j zT@cO+#Mo?ovNO+L6i4fGe0ia=OR_kHYEN92-RAt!{Y#63W&L8A=dX&R^>aQsAnS^N zYKMAFHhEcAyDl4zYOQudHs@JZyD1wjbNIK!$w>~*5X0Q`H7PMTZQ-|N4?5rTN}YjV zQT82|{S#YQTvRqJ#^=Y5@t$n7VW&7hR5c>&u7JAB8|Ho4Ljpc~!>H^*rz<}_nlZ7= zoDap(#+;t~P;y+>0|C{x_eeH*Syp>28!dA*PsBOTvT;vkqh*ffnK(Jg!5LzvMuXE9 z{z7)I6E1K^lY9je>@Z%-Mgx4X_?>Z*FU1?7OW@5;YJV$~3h2a?Xn!Z5cYC9IFPog` tcAOt%zZB%FackrYfk=|D_AdfoN$Th80Jr5&%1(JcJ_M7a<%M-Q{{bJh^3nhR delta 1722 zcmYk6%TH556vn4qT6vYIT~tW~6BDB`x^!bSAuNas0}^B6$`C202~w#wVvK2wqWBiC z;1l1d_^wqE1;rOC#f3}b)}?=h-|sR59r7{f`_5y|oO^r!t^B(p>Xj^;XG}8^nQyNrG?ajzP!~3PHL^`n}BY!wJHQBi((cOYVOgQL5IT9OEsdQUJQp8O93%vMZ z8cTLIq&iaRO|6-9l3wsm`So5rRPeWXBSE{8O(p-d8r2f5mIU@pOSL$(8r32fhlea@ z2y@&E22yQ(3;)oD}v6 zn}dgK%qgpBo7GNRjV_us490OrAQs;up+@La4SZ*fX%7w}s9qv%_X*6NW;W;oa0Sjb zazQqY;A5t6nxx=>uv=&nqv?xQ8}M@#vG66av_Du;mp!br@L#bpm$kbZSBVl_jcc;e z0Ph?l?X~%XvZ+Cg%fBwWxQ83!Xu#(C2V&*no8oDIV`ZHl!Av)|r4W5faAUqBn^Ra$ zyDJ-wF*|KYHu)^4-II-0{5bB5Q-8F_~^M<-HJd}+#9E|c2UVn8} z+|R`3?|LFezKeY-8x62%pvPYFne4{`F^8=7TsHObx$|?fi_d={j+XPgVzF>uR=@wd zsxIs5zLG-BOTi7`wQOp$oHimGt$28E#K~v5xKY_?#lw3mPEBf%qnNqj;dIT9$u1tq zxH#HaFueD8{qbl#Yu|?;FCle8I4JO2$ZG#6#Dxig+Pt%$1ax=t&$2&Q-3|1MIA`MH lcfzLyjT)`me+c?qEDxNMR&dQvi}S4@k#ER!eyF-J@*lyu-wFT# diff --git a/gsk/vulkan/resources/color-matrix-clip.frag.spv b/gsk/vulkan/resources/color-matrix-clip.frag.spv index a9bd797c0062d81f3dcdd322f2b24c8e915d84cf..d02299566f0def442f98d99aff09a57eb254631f 100644 GIT binary patch literal 2948 zcmZ9NYjaao6oxl#l5&${a$;&#dgV-u14_S$m(8*_ov|=MK0d?gjUQo2-*=Mu-zu@Ox$J z!PfFPYcH3tUV(AU&3Yo7$qB{4Q88(=s^HuoN{~~0 zWvgDPRx4X~>#gCiKF)sXb?Ut&?bO@JsME@ly$-yC5idzwz1?<9$cqv8kXP@=RHM~P zhL`rbD{Fh*@|x_tY9G};9E_#s^wi=EdV`Vo9dZk1*Za+Elsr{zd9B|qmqP+#=8fZH z3huPoAx5Th7u=bBe9-NVJJ|%!`T0Drne($s(waIVF7F;{Ptu2-r`hgEkM1#M>9LK$ zVAP)EXSPYYLHGB3vz}Y<^A32`3e)%Z@(-J%X5aI2?(vk}n6g__HoZKLFSu>lwcYW~ z#vmPM%`~I`g6e>?`g=p!6CQVkv#38A?56GUKF&Sx_>W0D+X0{R@!T+v?{t#w9iLir z$hk!LP&Ku=ifr!MB8C<=_b#@X~^ z@v)x~`@Hs|gmpRCFG;6&YQLb`b*#g3QR=auPmIp9(6K_G#V z51aeRvi#gn;^BWCbmog6n>%X$Z-Z|AV{=dOFRHU`?RI8x5c2Xeq2nhnb`r2_I(z2D z8MBzh-$Jf6(`Eg|9Z$vitrxn@w`K}OuQ~8+17ZT=x4gN^N93H7EeSRf@ z1Aa>#Q6CIG&sUc)7ku=BjgQ!-gqh%L1bbCg@I8?%NXSQALt;JXlk3l#IQqv%r+4C3 zHD7XcC43{`;Df^*0{>ShaYMpP;lg9_Ze16T+3??l&RqC!V%EpCTmR<*{-1F4I3K;U zPDw1se9$?U(-F>p6S>c7zoUM5=N2XKc^9e2U4BIZ{--!4?H2-8)c%+Hd{sN^nfUmY zBw*x5x7@EupU(ZdFmQXeOMz3>BrZySLjs1dxW_Y+nmWV(ri2_Ozp6*@%MxPoTm84C zQ=jj{eerm0k(pTFmjc zaMl~r;jBxn&PUS85uf#4*>G9(1_#VyK9){QeAX4XtMIA9jDDV>=3tUr-W3_TJ9 R2h5)DQ|ZL;{-X2#{tqdC=X(GE literal 2716 zcmZ{mX>$`t5QYa^5@)z<11S=aaKasjLmZC76$NAxfdn>jP84BDc&nt9N?JScjeN_e zRPi794f$&!RE6SwM$=}as*I~W-EY6s-P_Z<_T++2M>##m>2zO}y7`4_nCy&-nhl&zbSPisG6o;#}6<)gHymt!K&lK#%S*dg-xJ zuQzCp;?vtGE>ZnGU##cme7^%;wZzo@Q2u^n(CB(z#x0H6kH+lp$Lt^fW9Qt@vTN(Z zwNfu0CXG0u{+#lFv$`97*&`ma!d=v#^w#6%a1&<^JpNnMOxD1+`twYf$JbiX(={Jj zeaN`S!u!gp&6Q;{Yez7&u$jBGO)rn()WVNl@Ycwtukfj_tl6Na%ne+0eAI}KIW`|U zzMN!HTzlrMx3in}tZdezsy7brz}^%_Zg@9S7&*aeDQq%eziOu*;=!BJZ}x&PIOqqY zQCnVeQ1y`$8(&`bHtk>t{_WcF^A6$Pp&cK1LACD;I_K~m5{GBNZ)f&N=L~p3(e`V{ z4<8@c?j8z>cUg?w_;xO^EwTu<;WY`*FZ7>n@oA?u_in3DoJqaA}>#B(SVDNdqWeI)3 zM=jX+IQyN1p5UV{?0IFuw<6(tPCU-xw;Fzs&Ruhk`mxceopbZ*FEM_S@Xo`*2ZtE~ z|5rD0RYFhU!ejBSToI4n@V5q?zVNq(UhmOv^&blOTjA*Gc+}3~J+c^6LFZnkQ}~Q@ zVjt9gOZD&$@qL2NyG1@``KSc^FL4Umj|D8R{cqLziFVc-@$t<{z=(}*u|JhQ9{ad3 zaC^3sfm2l{PDno`0Yg~KF|$}xW%y4^h+*=FY6L$c;VgcOeO5a8tLi+x|4ae~m)T~X zd0yt5JA(`7A7!-XVJ99lHYcH<7XNeUoO!88#6Ks218$u2(&_u}fpbARJaEeiX8eoN ziCGKtc}aSHOw4y#cyUa2sgKlhMMCd*R$>wdzU9Pk_jFY{Iny&RFB{zI`XX@bp7=ir t3}M+l{Tc4#OJQ(`V==BtCy(97b?cT(3#P9d|F7%R*d%o|Sd+s^sy}nG@rMNN+W&{_Cm9nnNI z)+#mE)qPfvwkFm`cSeY_K7ZO*+Y)VC741lbTN@)L+XM`iu(C~-TTyIVLV3+BSLl^P zcgG`*3Gr+*=#2P7RTQkS4Ux{;SS;QoJ;!Z8T5YT)7GD!i#G@)0eZu+cFD;`j>#c8Y z?uaDP-jp*xFz&Xh08J;oR_i2f(heHC)o24PAk^tUacFg3`4zHRaE1%#Je<0xdBCl? z(3l$6$rHe7lkqgBdBA-#3U*^@2VaiIQ={!!F@JK2?g&ZRBXH+j@ow#ep;dT&=~Zww zeDf5uPdok4%W{wNSkTDHb37ohh(D-(h7k7n3GIqa>MckIoJE6+VF4XZ^+$y5!dmxbGUlkKX`9lHc^VZpXa-E-xIiqv*}@#5M>+8I7_-j3h@fhT zRO<-LoMKk0Zny%c3OOyCLhvz4I7O21jL_y(&#ZKYg27Ga#NtA|e6(<0Km#nw+^t*j zT@cO+#Mo?ovNO+L6i4fGe0ia=OR_kHYEN92-RAt!{Y#63W&L8A=dX&R^>aQsAnS^N zYKMAFHhEcAyDl4zYOQudHs@JZyD1wjbNIK!$w>~*5X0Q`H7PMTZQ-|N4?5rTN}YjV zQT82|{S#YQTvRqJ#^=Y5@t$n7VW&7hR5c>&u7JAB8|Ho4Ljpc~!>H^*rz<}_nlZ7= zoDap(#+;t~P;y+>0|C{x_eeH*Syp>28!dA*PsBOTvT;vkqh*ffnK(Jg!5LzvMuXE9 z{z7)I6E1K^lY9je>@Z%-Mgx4X_?>Z*FU1?7OW@5;YJV$~3h2a?Xn!Z5cYC9IFPog` tcAOt%zZB%FackrYfk=|D_AdfoN$Th80Jr5&%1(JcJ_M7a<%M-Q{{bJh^3nhR delta 1722 zcmYk6%TH556vn4qT6vYIT~tW~6BDB`x^!bSAuNas0}^B6$`C202~w#wVvK2wqWBiC z;1l1d_^wqE1;rOC#f3}b)}?=h-|sR59r7{f`_5y|oO^r!t^B(p>Xj^;XG}8^nQyNrG?ajzP!~3PHL^`n}BY!wJHQBi((cOYVOgQL5IT9OEsdQUJQp8O93%vMZ z8cTLIq&iaRO|6-9l3wsm`So5rRPeWXBSE{8O(p-d8r2f5mIU@pOSL$(8r32fhlea@ z2y@&E22yQ(3;)oD}v6 zn}dgK%qgpBo7GNRjV_us490OrAQs;up+@La4SZ*fX%7w}s9qv%_X*6NW;W;oa0Sjb zazQqY;A5t6nxx=>uv=&nqv?xQ8}M@#vG66av_Du;mp!br@L#bpm$kbZSBVl_jcc;e z0Ph?l?X~%XvZ+Cg%fBwWxQ83!Xu#(C2V&*no8oDIV`ZHl!Av)|r4W5faAUqBn^Ra$ zyDJ-wF*|KYHu)^4-II-0{5bB5Q-8F_~^M<-HJd}+#9E|c2UVn8} z+|R`3?|LFezKeY-8x62%pvPYFne4{`F^8=7TsHObx$|?fi_d={j+XPgVzF>uR=@wd zsxIs5zLG-BOTi7`wQOp$oHimGt$28E#K~v5xKY_?#lw3mPEBf%qnNqj;dIT9$u1tq zxH#HaFueD8{qbl#Yu|?;FCle8I4JO2$ZG#6#Dxig+Pt%$1ax=t&$2&Q-3|1MIA`MH lcfzLyjT)`me+c?qEDxNMR&dQvi}S4@k#ER!eyF-J@*lyu-wFT# diff --git a/gsk/vulkan/resources/color-matrix.frag.spv b/gsk/vulkan/resources/color-matrix.frag.spv index a9bd797c0062d81f3dcdd322f2b24c8e915d84cf..d02299566f0def442f98d99aff09a57eb254631f 100644 GIT binary patch literal 2948 zcmZ9NYjaao6oxl#l5&${a$;&#dgV-u14_S$m(8*_ov|=MK0d?gjUQo2-*=Mu-zu@Ox$J z!PfFPYcH3tUV(AU&3Yo7$qB{4Q88(=s^HuoN{~~0 zWvgDPRx4X~>#gCiKF)sXb?Ut&?bO@JsME@ly$-yC5idzwz1?<9$cqv8kXP@=RHM~P zhL`rbD{Fh*@|x_tY9G};9E_#s^wi=EdV`Vo9dZk1*Za+Elsr{zd9B|qmqP+#=8fZH z3huPoAx5Th7u=bBe9-NVJJ|%!`T0Drne($s(waIVF7F;{Ptu2-r`hgEkM1#M>9LK$ zVAP)EXSPYYLHGB3vz}Y<^A32`3e)%Z@(-J%X5aI2?(vk}n6g__HoZKLFSu>lwcYW~ z#vmPM%`~I`g6e>?`g=p!6CQVkv#38A?56GUKF&Sx_>W0D+X0{R@!T+v?{t#w9iLir z$hk!LP&Ku=ifr!MB8C<=_b#@X~^ z@v)x~`@Hs|gmpRCFG;6&YQLb`b*#g3QR=auPmIp9(6K_G#V z51aeRvi#gn;^BWCbmog6n>%X$Z-Z|AV{=dOFRHU`?RI8x5c2Xeq2nhnb`r2_I(z2D z8MBzh-$Jf6(`Eg|9Z$vitrxn@w`K}OuQ~8+17ZT=x4gN^N93H7EeSRf@ z1Aa>#Q6CIG&sUc)7ku=BjgQ!-gqh%L1bbCg@I8?%NXSQALt;JXlk3l#IQqv%r+4C3 zHD7XcC43{`;Df^*0{>ShaYMpP;lg9_Ze16T+3??l&RqC!V%EpCTmR<*{-1F4I3K;U zPDw1se9$?U(-F>p6S>c7zoUM5=N2XKc^9e2U4BIZ{--!4?H2-8)c%+Hd{sN^nfUmY zBw*x5x7@EupU(ZdFmQXeOMz3>BrZySLjs1dxW_Y+nmWV(ri2_Ozp6*@%MxPoTm84C zQ=jj{eerm0k(pTFmjc zaMl~r;jBxn&PUS85uf#4*>G9(1_#VyK9){QeAX4XtMIA9jDDV>=3tUr-W3_TJ9 R2h5)DQ|ZL;{-X2#{tqdC=X(GE literal 2716 zcmZ{mX>$`t5QYa^5@)z<11S=aaKasjLmZC76$NAxfdn>jP84BDc&nt9N?JScjeN_e zRPi794f$&!RE6SwM$=}as*I~W-EY6s-P_Z<_T++2M>##m>2zO}y7`4_nCy&-nhl&zbSPisG6o;#}6<)gHymt!K&lK#%S*dg-xJ zuQzCp;?vtGE>ZnGU##cme7^%;wZzo@Q2u^n(CB(z#x0H6kH+lp$Lt^fW9Qt@vTN(Z zwNfu0CXG0u{+#lFv$`97*&`ma!d=v#^w#6%a1&<^JpNnMOxD1+`twYf$JbiX(={Jj zeaN`S!u!gp&6Q;{Yez7&u$jBGO)rn()WVNl@Ycwtukfj_tl6Na%ne+0eAI}KIW`|U zzMN!HTzlrMx3in}tZdezsy7brz}^%_Zg@9S7&*aeDQq%eziOu*;=!BJZ}x&PIOqqY zQCnVeQ1y`$8(&`bHtk>t{_WcF^A6$Pp&cK1LACD;I_K~m5{GBNZ)f&N=L~p3(e`V{ z4<8@c?j8z>cUg?w_;xO^EwTu<;WY`*FZ7>n@oA?u_in3DoJqaA}>#B(SVDNdqWeI)3 zM=jX+IQyN1p5UV{?0IFuw<6(tPCU-xw;Fzs&Ruhk`mxceopbZ*FEM_S@Xo`*2ZtE~ z|5rD0RYFhU!ejBSToI4n@V5q?zVNq(UhmOv^&blOTjA*Gc+}3~J+c^6LFZnkQ}~Q@ zVjt9gOZD&$@qL2NyG1@``KSc^FL4Umj|D8R{cqLziFVc-@$t<{z=(}*u|JhQ9{ad3 zaC^3sfm2l{PDno`0Yg~KF|$}xW%y4^h+*=FY6L$c;VgcOeO5a8tLi+x|4ae~m)T~X zd0yt5JA(`7A7!-XVJ99lHYcH<7XNeUoO!88#6Ks218$u2(&_u}fpbARJaEeiX8eoN ziCGKtc}aSHOw4y#cyUa2sgKlhMMCd*R$>wdzU9Pk_jFY{Iny&RFB{zI`XX@bp7=ir t3}M+l{Tc4#OJQ(`V==BtCy(97b?vqFZGnMs+Qfq{{Mdn2bj9{?ZE0<-`C delta 18 ZcmZ1>vqFZGnMs+Qfq{{MaU-WZ9{?Yn0;&K2 diff --git a/gsk/vulkan/resources/color.frag.spv b/gsk/vulkan/resources/color.frag.spv index d3ef64ef49738ce7eb0b159e7147316852e50dc3..0fd1f7436a1b490ba86eebdcde9c1daaee82e92f 100644 GIT binary patch delta 18 ZcmZ3%y@H#QnMs+Qfq{{Mdn4z3RsbHR0|@{C delta 18 ZcmZ3%y@H#QnMs+Qfq{{MaUGQowDnMs+Qfq{{Mdm|^i5&$8C0?+^e delta 18 ZcmbQ>GQowDnMs+Qfq{{MaU&%IU diff --git a/gsk/vulkan/resources/crossfade-clip-rounded.vert.spv b/gsk/vulkan/resources/crossfade-clip-rounded.vert.spv index 9ed91e1326b37a447c99105d65413e3e4ff73c42..b0165e395c6755c3c4c7d22cf344f266fa55ce31 100644 GIT binary patch literal 5976 zcmZ9OiFaL96~=FyyrdIlrlMF=>wr+pR4BCq#Zprw*wg~z7}C6#CR=yEMx{(kq}-5zqfzMj3m{hfXG+2`K-(lv8& zZ)}{R0~YmbTi}rOS>#TE+aVs}QQ$mw%3KuxU82Yd66q zU>o=pxD(t1c7UB=7uXHD_&1aJW)gL0bF%({q5gI2`UlnwjZ97swb~a=)P^SVdTpqh zH)|v9d~;3RtVEaBM<%AKsi1-)t)-InX7ku1ueWQ>7FiD8Ji2V9$g&Fi&mlGpwC6H! zEbL0QAM?mWK3T{MuDdv?h2Wy^&K58?Mn_w_Yv9=j|!(cx+MfpY_Kqa08;z#dK&+>D-idV}RETC-V9p zDqEX8D;4x>(fCX`7I&uSalFXIa~nE)s%{ks&R)t5CY;Zb+MnX4{()pM&myA6wGYASVeSJ9*w0?-`z`6?|5?m(ViD(_UE1>4@uJcQYp{L0eznl>mzI<>m#@6p}vx_?Hp?jFaH9}kML7emqX3svrtnJyC&^7zE9z<<>=kDVB zYusKhL+jrykL*Exo&i?w*=mRr=XV)Jseb=9l9rvdHt}h*me+|T%B%-)ImxZn3-8~1*%WHv6huzYvSFK5gg?`QUzyb8F7 z{^BlGZNo-EqwJmK%mcIG_ zR@$DyeEPeR_}{V36>izDg zzTf@S-(LDBvzzad&+|#_rKSy)ZQ^3CoJ}y}k&@35Puh z?Zw!s_TBh$!hYBXwLWK;0-v!{sl(@ME3j^PHSTpe*b1&hqyJuDPWj7A?h0&cGG_hu zP0qYNLmvWF;In1kVdf75`PkfkpT@QhV?N9J#?1E_koNYoB`5E&uFzhG-2`!GpTm|D z4z*WMlRf=BFqfKGe?4}({tNhWBJOcpx&DiA=1>#sZ@^A#y%Aqd#QM;F2`=61CVV*& z+Su!6ICH6qd$|SM8XUoW8C%YC26rpA>m9+}hApQq?(}wSbDG07YP^qYnTm8x{5w=`8NG(EbcN)&3k`PQ)2Q`wO_VAHT$x6Atr6KYoR6 zE;Vr(HY``-tb?teeNoCs~~|64e7sfnKc4%-?W!99R2XYIlL z9^3Vf;2y-5Qy1^YL)hjthilY$AKRIY#Tg&Q_KxB{9>JCq4s(X~QS4Ov7`~i{GpeoO z{{dVA{H9*U{70|=$g4Sk`Eej0eR%@gobqumPhwk>G3(#KEEhFBh3%Q5{-?3!gd?s0 zPxz_!8GJc0z5Zw6()ypnw|@Dk|IgU+QU71Cp8@hw|6j4K$(Z%;WR^2W5A#33ZeVOz z>Hn9iPXzvb(hD~aIA(+8=w>m`N$k1U{@t<KeEhijlpBCY# z+Lz+X2}i13jGt;>hA$_gr_qa-!JiD*J?gNhCUWwfY+$Xrhv0d*7?p4@w>f*US z0^6MCaE%&!YmLUDA4g)_x9GH`hcz0DGoFZ@-s1{!L7!QI)gh6&ODCb)?i2Oc-~$QXHIjtMveXT{WBKz_hZY&^R^aSPB^SL zw5MaI+Be|Ki8$+az6}HTX99DnxsGqj8O(14^8ccaL1xE)h{>-5a(*wg|Hr((^yQ<5 z4cKW7XW`2UM_TXM_^I|Bd^r*IM&371)1HejCmiODzj@z+Z7wx&2XDo;7DsSz!Y5{ literal 5840 zcmZ9OiFaL96~=FyyrdJQEtD!^O)V-yt*C`kDo`vnEd-ic#MzkUy(AaY_riNGrO40% zQV<751(^gz1?PDL6ciMkaMmh_K&}1-x?D?^zu(Q>=^>l-arXC}efHUBpL1W@F>`r$ zmd)V5gR*~RleRFM3D2^*SywUk_HFH3*=ko;t~%~mBj#rvMW8VU^PkoUwh!iY{U*2= z>;X4`d%^wSaj+Nc1N%V-|IK8)n?#-2oUFHRpm+1;-o6b3L*wHEt@Z_DwSlp`UK^<9 z&Du~q-%&GeRuY%jhsGwVX+VXDw3bTNoy}v9yxy)gTVy$E$MCAPBFif5KZm(Npg)&! zTj5u-1&l*u`FIgtXr0ALEd)w@XSRf~F+AL=wOa*W4R6+36JtbF=$*OxCt9QH8}(Lu zuufEl+F9th+4ddd@X0uP>3##-8WZ(uYf862g?@fsZI7yV7wf%&LLaT=Bcny?qJ}E^ zID0Y_d_+Fj9Nb>=d>S8zr)To+^7@;KQ+h^gKCr$cJ73=Lyj{f|kBkkRQ){+sJ2%y< zwVjjaem^nj{k7)g6tp;xy5?M?mACUooje`IJ5hH(-%Den&HN<)D4gs?iSBt1oMtxL zAr|YpiZ_oonZD-V9$?jvmRr+y;F}d>!@f(TpZD`9Uhv#X0kj49pINyeG>p*C} z3$^}4^G&F|2lUcc_b{%P{k_+vK$H7@`reNQ=8U^h(_F6>>%EtBz2CIl+RSH9PZ;dL?gfF;D+BY7w2;s3K3)x0p+j0x?ClBpjFU;$8f-n!Ic?M{5P%|tI^ya1>P%^pPT`|#7)3*l4m-f2r$+;zvsijb>wjF8sI+0Sj)AH z*MU92TC7!WT-0$RzI8a~Tb4U#zK?;lw>OoVx@KJwdo#ZG9e4I|d^MpNdpR}P(_4VK zjEVKP;-~9xgR64%;A$e)N9>(w>0Woi)kMU`UY|rWmoafK zpTf5WEwsDw)jVftpT>8+7TRa<)r^Zf{VcvY&EXnjybr%W=c4Y<;rsg%J^nntn$XM{ zv0uPXW4{Pj6LH3f{SumcMcyyts|n4#@jZM6-(1GT_wZGGYjG}eehoj}|LbryF@67U zpr!kN6RsvAHunD(nz@XLo_-tO8nn>9gRhp}$9Lhb*COtF_-g5Wd>?L3bGXJB@5A3e z=i-bH;NK6TZ$H3S6Iyy7KZK{T55m<%oH6n~gqHT>M{qTvnK%0JV|;TN6Zi2jzO^_P zIUm7K_x}l8O-$ear)cT^kHXbN#K!)Qp_$8==;_b!tw9Uz=lE*Y9@;PPU9W}qOMErs z;`{g&zB$d|8e_Z<|Nb}^XZ$t3cNF*W8+c%W${3B40zWfQ_oa%8ef5x{a=dAy6MzyHvFZiA*>i;Xgn$XhvpMa;aPr}v2 z^!opXme&6i-1^m{{=eft1)~0^@y)3o^*@7eP0m^WUPd)@bTR%D><7;6EBXJZ`UK#= zPrA|O0c|!|P24QTIf*|P-+#9p#2EihS&i@7=+jH^T@!uk!B-Pn+NWjkH1?%%HKC=k z%i(G4k#IE;J&j(x49#4|#M^y2eh<(>dj)+sdmeyoDKUW>Tn@YT|O91l0AIb36m{jf&o;*2NYr}wx9t|qkfj3>g=Gp>cJ3C-Af zygtA2*O%P8FsHGx=SleKo+lS`&L8Mi#GZnd?zs-GCZeyg=c#Dc;M*|gIuJd21HLtB zp{>V{Izu}R%{*FY8}K7{ytg-^nbRDuF~HGePkpJUuoa`mWTD}GwT*>E+X zrS-lUp2nU7R})chj6G3Le}fmmwfP`^gAc~Hj|&;&cXtH8JK=fBx diff --git a/gsk/vulkan/resources/crossfade-clip.frag.spv b/gsk/vulkan/resources/crossfade-clip.frag.spv index 76fa8b02dcb5843479c0c6d716e64dc2350faa7a..d4a6b2120946589f8ed21d705936cdfe88a72ea3 100644 GIT binary patch delta 18 Zcmeyu`-PX2nMs+Qfq{{Mdn4y-HUKG?1M&a> delta 18 Zcmeyu`-PX2nMs+Qfq{{MaUwr+pR4BCq#Zprw*wg~z7}C6#CR=yEMx{(kq}-5zqfzMj3m{hfXG+2`K-(lv8& zZ)}{R0~YmbTi}rOS>#TE+aVs}QQ$mw%3KuxU82Yd66q zU>o=pxD(t1c7UB=7uXHD_&1aJW)gL0bF%({q5gI2`UlnwjZ97swb~a=)P^SVdTpqh zH)|v9d~;3RtVEaBM<%AKsi1-)t)-InX7ku1ueWQ>7FiD8Ji2V9$g&Fi&mlGpwC6H! zEbL0QAM?mWK3T{MuDdv?h2Wy^&K58?Mn_w_Yv9=j|!(cx+MfpY_Kqa08;z#dK&+>D-idV}RETC-V9p zDqEX8D;4x>(fCX`7I&uSalFXIa~nE)s%{ks&R)t5CY;Zb+MnX4{()pM&myA6wGYASVeSJ9*w0?-`z`6?|5?m(ViD(_UE1>4@uJcQYp{L0eznl>mzI<>m#@6p}vx_?Hp?jFaH9}kML7emqX3svrtnJyC&^7zE9z<<>=kDVB zYusKhL+jrykL*Exo&i?w*=mRr=XV)Jseb=9l9rvdHt}h*me+|T%B%-)ImxZn3-8~1*%WHv6huzYvSFK5gg?`QUzyb8F7 z{^BlGZNo-EqwJmK%mcIG_ zR@$DyeEPeR_}{V36>izDg zzTf@S-(LDBvzzad&+|#_rKSy)ZQ^3CoJ}y}k&@35Puh z?Zw!s_TBh$!hYBXwLWK;0-v!{sl(@ME3j^PHSTpe*b1&hqyJuDPWj7A?h0&cGG_hu zP0qYNLmvWF;In1kVdf75`PkfkpT@QhV?N9J#?1E_koNYoB`5E&uFzhG-2`!GpTm|D z4z*WMlRf=BFqfKGe?4}({tNhWBJOcpx&DiA=1>#sZ@^A#y%Aqd#QM;F2`=61CVV*& z+Su!6ICH6qd$|SM8XUoW8C%YC26rpA>m9+}hApQq?(}wSbDG07YP^qYnTm8x{5w=`8NG(EbcN)&3k`PQ)2Q`wO_VAHT$x6Atr6KYoR6 zE;Vr(HY``-tb?teeNoCs~~|64e7sfnKc4%-?W!99R2XYIlL z9^3Vf;2y-5Qy1^YL)hjthilY$AKRIY#Tg&Q_KxB{9>JCq4s(X~QS4Ov7`~i{GpeoO z{{dVA{H9*U{70|=$g4Sk`Eej0eR%@gobqumPhwk>G3(#KEEhFBh3%Q5{-?3!gd?s0 zPxz_!8GJc0z5Zw6()ypnw|@Dk|IgU+QU71Cp8@hw|6j4K$(Z%;WR^2W5A#33ZeVOz z>Hn9iPXzvb(hD~aIA(+8=w>m`N$k1U{@t<KeEhijlpBCY# z+Lz+X2}i13jGt;>hA$_gr_qa-!JiD*J?gNhCUWwfY+$Xrhv0d*7?p4@w>f*US z0^6MCaE%&!YmLUDA4g)_x9GH`hcz0DGoFZ@-s1{!L7!QI)gh6&ODCb)?i2Oc-~$QXHIjtMveXT{WBKz_hZY&^R^aSPB^SL zw5MaI+Be|Ki8$+az6}HTX99DnxsGqj8O(14^8ccaL1xE)h{>-5a(*wg|Hr((^yQ<5 z4cKW7XW`2UM_TXM_^I|Bd^r*IM&371)1HejCmiODzj@z+Z7wx&2XDo;7DsSz!Y5{ literal 5840 zcmZ9OiFaL96~=FyyrdJQEtD!^O)V-yt*C`kDo`vnEd-ic#MzkUy(AaY_riNGrO40% zQV<751(^gz1?PDL6ciMkaMmh_K&}1-x?D?^zu(Q>=^>l-arXC}efHUBpL1W@F>`r$ zmd)V5gR*~RleRFM3D2^*SywUk_HFH3*=ko;t~%~mBj#rvMW8VU^PkoUwh!iY{U*2= z>;X4`d%^wSaj+Nc1N%V-|IK8)n?#-2oUFHRpm+1;-o6b3L*wHEt@Z_DwSlp`UK^<9 z&Du~q-%&GeRuY%jhsGwVX+VXDw3bTNoy}v9yxy)gTVy$E$MCAPBFif5KZm(Npg)&! zTj5u-1&l*u`FIgtXr0ALEd)w@XSRf~F+AL=wOa*W4R6+36JtbF=$*OxCt9QH8}(Lu zuufEl+F9th+4ddd@X0uP>3##-8WZ(uYf862g?@fsZI7yV7wf%&LLaT=Bcny?qJ}E^ zID0Y_d_+Fj9Nb>=d>S8zr)To+^7@;KQ+h^gKCr$cJ73=Lyj{f|kBkkRQ){+sJ2%y< zwVjjaem^nj{k7)g6tp;xy5?M?mACUooje`IJ5hH(-%Den&HN<)D4gs?iSBt1oMtxL zAr|YpiZ_oonZD-V9$?jvmRr+y;F}d>!@f(TpZD`9Uhv#X0kj49pINyeG>p*C} z3$^}4^G&F|2lUcc_b{%P{k_+vK$H7@`reNQ=8U^h(_F6>>%EtBz2CIl+RSH9PZ;dL?gfF;D+BY7w2;s3K3)x0p+j0x?ClBpjFU;$8f-n!Ic?M{5P%|tI^ya1>P%^pPT`|#7)3*l4m-f2r$+;zvsijb>wjF8sI+0Sj)AH z*MU92TC7!WT-0$RzI8a~Tb4U#zK?;lw>OoVx@KJwdo#ZG9e4I|d^MpNdpR}P(_4VK zjEVKP;-~9xgR64%;A$e)N9>(w>0Woi)kMU`UY|rWmoafK zpTf5WEwsDw)jVftpT>8+7TRa<)r^Zf{VcvY&EXnjybr%W=c4Y<;rsg%J^nntn$XM{ zv0uPXW4{Pj6LH3f{SumcMcyyts|n4#@jZM6-(1GT_wZGGYjG}eehoj}|LbryF@67U zpr!kN6RsvAHunD(nz@XLo_-tO8nn>9gRhp}$9Lhb*COtF_-g5Wd>?L3bGXJB@5A3e z=i-bH;NK6TZ$H3S6Iyy7KZK{T55m<%oH6n~gqHT>M{qTvnK%0JV|;TN6Zi2jzO^_P zIUm7K_x}l8O-$ear)cT^kHXbN#K!)Qp_$8==;_b!tw9Uz=lE*Y9@;PPU9W}qOMErs z;`{g&zB$d|8e_Z<|Nb}^XZ$t3cNF*W8+c%W${3B40zWfQ_oa%8ef5x{a=dAy6MzyHvFZiA*>i;Xgn$XhvpMa;aPr}v2 z^!opXme&6i-1^m{{=eft1)~0^@y)3o^*@7eP0m^WUPd)@bTR%D><7;6EBXJZ`UK#= zPrA|O0c|!|P24QTIf*|P-+#9p#2EihS&i@7=+jH^T@!uk!B-Pn+NWjkH1?%%HKC=k z%i(G4k#IE;J&j(x49#4|#M^y2eh<(>dj)+sdmeyoDKUW>Tn@YT|O91l0AIb36m{jf&o;*2NYr}wx9t|qkfj3>g=Gp>cJ3C-Af zygtA2*O%P8FsHGx=SleKo+lS`&L8Mi#GZnd?zs-GCZeyg=c#Dc;M*|gIuJd21HLtB zp{>V{Izu}R%{*FY8}K7{ytg-^nbRDuF~HGePkpJUuoa`mWTD}GwT*>E+X zrS-lUp2nU7R})chj6G3Le}fmmwfP`^gAc~Hj|&;&cXtH8JK=fBx diff --git a/gsk/vulkan/resources/crossfade.frag.spv b/gsk/vulkan/resources/crossfade.frag.spv index 76fa8b02dcb5843479c0c6d716e64dc2350faa7a..d4a6b2120946589f8ed21d705936cdfe88a72ea3 100644 GIT binary patch delta 18 Zcmeyu`-PX2nMs+Qfq{{Mdn4y-HUKG?1M&a> delta 18 Zcmeyu`-PX2nMs+Qfq{{MaU| diff --git a/gsk/vulkan/resources/inset-shadow-clip-rounded.frag.spv b/gsk/vulkan/resources/inset-shadow-clip-rounded.frag.spv index f61cf77d76759466672f16fd8869b7d20bf1b36d..f48ba11a027dfdd7e7f06f5438f3b602d918bfed 100644 GIT binary patch delta 18 ZcmZ1wydap9nMs+Qfq{{Mdn4y`O#mjU1El}} delta 18 ZcmZ1wydap9nMs+Qfq{{MaU1gh6oqGZy$MkW0$fml5)guhih>G(WCh7ID6t~ZMiz0tjE9SXbot>^VqGnW! z&5#*3Mzb8>sF=_MhV$@*CTGu8TWYE`%>mzRB)|O$Z!`I;_f~QwnDDlf^Ln?FQjovaQK=}NtW|4uTY^?7F+bm^H0?H_ zZ7qriDXXJZ>1Gz{mGWGw>n6KF-s>g5g6}2Q_NX|Xt6Jq+CP(WoN2}xlp{O@Ha>ca8 zam`KgGk3hjDij!T$j)4_LAY!M*ET?4-*WW2;P267_SVNr_bK!CVC+Qf|$}A47 z>rTwIAr4b9U&H?5z%Ex9d`;x2S<(1F;6eXTIXt_BKK#V(X{a4M=I-auauh~c=B Q9ic10VaLv1;b3v-AC)(&Z2$lO delta 1354 zcmYk4Pis>_6vgM|{n2QnU@3}=S`Y>4QWQa25ErGZRQv!X&{Q6TJe#Jte4DEEf8$fD zRcox)8h4U~>wXaNlN3C^$xNDr!_2wo-kCe+zRk-UmnvcD;xS_a{VV2Ir&7K4$QV-y zZ-p)4y|68O6g~?(LRZ)o_Jn<*_q+2i2-b_0(%JcSaent2iwoIm+D@~kiA`uYmtSlm zdw#aomJW~YUE~%JB-gY)6^O&R_?hrPxMRO%W1hR1mSOCLi*e0@ z494P@0=a1Cg!4j2XP~{}d*mXLZYhX$9f5h$%&gu8SK_ddH`>z(8gqivBnQ3|S^^p) zgM00R_KXRQ@xfaf{3i|>Yb%7 diff --git a/gsk/vulkan/resources/inset-shadow-clip.frag.spv b/gsk/vulkan/resources/inset-shadow-clip.frag.spv index 466051c47e9aa691e6dd67bd1dfaf4cff1a325e0..06ead8fe3d0bf044efb9d6b30a6ee995950dd704 100644 GIT binary patch delta 18 ZcmbQ@H^q;WnMs+Qfq{{Mdm|^eIshYB0`&j@ delta 18 ZcmbQ@H^q;WnMs+Qfq{{MaU&1gh6oqGZy$MkW0$fml5)guhih>G(WCh7ID6t~ZMiz0tjE9SXbot>^VqGnW! z&5#*3Mzb8>sF=_MhV$@*CTGu8TWYE`%>mzRB)|O$Z!`I;_f~QwnDDlf^Ln?FQjovaQK=}NtW|4uTY^?7F+bm^H0?H_ zZ7qriDXXJZ>1Gz{mGWGw>n6KF-s>g5g6}2Q_NX|Xt6Jq+CP(WoN2}xlp{O@Ha>ca8 zam`KgGk3hjDij!T$j)4_LAY!M*ET?4-*WW2;P267_SVNr_bK!CVC+Qf|$}A47 z>rTwIAr4b9U&H?5z%Ex9d`;x2S<(1F;6eXTIXt_BKK#V(X{a4M=I-auauh~c=B Q9ic10VaLv1;b3v-AC)(&Z2$lO delta 1354 zcmYk4Pis>_6vgM|{n2QnU@3}=S`Y>4QWQa25ErGZRQv!X&{Q6TJe#Jte4DEEf8$fD zRcox)8h4U~>wXaNlN3C^$xNDr!_2wo-kCe+zRk-UmnvcD;xS_a{VV2Ir&7K4$QV-y zZ-p)4y|68O6g~?(LRZ)o_Jn<*_q+2i2-b_0(%JcSaent2iwoIm+D@~kiA`uYmtSlm zdw#aomJW~YUE~%JB-gY)6^O&R_?hrPxMRO%W1hR1mSOCLi*e0@ z494P@0=a1Cg!4j2XP~{}d*mXLZYhX$9f5h$%&gu8SK_ddH`>z(8gqivBnQ3|S^^p) zgM00R_KXRQ@xfaf{3i|>Yb%7 diff --git a/gsk/vulkan/resources/inset-shadow.frag.spv b/gsk/vulkan/resources/inset-shadow.frag.spv index 466051c47e9aa691e6dd67bd1dfaf4cff1a325e0..06ead8fe3d0bf044efb9d6b30a6ee995950dd704 100644 GIT binary patch delta 18 ZcmbQ@H^q;WnMs+Qfq{{Mdm|^eIshYB0`&j@ delta 18 ZcmbQ@H^q;WnMs+Qfq{{MaU&jaYllZnMs+Qfq{{Mdn2ba4*(=x0~P=P delta 18 ZcmX>jaYllZnMs+Qfq{{MaU-WQ4*(=90}KEF diff --git a/gsk/vulkan/resources/linear-clip-rounded.frag.spv b/gsk/vulkan/resources/linear-clip-rounded.frag.spv index 2610f33ea467c10469b7f863bd742cf7437d7d59..5a7953ec0c7e7d1df42e78dd9c1c34e7589a5ca7 100644 GIT binary patch delta 18 ZcmaFk^TvmhnMs+Qfq{{Mdn0GE8UQbM1NZ;{ delta 18 ZcmaFk^TvmhnMs+Qfq{{MaU*B48UQav1MUC- diff --git a/gsk/vulkan/resources/linear-clip-rounded.vert.spv b/gsk/vulkan/resources/linear-clip-rounded.vert.spv index 9124ffbe413d8d5eaeb5736fcf248dd9cd7add95..77a39b828ca9fec74ff6cd63e35da192b79c2226 100644 GIT binary patch literal 8048 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 diff --git a/gsk/vulkan/resources/linear-clip.vert.spv b/gsk/vulkan/resources/linear-clip.vert.spv index 9124ffbe413d8d5eaeb5736fcf248dd9cd7add95..77a39b828ca9fec74ff6cd63e35da192b79c2226 100644 GIT binary patch literal 8048 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 diff --git a/gsk/vulkan/resources/linear.vert.spv b/gsk/vulkan/resources/linear.vert.spv index ef426921b6eb66a145be7f0e0b2d112cc99f7b3f..7069b9e48ddbc87dd4761a95304d3e075dcc33d8 100644 GIT binary patch delta 18 ZcmdmExW|x_nMs+Qfq{{Mdn4y&2>>QZ1Ec@| delta 18 ZcmdmExW|x_nMs+Qfq{{MaU>P+1DXH; diff --git a/gsk/vulkan/resources/mask-clip-rounded.frag.spv b/gsk/vulkan/resources/mask-clip-rounded.frag.spv index 0e5fd97626d0bd4e8acd2411869c9a57a0299f49..d0c9d218ee39e09187be9b91e742c2d548c41011 100644 GIT binary patch delta 18 ZcmdnvyvLc7nMs+Qfq{{Mdn4y&MF1$01JM8g delta 18 ZcmdnvyvLc7nMs+Qfq{{MaU59eyZn};|#gYfmmipF>CjpU9G9UL^_d5nhFy#=#JGB$@JF5 z{y23u7bxT!_awSEC;HMI$NQ z)rhl*84xk&i5b>hT;>gKfia7{BvT}5o8@y(c`A@ur*l!shXnd8S3Ib_!q;kiuX;tE zMs9^_4r|9F{x z7?U>7g>9aO+|kC==iODI9nNrWAQW{nI5;kJ2{>y|Q{0>o(205YNnxMRrkgW`Q@*CH zsGasT%(UtXT;hyCEx9GaG9jxT;$lSJIQ0wcrBM)@XIVbRD1ag2~-62zFK z;fT=fW-Dvmf1!EXFDdF3T9o4omjyJy!sbCemE0BKqCk!9HY#3v{;FcMQMausy7ZbD zr%>&QG4XD4ObhI*6Mxn3AZjBbN_}G1|ND+b2zq^PlKP2t(z3*AAlX}V{x=e zw<8=~KPC1^KppUh`$YVKK+bl_iBGsc!gHgVmQvdHnPRkQ_jfp&c`o);K(*I>Ax>|W z)n1CDm5%C_V$QQ{-D`2Q(owxpOiy}nhMMB2NLusn#E0Ff`QE59ABY4ykdNYMpmcbA z{GWsa0>Ac*_Rm60K&N}P_AdhZpg+E^;`BtfBmE}+UQn*y^Tx<9KaaC}jj`(4r)0*(M4?!c}O{u0=>rAy{8d6SrD<2Y zYh`BBJuAD7{R>f>{(%06p5Nzrb@Ir=d7tOKo_A&(+c2^|olLB&a4yha+WiB!@xTv?nS9?i)=&xfSv zGCkSMzMT9iHy-^-)HP9EQM)re&0(1Bh&^O%nuJdr`sY=#_wA0eRRcVwTgxIvM`Zv@GZ0;w^k+lbteVdZt=Wx~T_e^~8v8cHJ^~2XC+d-r)lr1)1GA@x^GeVoxws zsH&_B@=S0_=n$A}tGY1FX#pKh_cOvVVV4$OuKTRlbS-G-yv8tXdIPUGFA$4wm9SbE zR1JI=oZBBaB51orrX3Vm8N+PT+;9ah402gEgWzKoaE7Gduy9yt6=UctUK@^r>blg3 zST_1w)foM*t;}Eb{!!hQe~k#i@~_KA1AOvqaX@oY`-VUbVl4lr?9%?X#L>TP9@l&9YrQl8rVI@A5I;sJEs*zvNwRQXXnq-c#9VfWt8T{=rkSp9sVp_u4br z^ulMeOv^5v<+(VTuyW~QT|thasA*Ya-rBsBLdpxlcJoR$tvIH=mW@`r*Eizib1d$y zY_!t7z7wY=HONuS;$CsuTV`aJ?&pIz+DyFHk9ebW`v1LVq|OSx0>6{I?$1KKFe^}- s@8lN&-5&l`_9w5~e!q#+6Cb}J{#&5gd~>pk&Q-_G?;>-BpXrwJe^7G0wEzGB diff --git a/gsk/vulkan/resources/mask-clip.frag.spv b/gsk/vulkan/resources/mask-clip.frag.spv index 5e321e2f287fe37db52a0355b33a55ea8c02e271..00ca0800aa918a0e807572abf0f663a2193b0561 100644 GIT binary patch delta 18 ZcmX@Wdw`ddnMs+Qfq{{Mdn4y|HUJ_=16BY4 delta 18 ZcmX@Wdw`ddnMs+Qfq{{MaU59eyZn};|#gYfmmipF>CjpU9G9UL^_d5nhFy#=#JGB$@JF5 z{y23u7bxT!_awSEC;HMI$NQ z)rhl*84xk&i5b>hT;>gKfia7{BvT}5o8@y(c`A@ur*l!shXnd8S3Ib_!q;kiuX;tE zMs9^_4r|9F{x z7?U>7g>9aO+|kC==iODI9nNrWAQW{nI5;kJ2{>y|Q{0>o(205YNnxMRrkgW`Q@*CH zsGasT%(UtXT;hyCEx9GaG9jxT;$lSJIQ0wcrBM)@XIVbRD1ag2~-62zFK z;fT=fW-Dvmf1!EXFDdF3T9o4omjyJy!sbCemE0BKqCk!9HY#3v{;FcMQMausy7ZbD zr%>&QG4XD4ObhI*6Mxn3AZjBbN_}G1|ND+b2zq^PlKP2t(z3*AAlX}V{x=e zw<8=~KPC1^KppUh`$YVKK+bl_iBGsc!gHgVmQvdHnPRkQ_jfp&c`o);K(*I>Ax>|W z)n1CDm5%C_V$QQ{-D`2Q(owxpOiy}nhMMB2NLusn#E0Ff`QE59ABY4ykdNYMpmcbA z{GWsa0>Ac*_Rm60K&N}P_AdhZpg+E^;`BtfBmE}+UQn*y^Tx<9KaaC}jj`(4r)0*(M4?!c}O{u0=>rAy{8d6SrD<2Y zYh`BBJuAD7{R>f>{(%06p5Nzrb@Ir=d7tOKo_A&(+c2^|olLB&a4yha+WiB!@xTv?nS9?i)=&xfSv zGCkSMzMT9iHy-^-)HP9EQM)re&0(1Bh&^O%nuJdr`sY=#_wA0eRRcVwTgxIvM`Zv@GZ0;w^k+lbteVdZt=Wx~T_e^~8v8cHJ^~2XC+d-r)lr1)1GA@x^GeVoxws zsH&_B@=S0_=n$A}tGY1FX#pKh_cOvVVV4$OuKTRlbS-G-yv8tXdIPUGFA$4wm9SbE zR1JI=oZBBaB51orrX3Vm8N+PT+;9ah402gEgWzKoaE7Gduy9yt6=UctUK@^r>blg3 zST_1w)foM*t;}Eb{!!hQe~k#i@~_KA1AOvqaX@oY`-VUbVl4lr?9%?X#L>TP9@l&9YrQl8rVI@A5I;sJEs*zvNwRQXXnq-c#9VfWt8T{=rkSp9sVp_u4br z^ulMeOv^5v<+(VTuyW~QT|thasA*Ya-rBsBLdpxlcJoR$tvIH=mW@`r*Eizib1d$y zY_!t7z7wY=HONuS;$CsuTV`aJ?&pIz+DyFHk9ebW`v1LVq|OSx0>6{I?$1KKFe^}- s@8lN&-5&l`_9w5~e!q#+6Cb}J{#&5gd~>pk&Q-_G?;>-BpXrwJe^7G0wEzGB diff --git a/gsk/vulkan/resources/mask.frag.spv b/gsk/vulkan/resources/mask.frag.spv index 5e321e2f287fe37db52a0355b33a55ea8c02e271..00ca0800aa918a0e807572abf0f663a2193b0561 100644 GIT binary patch delta 18 ZcmX@Wdw`ddnMs+Qfq{{Mdn4y|HUJ_=16BY4 delta 18 ZcmX@Wdw`ddnMs+Qfq{{MaU@) diff --git a/gsk/vulkan/resources/outset-shadow-clip-rounded.frag.spv b/gsk/vulkan/resources/outset-shadow-clip-rounded.frag.spv index a6437204b09b285c094b1afe1d3d69dbd3c53060..46b09af170a854d48db76703fe5eb8549438073e 100644 GIT binary patch delta 18 Zcmewn{3Do?nMs+Qfq{{Mdn4z2O#m|r1g!u7 delta 18 Zcmewn{3Do?nMs+Qfq{{MaUnk=f3;yJ#XgT_=Cemn>{#WOvV&U(fqny zJUj8k81qh86Iw!B=m_gVSNJS^6@Cc4l{;6mndKy7N8@GrJeR8HXX=eG3hOnKH$#Sa z#>c~2G#4(F$@5&c&rMdt`IBKID%CEOO<=5{51zo}TtD^2NOkc8*PHz5#i$zAR4p(& zvZj@k?EXwUxvqC7xv%$n($>41{IMfPXgjP;)~odeSAr2JQK>Y_kvk@EBPljFzfdk+ zbg{hYB@?;7vwpaOqCBTm!w*J`0ey^th*@DuZ}NyurGt#gHp!V_Z_F+-T3UylopUxB zeh2d7`&_QV=VHV4Ps+I~+S+T~b@^Pb4lXCqiS#%??@{=nK;Qf1Khnw;Vq>X#`tV!~?tpS0Yh@M`JDU1@2E?d&S?g1Q zhx`?-JB3Q>zt*bUSYKT~;cY))MzvB9pKqIj_-t6)=C=m?tFqeyL-_p8HlF`tknfu5 ztpg~)m**2`0C8!63BIQ`%5VTa0{aH>d(CsZ3N~ceXF@0-!ZD>YcvB#b&z#SNyTYtQ zrtFI}re!m>n#O2rMrxtgOM%?g1?$#AHQ z4@dP6!ZiU7#qmA&QFc4!T3Y4Do8%`2keH1~kMB2rk&U`=U9I@OnQyXhr5uXm!y(B} a;fBCI)W-MRhU}aCzmR;}8_j>i&HR7plC*XJ delta 1206 zcmYk4J8u&~6oqF!yNe+*6evm&kwj2X1bzWZB!m#6A}J9Cm5mlGTOxJ|DqE!kC z9wkzE1@nFw%$wlQQ&A!Q2Isrp30~`H?z!jQnLB5E_t2gBny(z#;asF&&HY@hojH8p zIrmCSd=fqjUxiI!xUqJj60H}JpE|iN&UdbPcB#FRb+UHLCC)qc<4as@ z`?k9s>F~tP5I@!JG_zKnT-Ei98-6zB)T~w9_LHe)2gNUCnL*j#esaID=U^qtRHYcdRCHo5gaxHyRf8`0w#B_XHd0JE57$RV*IOJcFPQ4PSO! z99xVQ6*rUVJajO-Wv$Aad!Yj-(Y$G~xe6ckdUH6`ayzuRti}2Nz20sXYIV!~CMH(w z?RkR8Q_+|fr_<@)^|b2qnevu;dpD;O?rCKvZhoZXyd1fC@$*_A2z=B()Vfn>l>E6? zYQugnOFpHQ{owqos1eT{4Om$wjQ7X*CB+yS32Z<;=7oB6{tn|hhK=hO7IX&SuYf-1 z4#w_#Nm8vG0LQ4X0esl|vuncVT=tQW37D{;axT6hkcV^8$HFaPS${jW?Ugw#+qoxY zj=7d(7lu6*s72c+%nGa81MQh}xgA8&Q6(|rg~01D%%UcSt8jae*NPbg4cFle$%b!* z%K{n?01w)G#h8x9W55?&K5G0Zg5!t-t?X W=EH-wrT8jZRpL;=Rg? diff --git a/gsk/vulkan/resources/outset-shadow-clip.vert.spv b/gsk/vulkan/resources/outset-shadow-clip.vert.spv index d0cd27368d3d3086a0cac18ded7648916ef4d1f4..c70940d652ed877ef81f37c695eaf2da52b3fd77 100644 GIT binary patch delta 1324 zcmZ9LPiqrV6vbciGN~F;7hP0Ps^Cg$KY)mWRH(bQb|oSbG?CGelxDgq=%BcACxctj zouE}~wEnM&squfRAHkI?zk}!ZGOrCCIP>nk=f3;yJ#XgT_=Cemn>{#WOvV&U(fqny zJUj8k81qh86Iw!B=m_gVSNJS^6@Cc4l{;6mndKy7N8@GrJeR8HXX=eG3hOnKH$#Sa z#>c~2G#4(F$@5&c&rMdt`IBKID%CEOO<=5{51zo}TtD^2NOkc8*PHz5#i$zAR4p(& zvZj@k?EXwUxvqC7xv%$n($>41{IMfPXgjP;)~odeSAr2JQK>Y_kvk@EBPljFzfdk+ zbg{hYB@?;7vwpaOqCBTm!w*J`0ey^th*@DuZ}NyurGt#gHp!V_Z_F+-T3UylopUxB zeh2d7`&_QV=VHV4Ps+I~+S+T~b@^Pb4lXCqiS#%??@{=nK;Qf1Khnw;Vq>X#`tV!~?tpS0Yh@M`JDU1@2E?d&S?g1Q zhx`?-JB3Q>zt*bUSYKT~;cY))MzvB9pKqIj_-t6)=C=m?tFqeyL-_p8HlF`tknfu5 ztpg~)m**2`0C8!63BIQ`%5VTa0{aH>d(CsZ3N~ceXF@0-!ZD>YcvB#b&z#SNyTYtQ zrtFI}re!m>n#O2rMrxtgOM%?g1?$#AHQ z4@dP6!ZiU7#qmA&QFc4!T3Y4Do8%`2keH1~kMB2rk&U`=U9I@OnQyXhr5uXm!y(B} a;fBCI)W-MRhU}aCzmR;}8_j>i&HR7plC*XJ delta 1206 zcmYk4J8u&~6oqF!yNe+*6evm&kwj2X1bzWZB!m#6A}J9Cm5mlGTOxJ|DqE!kC z9wkzE1@nFw%$wlQQ&A!Q2Isrp30~`H?z!jQnLB5E_t2gBny(z#;asF&&HY@hojH8p zIrmCSd=fqjUxiI!xUqJj60H}JpE|iN&UdbPcB#FRb+UHLCC)qc<4as@ z`?k9s>F~tP5I@!JG_zKnT-Ei98-6zB)T~w9_LHe)2gNUCnL*j#esaID=U^qtRHYcdRCHo5gaxHyRf8`0w#B_XHd0JE57$RV*IOJcFPQ4PSO! z99xVQ6*rUVJajO-Wv$Aad!Yj-(Y$G~xe6ckdUH6`ayzuRti}2Nz20sXYIV!~CMH(w z?RkR8Q_+|fr_<@)^|b2qnevu;dpD;O?rCKvZhoZXyd1fC@$*_A2z=B()Vfn>l>E6? zYQugnOFpHQ{owqos1eT{4Om$wjQ7X*CB+yS32Z<;=7oB6{tn|hhK=hO7IX&SuYf-1 z4#w_#Nm8vG0LQ4X0esl|vuncVT=tQW37D{;axT6hkcV^8$HFaPS${jW?Ugw#+qoxY zj=7d(7lu6*s72c+%nGa81MQh}xgA8&Q6(|rg~01D%%UcSt8jae*NPbg4cFle$%b!* z%K{n?01w)G#h8x9W55?&K5G0Zg5!t-t?X W=EH-wrT8jZRpL;=Rg? diff --git a/gsk/vulkan/resources/outset-shadow.vert.spv b/gsk/vulkan/resources/outset-shadow.vert.spv index 260009fb885b28e9a00d3e163097c90ef554aa69..4423d343f84abb4a8e23ca19b6a41a9f471a19fe 100644 GIT binary patch delta 18 ZcmaDN_e749nMs+Qfq{{Mdn0EwKL99z18o2R delta 18 ZcmaDN_e749nMs+Qfq{{MaU*9mKL99B17iRH diff --git a/gsk/vulkan/resources/texture-clip-rounded.frag.spv b/gsk/vulkan/resources/texture-clip-rounded.frag.spv index 8b4b3b332e08eb6b9dc0e2057faf2217486d73f9..ca3a6511d9f746403390f65429840ed52404c915 100644 GIT binary patch delta 18 ZcmX@(aK?d?nMs+Qfq{{Mdn2c_0stv-19|`e delta 18 ZcmX@(aK?d?nMs+Qfq{{MaU-X*0stvL18@KU diff --git a/gsk/vulkan/resources/texture-clip-rounded.vert.spv b/gsk/vulkan/resources/texture-clip-rounded.vert.spv index cb6a9dadbbc3ffd4df85a5b174b2ad84f3807f08..9695b23d00b2a015c5554a627c414185aac48a17 100644 GIT binary patch delta 1599 zcmZ9M?MqW(7{;Howaqn$;GiS*No1 zviD|Iw(NbHmG-6opns<8cXl2*?2&8FeO>qKbL$-0Jia9xk8MgB>K^%?h{p|e$f4e){6JYeVXFRQEa%ky*;p+Y zki-lhI=kg(IEFyuwi?aR;zGARi9_oSn|8|Pz*zyDe0V*=bIKxbqlwq%<9#u2s{(Qo zMg$VpiI3_|hFWJhl(rpc_%{^R@fUQbh5nFV)2-MpExr+O zy&;%(-4ulL3#B0ZsBT`ykk()Kr;`VriCQ|9b38g+6b=h?-mWCNjSJ{-ieD0r3w!i3 zUU@mxbS-OFLXBp<8j&Hd3dG`DBdirFs)4U!%-*08K|3V!JYQfX4AZ4|z!kVW$W7S{ zf{&NN8IppxgreV(UhlW2Tf94BC80+?o^V${102RYqptYw3AY7eY_Z7tqov1qv`;%K0`+*4_j0x@>u&t%hvW3}h9(Rhm0 zUdSe&W3`uT8Zr8-c_mI!ijbtBV5@xl@Yy{~$>wj!?(wy3v?=oPXUxft4n8lAHpg1M zA5Go`aWr6`MJ4`Y{1i?Je1$ySzl7BSIx+3Ke+%e#6^pW|iEfv@B%3MZTN#X87g?&+ ITf3A00W#La4*&oF delta 1385 zcmZ9M%WIQC6vZb=)4T|116Ex$iclBg!bMl25Ja+U6>;N2ij5K|jm8wakq@!;Ss!ss zeN^kSYOSvr->F)){uTZyy72tIeiK3`9Oj&J@7%d_Niw;4yf+;QZ;BZc(kE?xSJVCJ zGsYMzJQJGr;-8Q=E_P)2;6S0gzfi6e#w1OrKKLwRrQ^j)u{2_$CSs_-ikc3;QfaiJ z__D6aSBY}rP(|^me@k&>Utw%74mnZN)UGo!ca=)zA^SHxn{#)i6l3Le4_?^k%lGsU z(8}vxx<`is-E1T}N@1@jIHo6?4N9BP9uX+DJI0yJE~?|00rdGI?HAU?eoNQx8EavDL_R zaT+1UQ_(a@!71UW&@V;PHv(_UhT@s%O{uaSO=SB{>n`HAgPdF1U5#n71XtsZINr1! zOlG#;72_1HJ24~Pe(ODHycxT?D-*phR<;|HSv#DJdk>|EKM>p~ABj_!<-Et@c#P6{ zv*Mg*Iq!)$Ui-+ON>h^>oFRv4>9^2p2)f4S#QAc#r#=_Qn`2z-=2t{tNaM}>&w43V zv)fYLwvt+vdo4x$m2fH;?i+C`5_31!#oKRuD~(t8Yc|Acww}t`f2p|lUW)iT!9Dkb zICWXh`zVgrKB`aBoM*Yb&*FIPqxvFEO=@t4oYtray2cm8HNV!VzKY{5Fe>lcis*M~ zJitE&KSwI@^IjBA3Vh!^?LUNWVNoE5@8wSceS*No1 zviD|Iw(NbHmG-6opns<8cXl2*?2&8FeO>qKbL$-0Jia9xk8MgB>K^%?h{p|e$f4e){6JYeVXFRQEa%ky*;p+Y zki-lhI=kg(IEFyuwi?aR;zGARi9_oSn|8|Pz*zyDe0V*=bIKxbqlwq%<9#u2s{(Qo zMg$VpiI3_|hFWJhl(rpc_%{^R@fUQbh5nFV)2-MpExr+O zy&;%(-4ulL3#B0ZsBT`ykk()Kr;`VriCQ|9b38g+6b=h?-mWCNjSJ{-ieD0r3w!i3 zUU@mxbS-OFLXBp<8j&Hd3dG`DBdirFs)4U!%-*08K|3V!JYQfX4AZ4|z!kVW$W7S{ zf{&NN8IppxgreV(UhlW2Tf94BC80+?o^V${102RYqptYw3AY7eY_Z7tqov1qv`;%K0`+*4_j0x@>u&t%hvW3}h9(Rhm0 zUdSe&W3`uT8Zr8-c_mI!ijbtBV5@xl@Yy{~$>wj!?(wy3v?=oPXUxft4n8lAHpg1M zA5Go`aWr6`MJ4`Y{1i?Je1$ySzl7BSIx+3Ke+%e#6^pW|iEfv@B%3MZTN#X87g?&+ ITf3A00W#La4*&oF delta 1385 zcmZ9M%WIQC6vZb=)4T|116Ex$iclBg!bMl25Ja+U6>;N2ij5K|jm8wakq@!;Ss!ss zeN^kSYOSvr->F)){uTZyy72tIeiK3`9Oj&J@7%d_Niw;4yf+;QZ;BZc(kE?xSJVCJ zGsYMzJQJGr;-8Q=E_P)2;6S0gzfi6e#w1OrKKLwRrQ^j)u{2_$CSs_-ikc3;QfaiJ z__D6aSBY}rP(|^me@k&>Utw%74mnZN)UGo!ca=)zA^SHxn{#)i6l3Le4_?^k%lGsU z(8}vxx<`is-E1T}N@1@jIHo6?4N9BP9uX+DJI0yJE~?|00rdGI?HAU?eoNQx8EavDL_R zaT+1UQ_(a@!71UW&@V;PHv(_UhT@s%O{uaSO=SB{>n`HAgPdF1U5#n71XtsZINr1! zOlG#;72_1HJ24~Pe(ODHycxT?D-*phR<;|HSv#DJdk>|EKM>p~ABj_!<-Et@c#P6{ zv*Mg*Iq!)$Ui-+ON>h^>oFRv4>9^2p2)f4S#QAc#r#=_Qn`2z-=2t{tNaM}>&w43V zv)fYLwvt+vdo4x$m2fH;?i+C`5_31!#oKRuD~(t8Yc|Acww}t`f2p|lUW)iT!9Dkb zICWXh`zVgrKB`aBoM*Yb&*FIPqxvFEO=@t4oYtray2cm8HNV!VzKY{5Fe>lcis*M~ zJitE&KSwI@^IjBA3Vh!^?LUNWVNoE5@8wScehc|wwtnMs+Qfq{{Mdn4z59snfm1B?Iw delta 18 ZcmX>hc|wwtnMs+Qfq{{MaU Date: Tue, 2 May 2023 19:44:06 +0200 Subject: [PATCH 3/4] vulkan: Compute offscreen texture coords properly Most of the time we want to compute them based on the child node we render to the offscreen, but not always. For blend and cross-fade nodes, they need to be computed based on the node's bounds. Fixes widget-factory page fade animation weirdly resizing the fading pages. --- gsk/vulkan/gskvulkanrenderpass.c | 119 +++++++++++++------------------ 1 file changed, 51 insertions(+), 68 deletions(-) diff --git a/gsk/vulkan/gskvulkanrenderpass.c b/gsk/vulkan/gskvulkanrenderpass.c index 24432ddd06..c23aa0ba7b 100644 --- a/gsk/vulkan/gskvulkanrenderpass.c +++ b/gsk/vulkan/gskvulkanrenderpass.c @@ -1012,9 +1012,8 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass *self, GskVulkanRender *render, GskVulkanUploader *uploader, GskRenderNode *node, - const graphene_rect_t *bounds, GskVulkanClip *current_clip, - graphene_rect_t *tex_rect) + graphene_rect_t *tex_bounds) { GskVulkanImage *result; cairo_surface_t *surface; @@ -1023,16 +1022,12 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass *self, switch ((guint) gsk_render_node_get_node_type (node)) { case GSK_TEXTURE_NODE: - if (graphene_rect_equal (bounds, &node->bounds)) - { - result = gsk_vulkan_renderer_ref_texture_image (GSK_VULKAN_RENDERER (gsk_vulkan_render_get_renderer (render)), - gsk_texture_node_get_texture (node), - uploader); - gsk_vulkan_render_add_cleanup_image (render, result); - *tex_rect = GRAPHENE_RECT_INIT(0, 0, 1, 1); - return result; - } - break; + result = gsk_vulkan_renderer_ref_texture_image (GSK_VULKAN_RENDERER (gsk_vulkan_render_get_renderer (render)), + gsk_texture_node_get_texture (node), + uploader); + gsk_vulkan_render_add_cleanup_image (render, result); + *tex_bounds = node->bounds; + return result; case GSK_CAIRO_NODE: /* We're using recording surfaces, so drawing them to an image @@ -1050,9 +1045,9 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass *self, graphene_rect_t clipped; if (current_clip) - graphene_rect_intersection (¤t_clip->rect.bounds, bounds, &clipped); + graphene_rect_intersection (¤t_clip->rect.bounds, &node->bounds, &clipped); else - clipped = *bounds; + clipped = node->bounds; if (clipped.size.width == 0 || clipped.size.height == 0) return NULL; @@ -1111,33 +1106,30 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass *self, /* assuming the unclipped bounds should go to texture coordinates 0..1, * calculate the coordinates for the clipped texture size */ - tex_rect->origin.x = (bounds->origin.x - clipped.origin.x)/clipped.size.width; - tex_rect->origin.y = (bounds->origin.y - clipped.origin.y)/clipped.size.height; - tex_rect->size.width = bounds->size.width/clipped.size.width; - tex_rect->size.height = bounds->size.height/clipped.size.height; + *tex_bounds = clipped; return result; } } GSK_RENDERER_DEBUG (gsk_vulkan_render_get_renderer (render), FALLBACK, "Node as texture not implemented for this case. Using %gx%g fallback surface", - ceil (bounds->size.width), - ceil (bounds->size.height)); + ceil (node->bounds.size.width), + ceil (node->bounds.size.height)); #ifdef G_ENABLE_DEBUG { GskProfiler *profiler = gsk_renderer_get_profiler (gsk_vulkan_render_get_renderer (render)); gsk_profiler_counter_add (profiler, self->fallback_pixels, - ceil (bounds->size.width) * ceil (bounds->size.height)); + ceil (node->bounds.size.width) * ceil (node->bounds.size.height)); } #endif /* XXX: We could intersect bounds with clip bounds here */ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, - ceil (bounds->size.width), - ceil (bounds->size.height)); + ceil (node->bounds.size.width), + ceil (node->bounds.size.height)); cr = cairo_create (surface); - cairo_translate (cr, -bounds->origin.x, -bounds->origin.y); + cairo_translate (cr, -node->bounds.origin.x, -node->bounds.origin.y); gsk_render_node_draw (node, cr); @@ -1153,10 +1145,7 @@ gsk_vulkan_render_pass_get_node_as_texture (GskVulkanRenderPass *self, gsk_vulkan_render_add_cleanup_image (render, result); - tex_rect->origin.x = (node->bounds.origin.x - bounds->origin.x)/bounds->size.width; - tex_rect->origin.y = (node->bounds.origin.y - bounds->origin.y)/bounds->size.height; - tex_rect->size.width = node->bounds.size.width/bounds->size.width; - tex_rect->size.height = node->bounds.size.height/bounds->size.height; + *tex_bounds = node->bounds; return result; } @@ -1250,6 +1239,18 @@ gsk_vulkan_render_pass_upload_fallback (GskVulkanRenderPass *self, gsk_vulkan_render_add_cleanup_image (render, op->source); } +static void +get_tex_rect (graphene_rect_t *tex_coords, + const graphene_rect_t *rect, + const graphene_rect_t *tex) +{ + graphene_rect_init (tex_coords, + (rect->origin.x - tex->origin.x) / tex->size.width, + (rect->origin.y - tex->origin.y) / tex->size.height, + rect->size.width / tex->size.width, + rect->size.height / tex->size.height); +} + void gsk_vulkan_render_pass_upload (GskVulkanRenderPass *self, GskVulkanRender *render, @@ -1294,63 +1295,61 @@ gsk_vulkan_render_pass_upload (GskVulkanRenderPass *self, case GSK_VULKAN_OP_OPACITY: { GskRenderNode *child = gsk_opacity_node_get_child (op->render.node); + graphene_rect_t tex_bounds; op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, child, - &child->bounds, clip, - &op->render.source_rect); + &tex_bounds); + get_tex_rect (&op->render.source_rect, &op->render.node->bounds, &tex_bounds); } break; case GSK_VULKAN_OP_REPEAT: { GskRenderNode *child = gsk_repeat_node_get_child (op->render.node); - const graphene_rect_t *bounds = &op->render.node->bounds; const graphene_rect_t *child_bounds = gsk_repeat_node_get_child_bounds (op->render.node); + graphene_rect_t tex_bounds; op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, child, - child_bounds, NULL, - &op->render.source_rect); - - op->render.source_rect.origin.x = (bounds->origin.x - child_bounds->origin.x)/child_bounds->size.width; - op->render.source_rect.origin.y = (bounds->origin.y - child_bounds->origin.y)/child_bounds->size.height; - op->render.source_rect.size.width = bounds->size.width / child_bounds->size.width; - op->render.source_rect.size.height = bounds->size.height / child_bounds->size.height; + &tex_bounds); + get_tex_rect (&op->render.source_rect, child_bounds, &tex_bounds); } break; case GSK_VULKAN_OP_BLUR: { GskRenderNode *child = gsk_blur_node_get_child (op->render.node); + graphene_rect_t tex_bounds; op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, child, - &child->bounds, clip, - &op->render.source_rect); + &tex_bounds); + get_tex_rect (&op->render.source_rect, &op->render.node->bounds, &tex_bounds); } break; case GSK_VULKAN_OP_COLOR_MATRIX: { GskRenderNode *child = gsk_color_matrix_node_get_child (op->render.node); + graphene_rect_t tex_bounds; op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, child, - &child->bounds, clip, - &op->render.source_rect); + &tex_bounds); + get_tex_rect (&op->render.source_rect, &op->render.node->bounds, &tex_bounds); } break; @@ -1358,31 +1357,23 @@ gsk_vulkan_render_pass_upload (GskVulkanRenderPass *self, { GskRenderNode *start = gsk_cross_fade_node_get_start_child (op->render.node); GskRenderNode *end = gsk_cross_fade_node_get_end_child (op->render.node); - const graphene_rect_t *bounds = &op->render.node->bounds; + graphene_rect_t tex_bounds; op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, start, - &start->bounds, clip, - &op->render.source_rect); - op->render.source_rect.origin.x = (bounds->origin.x - start->bounds.origin.x)/start->bounds.size.width; - op->render.source_rect.origin.y = (bounds->origin.y - start->bounds.origin.y)/start->bounds.size.height; - op->render.source_rect.size.width = bounds->size.width / start->bounds.size.width; - op->render.source_rect.size.height = bounds->size.height / start->bounds.size.height; + &tex_bounds); + get_tex_rect (&op->render.source_rect, &op->render.node->bounds, &tex_bounds); op->render.source2 = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, end, - &end->bounds, clip, - &op->render.source2_rect); - op->render.source2_rect.origin.x = (bounds->origin.x - end->bounds.origin.x)/end->bounds.size.width; - op->render.source2_rect.origin.y = (bounds->origin.y - end->bounds.origin.y)/end->bounds.size.height; - op->render.source2_rect.size.width = bounds->size.width / end->bounds.size.width; - op->render.source2_rect.size.height = bounds->size.height / end->bounds.size.height; + &tex_bounds); + get_tex_rect (&op->render.source2_rect, &op->render.node->bounds, &tex_bounds); } break; @@ -1390,31 +1381,23 @@ gsk_vulkan_render_pass_upload (GskVulkanRenderPass *self, { GskRenderNode *top = gsk_blend_node_get_top_child (op->render.node); GskRenderNode *bottom = gsk_blend_node_get_bottom_child (op->render.node); - const graphene_rect_t *bounds = &op->render.node->bounds; + graphene_rect_t tex_bounds; op->render.source = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, top, - &top->bounds, clip, - &op->render.source_rect); - op->render.source_rect.origin.x = (bounds->origin.x - top->bounds.origin.x)/top->bounds.size.width; - op->render.source_rect.origin.y = (bounds->origin.y - top->bounds.origin.y)/top->bounds.size.height; - op->render.source_rect.size.width = bounds->size.width / top->bounds.size.width; - op->render.source_rect.size.height = bounds->size.height / top->bounds.size.height; + &tex_bounds); + get_tex_rect (&op->render.source_rect, &op->render.node->bounds, &tex_bounds); op->render.source2 = gsk_vulkan_render_pass_get_node_as_texture (self, render, uploader, bottom, - &bottom->bounds, clip, - &op->render.source2_rect); - op->render.source2_rect.origin.x = (bounds->origin.x - bottom->bounds.origin.x)/bottom->bounds.size.width; - op->render.source2_rect.origin.y = (bounds->origin.y - bottom->bounds.origin.y)/bottom->bounds.size.height; - op->render.source2_rect.size.width = bounds->size.width / bottom->bounds.size.width; - op->render.source2_rect.size.height = bounds->size.height / bottom->bounds.size.height; + &tex_bounds); + get_tex_rect (&op->render.source2_rect, &op->render.node->bounds, &tex_bounds); } break; From f8416213489388a14b733f923a1b05f352a08299 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 2 May 2023 19:48:54 +0200 Subject: [PATCH 4/4] css: Don't transition to currentColor Transition to the color that is in use instead. Fixes crashes because currentColor is not an RGBA color and therefor could not be queried later. Fixes #5798 --- gtk/gtkcssfiltervalue.c | 16 ++++++++-------- gtk/gtkcssshadowvalue.c | 4 ++-- gtk/gtkcssshadowvalueprivate.h | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gtk/gtkcssfiltervalue.c b/gtk/gtkcssfiltervalue.c index 1178a7f2ce..4ec7c1b7f4 100644 --- a/gtk/gtkcssfiltervalue.c +++ b/gtk/gtkcssfiltervalue.c @@ -102,10 +102,10 @@ gtk_css_filter_clear (GtkCssFilter *filter) } static void -gtk_css_filter_init_identity (GtkCssFilter *filter, - GtkCssFilterType type) +gtk_css_filter_init_identity (GtkCssFilter *filter, + const GtkCssFilter *other) { - switch (type) + switch (other->type) { case GTK_CSS_FILTER_BRIGHTNESS: filter->brightness.value = _gtk_css_number_value_new (1, GTK_CSS_NUMBER); @@ -135,7 +135,7 @@ gtk_css_filter_init_identity (GtkCssFilter *filter, filter->blur.value = _gtk_css_number_value_new (0, GTK_CSS_PX); break; case GTK_CSS_FILTER_DROP_SHADOW: - filter->drop_shadow.value = gtk_css_shadow_value_new_filter (); + filter->drop_shadow.value = gtk_css_shadow_value_new_filter (other->drop_shadow.value); break; case GTK_CSS_FILTER_NONE: default: @@ -143,7 +143,7 @@ gtk_css_filter_init_identity (GtkCssFilter *filter, break; } - filter->type = type; + filter->type = other->type; } #define R 0.2126 @@ -464,7 +464,7 @@ gtk_css_value_filter_equal (const GtkCssValue *value1, { GtkCssFilter filter; - gtk_css_filter_init_identity (&filter, larger->filters[i].type); + gtk_css_filter_init_identity (&filter, &larger->filters[i]); if (!gtk_css_filter_equal (&larger->filters[i], &filter)) { @@ -588,7 +588,7 @@ gtk_css_value_filter_transition (GtkCssValue *start, { GtkCssFilter filter; - gtk_css_filter_init_identity (&filter, start->filters[i].type); + gtk_css_filter_init_identity (&filter, &start->filters[i]); gtk_css_filter_transition (&result->filters[i], &start->filters[i], &filter, @@ -600,7 +600,7 @@ gtk_css_value_filter_transition (GtkCssValue *start, { GtkCssFilter filter; - gtk_css_filter_init_identity (&filter, end->filters[i].type); + gtk_css_filter_init_identity (&filter, &end->filters[i]); gtk_css_filter_transition (&result->filters[i], &filter, &end->filters[i], diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c index e670356550..6cc52c6bc1 100644 --- a/gtk/gtkcssshadowvalue.c +++ b/gtk/gtkcssshadowvalue.c @@ -331,7 +331,7 @@ gtk_css_shadow_value_new (ShadowValue *shadows, } GtkCssValue * -gtk_css_shadow_value_new_filter (void) +gtk_css_shadow_value_new_filter (const GtkCssValue *other) { ShadowValue value; @@ -340,7 +340,7 @@ gtk_css_shadow_value_new_filter (void) value.voffset = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); value.radius = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); value.spread = _gtk_css_number_value_new (0, GTK_CSS_NUMBER); - value.color = _gtk_css_color_value_new_current_color (); + value.color = gtk_css_value_ref (other->shadows[0].color); return gtk_css_shadow_value_new (&value, 1, TRUE); } diff --git a/gtk/gtkcssshadowvalueprivate.h b/gtk/gtkcssshadowvalueprivate.h index c84ee7cd95..ddd7f672e3 100644 --- a/gtk/gtkcssshadowvalueprivate.h +++ b/gtk/gtkcssshadowvalueprivate.h @@ -34,7 +34,7 @@ G_BEGIN_DECLS GtkCssValue * gtk_css_shadow_value_new_none (void); -GtkCssValue * gtk_css_shadow_value_new_filter (void); +GtkCssValue * gtk_css_shadow_value_new_filter (const GtkCssValue *other); GtkCssValue * gtk_css_shadow_value_parse (GtkCssParser *parser, gboolean box_shadow_mode);