UNPKG

@ludicon/spark.js

Version:

Real-Time GPU Texture Codecs for the Web

5 lines (4 loc) 38 kB
const spark_bc7_rgba = "enable f16;alias RTArr=array<vec4u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_3369:vec3u;var<private>x_3375:vec3u;@binding(2) @group(0) var<storage,read_write>x_3464:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec4h(1.0h,1.0h,1.0h,0.0h);const _8=vec4h(0.85986328125h,1.7099609375h,0.429931640625h,1.0h);const _9=vec4h(0.0h,0.0h,0.0h,1.0h);const _a=vec4h(1.0h);fn _b(){var _c:bool;var _d:bool;var _e:bool;var _f:bool;var _g:bool;var _h:bool;var _i:vec4h;var _j:vec4h;var _k:vec4h;var _l:vec4h;var _m:bool;var _n:bool;var _o:vec4h;var _p:vec4h;var _q:vec4h;var _r:vec4h;var _s:bool;var _t:bool;var _u:vec4h;var _v:vec4h;var _w:vec4h;var _x:vec4h;var _y:bool;var _z:bool;var _10:vec4h;var _11:vec4h;var _12:vec4h;var _13:vec4h;var _14:bool;var _15:bool;var _16:vec4h;var _17:vec4h;var _18:vec4h;var _19:vec4h;var _1a:bool;var _1b:bool;var _1c:vec4h;var _1d:vec4h;var _1e:vec4h;var _1f:vec4h;var _1g:bool;var _1h:bool;var _1i:vec4h;var _1j:vec4h;var _1k:vec4h;var _1l:vec4h;var _1m:bool;var _1n:bool;var _1o:vec4h;var _1p:vec4h;var _1q:vec4h;var _1r:vec4h;var _1s:bool;var _1t:bool;var _1u:vec4h;var _1v:vec4h;var _1w:vec4h;var _1x:vec4h;var _1y:bool;var _1z:bool;var _20:vec4h;var _21:vec4h;var _22:vec4h;var _23:vec4h;var _24:bool;var _25:bool;var _26:vec4h;var _27:vec4h;var _28:vec4h;var _29:vec4h;var _2a:bool;var _2b:bool;var _2c:vec4h;var _2d:vec4h;var _2e:vec4h;var _2f:vec4h;var _2g:bool;var _2h:bool;var _2i:vec4h;var _2j:vec4h;var _2k:vec4h;var _2l:vec4h;var _2m:bool;var _2n:bool;var _2o:vec4h;var _2p:vec4h;var _2q:vec4h;var _2r:vec4h;var _2s:bool;var _2t:bool;var _2u:vec4h;var _2v:vec4h;var _2w:vec4h;var _2x:vec4h;var _2y:vec4h;var _2z:vec4h;var _30:vec4h;var _31:vec4h;var _32:vec4h;var _33:vec4h;var _34:f16;var _35:f16;var _36:f16;var _37:f16;var _38:f16;var _39:f16;var _3a:i32;var _3b:i32;var _3c:f16;var _3d:vec4h;var _3e:vec4h;var _3f:i32;var _3g:f16;var _3h:vec4h;var _3i:vec4h;var _3j:i32;var _3k:vec4h;var _3l:vec4h;var _3m:i32;var _3n:vec4h;var _3o:vec4h;var _3p:vec4h;var _3q:f16;var _3r:f16;var _3s:f16;var _3t:f16;var _3u:f16;var _3v:f16;var _3w:f16;var _3x:f16;var _3y:f16;var _3z:f16;var _40:i32;var _41:vec4h;var _42:vec4h;var _43:vec4h;var _44:vec4h;var _45:f16;var _46:f16;var _47:f16;var _48:f16;var _49:f16;var _4a:f16;var _4b:f16;var _4c:f16;var _4d:f16;var _4e:f16;var _4f:bool;var _4g:bool;var _4h:f16;var _4i:f16;var _4j:u32;var _4k:u32;var _4l:f16;var _4m:f16;var _4n:u32;var _4o:u32;var _4p:bool;var _4q:bool;var _4r:u32;var _4s:f16;var _4t:f16;var _4u:u32;var _4v:u32;var _4w:f16;var _4x:f16;var _4y:u32;var _4z:u32;var _50:u32;var _51:bool;var _52:bool;var _53:u32;var _54:f16;var _55:f16;var _56:u32;var _57:u32;var _58:f16;var _59:f16;var _5a:u32;var _5b:u32;var _5c:u32;var _5d:bool;var _5e:bool;var _5f:u32;var _5g:f16;var _5h:f16;var _5i:u32;var _5j:u32;var _5k:f16;var _5l:f16;var _5m:u32;var _5n:u32;var _5o:u32;var _5p:bool;var _5q:bool;var _5r:u32;var _5s:f16;var _5t:f16;var _5u:u32;var _5v:u32;var _5w:f16;var _5x:f16;var _5y:u32;var _5z:u32;var _60:u32;var _61:bool;var _62:bool;var _63:u32;var _64:f16;var _65:f16;var _66:u32;var _67:u32;var _68:f16;var _69:f16;var _6a:u32;var _6b:u32;var _6c:u32;var _6d:bool;var _6e:bool;var _6f:u32;var _6g:f16;var _6h:f16;var _6i:u32;var _6j:u32;var _6k:f16;var _6l:f16;var _6m:u32;var _6n:u32;var _6o:u32;var _6p:bool;var _6q:bool;var _6r:u32;var _6s:f16;var _6t:f16;var _6u:u32;var _6v:u32;var _6w:f16;var _6x:f16;var _6y:u32;var _6z:u32;var _70:u32;var _71:bool;var _72:bool;var _73:u32;var _74:f16;var _75:f16;var _76:u32;var _77:u32;var _78:f16;var _79:f16;var _7a:u32;var _7b:u32;var _7c:u32;var _7d:bool;var _7e:bool;var _7f:u32;var _7g:f16;var _7h:f16;var _7i:u32;var _7j:u32;var _7k:f16;var _7l:f16;var _7m:u32;var _7n:u32;var _7o:u32;var _7p:bool;var _7q:bool;var _7r:u32;var _7s:f16;var _7t:f16;var _7u:u32;var _7v:u32;var _7w:f16;var _7x:f16;var _7y:u32;var _7z:u32;var _80:u32;var _81:bool;var _82:bool;var _83:u32;var _84:f16;var _85:f16;var _86:u32;var _87:u32;var _88:f16;var _89:f16;var _8a:u32;var _8b:u32;var _8c:u32;var _8d:bool;var _8e:bool;var _8f:u32;var _8g:f16;var _8h:f16;var _8i:u32;var _8j:u32;var _8k:f16;var _8l:f16;var _8m:u32;var _8n:u32;var _8o:u32;var _8p:bool;var _8q:bool;var _8r:u32;var _8s:f16;var _8t:f16;var _8u:u32;var _8v:u32;var _8w:f16;var _8x:f16;var _8y:u32;var _8z:u32;var _90:u32;var _91:bool;var _92:bool;var _93:u32;var _94:f16;var _95:f16;var _96:u32;var _97:u32;var _98:f16;var _99:f16;var _9a:u32;var _9b:u32;var _9c:u32;var _9d:bool;var _9e:bool;var _9f:u32;var _9g:f16;var _9h:f16;var _9i:u32;var _9j:u32;var _9k:f16;var _9l:f16;var _9m:u32;var _9n:u32;var _9o:u32;var _9p:f16;var _9q:f16;var _9r:vec4h;var _9s:vec4h;var _9t:vec4h;var _9u:vec4h;var _9v:u32;var _9w:vec4h;var _9x:u32;var _9y:vec4h;var _9z:vec4h;var _a0:vec4h;var _a1:u32;var _a2:u32;var _a3:vec4h;var _a4:vec4h;var _a5:vec4h;var _a6:vec4h;var _a7:f16;var _a8:vec4h;var _a9:u32;var _aa:f16;var _ab:vec4h;var _ac:u32;var _ad:u32;var _ae:u32;var _af:u32;var _ag:u32;var _ah:vec4u;var _ai:vec4u;var _aj:vec4u;switch(0u){default:{let _ak=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _al=((_ak.x+3u)/4u);let _am=x_3369;let _an=x_3369.xy;let _ao=x_3369.x;let _ap=(_ao>=_al);_d=_ap;if(!(_ap)){_c=(_am.y>=((_ak.y+3u)/4u));_d=_c;}if(_d){break;}let _aq=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _ar=((vec2f(bitcast<vec2i>((_an*vec2u(4u))))*_aq)+_aq);let _as=vec4h(textureGather(0i,_3,_2,_ar,vec2i()));let _at=vec4h(textureGather(0i,_3,_2,_ar,_4));let _au=vec4h(textureGather(0i,_3,_2,_ar,_5));let _av=vec4h(textureGather(0i,_3,_2,_ar,_6));let _aw=vec4h(textureGather(1i,_3,_2,_ar,vec2i()));let _ax=vec4h(textureGather(1i,_3,_2,_ar,_4));let _ay=vec4h(textureGather(1i,_3,_2,_ar,_5));let _az=vec4h(textureGather(1i,_3,_2,_ar,_6));let _b0=vec4h(textureGather(2i,_3,_2,_ar,vec2i()));let _b1=vec4h(textureGather(2i,_3,_2,_ar,_4));let _b2=vec4h(textureGather(2i,_3,_2,_ar,_5));let _b3=vec4h(textureGather(2i,_3,_2,_ar,_6));let _b4=vec4h(textureGather(3i,_3,_2,_ar,vec2i()));let _b5=vec4h(textureGather(3i,_3,_2,_ar,_4));let _b6=vec4h(textureGather(3i,_3,_2,_ar,_5));let _b7=vec4h(textureGather(3i,_3,_2,_ar,_6));let _b8=_b4.w;let _b9=vec4h(_as.w,_aw.w,_b0.w,_b8);let _ba=_b4.z;let _bb=vec4h(_as.z,_aw.z,_b0.z,_ba);let _bc=_b5.w;let _bd=vec4h(_at.w,_ax.w,_b1.w,_bc);let _be=_b5.z;let _bf=vec4h(_at.z,_ax.z,_b1.z,_be);let _bg=_b4.x;let _bh=vec4h(_as.x,_aw.x,_b0.x,_bg);let _bi=_b4.y;let _bj=vec4h(_as.y,_aw.y,_b0.y,_bi);let _bk=_b5.x;let _bl=vec4h(_at.x,_ax.x,_b1.x,_bk);let _bm=_b5.y;let _bn=vec4h(_at.y,_ax.y,_b1.y,_bm);let _bo=_b6.w;let _bp=vec4h(_au.w,_ay.w,_b2.w,_bo);let _bq=_b6.z;let _br=vec4h(_au.z,_ay.z,_b2.z,_bq);let _bs=_b7.w;let _bt=vec4h(_av.w,_az.w,_b3.w,_bs);let _bu=_b7.z;let _bv=vec4h(_av.z,_az.z,_b3.z,_bu);let _bw=_b6.x;let _bx=vec4h(_au.x,_ay.x,_b2.x,_bw);let _by=_b6.y;let _bz=vec4h(_au.y,_ay.y,_b2.y,_by);let _c0=_b7.x;let _c1=vec4h(_av.x,_az.x,_b3.x,_c0);let _c2=_b7.y;let _c3=vec4h(_av.y,_az.y,_b3.y,_c2);let _c4=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(_b8,_ba),_bc),_be),_bg),_bi),_bk),_bm),_bo),_bq),_bs),_bu),_bw),_by),_c0),_c2);let _c5=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(_b8,_ba),_bc),_be),_bg),_bi),_bk),_bm),_bo),_bq),_bs),_bu),_bw),_by),_c0),_c2);let _c6=(((_c5-_c4)*1.0h)<0.015625h);_f=false;if(((_c4==0.0h)|(_c5==1.0h))){_e=!(_c6);_f=_e;}let _c7=_bb.xyz;let _c8=select(1.0h,_ba,_f);let _c9=_b9.xyz;let _ca=(_c9+(_c7*_c8));let _cb=(_b8+_ba);let _cc=vec4h(_ca.x,_ca.y,_ca.z,_cb);let _cd=!(_f);let _ce=!(_cd);_h=_cd;if(_ce){_g=(_ba>0.0h);_h=_g;}_k=_b9;_l=_b9;if(_h){let _cf=min(_c9,_c7);var _cg=_b9;_cg.x=_cf.x;let _ch=_cg;var _ci=_ch;_ci.y=_cf.y;_i=_ci;_i.z=_cf.z;let _cj=max(_c9,_c7);var _ck=_b9;_ck.x=_cj.x;let _cl=_ck;var _cm=_cl;_cm.y=_cj.y;_j=_cm;_j.z=_cj.z;_k=_j;_l=_i;}let _cn=min(_l.w,_ba);var _co=_l;_co.w=_cn;let _cp=_co;let _cq=max(_k.w,_ba);var _cr=_k;_cr.w=_cq;let _cs=_cr;let _ct=_bd.xyz;let _cu=select(1.0h,_bc,_f);let _cv=(_cc.xyz+(_ct*_cu));let _cw=(_cb+_bc);let _cx=vec4h(_cv.x,_cv.y,_cv.z,_cw);_n=_cd;if(_ce){_m=(_bc>0.0h);_n=_m;}_q=_cs;_r=_cp;if(_n){let _cy=min(_cp.xyz,_ct);_o=vec4h(_cy.x,_cy.y,_cy.z,_cn);let _cz=max(_cs.xyz,_ct);_p=vec4h(_cz.x,_cz.y,_cz.z,_cq);_q=_p;_r=_o;}let _d0=min(_r.w,_bc);var _d1=_r;_d1.w=_d0;let _d2=_d1;let _d3=max(_q.w,_bc);var _d4=_q;_d4.w=_d3;let _d5=_d4;let _d6=_bf.xyz;let _d7=select(1.0h,_be,_f);let _d8=(_cx.xyz+(_d6*_d7));let _d9=(_cw+_be);let _da=vec4h(_d8.x,_d8.y,_d8.z,_d9);_t=_cd;if(_ce){_s=(_be>0.0h);_t=_s;}_w=_d5;_x=_d2;if(_t){let _db=min(_d2.xyz,_d6);_u=vec4h(_db.x,_db.y,_db.z,_d0);let _dc=max(_d5.xyz,_d6);_v=vec4h(_dc.x,_dc.y,_dc.z,_d3);_w=_v;_x=_u;}let _dd=min(_x.w,_be);var _de=_x;_de.w=_dd;let _df=_de;let _dg=max(_w.w,_be);var _dh=_w;_dh.w=_dg;let _di=_dh;let _dj=_bh.xyz;let _dk=select(1.0h,_bg,_f);let _dl=(_da.xyz+(_dj*_dk));let _dm=(_d9+_bg);let _dn=vec4h(_dl.x,_dl.y,_dl.z,_dm);_z=_cd;if(_ce){_y=(_bg>0.0h);_z=_y;}_12=_di;_13=_df;if(_z){let _do=min(_df.xyz,_dj);_10=vec4h(_do.x,_do.y,_do.z,_dd);let _dp=max(_di.xyz,_dj);_11=vec4h(_dp.x,_dp.y,_dp.z,_dg);_12=_11;_13=_10;}let _dq=min(_13.w,_bg);var _dr=_13;_dr.w=_dq;let _ds=_dr;let _dt=max(_12.w,_bg);var _du=_12;_du.w=_dt;let _dv=_du;let _dw=_bj.xyz;let _dx=select(1.0h,_bi,_f);let _dy=(_dn.xyz+(_dw*_dx));let _dz=(_dm+_bi);let _e0=vec4h(_dy.x,_dy.y,_dy.z,_dz);_15=_cd;if(_ce){_14=(_bi>0.0h);_15=_14;}_18=_dv;_19=_ds;if(_15){let _e1=min(_ds.xyz,_dw);_16=vec4h(_e1.x,_e1.y,_e1.z,_dq);let _e2=max(_dv.xyz,_dw);_17=vec4h(_e2.x,_e2.y,_e2.z,_dt);_18=_17;_19=_16;}let _e3=min(_19.w,_bi);var _e4=_19;_e4.w=_e3;let _e5=_e4;let _e6=max(_18.w,_bi);var _e7=_18;_e7.w=_e6;let _e8=_e7;let _e9=_bl.xyz;let _ea=select(1.0h,_bk,_f);let _eb=(_e0.xyz+(_e9*_ea));let _ec=(_dz+_bk);let _ed=vec4h(_eb.x,_eb.y,_eb.z,_ec);_1b=_cd;if(_ce){_1a=(_bk>0.0h);_1b=_1a;}_1e=_e8;_1f=_e5;if(_1b){let _ee=min(_e5.xyz,_e9);_1c=vec4h(_ee.x,_ee.y,_ee.z,_e3);let _ef=max(_e8.xyz,_e9);_1d=vec4h(_ef.x,_ef.y,_ef.z,_e6);_1e=_1d;_1f=_1c;}let _eg=min(_1f.w,_bk);var _eh=_1f;_eh.w=_eg;let _ei=_eh;let _ej=max(_1e.w,_bk);var _ek=_1e;_ek.w=_ej;let _el=_ek;let _em=_bn.xyz;let _en=select(1.0h,_bm,_f);let _eo=(_ed.xyz+(_em*_en));let _ep=(_ec+_bm);let _eq=vec4h(_eo.x,_eo.y,_eo.z,_ep);_1h=_cd;if(_ce){_1g=(_bm>0.0h);_1h=_1g;}_1k=_el;_1l=_ei;if(_1h){let _er=min(_ei.xyz,_em);_1i=vec4h(_er.x,_er.y,_er.z,_eg);let _es=max(_el.xyz,_em);_1j=vec4h(_es.x,_es.y,_es.z,_ej);_1k=_1j;_1l=_1i;}let _et=min(_1l.w,_bm);var _eu=_1l;_eu.w=_et;let _ev=_eu;let _ew=max(_1k.w,_bm);var _ex=_1k;_ex.w=_ew;let _ey=_ex;let _ez=_bp.xyz;let _f0=select(1.0h,_bo,_f);let _f1=(_eq.xyz+(_ez*_f0));let _f2=(_ep+_bo);let _f3=vec4h(_f1.x,_f1.y,_f1.z,_f2);_1n=_cd;if(_ce){_1m=(_bo>0.0h);_1n=_1m;}_1q=_ey;_1r=_ev;if(_1n){let _f4=min(_ev.xyz,_ez);_1o=vec4h(_f4.x,_f4.y,_f4.z,_et);let _f5=max(_ey.xyz,_ez);_1p=vec4h(_f5.x,_f5.y,_f5.z,_ew);_1q=_1p;_1r=_1o;}let _f6=min(_1r.w,_bo);var _f7=_1r;_f7.w=_f6;let _f8=_f7;let _f9=max(_1q.w,_bo);var _fa=_1q;_fa.w=_f9;let _fb=_fa;let _fc=_br.xyz;let _fd=select(1.0h,_bq,_f);let _fe=(_f3.xyz+(_fc*_fd));let _ff=(_f2+_bq);let _fg=vec4h(_fe.x,_fe.y,_fe.z,_ff);_1t=_cd;if(_ce){_1s=(_bq>0.0h);_1t=_1s;}_1w=_fb;_1x=_f8;if(_1t){let _fh=min(_f8.xyz,_fc);_1u=vec4h(_fh.x,_fh.y,_fh.z,_f6);let _fi=max(_fb.xyz,_fc);_1v=vec4h(_fi.x,_fi.y,_fi.z,_f9);_1w=_1v;_1x=_1u;}let _fj=min(_1x.w,_bq);var _fk=_1x;_fk.w=_fj;let _fl=_fk;let _fm=max(_1w.w,_bq);var _fn=_1w;_fn.w=_fm;let _fo=_fn;let _fp=_bt.xyz;let _fq=select(1.0h,_bs,_f);let _fr=(_fg.xyz+(_fp*_fq));let _fs=(_ff+_bs);let _ft=vec4h(_fr.x,_fr.y,_fr.z,_fs);_1z=_cd;if(_ce){_1y=(_bs>0.0h);_1z=_1y;}_22=_fo;_23=_fl;if(_1z){let _fu=min(_fl.xyz,_fp);_20=vec4h(_fu.x,_fu.y,_fu.z,_fj);let _fv=max(_fo.xyz,_fp);_21=vec4h(_fv.x,_fv.y,_fv.z,_fm);_22=_21;_23=_20;}let _fw=min(_23.w,_bs);var _fx=_23;_fx.w=_fw;let _fy=_fx;let _fz=max(_22.w,_bs);var _g0=_22;_g0.w=_fz;let _g1=_g0;let _g2=_bv.xyz;let _g3=select(1.0h,_bu,_f);let _g4=(_ft.xyz+(_g2*_g3));let _g5=(_fs+_bu);let _g6=vec4h(_g4.x,_g4.y,_g4.z,_g5);_25=_cd;if(_ce){_24=(_bu>0.0h);_25=_24;}_28=_g1;_29=_fy;if(_25){let _g7=min(_fy.xyz,_g2);_26=vec4h(_g7.x,_g7.y,_g7.z,_fw);let _g8=max(_g1.xyz,_g2);_27=vec4h(_g8.x,_g8.y,_g8.z,_fz);_28=_27;_29=_26;}let _g9=min(_29.w,_bu);var _ga=_29;_ga.w=_g9;let _gb=_ga;let _gc=max(_28.w,_bu);var _gd=_28;_gd.w=_gc;let _ge=_gd;let _gf=_bx.xyz;let _gg=select(1.0h,_bw,_f);let _gh=(_g6.xyz+(_gf*_gg));let _gi=(_g5+_bw);let _gj=vec4h(_gh.x,_gh.y,_gh.z,_gi);_2b=_cd;if(_ce){_2a=(_bw>0.0h);_2b=_2a;}_2e=_ge;_2f=_gb;if(_2b){let _gk=min(_gb.xyz,_gf);_2c=vec4h(_gk.x,_gk.y,_gk.z,_g9);let _gl=max(_ge.xyz,_gf);_2d=vec4h(_gl.x,_gl.y,_gl.z,_gc);_2e=_2d;_2f=_2c;}let _gm=min(_2f.w,_bw);var _gn=_2f;_gn.w=_gm;let _go=_gn;let _gp=max(_2e.w,_bw);var _gq=_2e;_gq.w=_gp;let _gr=_gq;let _gs=_bz.xyz;let _gt=select(1.0h,_by,_f);let _gu=(_gj.xyz+(_gs*_gt));let _gv=(_gi+_by);let _gw=vec4h(_gu.x,_gu.y,_gu.z,_gv);_2h=_cd;if(_ce){_2g=(_by>0.0h);_2h=_2g;}_2k=_gr;_2l=_go;if(_2h){let _gx=min(_go.xyz,_gs);_2i=vec4h(_gx.x,_gx.y,_gx.z,_gm);let _gy=max(_gr.xyz,_gs);_2j=vec4h(_gy.x,_gy.y,_gy.z,_gp);_2k=_2j;_2l=_2i;}let _gz=min(_2l.w,_by);var _h0=_2l;_h0.w=_gz;let _h1=_h0;let _h2=max(_2k.w,_by);var _h3=_2k;_h3.w=_h2;let _h4=_h3;let _h5=_c1.xyz;let _h6=select(1.0h,_c0,_f);let _h7=(_gw.xyz+(_h5*_h6));let _h8=(_gv+_c0);let _h9=vec4h(_h7.x,_h7.y,_h7.z,_h8);_2n=_cd;if(_ce){_2m=(_c0>0.0h);_2n=_2m;}_2q=_h4;_2r=_h1;if(_2n){let _ha=min(_h1.xyz,_h5);_2o=vec4h(_ha.x,_ha.y,_ha.z,_gz);let _hb=max(_h4.xyz,_h5);_2p=vec4h(_hb.x,_hb.y,_hb.z,_h2);_2q=_2p;_2r=_2o;}let _hc=min(_2r.w,_c0);var _hd=_2r;_hd.w=_hc;let _he=_hd;let _hf=max(_2q.w,_c0);var _hg=_2q;_hg.w=_hf;let _hh=_hg;let _hi=_c3.xyz;let _hj=select(1.0h,_c2,_f);let _hk=(_h9.xyz+(_hi*_hj));let _hl=(_h8+_c2);let _hm=vec4h(_hk.x,_hk.y,_hk.z,_hl);_2t=_cd;if(_ce){_2s=(_c2>0.0h);_2t=_2s;}_2w=_hh;_2x=_he;if(_2t){let _hn=min(_he.xyz,_hi);_2u=vec4h(_hn.x,_hn.y,_hn.z,_hc);let _ho=max(_hh.xyz,_hi);_2v=vec4h(_ho.x,_ho.y,_ho.z,_hf);_2w=_2v;_2x=_2u;}var _hp:vec4h;var _hq:vec4h;_31=_2w;_32=_2x;_33=_hm;if(_f){if((_hl==0.0h)){let _hr=(_hm.xyz*0.0625h);_hp=vec4h(_hr.x,_hr.y,_hr.z,0.0h);_2y=_hp;_2z=_hp;_30=_hm;}else{let _hs=(_hm.xyz*(16.0h/_hl));var _ht=_hm;_ht.x=_hs.x;let _hu=_ht;var _hv=_hu;_hv.y=_hs.y;_hq=_hv;_hq.z=_hs.z;_2y=_2w;_2z=_2x;_30=_hq;}_31=_2y;_32=_2z;_33=_30;}let _hw=((_b9*16.0h)-_33);let _hx=(_hw.xyz*select(1.0h,_b8,_f));let _hy=_hx.x;let _hz=_hx.y;let _i0=_hx.z;let _i1=_hw.w;let _i2=((_bb*16.0h)-_33);let _i3=(_i2.xyz*_c8);let _i4=_i3.x;let _i5=_i3.y;let _i6=_i3.z;let _i7=_i2.w;let _i8=((_bd*16.0h)-_33);let _i9=(_i8.xyz*_cu);let _ia=_i9.x;let _ib=_i9.y;let _ic=_i9.z;let _id=_i8.w;let _ie=((_bf*16.0h)-_33);let _if=(_ie.xyz*_d7);let _ig=_if.x;let _ih=_if.y;let _ii=_if.z;let _ij=_ie.w;let _ik=((_bh*16.0h)-_33);let _il=(_ik.xyz*_dk);let _im=_il.x;let _in=_il.y;let _io=_il.z;let _ip=_ik.w;let _iq=((_bj*16.0h)-_33);let _ir=(_iq.xyz*_dx);let _is=_ir.x;let _it=_ir.y;let _iu=_ir.z;let _iv=_iq.w;let _iw=((_bl*16.0h)-_33);let _ix=(_iw.xyz*_ea);let _iy=_ix.x;let _iz=_ix.y;let _j0=_ix.z;let _j1=_iw.w;let _j2=((_bn*16.0h)-_33);let _j3=(_j2.xyz*_en);let _j4=_j3.x;let _j5=_j3.y;let _j6=_j3.z;let _j7=_j2.w;let _j8=((_bp*16.0h)-_33);let _j9=(_j8.xyz*_f0);let _ja=_j9.x;let _jb=_j9.y;let _jc=_j9.z;let _jd=_j8.w;let _je=((_br*16.0h)-_33);let _jf=(_je.xyz*_fd);let _jg=_jf.x;let _jh=_jf.y;let _ji=_jf.z;let _jj=_je.w;let _jk=((_bt*16.0h)-_33);let _jl=(_jk.xyz*_fq);let _jm=_jl.x;let _jn=_jl.y;let _jo=_jl.z;let _jp=_jk.w;let _jq=((_bv*16.0h)-_33);let _jr=(_jq.xyz*_g3);let _js=_jr.x;let _jt=_jr.y;let _ju=_jr.z;let _jv=_jq.w;let _jw=((_bx*16.0h)-_33);let _jx=(_jw.xyz*_gg);let _jy=_jx.x;let _jz=_jx.y;let _k0=_jx.z;let _k1=_jw.w;let _k2=((_bz*16.0h)-_33);let _k3=(_k2.xyz*_gt);let _k4=_k3.x;let _k5=_k3.y;let _k6=_k3.z;let _k7=_k2.w;let _k8=((_c1*16.0h)-_33);let _k9=(_k8.xyz*_h6);let _ka=_k9.x;let _kb=_k9.y;let _kc=_k9.z;let _kd=_k8.w;let _ke=((_c3*16.0h)-_33);let _kf=(_ke.xyz*_hj);let _kg=_kf.x;let _kh=_kf.y;let _ki=_kf.z;let _kj=((((((((((((((((_hy*_hy)+(_i4*_i4))+(_ia*_ia))+(_ig*_ig))+(_im*_im))+(_is*_is))+(_iy*_iy))+(_j4*_j4))+(_ja*_ja))+(_jg*_jg))+(_jm*_jm))+(_js*_js))+(_jy*_jy))+(_k4*_k4))+(_ka*_ka))+(_kg*_kg));let _kk=_ke.w;let _kl=((((((((((((((((_hz*_hz)+(_i5*_i5))+(_ib*_ib))+(_ih*_ih))+(_in*_in))+(_it*_it))+(_iz*_iz))+(_j5*_j5))+(_jb*_jb))+(_jh*_jh))+(_jn*_jn))+(_jt*_jt))+(_jz*_jz))+(_k5*_k5))+(_kb*_kb))+(_kh*_kh));let _km=((((((((((((((((_i0*_i0)+(_i6*_i6))+(_ic*_ic))+(_ii*_ii))+(_io*_io))+(_iu*_iu))+(_j0*_j0))+(_j6*_j6))+(_jc*_jc))+(_ji*_ji))+(_jo*_jo))+(_ju*_ju))+(_k0*_k0))+(_k6*_k6))+(_kc*_kc))+(_ki*_ki));let _kn=((((((((((((((((_i1*_i1)+(_i7*_i7))+(_id*_id))+(_ij*_ij))+(_ip*_ip))+(_iv*_iv))+(_j1*_j1))+(_j7*_j7))+(_jd*_jd))+(_jj*_jj))+(_jp*_jp))+(_jv*_jv))+(_k1*_k1))+(_k7*_k7))+(_kd*_kd))+(_kk*_kk));let _ko=select(1.0h,0.015625h,(max(max(_kj,_kl),max(_km,_kn))>64.0h));let _kp=(_kj*_ko);let _kq=(((((((((((((((((_hy*_hz)+(_i4*_i5))+(_ia*_ib))+(_ig*_ih))+(_im*_in))+(_is*_it))+(_iy*_iz))+(_j4*_j5))+(_ja*_jb))+(_jg*_jh))+(_jm*_jn))+(_js*_jt))+(_jy*_jz))+(_k4*_k5))+(_ka*_kb))+(_kg*_kh))*_ko);let _kr=(((((((((((((((((_hy*_i0)+(_i4*_i6))+(_ia*_ic))+(_ig*_ii))+(_im*_io))+(_is*_iu))+(_iy*_j0))+(_j4*_j6))+(_ja*_jc))+(_jg*_ji))+(_jm*_jo))+(_js*_ju))+(_jy*_k0))+(_k4*_k6))+(_ka*_kc))+(_kg*_ki))*_ko);let _ks=(((((((((((((((((_hy*_i1)+(_i4*_i7))+(_ia*_id))+(_ig*_ij))+(_im*_ip))+(_is*_iv))+(_iy*_j1))+(_j4*_j7))+(_ja*_jd))+(_jg*_jj))+(_jm*_jp))+(_js*_jv))+(_jy*_k1))+(_k4*_k7))+(_ka*_kd))+(_kg*_kk))*_ko);let _kt=(_kl*_ko);let _ku=(((((((((((((((((_hz*_i0)+(_i5*_i6))+(_ib*_ic))+(_ih*_ii))+(_in*_io))+(_it*_iu))+(_iz*_j0))+(_j5*_j6))+(_jb*_jc))+(_jh*_ji))+(_jn*_jo))+(_jt*_ju))+(_jz*_k0))+(_k5*_k6))+(_kb*_kc))+(_kh*_ki))*_ko);let _kv=(((((((((((((((((_hz*_i1)+(_i5*_i7))+(_ib*_id))+(_ih*_ij))+(_in*_ip))+(_it*_iv))+(_iz*_j1))+(_j5*_j7))+(_jb*_jd))+(_jh*_jj))+(_jn*_jp))+(_jt*_jv))+(_jz*_k1))+(_k5*_k7))+(_kb*_kd))+(_kh*_kk))*_ko);let _kw=(_km*_ko);let _kx=(((((((((((((((((_i0*_i1)+(_i6*_i7))+(_ic*_id))+(_ii*_ij))+(_io*_ip))+(_iu*_iv))+(_j0*_j1))+(_j6*_j7))+(_jc*_jd))+(_ji*_jj))+(_jo*_jp))+(_ju*_jv))+(_k0*_k1))+(_k6*_k7))+(_kc*_kd))+(_ki*_kk))*_ko);let _ky=(_kn*_ko);let _kz=(_kp+0.0001220703125h);let _l0=(_kt+0.0001220703125h);let _l1=(_kw+0.0001220703125h);let _l2=vec4h((vec4f(vec4h(_kz,_l0,_l1,_ky))*(1.0f/f32(max(max(_kz,_l0),max(_l1,_ky))))));let _l3=_l2.x;_35=_l3;if((_ks<0.0h)){_34=-(_l3);_35=_34;}let _l4=_l2.y;_37=_l4;if((_kv<0.0h)){_36=-(_l4);_37=_36;}let _l5=_l2.z;_39=_l5;if((_kx<0.0h)){_38=-(_l5);_39=_38;}var _l6:f16;var _l7:f16;var _l8:i32;var _l9:f16;var _la:vec4h;var _lb:vec4h;let _lc=_l2.w;let _ld=((((_35*_kp)+(_37*_kq))+(_39*_kr))+(_lc*_ks));let _le=((((_35*_kq)+(_37*_kt))+(_39*_ku))+(_lc*_kv));let _lf=((((_35*_kr)+(_37*_ku))+(_39*_kw))+(_lc*_kx));let _lg=((((_35*_ks)+(_37*_kv))+(_39*_kx))+(_lc*_ky));let _lh=max(max(abs(_ld),abs(_le)),max(abs(_lf),abs(_lg)));let _li=vec4h((vec4f(f32(_ld),f32(_le),f32(_lf),f32(_lg))*(1.0f/f32(select(_lh,1.0h,(_lh==0.0h))))));let _lj=_li.x;let _lk=_li.y;let _ll=_li.z;let _lm=_li.w;let _ln=((((_lj*_kp)+(_lk*_kq))+(_ll*_kr))+(_lm*_ks));let _lo=((((_lj*_kq)+(_lk*_kt))+(_ll*_ku))+(_lm*_kv));let _lp=((((_lj*_kr)+(_lk*_ku))+(_ll*_kw))+(_lm*_kx));let _lq=((((_lj*_ks)+(_lk*_kv))+(_ll*_kx))+(_lm*_ky));let _lr=max(max(abs(_ln),abs(_lo)),max(abs(_lp),abs(_lq)));let _ls=(_lr==0.0h);let _lt=vec4h((vec4f(f32(_ln),f32(_lo),f32(_lp),f32(_lq))*(1.0f/f32(select(_lr,1.0h,_ls)))));let _lu=_lt.x;let _lv=_lt.y;let _lw=_lt.z;let _lx=_lt.w;let _ly=dot(_lt,_lt);_l6=f16((f32(dot(vec4h(((((_lu*_kp)+(_lv*_kq))+(_lw*_kr))+(_lx*_ks)),((((_lu*_kq)+(_lv*_kt))+(_lw*_ku))+(_lx*_kv)),((((_lu*_kr)+(_lv*_ku))+(_lw*_kw))+(_lx*_kx)),((((_lu*_ks)+(_lv*_kv))+(_lw*_kx))+(_lx*_ky))),_lt))*(1.0f/f32(select(_ly,1.0h,(_ly==0.0h))))));_l7=(((_kp+_kt)+_kw)+_ky);let _lz=select(_lt,_7,vec4<bool>(_ls));var _m0=_32;_m0.w=_c4;let _m1=_m0;var _m2=_31;_m2.w=_c5;let _m3=_m2;let _m4=(_33*0.0625h);let _m5=((_m2-_m1)*_8);_3f=0i;_3g=65504.0h;_3h=_7;_3i=_9;_3j=4i;if(_cd){var _m6:i32;let _m7=abs(_l6);_3a=select(select(4i,6i,((_l7-_m7)<(_ko*0.5h))),6i,((_m7/_l7)>0.974609375h));_3b=0i;_3c=65504.0h;_3d=_7;_3e=_9;if(_c6){let _m8=abs(((_kq+(select(1.0h,-1.0h,(_kq<0.0h))*0.0078125h))*inverseSqrt(((_kp*_kt)+0.00006103515625h))));let _m9=abs(((_kr+(select(1.0h,-1.0h,(_kr<0.0h))*0.0078125h))*inverseSqrt(((_kp*_kw)+0.00006103515625h))));let _ma=abs(((_ku+(select(1.0h,-1.0h,(_ku<0.0h))*0.0078125h))*inverseSqrt(((_kt*_kw)+0.00006103515625h))));if((_ma>max(_m8,_m9))){_l8=1i;}else{_m6=select(3i,2i,(_m9>_m8));_l8=_m6;}let _mb=_m5.x;let _mc=_m5.y;let _md=(_mb+_mc);let _me=_m5.z;_l9=((((_md+_me)*0.0625h)+0.01171875h)+(1.0h*(((_md*(1.0h-_m8))+((_mb+_me)*(1.0h-_m9)))+((_mc+_me)*(1.0h-_ma)))));_la=vec4h(select(0.0h,1.0h,(_l8==1i)),select(0.0h,1.0h,(_l8==2i)),select(0.0h,1.0h,(_l8==3i)),0.0h);_lb=(_a-_la);_3b=_l8;_3c=_l9;_3d=_lb;_3e=_la;}_3f=_3b;_3g=_3c;_3h=_3d;_3i=_3e;_3j=_3a;}let _mf=(_3j==4i);_3l=_m5;if(_mf){_3k=_m5;_3k.w=(_m5.w*1.5h);_3l=_3k;}let _mg=dot(_3i,_3l);let _mh=dot(_3h,_3l);let _mi=select(_3j,6i,(_3g<((min(((_mg*0.5h)+_mh),((_mh*0.5h)+_mg))*0.25h)+0.03125h)));let _mj=(_mi==4i);if(_mj){_3m=select(0i,1i,(_mg<_mh));_3n=(_m4*_3h);_3o=(_m1*_3i);_3p=(_m3*_3i);let _mk=_3h.x;_3q=(_kp*_mk);let _ml=_3h.y;_3r=((_kq*_mk)*_ml);_3s=(_kt*_ml);let _mm=_3h.z;_3t=((_kr*_mk)*_mm);_3u=((_ku*_ml)*_mm);_3v=(_kw*_mm);let _mn=_3h.w;_3w=((_ks*_mk)*_mn);_3x=((_kv*_ml)*_mn);_3y=((_kx*_mm)*_mn);_3z=(_ky*_mn);_40=_3m;_41=_3i;_42=_3p;_43=_3o;_44=_3n;_45=_3q;_46=_3r;_47=_3t;_48=_3w;_49=_3s;_4a=_3u;_4b=_3x;_4c=_3v;_4d=_3y;_4e=_3z;}else{_40=0i;_41=vec4h();_42=vec4h();_43=vec4h();_44=_m4;_45=_kp;_46=_kq;_47=_kr;_48=_ks;_49=_kt;_4a=_ku;_4b=_kv;_4c=_kw;_4d=_kx;_4e=_ky;}let _mo=_lz.x;let _mp=_lz.y;let _mq=_lz.z;let _mr=_lz.w;let _ms=((((_mo*_45)+(_mp*_46))+(_mq*_47))+(_mr*_48));let _mt=((((_mo*_46)+(_mp*_49))+(_mq*_4a))+(_mr*_4b));let _mu=((((_mo*_47)+(_mp*_4a))+(_mq*_4c))+(_mr*_4d));let _mv=((((_mo*_48)+(_mp*_4b))+(_mq*_4d))+(_mr*_4e));let _mw=max(max(abs(_ms),abs(_mt)),max(abs(_mu),abs(_mv)));let _mx=(_mw==0.0h);let _my=select(vec4h((vec4f(f32(_ms),f32(_mt),f32(_mu),f32(_mv))*(1.0f/f32(select(_mw,1.0h,_mx))))),_7,vec4<bool>(_mx));let _mz=(_my*_8);let _n0=(1.0h/dot(_mz,_mz));let _n1=((_mz*_n0)*_8);let _n2=dot(_b9,_n1);let _n3=!(_mf);let _n4=!(_n3);_4g=_n3;if(_n4){_4f=(f32(_b8)>0.0f);_4g=_4f;}_4l=-65504.0h;_4m=65504.0h;_4n=0u;_4o=0u;if(_4g){_4h=select(65504.0h,_n2,(_n2<65504.0h));_4i=select(-65504.0h,_n2,(_n2>-65504.0h));_4j=select(0u,1u,(_n2==_4h));_4k=select(0u,1u,(_n2==_4i));_4l=_4i;_4m=_4h;_4n=_4k;_4o=_4j;}let _n5=select(0u,1u,_4g);let _n6=dot(_bb,_n1);_4q=_n3;if(_n4){_4p=(f32(_ba)>0.0f);_4q=_4p;}_4w=_4l;_4x=_4m;_4y=_n5;_4z=_4n;_50=_4o;if(_4q){_4r=(_n5+bitcast<u32>(1i));let _n7=(_n6<_4m);let _n8=select(_4o,0u,_n7);_4s=select(_4m,_n6,_n7);let _n9=(_n6>_4l);let _na=select(_4n,0u,_n9);_4t=select(_4l,_n6,_n9);_4u=select(_n8,(_n8+1u),(_n6==_4s));_4v=select(_na,(_na+1u),(_n6==_4t));_4w=_4t;_4x=_4s;_4y=_4r;_4z=_4v;_50=_4u;}let _nb=dot(_bd,_n1);_52=_n3;if(_n4){_51=(f32(_bc)>0.0f);_52=_51;}_58=_4w;_59=_4x;_5a=_4y;_5b=_4z;_5c=_50;if(_52){_53=(_4y+bitcast<u32>(1i));let _nc=(_nb<_4x);let _nd=select(_50,0u,_nc);_54=select(_4x,_nb,_nc);let _ne=(_nb>_4w);let _nf=select(_4z,0u,_ne);_55=select(_4w,_nb,_ne);_56=select(_nd,(_nd+1u),(_nb==_54));_57=select(_nf,(_nf+1u),(_nb==_55));_58=_55;_59=_54;_5a=_53;_5b=_57;_5c=_56;}let _ng=dot(_bf,_n1);_5e=_n3;if(_n4){_5d=(f32(_be)>0.0f);_5e=_5d;}_5k=_58;_5l=_59;_5m=_5a;_5n=_5b;_5o=_5c;if(_5e){_5f=(_5a+bitcast<u32>(1i));let _nh=(_ng<_59);let _ni=select(_5c,0u,_nh);_5g=select(_59,_ng,_nh);let _nj=(_ng>_58);let _nk=select(_5b,0u,_nj);_5h=select(_58,_ng,_nj);_5i=select(_ni,(_ni+1u),(_ng==_5g));_5j=select(_nk,(_nk+1u),(_ng==_5h));_5k=_5h;_5l=_5g;_5m=_5f;_5n=_5j;_5o=_5i;}let _nl=dot(_bh,_n1);_5q=_n3;if(_n4){_5p=(f32(_bg)>0.0f);_5q=_5p;}_5w=_5k;_5x=_5l;_5y=_5m;_5z=_5n;_60=_5o;if(_5q){_5r=(_5m+bitcast<u32>(1i));let _nm=(_nl<_5l);let _nn=select(_5o,0u,_nm);_5s=select(_5l,_nl,_nm);let _no=(_nl>_5k);let _np=select(_5n,0u,_no);_5t=select(_5k,_nl,_no);_5u=select(_nn,(_nn+1u),(_nl==_5s));_5v=select(_np,(_np+1u),(_nl==_5t));_5w=_5t;_5x=_5s;_5y=_5r;_5z=_5v;_60=_5u;}let _nq=dot(_bj,_n1);_62=_n3;if(_n4){_61=(f32(_bi)>0.0f);_62=_61;}_68=_5w;_69=_5x;_6a=_5y;_6b=_5z;_6c=_60;if(_62){_63=(_5y+bitcast<u32>(1i));let _nr=(_nq<_5x);let _ns=select(_60,0u,_nr);_64=select(_5x,_nq,_nr);let _nt=(_nq>_5w);let _nu=select(_5z,0u,_nt);_65=select(_5w,_nq,_nt);_66=select(_ns,(_ns+1u),(_nq==_64));_67=select(_nu,(_nu+1u),(_nq==_65));_68=_65;_69=_64;_6a=_63;_6b=_67;_6c=_66;}let _nv=dot(_bl,_n1);_6e=_n3;if(_n4){_6d=(f32(_bk)>0.0f);_6e=_6d;}_6k=_68;_6l=_69;_6m=_6a;_6n=_6b;_6o=_6c;if(_6e){_6f=(_6a+bitcast<u32>(1i));let _nw=(_nv<_69);let _nx=select(_6c,0u,_nw);_6g=select(_69,_nv,_nw);let _ny=(_nv>_68);let _nz=select(_6b,0u,_ny);_6h=select(_68,_nv,_ny);_6i=select(_nx,(_nx+1u),(_nv==_6g));_6j=select(_nz,(_nz+1u),(_nv==_6h));_6k=_6h;_6l=_6g;_6m=_6f;_6n=_6j;_6o=_6i;}let _o0=dot(_bn,_n1);_6q=_n3;if(_n4){_6p=(f32(_bm)>0.0f);_6q=_6p;}_6w=_6k;_6x=_6l;_6y=_6m;_6z=_6n;_70=_6o;if(_6q){_6r=(_6m+bitcast<u32>(1i));let _o1=(_o0<_6l);let _o2=select(_6o,0u,_o1);_6s=select(_6l,_o0,_o1);let _o3=(_o0>_6k);let _o4=select(_6n,0u,_o3);_6t=select(_6k,_o0,_o3);_6u=select(_o2,(_o2+1u),(_o0==_6s));_6v=select(_o4,(_o4+1u),(_o0==_6t));_6w=_6t;_6x=_6s;_6y=_6r;_6z=_6v;_70=_6u;}let _o5=dot(_bp,_n1);_72=_n3;if(_n4){_71=(f32(_bo)>0.0f);_72=_71;}_78=_6w;_79=_6x;_7a=_6y;_7b=_6z;_7c=_70;if(_72){_73=(_6y+bitcast<u32>(1i));let _o6=(_o5<_6x);let _o7=select(_70,0u,_o6);_74=select(_6x,_o5,_o6);let _o8=(_o5>_6w);let _o9=select(_6z,0u,_o8);_75=select(_6w,_o5,_o8);_76=select(_o7,(_o7+1u),(_o5==_74));_77=select(_o9,(_o9+1u),(_o5==_75));_78=_75;_79=_74;_7a=_73;_7b=_77;_7c=_76;}let _oa=dot(_br,_n1);_7e=_n3;if(_n4){_7d=(f32(_bq)>0.0f);_7e=_7d;}_7k=_78;_7l=_79;_7m=_7a;_7n=_7b;_7o=_7c;if(_7e){_7f=(_7a+bitcast<u32>(1i));let _ob=(_oa<_79);let _oc=select(_7c,0u,_ob);_7g=select(_79,_oa,_ob);let _od=(_oa>_78);let _oe=select(_7b,0u,_od);_7h=select(_78,_oa,_od);_7i=select(_oc,(_oc+1u),(_oa==_7g));_7j=select(_oe,(_oe+1u),(_oa==_7h));_7k=_7h;_7l=_7g;_7m=_7f;_7n=_7j;_7o=_7i;}let _of=dot(_bt,_n1);_7q=_n3;if(_n4){_7p=(f32(_bs)>0.0f);_7q=_7p;}_7w=_7k;_7x=_7l;_7y=_7m;_7z=_7n;_80=_7o;if(_7q){_7r=(_7m+bitcast<u32>(1i));let _og=(_of<_7l);let _oh=select(_7o,0u,_og);_7s=select(_7l,_of,_og);let _oi=(_of>_7k);let _oj=select(_7n,0u,_oi);_7t=select(_7k,_of,_oi);_7u=select(_oh,(_oh+1u),(_of==_7s));_7v=select(_oj,(_oj+1u),(_of==_7t));_7w=_7t;_7x=_7s;_7y=_7r;_7z=_7v;_80=_7u;}let _ok=dot(_bv,_n1);_82=_n3;if(_n4){_81=(f32(_bu)>0.0f);_82=_81;}_88=_7w;_89=_7x;_8a=_7y;_8b=_7z;_8c=_80;if(_82){_83=(_7y+bitcast<u32>(1i));let _ol=(_ok<_7x);let _om=select(_80,0u,_ol);_84=select(_7x,_ok,_ol);let _on=(_ok>_7w);let _oo=select(_7z,0u,_on);_85=select(_7w,_ok,_on);_86=select(_om,(_om+1u),(_ok==_84));_87=select(_oo,(_oo+1u),(_ok==_85));_88=_85;_89=_84;_8a=_83;_8b=_87;_8c=_86;}let _op=dot(_bx,_n1);_8e=_n3;if(_n4){_8d=(f32(_bw)>0.0f);_8e=_8d;}_8k=_88;_8l=_89;_8m=_8a;_8n=_8b;_8o=_8c;if(_8e){_8f=(_8a+bitcast<u32>(1i));let _oq=(_op<_89);let _or=select(_8c,0u,_oq);_8g=select(_89,_op,_oq);let _os=(_op>_88);let _ot=select(_8b,0u,_os);_8h=select(_88,_op,_os);_8i=select(_or,(_or+1u),(_op==_8g));_8j=select(_ot,(_ot+1u),(_op==_8h));_8k=_8h;_8l=_8g;_8m=_8f;_8n=_8j;_8o=_8i;}let _ou=dot(_bz,_n1);_8q=_n3;if(_n4){_8p=(f32(_by)>0.0f);_8q=_8p;}_8w=_8k;_8x=_8l;_8y=_8m;_8z=_8n;_90=_8o;if(_8q){_8r=(_8m+bitcast<u32>(1i));let _ov=(_ou<_8l);let _ow=select(_8o,0u,_ov);_8s=select(_8l,_ou,_ov);let _ox=(_ou>_8k);let _oy=select(_8n,0u,_ox);_8t=select(_8k,_ou,_ox);_8u=select(_ow,(_ow+1u),(_ou==_8s));_8v=select(_oy,(_oy+1u),(_ou==_8t));_8w=_8t;_8x=_8s;_8y=_8r;_8z=_8v;_90=_8u;}let _oz=dot(_c1,_n1);_92=_n3;if(_n4){_91=(f32(_c0)>0.0f);_92=_91;}_98=_8w;_99=_8x;_9a=_8y;_9b=_8z;_9c=_90;if(_92){_93=(_8y+bitcast<u32>(1i));let _p0=(_oz<_8x);let _p1=select(_90,0u,_p0);_94=select(_8x,_oz,_p0);let _p2=(_oz>_8w);let _p3=select(_8z,0u,_p2);_95=select(_8w,_oz,_p2);_96=select(_p1,(_p1+1u),(_oz==_94));_97=select(_p3,(_p3+1u),(_oz==_95));_98=_95;_99=_94;_9a=_93;_9b=_97;_9c=_96;}let _p4=dot(_c3,_n1);_9e=_n3;if(_n4){_9d=(f32(_c2)>0.0f);_9e=_9d;}_9k=_98;_9l=_99;_9m=_9a;_9n=_9b;_9o=_9c;if(_9e){_9f=(_9a+bitcast<u32>(1i));let _p5=(_p4<_99);let _p6=select(_9c,0u,_p5);_9g=select(_99,_p4,_p5);let _p7=(_p4>_98);let _p8=select(_9b,0u,_p7);_9h=select(_98,_p4,_p7);_9i=select(_p6,(_p6+1u),(_p4==_9g));_9j=select(_p8,(_p8+1u),(_p4==_9h));_9k=_9h;_9l=_9g;_9m=_9f;_9n=_9j;_9o=_9i;}let _p9=clamp((f16((_9o+_9n))/f16(_9m)),0.0h,1.0h);let _pa=dot(_44,_n1);let _pb=(_9l-_pa);let _pc=(_9k-_pa);if(_mj){_9p=select(0.0625h,0.03125h,(_40!=0i));_9q=_9p;}else{_9q=0.015625h;}let _pd=(((_pc-_pb)*_9q)*(1.0h-_p9));let _pe=(_pb+_pd);let _pf=(_pc-_pd);let _pg=select(0.0078125h,0.03125h,_mj);let _ph=max(0.0h,(((((0.6357421875h*_pg)*_n0)+(0.36376953125h*_pg))-(_pf-_pe))*0.5h));let _pi=(_pe-_ph);let _pj=(_pf+_ph);let _pk=(dot((_42-_43),_41)*select(0.03125h,0.0625h,(_40!=0i)));let _pl=(_41.xyz*_pk);let _pm=(_43.xyz+_pl);let _pn=_pm.x;var _po=_43;_po.x=_pn;let _pp=_po;let _pq=_pm.y;var _pr=_pp;_pr.y=_pq;let _ps=_pr;let _pt=_pm.z;var _pu=_ps;_pu.z=_pt;let _pv=_pu;let _pw=(_42.xyz-_pl);let _px=_pw.x;var _py=_42;_py.x=_px;let _pz=_py;let _q0=_pw.y;var _q1=_pz;_q1.y=_q0;let _q2=_q1;let _q3=_pw.z;var _q4=_q2;_q4.z=_q3;let _q5=_q4;let _q6=_43.w;_9s=_pv;if((f32(_q6)>0.0f)){_9r=vec4h(_pn,_pq,_pt,(_q6+(_41.w*_pk)));_9s=_9r;}let _q7=_42.w;_9u=_q5;if((f32(_q7)<1.0f)){_9t=vec4h(_px,_q0,_q3,(_q7-(_41.w*_pk)));_9u=_9t;}let _q8=(clamp(((_my*_pi)+_44),vec4h(),_a)+_9s);let _q9=(clamp(((_my*_pj)+_44),vec4h(),_a)+_9u);let _qa=(_mi==6i);if(_qa){let _qb=(trunc((_q8*127.5h))*2.0h);let _qc=((_q8*255.0h)-_qb);let _qd=_q8.w;_9v=select(select(select(0u,1u,((((_qc.x+_qc.y)+_qc.z)+_qc.w)>=2.0h)),0u,(_qd==0.0h)),1u,(_qd==1.0h));_9w=(_qb+vec4h(f16(_9v)));let _qe=(trunc((_q9*127.5h))*2.0h);let _qf=((_q9*255.0h)-_qe);let _qg=_q9.w;_9x=select(select(select(0u,1u,((((_qf.x+_qf.y)+_qf.z)+_qf.w)>=2.0h)),0u,(_qg==0.0h)),1u,(_qg==1.0h));_9y=(_qe+vec4h(f16(_9x)));_a1=_9x;_a2=_9v;_a3=_9y;_a4=_9w;}else{let _qh=(_3f==1i);let _qi=_q8.x;let _qj=select(31.0h,63.0h,_qh);let _qk=select(8.25h,4.0625h,_qh);let _ql=(trunc((_qi*_qj))*_qk);let _qm=min(255.0h,trunc(_ql));let _qn=min(255.0h,trunc((_ql+_qk)));let _qo=(_3f==2i);let _qp=_q8.y;let _qq=select(31.0h,63.0h,_qo);let _qr=select(8.25h,4.0625h,_qo);let _qs=(trunc((_qp*_qq))*_qr);let _qt=min(255.0h,trunc(_qs));let _qu=min(255.0h,trunc((_qs+_qr)));let _qv=(_3f==3i);let _qw=_q8.z;let _qx=select(31.0h,63.0h,_qv);let _qy=select(8.25h,4.0625h,_qv);let _qz=(trunc((_qw*_qx))*_qy);let _r0=min(255.0h,trunc(_qz));let _r1=min(255.0h,trunc((_qz+_qy)));let _r2=(_3f==0i);let _r3=_q8.w;let _r4=select(31.0h,63.0h,_r2);let _r5=select(8.25h,4.0625h,_r2);let _r6=(trunc((_r3*_r4))*_r5);let _r7=min(255.0h,trunc(_r6));let _r8=min(255.0h,trunc((_r6+_r5)));_9z=vec4h(select(_qm,_qn,((255.0h*_qi)>(0.5h*(_qm+_qn)))),select(_qt,_qu,((255.0h*_qp)>(0.5h*(_qt+_qu)))),select(_r0,_r1,((255.0h*_qw)>(0.5h*(_r0+_r1)))),select(_r7,_r8,((255.0h*_r3)>(0.5h*(_r7+_r8)))));let _r9=_q9.x;let _ra=(trunc((_r9*_qj))*_qk);let _rb=min(255.0h,trunc(_ra));let _rc=min(255.0h,trunc((_ra+_qk)));let _rd=_q9.y;let _re=(trunc((_rd*_qq))*_qr);let _rf=min(255.0h,trunc(_re));let _rg=min(255.0h,trunc((_re+_qr)));let _rh=_q9.z;let _ri=(trunc((_rh*_qx))*_qy);let _rj=min(255.0h,trunc(_ri));let _rk=min(255.0h,trunc((_ri+_qy)));let _rl=_q9.w;let _rm=(trunc((_rl*_r4))*_r5);let _rn=min(255.0h,trunc(_rm));let _ro=min(255.0h,trunc((_rm+_r5)));_a0=vec4h(select(_rb,_rc,((255.0h*_r9)>(0.5h*(_rb+_rc)))),select(_rf,_rg,((255.0h*_rd)>(0.5h*(_rf+_rg)))),select(_rj,_rk,((255.0h*_rh)>(0.5h*(_rj+_rk)))),select(_rn,_ro,((255.0h*_rl)>(0.5h*(_rn+_ro)))));_a1=0u;_a2=0u;_a3=_a0;_a4=_9z;}let _rp=(_a3-_a4);if(_mj){_a5=vec4h(select(0.0h,1.0h,(_3f==1i)),select(0.0h,1.0h,(_3f==2i)),select(0.0h,1.0h,(_3f==3i)),select(0.0h,1.0h,(_3f==0i)));_a6=_a5;}else{_a6=vec4h();}let _rq=((_rp*(_a-_a6))*(_8*0.0039215087890625h));let _rr=((_rq*(1.0h/dot(_rq,_rq)))*_8);let _rs=(dot(_a4,_rr)*0.0039215087890625h);_aa=_rs;_ab=_rr;_ac=0u;if(_mj){let _rt=((_a6*dot(_rp,_a6))*0.0039215087890625h);let _ru=(_rt*(1.0h/dot(_rt,_rt)));let _rv=(dot(_a4,_ru)*0.0039215087890625h);let _rw=(_40==1i);let _rx=select(_rs,_rv,_rw);let _ry=vec4<bool>(_rw);let _rz=select(_rr,_ru,_ry);_a7=select(_rv,_rs,_rw);_a8=select(_ru,_rr,_ry);_a9=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_b9,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_bb,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_bd,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_bf,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_bh,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_bj,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_bl,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_bn,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_bp,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_br,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_bt,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_bv,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_bx,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_bz,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_c1,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_c3,_rz)-_rx),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_aa=_a7;_ab=_a8;_ac=_a9;}let _s0=select(15.0h,7.0h,_mj);let _s1=select(4i,3i,_mj);let _s2=(_s1*2i);let _s3=(_s1*3i);let _s4=(_s1*4i);let _s5=(_s1*5i);let _s6=(_s1*6i);let _s7=(_s1*7i);let _s8=((((((((0u|(u32(((_s0*clamp((dot(_b9,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_s0*clamp((dot(_bb,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s1)))|(u32(((_s0*clamp((dot(_bd,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s2)))|(u32(((_s0*clamp((dot(_bf,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s3)))|(u32(((_s0*clamp((dot(_bh,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s4)))|(u32(((_s0*clamp((dot(_bj,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s5)))|(u32(((_s0*clamp((dot(_bl,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s6)))|(u32(((_s0*clamp((dot(_bn,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s7)));let _s9=((((((((0u|(u32(((_s0*clamp((dot(_bp,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((_s0*clamp((dot(_br,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s1)))|(u32(((_s0*clamp((dot(_bt,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s2)))|(u32(((_s0*clamp((dot(_bv,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s3)))|(u32(((_s0*clamp((dot(_bx,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s4)))|(u32(((_s0*clamp((dot(_bz,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s5)))|(u32(((_s0*clamp((dot(_c1,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s6)))|(u32(((_s0*clamp((dot(_c3,_ab)-_aa),0.0h,1.0h))+0.5h))<<bitcast<u32>(_s7)));if(_mj){_ad=(_s8|(_s9<<bitcast<u32>(24i)));_ae=(_s9>>bitcast<u32>(8i));_af=_ae;_ag=_ad;}else{_af=_s9;_ag=_s9;}var _sa:u32;var _sb:vec3u;var _sc:vec2u;var _sd:vec2u;var _se:u32;var _sf:u32;var _sg:u32;var _sh:u32;var _si:vec3u;var _sj:u32;var _sk:u32;var _sl:u32;var _sm:u32;var _sn:vec3u;var _so:u32;var _sp:u32;var _sq:u32;var _sr:u32;var _ss:vec3u;var _st:u32;var _su:u32;var _sv:u32;var _sw:u32;var _sx:vec3u;_sa=select(_s8,_ac,_mj);_sb=vec3u(_sa,_ag,_af);let _sy=(0u|((1u<<bitcast<u32>(_mi))<<0u));if(_qa){let _sz=((_sa&8u)!=0u);_sd=_sb.xy;if(_sz){_sc=vec2u(~(_sa),~(_ag));_sd=_sc;}let _t0=vec4<bool>(_sz);let _t1=select(_a3,_a4,_t0);let _t2=select(_a4,_a3,_t0);let _t3=_sd.x;let _t4=(((_t3&7u)<<bitcast<u32>(1i))|(_t3&4294967280u));let _t5=(u32(_t1.y)>>bitcast<u32>(1i));_ah=vec4u(((((_sy|((u32(_t2.x)>>bitcast<u32>(1i))<<7u))|((u32(_t1.x)>>bitcast<u32>(1i))<<14u))|((u32(_t2.y)>>bitcast<u32>(1i))<<21u))|(_t5<<28u)),((((((0u|(_t5>>4u))|((u32(_t2.z)>>bitcast<u32>(1i))<<3u))|((u32(_t1.z)>>bitcast<u32>(1i))<<10u))|((u32(_t2.w)>>bitcast<u32>(1i))<<17u))|((u32(_t1.w)>>bitcast<u32>(1i))<<24u))|(_a2<<31u)),_t4,_sd.y);_ah.z=(_t4|_a1);_aj=_ah;}else{let _t6=vec4h(select(0.0h,1.0h,(_3f==1i)),select(0.0h,1.0h,(_3f==2i)),select(0.0h,1.0h,(_3f==3i)),select(0.0h,1.0h,(_3f==0i)));let _t7=(_a-_t6);let _t8=(u32(dot(_a4,_t6))>>bitcast<u32>(2i));let _t9=(u32(dot(_a3,_t6))>>bitcast<u32>(2i));let _ta=((_a4*_t7)+(_t6*_a4.w));let _tb=((_a3*_t7)+(_t6*_ta.w));let _tc=(((u32(_ta.x)>>bitcast<u32>(3i))|((u32(_ta.y)&248u)<<bitcast<u32>(7i)))|((u32(_ta.z)&248u)<<bitcast<u32>(17i)));let _td=(((u32(_tb.x)>>bitcast<u32>(3i))|((u32(_tb.y)&248u)<<bitcast<u32>(7i)))|((u32(_tb.z)&248u)<<bitcast<u32>(17i)));_sj=5u;_sk=0u;_sl=6u;_sm=0u;_sn=_sb;if(((_sa&2u)!=0u)){let _te=(_40==0i);_se=select(5u,0u,_te);_sf=select(0u,5u,_te);_sg=select(0u,6u,_te);_sh=select(6u,0u,_te);_si=_sb;_si.x=~(_sa);_sj=_se;_sk=_sf;_sl=_sg;_sm=_sh;_sn=_si;}let _tf=_sn.x;let _tg=(((_tf&1u)+(_tf&4294967293u))>>bitcast<u32>(1i));var _th=_sn;_th.x=_tg;let _ti=_th;let _tj=_sn.y;_st=_sj;_su=_sk;_sv=_sl;_sw=_sm;_sx=_ti;if(((_tj&4u)!=0u)){let _tk=(_40==1i);_so=select(_sj,0u,_tk);_sp=select(_sk,5u,_tk);_sq=select(0u,_sl,_tk);_sr=select(6u,_sm,_tk);_ss=vec3u(_tg,~(_tj),(_sn.z^65535u));_st=_so;_su=_sp;_sv=_sq;_sw=_sr;_sx=_ss;}let _tl=_sx.y;let _tm=_sx.z;let _tn=((((_tl&3u)+(_tl&4294967291u))>>bitcast<u32>(1i))|(_tm<<bitcast<u32>(31i)));let _to=((_tc<<_su)|(_td<<_st));let _tp=_sx.x;let _tq=(0u|(_tn>>15u));_ai=vec4u(((((_sy&4294967071u)|(bitcast<u32>(_3f)<<5u))|(bitcast<u32>(_40)<<7u))|(_to<<8u)),(((0u|(_to>>24u))|(((_t8<<_sw)|(_t9<<_sv))<<6u))|(_tp<<18u)),((0u|(_tp>>14u))|(_tn<<17u)),_tq);_ai.w=(_tq|((_tm>>bitcast<u32>(1i))<<17u));_aj=_ai;}x_3464._0[((_am.y*((_al+15u)&4294967280u))+_ao)]=_aj;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _tr:vec3u,@builtin(local_invocation_id) _ts:vec3u,@builtin(workgroup_id) _tt:vec3u){x_3369=_tr;x_3375=_ts;_b();}"; export { spark_bc7_rgba as default };