From 54eaf5667bb6175e71d97ff527334faa4a572c6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Tue, 15 Jan 2019 22:54:48 -0800 Subject: [PATCH] Built missing metal shaders. --- examples/makefile | 2 ++ .../runtime/shaders/metal/cs_assao_apply.bin | Bin 0 -> 3075 bytes .../metal/cs_assao_generate_importance_map.bin | Bin 0 -> 1655 bytes .../shaders/metal/cs_assao_generate_q0.bin | Bin 0 -> 8741 bytes .../shaders/metal/cs_assao_generate_q1.bin | Bin 0 -> 11275 bytes .../shaders/metal/cs_assao_generate_q2.bin | Bin 0 -> 13020 bytes .../shaders/metal/cs_assao_generate_q3.bin | Bin 0 -> 14087 bytes .../shaders/metal/cs_assao_generate_q3base.bin | Bin 0 -> 8841 bytes .../metal/cs_assao_load_counter_clear.bin | Bin 0 -> 267 bytes .../shaders/metal/cs_assao_non_smart_apply.bin | Bin 0 -> 1198 bytes .../shaders/metal/cs_assao_non_smart_blur.bin | Bin 0 -> 2010 bytes .../metal/cs_assao_non_smart_half_apply.bin | Bin 0 -> 985 bytes .../cs_assao_postprocess_importance_map_a.bin | Bin 0 -> 1533 bytes .../cs_assao_postprocess_importance_map_b.bin | Bin 0 -> 2110 bytes .../metal/cs_assao_prepare_depth_mip.bin | Bin 0 -> 3294 bytes .../shaders/metal/cs_assao_prepare_depths.bin | Bin 0 -> 1626 bytes .../cs_assao_prepare_depths_and_normals.bin | Bin 0 -> 9047 bytes ...cs_assao_prepare_depths_and_normals_half.bin | Bin 0 -> 5673 bytes .../metal/cs_assao_prepare_depths_half.bin | Bin 0 -> 1158 bytes .../shaders/metal/cs_assao_smart_blur.bin | Bin 0 -> 2242 bytes .../shaders/metal/cs_assao_smart_blur_wide.bin | Bin 0 -> 3159 bytes .../shaders/metal/cs_gdr_downscale_hi_z.bin | Bin 0 -> 1413 bytes .../shaders/metal/cs_gdr_occlude_props.bin | Bin 0 -> 4013 bytes .../shaders/metal/cs_gdr_stream_compaction.bin | Bin 0 -> 4127 bytes examples/runtime/shaders/metal/cs_update.bin | Bin 0 -> 816 bytes .../shaders/metal/fs_assao_deferred_combine.bin | Bin 0 -> 1570 bytes .../runtime/shaders/metal/fs_assao_gbuffer.bin | Bin 0 -> 711 bytes .../fs_gdr_instanced_indirect_rendering.bin | Bin 0 -> 805 bytes examples/runtime/shaders/metal/vs_assao.bin | Bin 0 -> 693 bytes .../runtime/shaders/metal/vs_assao_gbuffer.bin | Bin 0 -> 980 bytes .../vs_gdr_instanced_indirect_rendering.bin | Bin 0 -> 1004 bytes .../shaders/metal/vs_gdr_render_occlusion.bin | Bin 0 -> 866 bytes 32 files changed, 2 insertions(+) create mode 100644 examples/runtime/shaders/metal/cs_assao_apply.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_generate_importance_map.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_generate_q0.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_generate_q1.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_generate_q2.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_generate_q3.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_generate_q3base.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_load_counter_clear.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_non_smart_apply.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_non_smart_blur.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_non_smart_half_apply.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_postprocess_importance_map_a.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_postprocess_importance_map_b.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_prepare_depth_mip.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_prepare_depths.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_prepare_depths_and_normals.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_prepare_depths_and_normals_half.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_prepare_depths_half.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_smart_blur.bin create mode 100644 examples/runtime/shaders/metal/cs_assao_smart_blur_wide.bin create mode 100644 examples/runtime/shaders/metal/cs_gdr_downscale_hi_z.bin create mode 100644 examples/runtime/shaders/metal/cs_gdr_occlude_props.bin create mode 100644 examples/runtime/shaders/metal/cs_gdr_stream_compaction.bin create mode 100644 examples/runtime/shaders/metal/cs_update.bin create mode 100644 examples/runtime/shaders/metal/fs_assao_deferred_combine.bin create mode 100644 examples/runtime/shaders/metal/fs_assao_gbuffer.bin create mode 100644 examples/runtime/shaders/metal/fs_gdr_instanced_indirect_rendering.bin create mode 100644 examples/runtime/shaders/metal/vs_assao.bin create mode 100644 examples/runtime/shaders/metal/vs_assao_gbuffer.bin create mode 100644 examples/runtime/shaders/metal/vs_gdr_instanced_indirect_rendering.bin create mode 100644 examples/runtime/shaders/metal/vs_gdr_render_occlusion.bin diff --git a/examples/makefile b/examples/makefile index aee1b0962..387bf7605 100644 --- a/examples/makefile +++ b/examples/makefile @@ -39,6 +39,8 @@ rebuild: @make -s --no-print-directory rebuild -C 36-sky # @make -s --no-print-directory rebuild -C 37-gpudrivenrendering @make -s --no-print-directory rebuild -C 38-bloom +# @make -s --no-print-directory rebuild -C 39-assao + @make -s --no-print-directory rebuild -C 40-svt @make -s --no-print-directory rebuild -C common/debugdraw @make -s --no-print-directory rebuild -C common/font @make -s --no-print-directory rebuild -C common/imgui diff --git a/examples/runtime/shaders/metal/cs_assao_apply.bin b/examples/runtime/shaders/metal/cs_assao_apply.bin new file mode 100644 index 0000000000000000000000000000000000000000..18d50ca6e18e10dd3744e48ca0c34d5d22fe2f7d GIT binary patch literal 3075 zcmc&$U2oeq6jkz2wA!B_Fsz_fPt~`qBr`B+hg0P><`kt5ON0Y#{C~GbP(sSRr$^3eM04uyUp8+7Pt5)zz^hs>$h2(qk z5ypn0mM>Rj-ViqRox?HB1w*bLGJnsTDlf@nU1Vfaa`9f2?|D(t0Z&)^ny{rPSx4^f z?z_bzZ>VF<=My6Gjp&-(%Wfq2gzz-Y+xF^e-4r69k(LSGJmlgx6$j}$<1nA`rr}Qt z1=AKq#mn2D=PNT6xn=k zY27j1BP>WFkU~CC1f(YcEqn81kvBR{DPb$`;D}nVVnHY`ODcu%C_-E0M(fr`Z`YP3 zmshPmIsj-13tbQDfLoboZ!Gc+@f7Y(4AwftKt+2o{p!XJLLDn;qat*eYJl@qWs?3 zb~XBR2SW)4_^w{NJ(sw?^dkeXV*)9WBG~o>>%SpTTg&xFBw&rD4OtZK^rN9BPdXQZ zc2hi8`iWvuNDHY)qz4CsEzb+Os@F8Dh3cV!>IR$1sb;3mIWU#)XxI3Z?)P5pH4hpB zngt38!^DCW1bLyQ*&!}w7~-~-lHa1`2r#; zCrSq@;lkwe)a+GMmh7L-)$~6v?^t5+EqvCx7JQRnBf$INRFDS&?%W`hzX-akn?ynE cxlx=%(>R3e;R8p1g7rtov-xbAhVh5-7oiL&kN^Mx literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_generate_importance_map.bin b/examples/runtime/shaders/metal/cs_assao_generate_importance_map.bin new file mode 100644 index 0000000000000000000000000000000000000000..616f0d50102d6c349bbd945c1cd215055ce08f3f GIT binary patch literal 1655 zcmb_c+iKfD5Ow+xg1%y*P*#nq>SCk#(m-gT4K(y2eG5k2NNaoPYGtHVEGPKiJF}7{ z$4UFtHOShzotZN;`h5HCbkLrY!C4irS;4aM4G2#MXYe~2e24e9LM5_FIhkc#GZ~jU zmE!)=>gA=#(vSFXSC^Jml|n6vVi_;jEaAj>O)aa`MU`k0f0g+?lh%_(;4Ea$^pNba z@BHz6YVE)}$yKSD(xehf2P7VjJ@Sb>fvVG#EL%%npe|~4)^A=YF3CeKQc_E%Z?wE& zLeb8tg?~rlOv|_;cX#*IV!;dQ+4H$WG_Q44@F1O;%pAg!gqP)HvMGe-m!ym}E0$dU zZ0x|j^*HvASy8ZU69wHCLNR%Jd-da`r*Dw4&X6o+o8Yy2$P=bTuCBiz%BtWjjn{c8 zP!d7RLFwRYFLkiF~`9SE)xp9|FuV7pOGIE+=Aw8so zyl>kdRJKjd_w-;y8+6UsyWPThbN6x62Ew4ejlv2#5lkQO-oIg+ z+}a`L-(=7k8PQ{_+Q78E0KtK2L$Mk`f(``k2b#ZtpcAV83F4ohKL>_SoffL%y>!=Y z!0~FEuNplbLX#?tAJT%&2wcy>$#-xifOyZn@XYc3ao~-Ei}7gWMHhZB0_EWz;)d>d N*;zZw8Vr67{s1iM+2H^H literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_generate_q0.bin b/examples/runtime/shaders/metal/cs_assao_generate_q0.bin new file mode 100644 index 0000000000000000000000000000000000000000..6db4f081ee33427c9934af6e9a0883b46d042c99 GIT binary patch literal 8741 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 a1X-BwfS$aL!;j>K&*z`d&(F^O`s_cKO@cW9 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_generate_q2.bin b/examples/runtime/shaders/metal/cs_assao_generate_q2.bin new file mode 100644 index 0000000000000000000000000000000000000000..d9361ec3f5be9d52fcc252cd75d6d827a0ad38fe GIT binary patch literal 13020 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 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_generate_q3base.bin b/examples/runtime/shaders/metal/cs_assao_generate_q3base.bin new file mode 100644 index 0000000000000000000000000000000000000000..5029fbf5c3a889cfcded2c2d2841325404989a66 GIT binary patch literal 8841 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 O>HO3A`PtcDpZy2IF)kGV literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_load_counter_clear.bin b/examples/runtime/shaders/metal/cs_assao_load_counter_clear.bin new file mode 100644 index 0000000000000000000000000000000000000000..1574ef41657661569806defe405497b56764c0e9 GIT binary patch literal 267 zcmaKoy$ZrW5QMd{*r!;q$wAPNQbRz}*ocKcjRZM!iymGslG{^3d}d!k6Gb~`U|<)% z9oTF!?RCEDb{aokb6?xSctx0$#L{dXE2DQQ{Ps?lYS_f!kOFw8?H;Wx$(>|D*ivJF zBh{7+o-3{JY9!Ct%%rvf)0KTqu}ZwQ9HJ}=a&9!b)S4+pw>6biS>-KLJ@QaWMl-T5GiE64Dwy3;X=!al}u`NCEY-8@RHfm+{jy^1@mx`5Wj7TI+g zYFLj1auX5MQeA6&*b5*EBlp)q_0LEZrOaw;M+J`<2O!vn3F|Pz7GYC*mrm!LPE~NK zOrqVpS`=U>IkenrSnir{FqiIIRGEJh$sY|TW38G;@pdi%`tO4mDu+?>CK6>3=x(dWSc0$@8SZA9DQC8YdWc+U(E*0bXpIw6Q7Jr{6%T^YBk z3zm7AC5HZ1z{+u4B>0RAP~kguwHmf?bjR0IsRwsMOD}qh*D-<)HN_7JWS=2?5yF`+ zx}YJfEaB}Rqz}i~)#WWV?CT2*BKnmw|5?HHqPP4%WiE`1*3&3_y|BMR9Hc7H_eV5yCDT!|$((m~sBqZ#0FZ&(vFYP(!2y1VsZqwdSP^ja;4xnc{ t_ly{G)t+mN(M9l%cMU3NM;;iY_SD)`Do;K%4QgUq_hdiWHvFNtegl+bKY9QF literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_non_smart_half_apply.bin b/examples/runtime/shaders/metal/cs_assao_non_smart_half_apply.bin new file mode 100644 index 0000000000000000000000000000000000000000..ea9f2e554e10bfc3e286a307294684fb8df5eb37 GIT binary patch literal 985 zcmb7CU2EGg6m>Ev!@uIfU`T8596KLP(*?!`TOZ0EvbSJ_Vk@bbEC)$W(w6*~{nJU7 zo04WQW`RM{J@*`)bHB{LUj*&f4K8Y;SZ=zVxYG&V)?`B!Ep@jO1a@mzC;0s)2;Om- zi@IQNQ!+yZ(WVf5ISXITH7|>g?ibz9!m!p{u0hh0=?%>pG^lA9YNP7h0Qn}WB^BXQ z2=-fvikbmDb1(XnY&pWw+|{$ffp0o#ffuou+a z8F5FsL`P7|`yNPX1gT-MSk|i*Qz*t+)&s-#rdBK|ZW>8Fpn1-;zP{cmZrBVoF;uOY z`RVH{yhXgm6RH$_@Le2i#U&N<`R5=;G zb9Y9#Bx}WsEW@pX4xRu>lD@T~*&x>t{k0*E_74~?+dA(=E?%S5ocC_=Xbqc*&Q`0piQ+y z=-krC4+L`a(DOv8m7Us69L4UOpPAov3v6D}73 literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_postprocess_importance_map_a.bin b/examples/runtime/shaders/metal/cs_assao_postprocess_importance_map_a.bin new file mode 100644 index 0000000000000000000000000000000000000000..cde4dee7210ec9cf1559611a4610f0320c524ac5 GIT binary patch literal 1533 zcmbVM+lt#T5cL*XcKsECLXo##*X!6$b~nvS3++DSseKDUD7KP_%672jTsGt%`fdH9 zj^s;l8p;v{j59N5=FFUtzx??A&Zy6oab1!X&1q7+xiO3z;~IWf#-F!_@t&uVC}W0( z36oTiLdJs6M&{98@Ff1E9?o)Pnq|S$1xjhciWQ9*(x@lXEM#6r5|M8rn^9rzO$28y zGAe!4)SlcwOrOjHL`PX#NSaDi@>F_=1pOZRjP~GaJvA0w{;8{=$x5(X!3MR@{KfK= z3AE05jJATxu@qy$++HJ+u%tz2|hDMO5-Eeg3Ly zEOSOK1eS$v>+Nvbl^sl-mrX^a zldJD4ntGK^f*}bcJAwExkswqM*yp298TD|^Z;MlHI&{__*a%vO4qC>f*LMMXi|}2~ zaY3UyZP{7yD%hF{?1C9IKbC9nRH)fQ@uQCfp{r+qF%=s|43u^)rB^Xgw_DZjF!7xi zFkj3B7{EvxKChyoJ|sY+qfIz)HkZ+;q}VnLDn9?=aeDXkM+e851nEPNz7h@u^p)Q~(uN-6l zp`Y9#by?dnnj)0}S>)W#oS7lte*FDMt9_nXClx8Eq-puXbIW>eo#5}8_0x%Ey(}bM zrW9g9vn3>)F0;H;JO+**k|prs>{FFhB}>lMRC0PR*bCc!$+K8g34_a&DJn>*62b4U zclJx3CU5l1U+r!;>Qv<^kFRaJDmg~YXv)fh#te-3!nR8#t60IW%SHX+(@jd3EOKang?p)Z9Pxj69%+AKs)RRkRqcf;Ad(T?-1R5Vkd zeFZ?qqY+%e79I7H))qzMLs3c7LNJMD<3TI4KQoyz0qdM6Pz$PVmAIumb9#R*vR6P- zB}fH#clXs|!K5>A=W}l-Jrmdi8po_G&(9wuSL_-}qNrRl^+!Vknz!j6x7P+dEpmxj z#_X0BU)v22;x@FF1UXCI=2fPcd|#=eQh)yP*Vop8vDP*rEJd5#O}5Tss(7B=yweC* zlF@_|dCB!2;Tc&)>|0NulK@_!=cd)rk!p$^f#UErrG2R zaHtTDscPU5%+-ZUXqSD?C_#6weoTg2^VWUeXab3bI@x_cr=6dHKXP4o-S(E>H~e(& ze|czt?D+~p4bwE@figNlX9p$`G7{?WdK#W&dee||yx06@PB63azyrr*&?7!0Q4spI zhl%0;2E#gMp+CU>?Gi9-Ji!uxI8!penH><%0ZETCDtaCHTPs+j~``E5T9dUfQE01{4hQydX( zu@wJyq~V#bopz6&NF4TAgx;Du>8Hogr;# literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_prepare_depth_mip.bin b/examples/runtime/shaders/metal/cs_assao_prepare_depth_mip.bin new file mode 100644 index 0000000000000000000000000000000000000000..b83a15dc1ac30bb2345e1ddb2ae93e2f6bdb5d62 GIT binary patch literal 3294 zcmbW3-ENyO6vt^Vx(V$eEKQosno?sz2u;?TRoZ&dtL-j|kV~8vjX(sZUsI($&7O0| zHc4m;BpH<&uzh~#_;368eEsqL$f%w}vMC{Uc`&psr+Z(o||S_#OV!6*@72K7ICDkMy6Sa zyo>}2za`lfVi8Y<}kl+uZ%sHKnmDh7rgm*E&S5aQ@rMUf(m3hR; zPdyIID~tW?owxSRKK|)jd%BOk`_|rVvhN`lMZ74^&hGPAa4Cmi`3)Bh0`&I+G$`Qh z1!$09uos{~1788kI2A6sNvd6Vncig)6LFSaUdZ*n%{iNe%dCiHTNtO|O&-stQ>)sp z(ww5ubA9v$sShlHxDjaC5094K&G8&zmLynhJc=d2LSw!ADb^spX>ENb?WcPS9(5G- zNs*_e^6t6dUA|YK&-#N_&T8i>?EC#mzdBN~T{V!Y{Q!jS?QcsdR-t*GYxNL;8R_}d zQIC6}AY=&tSV!zgrqxP*`hPO%A*X|U|NrDxtkb3H>PYOSDxlg`Z9?s=Dv;Y%-Ae9K z70B(XZY8&>O1o5D<%!)?1ysALO{kq!1#-KpTghFj0=Zq)t>ji!-7ZyE$#XYV0oAT* z6KZEwf!wa@R&tlBKyFucE4fKkmDu58p!7w$oo6|cHv|d;FMymwM*3}x`Xi*XyG*5< z3@^Vb*1-3{V$KS2cD8^rXY;0#xFo_V_H;_uUyqPV8;3o;7zS6%CXLrT4t)Y1*Y}Vv z2PdA~E1war0*Df}SYmcv;1D9Tpy##00Mv!VZp#(0i5x-fAyJRx1e64H7hYs~D zxC)3(buXd8kWiOWcjylS&z1cRf%Z{27)ot6I-rxPlGH)97zGAr?vK) zi`O7n?c?K@^Mblp#A(Slto literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_prepare_depths.bin b/examples/runtime/shaders/metal/cs_assao_prepare_depths.bin new file mode 100644 index 0000000000000000000000000000000000000000..1716852fc537a7d15684ec0250634ff76892e42f GIT binary patch literal 1626 zcmcgrQE%EX5KeiRD*uX;CQZ)90!g5Z!g$%Ftq*7m>a~X>=VK7}YMFlBT zBKTs4PWFPYlb(5b=?tN=;Bp0$u3536F#{VlL8wr987m+^M7E#;?Gfm;6d6?mXmZc} zaWp{(?Hy;bP*f@?xl{p=;g=zNg}piY&2q^EJZ3zBt)S{&iF?W=K8DmOJ^)!OK}wj< z7v*xva@=>Ls0)g1RhhFOncD0#C`iIKDt*YxJZ8VDQyoi6XZic0I~44D=}N1{*+p7SQ#!J9lD5QpXMY{xRR!P^>>PUmf35Ezce)^~Js^c{P<#&=g4`4TV{0$Xhb znCNOj*SHdmt3dpHP2YI7nqZ}fE7g0aI~D1I zdT`FZgU@Hx@0m%S$cCE3VAO@a9ZL1pZGK*iDYI$qb8d~Az5mM%K2`1U4Y^klZEnpQ Z5$$)ue;v{0cD@nO3s@e|0U^f$=MU}?0*?Ry literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_prepare_depths_and_normals.bin b/examples/runtime/shaders/metal/cs_assao_prepare_depths_and_normals.bin new file mode 100644 index 0000000000000000000000000000000000000000..3ef815f38abe3b4987cb64884953bb77294abbb1 GIT binary patch literal 9047 zcmd5>Ymd`b5Dk^6P=19aq{?Bl#=d@CFBGY2rIrti@tJq<)i}>$7 zGuL+f3B*^&R>i_LVCVlrCGSjl!UF#gl9?ZN9_Y1me02F zDii!DXg*5Au%_>T?_v?6}?UFEilO=D$c%_#HbLW20X3H#@ZMApr zF1DAK(MC5X=jT%`i+0&|6N$x3_WPBV&KA*4cKvp}-OQsu)l(?ta@|@}Eu7DzG(9`J z-Nac$MzU~o6=i1IfYmi^uK}xVKzx<~(KcXzmI1qMz!_*@wcaelB>jDx-E6bJe)_v@ z$z@9vb6dMg@=(2AyS(SzcyFS^myB z2v?q0rpDX@rzWxjk4WJ9-5a)GSbMJN9lzgcr=4|dP$umevH=^8Of{2}LOa zA0@hJm`F)(A*U)qI}65hk5w?keL)^{`{Mf#%8TH-?RF)gF8FXEf-8Nj_`-TnSInt) z+Utw+u$ha*?e|5k;zwxp!!j4Vh@Qmt<-;Z}Xz6stK@0E$3X$6Cqm821P-Ebhh=&5I z_~tqjEX1V{dTnzpB~#L(%)1QJ?CflwV2`i17>;fkBH)iJY|9hU!K|M2T{5aG`6YJx z;YA7$;1C*7ImTMfzZrMC+k5Owp4Z&KHU*8#R@MV-Yy#V~g|xlEa!ijlGSfm{HMksu zg>Kgkfg)1{O87nBr~iCMaYMVb3LD_6)09n}@@v_UmS3`gF|&dHJJ_JD%(2;UIG}tC zq}*_^P9hs<;mQ|Wkm7L|OUfu$_M1fYGo+D+M7tCL45!ki3=GTbp)4rvyyK z$BYU2)abYnxWDD|1?|}y(e2Qd8U0mCNg$JF%9l8pvwm1zCtUj823=(tZbMh zXVDGtwBK1wLx-Z1_8G*?;jlXboeXWAItf09v7sCrjwoz&04lM;FNKW;z1X}QTiYaK zv&C_+0Ty-@gRr?yCpJ2S?y=b-$A&>KHbfFiyu>t2GB(#7hOL=o9JWt}NZO4#IYg4? z+{19q90mq`Fr-<)XqjXfd?9dz^gA7%e^|&n!BMj8!Fe(Vhe0nmk%McSWN?yF`e@(= zB_LL!PH?rx5y-r8(4ZHbQ-Euk1UO-uM`|2maO1#cqZ3=TagbjeI3Dz3D;h`JBx4gt zY8;GhSlojA2Ccl0QWaNi9KsZ;aqyrQThTbYmPy9u3~U^&^{dhFxhYcFeY)dgv)mQ9 zpxRD^>8N(XgFbLU(N5YX8JtUe9iig5n+yc!bheYA+D?S&s&>MIUT{S_!FIaA7lZSU z)J`~ZNX-F(^E$gpQ0*qd^i? z72O1<*9JB!V#}fpzIss*-$!(1Ed`EAyg93E*3_h=An4#(Q$XksD$v=irhwWyq+rwW zrKaG^g9^Nq)fJpvp>^VA&|KU#1(;AS^(atM)f7-d2NkH+YYNz(98eH$i&j}+kX>=W ze!F*uZUwJR>){#r;8eqaLQohwXRrnJ%$hFpnLi&2Z)fbP~IZdSx|ZXw>{HbB%#Tvo($ZXw>{HjpeXy^46wEx9#} zTOr3yRg}HbV42$Z9lMLWkSZ0-dxAsxfL(4LK!V76Azn_XAESQ(l6|5b literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_prepare_depths_and_normals_half.bin b/examples/runtime/shaders/metal/cs_assao_prepare_depths_and_normals_half.bin new file mode 100644 index 0000000000000000000000000000000000000000..c07dbc78c1ef248f4e819f4ed30d1aabeadbf5f3 GIT binary patch literal 5673 zcmc&&ZHwDR5OxYF!QcCRp-|+;r%0>S+a(Q@7TSCWEu`(2a0s2PyAze|Ly~j$h5Yr> zXJ#eKdhywiYpOu9*3Qh%GyBYo^3%ItzaCZ3lhLzvbQ|aKqWJ3RX!LaS41b=C{`qD! z`Zit8vh_R>uNFxeXHikkv-I-yxOrcsi}?%s%e;9#9Oo^SyB||=XZHp zCS;_H^XsIv`UdQwV-Fgz`v&BR29~RQ5og73>+*J8{`uoyeM>G|qKG@0apm3MEF^!lbWCT*+IQVy&V!$N%=mdY_V^pcJ=H!Ux) z>1lc8H1eLg-N|qD>-0((ah4fO7HLF)JrS=oqouKfj~y~Op@-3aKE)Z+&^xm<`KJ8dUNje-7&YH%o z4YT5fFmyJx-fzX(VD^~Ape8mB5G#8sEGC0^-jGHjyKv96(G3In;}OFK&ixPlVK*Oe ziMjh_U9zUaejrMYWa59(TO0DHm&#lj4W`v}|H?Uq>hvY1)|z$cGiyyidsvf`5=?Pi z>K%`9ExP4UG6!nPnK%_$@*&9#%e24?PT(`ml0nic`B{BBQc!R`a>x?}s<<{$MUN~XCzyk4rcy)yDCP67P)$(Uc0wqO-SWhyxJ+Ng zMR|Tc%P_0ximeRWlp#N^bZk!s%JxGq@Xf`9LR(oLHHK*|ulZVGutDBI2qCqH253m6x544Ppy2Xa z(Lh!Xner?S?B_-!w3}$aIgUnX4@86N-Xlf>Z5LN15e=i)>Lhhm>bPjk6LP6jY_WfT z$1Rz9Xw!l@t~~a-)co~NTsh7$Hxyx7Y_XuZ*u3A1D&Dx3c@HJ7pB)ZzQ;i#3ioaIReddJAPNf{+n|DCo!rh3{1;usDdqt5Eb! zG76r8j-%)$QipqIr;`tLdJr2irNKsHKIat{2eBd3pv0xWW0J7>_QN&c)Vz`>lMmIl z;|J%J*D4usOGBf@A!uG*GWsSN8h?U({x6stf5 z6&lR0RcL9|4K3ufIKB!vRxHHeY1IuasLSH6+!NQKCGl=(0~gS_Pe_|tei8vQ={7v|0&EdT%j literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_prepare_depths_half.bin b/examples/runtime/shaders/metal/cs_assao_prepare_depths_half.bin new file mode 100644 index 0000000000000000000000000000000000000000..ffcccf9f68ec51bdc34fb620748238d784b2f7da GIT binary patch literal 1158 zcmcIiQE%EX5O&ctRsIzxRhpcQr6jP56~;>^t$pZI_l6?NBqp)uI4E{n5aPejb^^46 zNqd=*5^}!#?)$#GyQlm2s5=+vvY{(hvr_kZ2=&mV{av8>JA|%;N@bIAn3miyNwvwO zSj_M-u0@$$yGK~eFmAL^IVe_gy<#Z`Up2v4o4QF2&>yl|Fp0Mq>{-f+nGx)J&!ex& z1n+EiS}ARqGSCQRVxXhw3w(pEyZXgz#U(sfB7?PL=F!MUCKNf8bS*vrEsdlN%;$?{ zx#Tq&1WD2d!`G&%d7Mps_ZeuK@s%l_s-{l)&-T_9b$REj`oPkZYkhnBQVYW!h+%ck z&EOOuI@k8E0MRKx>;aq;L&#+(??F9RDKnx{58oZzqUJ24t4a$Oqe9WV7Fm)6ozUj)+bTzK5*#0t8GbMXy)KD&FNo8*z~&~g|@ peHi$mv~O$kYcWpd-rCpP_PZ4RUvBWJwI{N){*mPl?=VIP&~I;%Xwd)w literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_assao_smart_blur.bin b/examples/runtime/shaders/metal/cs_assao_smart_blur.bin new file mode 100644 index 0000000000000000000000000000000000000000..4fe2446fc3dbd421ada50114d5ece803cde3c2b6 GIT binary patch literal 2242 zcmbtWOK;jh5H>kPkuUiRD^-f@gl>!5Qa&9u*57MnqcOm}VjJG8BY; zPqHyj%qNq;HBB-ue6r;pwtAzRT>*M{V?F~wn5Bi_sUQWPFOn!HtmAp)3wZ)zCDVW) z^0mnP9p!11kjE^ZkX6FPy-4nPoLZHQcIkq!xky+^hQo0=okqFk*rQRCh-f9sJaQ+D z=Q&^BN{S}oVHg!fzrW055e-Pe1kY!Y_@%S~MBBZFf@b5S%n-|6&%Zm;WmouEdmm|70{3)r=cby^NxA7S!8&V)rl>>VbTZjLay zA7{cb2PSui$*0RBOwLD{+8$Vbp$SGEi}9)h!3!!kDzFW0jlr7SKnW+J?ZYEbfL|$%H_`TPTEq_GeL9n}L Wy`5$Jni+VllK5;sn+l-^|D1_^+S;ei-QIV(_6!t2`4ILpmG|J~ru+Rcu~gd>RZs4L-ta zIQaa>VDM*AX1tl^ko)_GW;V+!lUkF> zh=_bGnksjvDXS{>d@C_Vgk@P?*Vospsu1~@)TvDDN5myN3OSdS3WH=CW=LQ_cx;as&Y0>my5bUTUwOqV^vHi6H5mfm%AkO{Qv?Y zf0*ddJn7J~*UuKY((_b2Y$X&NQQ0YG#AKYCG7zqbt}Sw_qqm*CSy`6MrAl?1ZV$E+ zVQ%DV&)oNNrOd8L?ZC3gW#?4M^PW!Z&1yubP4#A4$398JAOgq7A+?oeOevX>+yJl{ zNtR}{Xv!&&h&+2^StG*prB25#^G+xG|lKF&3-vVnlU0H&CL-_*j0a;t4`-F%>-MFqiiPb?!neH zH33sJLHyA4jUeoKH1LdAh=6KPpHZwn6CcVF-b#3Jt4_vMeVy!C rWKSmhm!p#A_!Ap?Gwf+}2LvlTT&r8Tx0gYWq@wz2yc!1ln;8BE%}P~~ literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_gdr_downscale_hi_z.bin b/examples/runtime/shaders/metal/cs_gdr_downscale_hi_z.bin new file mode 100644 index 0000000000000000000000000000000000000000..b670ff30f9b6bdd0cfb07116ec93d56a3b6c3800 GIT binary patch literal 1413 zcmc&!(Q4Z;6jcV>gJ7^vxG)&~#|2|1} zY`S_W-3GJ4Skk@soO^Vn&ljgJQ1cAXOG|~?So8JrLfrCa1B3?Xm3s&1+jE3o3zbTn zahMj|FiEw^q*%^yH?KvJz4xDFJ;T^)p;n++!S#lv975IvV{Iy%8lYcfxnvUGVQ^0_ zOJ+X6JpvQFbK&24rMQIaQe?1|%$yl{#)KkiskC9LE%XLxVI;M1b+xp4&MPvE7K<1R z-x^!-Q8o=2Gtkscou{rBElPF5H)cIomvxj&ZsPm1V_<2@wH}XeDq(nUv2$x4Ryzt@ ztWf3{RmQ6#yis$YtN=C$&z`aq9AjwWHn&v~#~(O>d!VFpLZu&&`FyE=a4tH3A7nKt8b z!M3FPJEVN#dnaC?(AelV*f;RD_R6E}M^OwzCq#U3!ymx@JubZ4Gju9B4o<2)7f0z2 z)%cgR9HThw;GWk1m8erE>fE<$eaNNe?V#6cPq5XY^HSTTk3tVXcgT})6A*9v7+U`x P0&3da;T^`vU9Ud@)H=wr literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_gdr_occlude_props.bin b/examples/runtime/shaders/metal/cs_gdr_occlude_props.bin new file mode 100644 index 0000000000000000000000000000000000000000..a0cfb5af3900557657a004dc175991129e6472fd GIT binary patch literal 4013 zcmbtXOK;mo5T=752Lf#`Jrw9=kN_?jOSB%8l*F!^!a-95NgC7!dN2%jO|Il^_z=jY zEXl|p@2NApeCgFBjt;gsJCAQ>z8S7g&wqbp6rV@Nce&^1VJPCsX%dgc$5OCEBu@$c`UUXG{VmhWrX)B4}{Mo&zi^NWY75bTf=xVP1z)3;D;=pKp@y8PBJNc z5cmac;c@$~NMspi(4MA=Oypw9v&ZJ=*yVAa@t{3psbJS3e{7mhMC^xoz~MOJl7(I- zgHT+bG~}6xf_dB8A&4^OD07ULox;y14~o306&>7V4TOkI*|zq zX6WGcoAWn6Wx%dQDC7c^92G0GnP9+>9Fv&bI;P|p0?BqvETQ(mMGI7N?@r8FA_B;! zvtKFVDF*y4O`>zj{107A-lUubZ~@kSkV*UU-Bk+;naWC?WT{Ulc3JEs1xq;>m}KV& z1RTS=BR~h2;tEBmk6&6K4i0Q=g?SHnIJGpXay!DR;Dr0D(S6`)%tKIRnqw8;%J3}{ zu~kJWXuS_!BttKU%ggJ0Jm#s@v9B;qU8sQ11WrWB8%<9%Sryc_J!M;1ZRIE$Z@#947idicdy)5;>R)>f~!Gq;g! z6xY(taMl(*D%fht=p96RNX@wGy2#8PJf+9o-ZheHd-cI{haEIrYonughV@B*HXK0r z%9$^g(B9$1Lug84GxnhK{PG!1)ZM3STc1)u9IC&4i!yTNE$BEM^~e4KTV_5+(Q~|d>5r{szZ@@?Z*@L&?%{#6B;+iU zFJ44!Zc#{Qsd>7pT()Jt`i5p~L*Bik^ERVeBVGkaDe z*JV~Y>J6e^#2dSR*}zzNp%ynufo|JGuytZ61MKf`s4VF6+Ozn4+Oyh-WoWPaCe;o> z^tlMJRHLr5yu}`q0~q%vphb&PWWz61 zlOeoNrKuh1x9D&{ts_#9L7i{?ZTEZK(f3xQ)Bt&@G9faDe8w>`L`d{){m;cS6x(~vDd$ZyfK&ljmLt(LxP0D7t*q33Emw= z$f3B?6{=+Y)ZX8Il`HNMsA6ruVd%@jtxY>IZ{hE)C`lJyk_J5WQXaB74;s9zrwxff za49Y14gNag$eS?>vtl;2CdX$rpm)`n7KR(D6}}mA|Z#Bu>|tS-OhX4^A}gMEf;P zi!w-;(LZ?<#>=3Liov@uCY7iE~l*E3y?7x57L+dQFm|EeNr!s# zk~iU7#VNocg;&GHP8Y#td#!st=IH?rHG#N<5|6t(pxU|-Lvh*f(GsZN>vNQ+QNnJs zIAmXwp!`@SAA>kGmZ*M!JaO7zGJjJhe#Ne?uB+85$_>k0EY29&u`s%gL9wl9!E0+w zA`G_?YR!o^I9Kz_t-r`M(zcnr~++7$Lz2b_W(!*0d)a^m> zDgmPtj7Yx``C;xlY@G;M=ILz)Eg{a*`Fk)eKjl#n`Zrk-;~22#uk$!uEKHFB++dw& z)eWOED5K5Im2J5bCS$8fzf8eu1u4?1|F5g z5Q8*BkOe!P@-IZ$iv=J8OXL;;;R8LRjMFOOq~ge3LrIhrQS;H>$3D0A9EWR2no`nq zxyQsO0b#qCHCDyr5za(fod&A#Hs%9q>tPCDs^G5;S|A*K(2P47lbKD~(AD0DY3}dw z6l!*@NdBL*!rq@19@V*`Bm}i1E2NTAGL(%&}Ju_+u8EJCE!s)a!wsfa4Opyr=F6!J~g&FrSCb`g7J3N$@iwc zii1V;Ru_A#;1_(c5L%XSYvfJX#eR+OG6hjsF0A z`#5~(P<%(=D_z8c-XID@s!4~HNXz>)o!G}~3cmMg3MN0NDL5Rc>BK%pQ-ObgrX2ss z_z%#O<99Tz&)%KK3YG6@;(+3oWR*9$(FAWu^*MuWht3r`F&sEPs9n)5d+YA>#k^pB z=X-O-#>y5o2nUh_1q+G8uW_!?SY0;%*YR={rVd=@8=KZ;SAkS*x;S{Hz%?B%xq`OW z5^_oMgq$=%DBG#AMLNk%0i|caX#LlL610y|jRv-NZ#`l3+IO_1*imA*Ao-)Q(}4qW TPEXroeaFz9ey8i2_Eh@;Cajds literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/cs_update.bin b/examples/runtime/shaders/metal/cs_update.bin new file mode 100644 index 0000000000000000000000000000000000000000..4739163316581d3c00028e82aa0ff7c88bde548d GIT binary patch literal 816 zcmb7DU2EGg6jfH}Ku`S%7Y4&#jF%=&H|i`eEp&b8Q}-5(P;4a?lcl1ME?voguRiRB zt$mpcLO%E0t8?$MFYmq|qkfIhu_Kmu?A-{V5jyeD2)#c-=mVFHa4myH$1D}Z*jDiM z5+88GyY_R~%KIh8&TzQ}Njqj9Xu}|8RTvwqU1Nb<3$>;KKV$G~BNVk~kZ!K<-t!tI zjiu72*bK;gwmPrj8$9<&c3MsfnDkp-`~?rOf8faWu>(9HvC>=cYxa=UpnH^pC{%W%|s%j^onKU@Q9TZsenCsO3uDTm|mEX0#;_%J6^@F3DE& zwyyKR0i_}HC4iiMo%$(Hs&rbwc?EeiDOnZldZng}GP7i3mIbduofD3jae&Xdl(C6POwdk@mcLqpRbX_mG(Tg%JcQxTPhlg|xV|C97P&#Ty7=qqR* Uj}PzOL(8RO3EAU4#>oE=FOr1p!~g&Q literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/fs_assao_deferred_combine.bin b/examples/runtime/shaders/metal/fs_assao_deferred_combine.bin new file mode 100644 index 0000000000000000000000000000000000000000..37392cb2221687f22a85aa73c6ed96871864a15c GIT binary patch literal 1570 zcmb7EU2obj6b-2R5HI@&(|wxkE{*a5r4ubLldA2Z+N5ev2w4UUjg-VFaa!7`KXU(Q z*N#&{fPF*=CD->}pL5T#uW!G+mhZ=x4n8N&yOPaiI*T*$o##9)x?RWVI&TV$CNg(A z4*uR2ER%W46Q|R`&y#|2>2$jI`s_BAN8IO7kw+$PE{XP3A@hu>a#|8wCqO~FA?;1 zw?4F}PQt0FUSh9QWG$?ATZ{jO#~F|VWLT;a7QkUxyptgj9lh4QIlsRm^J}D42SiM+zVRu>SNwHPkj7 zqi#e3&v&8zGl}sMEQWG#J0G`$G5DTOsqyuGUuy%e8m=MJaEA+|I(U@SoGC>LPZ}Z~ zKWGdSQR%>c;@OHpNXj=r5UdN>M?VXxkQ}LRlYNkt*N&n@AwuL1XL@ARtuB#>ocZ1$ z`s5Fyp^LK_;LCY<;R1%whtWka3@9}KDAosFsP*!_$V}UCwwC%g!jEkMDnIHgai0&D zN4UJq+sM(c9XV(@a^O8+!~(O54YXbuC1lrAr?qyPrlw>FR>#L{-k4Zhx6&|jffr6z MIT+8`bFb(81}MAl@&Et; literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/fs_assao_gbuffer.bin b/examples/runtime/shaders/metal/fs_assao_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..5bf1296fa643fccc5c0d45345d6fcbb40d840ee3 GIT binary patch literal 711 zcmZ`%K~BRk5DXj;$}9GS5-Ez(7I7(XLKPe;4i%>=vfRW8ksLd6Y$zZe!6Ufy2p-19 zajT{ZQ4Y3uJUcV%#p?d->*wm%!|%j9ZwciamP=gY|9$FtrmaK?g4V2UXvUysn)12d zYGpDFTTb;-^VKuWnR*b7(eU8|6kJk0gBK#Csynzln&OdW+e}K8Cv*REoafQ#0nsIt zoGcVA@2I9Ef%Q6*T&f@m({xWg1Wop!i3R=B=}A-tDn!i)D6m7##E~f{#u;7GNWflNd)k q$~M93PG8)s3p$!Z-4O)V@-(z1(ly;bnK0~_6~kh}#VNEu1A=wR^-P$VtEB}pu#@RM$ zV`;&?&Fp(K@6F8g`SI%KdvfF8J9Dm0lFCx5b8sARE-xI%G+Y!QXvLbErVJ{kX&JhW zRwmW3Dyg39^7)NsOwB}XG<>=Mc`2!$Kv5=BMT>hWRR)ViEgP=66mcB7ITE1-!ZN9- zW{T5t_7J*X$E!aXeX2YPK1q8KJeR8K%W6F?ZUYp8-E!1eF>&Cg?bkY-Q!cii zjBL6WZ!7zqL&JskwhI0JkO>+G;5m4n*RlO~xP!4jA}|(t@F-S7?d(y3MJT3?5-ku9#C4rt)EWmt literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/vs_assao.bin b/examples/runtime/shaders/metal/vs_assao.bin new file mode 100644 index 0000000000000000000000000000000000000000..d6e80e65ed04adc5f4fd5d7bed436d091a470d67 GIT binary patch literal 693 zcmZ{iK~KUk7>0{69(M5`nD1o3m}QvV5YKubk`TF&r72s7HC?-OUtwze2mWZgF<@J; zw|;rwzHgs)xp=-JZt0t+#{s#vG}8%}OTl+@qdzVOgbc{<1tGQ&Y6FU8yvSM1A>+v8 z#4FI)7@?F5XDAo%EaB!wW*|?VdoX>i-*bCc8IzOcyf;&muQ_{ry=ioObQf;!pW|lrrgvJM_vWH6VNoM)%plI z1kCa+Gjt472&(a6@9*4X?00A7=a-xATl%L*^xeGj?hp6dz^5?W7xa6m;O-bTYI$2P U(M~#kgi2~STBDjYhurhXALvHzLI3~& literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/vs_assao_gbuffer.bin b/examples/runtime/shaders/metal/vs_assao_gbuffer.bin new file mode 100644 index 0000000000000000000000000000000000000000..f91f8c724469877b0c55326c84b2869768317f80 GIT binary patch literal 980 zcmZ{iOK#gR5QdpHXaQ|{g;^C+(h4%IW@BWZEP@0GnvEd{j7_^NB+{UUj+>%~=mC0% z9-;^9NTObDs*S+GKl6X{c(}iM!|40@`{K_l_SWU4S^*aj$SKsDFM|Jgeb#D2y$;={hZOu!mvcVqc!+nyZi?=uC70j-#AMx7kSBY$Xcn-AxQUL8CVPNK(LZ zw-+{_!6hVhxO>M>6q&`-*x}nVMO(^v*mq3vI=3wzk9TtkVG9@^-6fp$R?)vW{0N6P zILQQu*S4e!TL(oz{z%V&$4La|@R1s5s(Z5TB$}*Nte#~^=y1%rOtJxyM;}(@(A{;7)*I3;>u@zTWa;p*k#Q^K7VMu_{ZPN-AjfBO5Au92xkx$cESs;i56 z{7d0`Db|gu`(71?0{ZSd-i|Behp@w5knj366B4E)BcL@_R2ZKvvJIy~mgN~N8)>fc z+swR@6L1`DIFEY0=E@Ce7TaM44|oL*-Sk5=^6O^BE1LB&zF9X*k90m{lOJhf(_bEw;XuE?k|ukL zbn9Mp%7{S?y%Fa(3;Ysmt*_SqD1(QGyLJv!Cr2m!mcS`Yy+d>KZ6ULnEulDSCA|f+ IPH`N40!q0~{Qv*} literal 0 HcmV?d00001 diff --git a/examples/runtime/shaders/metal/vs_gdr_render_occlusion.bin b/examples/runtime/shaders/metal/vs_gdr_render_occlusion.bin new file mode 100644 index 0000000000000000000000000000000000000000..c979515a20f9551fa09729aaecd74b81dfcbb945 GIT binary patch literal 866 zcmZ`%%};|c6lc+R;IDWm1I7@(Zp%FDVR4Dk%R-uNE3*a)DX$x9{NF9Cgw-LZ_PyVG z{eAHE@_6HzZ|1m)95_3!Wc6`9bDWv;aOF6v;bIShmaM7imO;so7IU{jskR7hL2-%2 z%RAjM`6OzE@a+QRMMW_IO6scN$SVQsHAR$sqmX%_pJnp_l>#R_iZrw!(G(=IAn_C= zwjjwAB(WfA5BZrE^sLZQl)}Cst5MRRu9Nf6idVt&N|vK5X`906b3b=r5?O0|X`VLz zE-4q_O_)teEC|<%8l-zhxX7}5*j7Sc#h-KxlUwL#l%CnBJZG|x!*{#btOpE(9$k%b zY5HZgV+D!2nmMk+3>K%wJTQ5lx1)=;H635Hr}gl@w-^j@EUZUlq$BK>z>% literal 0 HcmV?d00001