@ludicon/spark.js
Version:
Real-Time GPU Texture Codecs for the Web
5 lines (4 loc) • 28.5 kB
JavaScript
const spark_etc2_rgb = "enable f16;alias RTArr=array<vec2u>;struct _1{_0:RTArr,}@binding(1) @group(0) var _2:sampler;@binding(0) @group(0) var _3:texture_2d<f32>;var<private>x_2042:vec3u;var<private>x_2049:vec3u;@binding(2) @group(0) var<storage,read_write>x_2140:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=mat3x3h(vec3h(0.4873046875h,-0.3125h,-0.0124969482421875h),vec3h(-0.3125h,0.4873046875h,-0.0124969482421875h),vec3h(-0.0124969482421875h,-0.0124969482421875h,0.287353515625h));const _8=vec3h(1.0h);const _9=array<f32,7u>(5.0f,11.0f,19.0f,27.5f,39.0f,52.0f,69.5f);const _a=array<u32,8u>(2050u,4357u,7433u,10765u,15378u,20504u,27169u,46895u);fn _b(){var _c:array<u32,8u>;var _d:array<f32,7u>;var _e:array<f32,7u>;var _f:bool;var _g:bool;var _h:vec2u;var _i:vec2u;var _j:vec2u;switch(0u){default:{let _k=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _l=((_k.x+3u)/4u);let _m=x_2042;let _n=x_2042.xy;let _o=x_2042.x;let _p=(_o>=_l);_g=_p;if(!(_p)){_f=(_m.y>=((_k.y+3u)/4u));_g=_f;}if(_g){break;}var _q:f16;var _r:f16;var _s:f16;var _t:f16;var _u:f16;var _v:f16;var _w:f16;var _x:f16;var _y:f16;var _z:f16;var _10:f16;var _11:f16;var _12:f16;var _13:f16;var _14:f16;var _15:f16;var _16:f16;var _17:f16;var _18:f16;var _19:f16;var _1a:f16;var _1b:f16;var _1c:f16;var _1d:f16;var _1e:f16;var _1f:f16;var _1g:f16;var _1h:f16;var _1i:f16;var _1j:f16;var _1k:f16;var _1l:f16;var _1m:f16;var _1n:vec3h;var _1o:f16;var _1p:vec3h;var _1q:f16;var _1r:vec3h;var _1s:f16;var _1t:vec3h;var _1u:f16;var _1v:vec3h;var _1w:f16;var _1x:vec3h;var _1y:f16;var _1z:vec3h;var _20:f16;var _21:vec3h;var _22:f16;var _23:vec3h;var _24:f16;var _25:vec3h;var _26:f16;var _27:vec3h;var _28:f16;var _29:vec3h;var _2a:f16;var _2b:vec3h;var _2c:f16;var _2d:vec3h;var _2e:f16;var _2f:vec3h;var _2g:f16;var _2h:vec3h;var _2i:vec3h;var _2j:vec3h;var _2k:f16;var _2l:f16;var _2m:vec3h;var _2n:vec3h;var _2o:f16;var _2p:f16;var _2q:vec3h;var _2r:vec3h;var _2s:f16;var _2t:f16;var _2u:vec2u;var _2v:u32;var _2w:u32;var _2x:u32;var _2y:u32;var _2z:i32;var _30:i32;var _31:i32;var _32:i32;var _33:u32;var _34:u32;var _35:u32;var _36:u32;var _37:u32;var _38:u32;var _39:i32;var _3a:i32;var _3b:i32;var _3c:i32;var _3d:f16;var _3e:f16;var _3f:u32;var _3g:u32;var _3h:u32;var _3i:u32;var _3j:u32;var _3k:u32;var _3l:i32;var _3m:i32;var _3n:i32;var _3o:i32;var _3p:f16;var _3q:f16;var _3r:f16;var _3s:f16;var _3t:u32;var _3u:u32;var _3v:u32;var _3w:u32;var _3x:u32;var _3y:u32;var _3z:i32;var _40:i32;var _41:i32;var _42:i32;var _43:f16;var _44:f16;var _45:f16;var _46:f16;var _47:u32;var _48:u32;var _49:u32;var _4a:u32;var _4b:u32;var _4c:u32;var _4d:i32;var _4e:i32;var _4f:i32;var _4g:i32;var _4h:f16;var _4i:f16;var _4j:f16;var _4k:f16;var _4l:u32;var _4m:u32;var _4n:u32;var _4o:u32;var _4p:u32;var _4q:u32;var _4r:i32;var _4s:i32;var _4t:i32;var _4u:i32;var _4v:f16;var _4w:f16;var _4x:f16;var _4y:f16;var _4z:u32;var _50:u32;var _51:u32;var _52:u32;var _53:u32;var _54:u32;var _55:i32;var _56:i32;var _57:i32;var _58:i32;var _59:f16;var _5a:f16;var _5b:f16;var _5c:f16;var _5d:u32;var _5e:u32;var _5f:u32;var _5g:u32;var _5h:u32;var _5i:u32;var _5j:i32;var _5k:i32;var _5l:i32;var _5m:i32;var _5n:f16;var _5o:f16;var _5p:f16;var _5q:f16;var _5r:u32;var _5s:u32;var _5t:u32;var _5u:u32;var _5v:u32;var _5w:u32;var _5x:i32;var _5y:i32;var _5z:i32;var _60:i32;var _61:f16;var _62:f16;var _63:f16;var _64:f16;var _65:u32;var _66:u32;var _67:u32;var _68:u32;var _69:u32;var _6a:u32;var _6b:i32;var _6c:i32;var _6d:i32;var _6e:i32;var _6f:f16;var _6g:f16;var _6h:f16;var _6i:f16;var _6j:u32;var _6k:u32;var _6l:u32;var _6m:u32;var _6n:u32;var _6o:u32;var _6p:i32;var _6q:i32;var _6r:i32;var _6s:i32;var _6t:f16;var _6u:f16;var _6v:f16;var _6w:f16;var _6x:u32;var _6y:u32;var _6z:u32;var _70:u32;var _71:u32;var _72:u32;var _73:i32;var _74:i32;var _75:i32;var _76:i32;var _77:f16;var _78:f16;var _79:f16;var _7a:f16;var _7b:u32;var _7c:u32;var _7d:u32;var _7e:u32;var _7f:u32;var _7g:u32;var _7h:i32;var _7i:i32;var _7j:i32;var _7k:i32;var _7l:f16;var _7m:f16;var _7n:f16;var _7o:f16;var _7p:u32;var _7q:u32;var _7r:u32;var _7s:u32;var _7t:u32;var _7u:u32;var _7v:i32;var _7w:i32;var _7x:i32;var _7y:i32;var _7z:f16;var _80:f16;var _81:f16;var _82:f16;var _83:u32;var _84:u32;var _85:u32;var _86:u32;var _87:u32;var _88:u32;var _89:i32;var _8a:i32;var _8b:i32;var _8c:i32;var _8d:f16;var _8e:f16;var _8f:f16;var _8g:f16;var _8h:u32;var _8i:u32;var _8j:u32;var _8k:u32;var _8l:u32;var _8m:u32;var _8n:i32;var _8o:i32;var _8p:i32;var _8q:i32;var _8r:f16;var _8s:f16;var _8t:f16;var _8u:f16;var _8v:u32;var _8w:u32;var _8x:u32;var _8y:u32;var _8z:u32;var _90:u32;var _91:u32;var _92:u32;var _93:u32;var _94:u32;var _95:u32;var _96:u32;var _97:u32;var _98:u32;var _99:u32;var _9a:u32;var _9b:u32;var _9c:u32;var _9d:u32;var _9e:u32;var _9f:u32;var _9g:u32;var _9h:u32;var _9i:u32;var _9j:u32;var _9k:u32;var _9l:u32;var _9m:u32;var _9n:u32;var _9o:u32;var _9p:u32;var _9q:u32;var _9r:u32;var _9s:u32;var _9t:u32;var _9u:u32;var _9v:u32;var _9w:u32;var _9x:u32;var _9y:u32;var _9z:u32;var _a0:u32;var _a1:u32;var _a2:u32;var _a3:u32;var _a4:u32;var _a5:u32;var _a6:u32;var _a7:u32;var _a8:u32;var _a9:u32;var _aa:u32;var _ab:u32;var _ac:u32;var _ad:u32;var _ae:u32;var _af:u32;var _ag:u32;var _ah:u32;var _ai:u32;var _aj:u32;var _ak:u32;var _al:u32;var _am:u32;var _an:u32;var _ao:u32;var _ap:u32;var _aq:u32;var _ar:u32;var _as:u32;var _at:u32;var _au:u32;var _av:u32;var _aw:u32;var _ax:u32;var _ay:u32;var _az:u32;var _b0:u32;var _b1:u32;var _b2:u32;var _b3:u32;var _b4:u32;var _b5:u32;var _b6:u32;var _b7:u32;var _b8:u32;var _b9:u32;var _ba:u32;var _bb:u32;var _bc:u32;var _bd:u32;var _be:u32;var _bf:u32;let _bg=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _bh=((vec2f(bitcast<vec2i>((_n*vec2u(4u))))*_bg)+_bg);let _bi=vec4h(textureGather(0i,_3,_2,_bh,vec2i()));let _bj=vec4h(textureGather(0i,_3,_2,_bh,_4));let _bk=vec4h(textureGather(0i,_3,_2,_bh,_5));let _bl=vec4h(textureGather(0i,_3,_2,_bh,_6));_q=_bi.w;_r=_bi.z;_s=_bj.w;_t=_bj.z;_u=_bi.x;_v=_bi.y;_w=_bj.x;_x=_bj.y;_y=_bk.w;_z=_bk.z;_10=_bl.w;_11=_bl.z;_12=_bk.x;_13=_bk.y;_14=_bl.x;_15=_bl.y;let _bm=vec4h(textureGather(1i,_3,_2,_bh,vec2i()));let _bn=vec4h(textureGather(1i,_3,_2,_bh,_4));let _bo=vec4h(textureGather(1i,_3,_2,_bh,_5));let _bp=vec4h(textureGather(1i,_3,_2,_bh,_6));_16=_bm.w;_17=_bm.z;_18=_bn.w;_19=_bn.z;_1a=_bm.x;_1b=_bm.y;_1c=_bn.x;_1d=_bn.y;_1e=_bo.w;_1f=_bo.z;_1g=_bp.w;_1h=_bp.z;_1i=_bo.x;_1j=_bo.y;_1k=_bp.x;_1l=_bp.y;let _bq=vec4h(textureGather(2i,_3,_2,_bh,vec2i()));let _br=vec4h(textureGather(2i,_3,_2,_bh,_4));let _bs=vec4h(textureGather(2i,_3,_2,_bh,_5));let _bt=vec4h(textureGather(2i,_3,_2,_bh,_6));_1m=_bq.w;_1n=vec3h(_q,_16,_1m);_1o=_bq.z;_1p=vec3h(_r,_17,_1o);_1q=_br.w;_1r=vec3h(_s,_18,_1q);_1s=_br.z;_1t=vec3h(_t,_19,_1s);_1u=_bq.x;_1v=vec3h(_u,_1a,_1u);_1w=_bq.y;_1x=vec3h(_v,_1b,_1w);_1y=_br.x;_1z=vec3h(_w,_1c,_1y);_20=_br.y;_21=vec3h(_x,_1d,_20);_22=_bs.w;_23=vec3h(_y,_1e,_22);_24=_bs.z;_25=vec3h(_z,_1f,_24);_26=_bt.w;_27=vec3h(_10,_1g,_26);_28=_bt.z;_29=vec3h(_11,_1h,_28);_2a=_bs.x;_2b=vec3h(_12,_1i,_2a);_2c=_bs.y;_2d=vec3h(_13,_1j,_2c);_2e=_bt.x;_2f=vec3h(_14,_1k,_2e);_2g=_bt.y;_2h=vec3h(_15,_1l,_2g);switch(0u){default:{let _bu=(((_1n+_1p)+_1v)+_1x);let _bv=(((_1r+_1t)+_1z)+_21);let _bw=(((_23+_25)+_2b)+_2d);let _bx=(((_27+_29)+_2f)+_2h);let _by=((_q+_16)+_1m);let _bz=((_r+_17)+_1o);let _c0=((_s+_18)+_1q);let _c1=((_t+_19)+_1s);let _c2=((_u+_1a)+_1u);let _c3=((_v+_1b)+_1w);let _c4=((_w+_1c)+_1y);let _c5=((_x+_1d)+_20);let _c6=((_y+_1e)+_22);let _c7=((_z+_1f)+_24);let _c8=((_10+_1g)+_26);let _c9=((_11+_1h)+_28);let _ca=((_12+_1i)+_2a);let _cb=((_13+_1j)+_2c);let _cc=((_14+_1k)+_2e);let _cd=((_15+_1l)+_2g);let _ce=min(min(_by,_bz),min(_c2,_c3));let _cf=min(min(_c0,_c1),min(_c4,_c5));let _cg=min(min(_c6,_c7),min(_ca,_cb));let _ch=min(min(_c8,_c9),min(_cc,_cd));let _ci=max(max(_by,_bz),max(_c2,_c3));let _cj=max(max(_c0,_c1),max(_c4,_c5));let _ck=max(max(_c6,_c7),max(_ca,_cb));let _cl=max(max(_c8,_c9),max(_cc,_cd));let _cm=min(_ce,_cf);let _cn=min(_cg,_ch);let _co=min(_ce,_cg);let _cp=min(_cf,_ch);let _cq=select(0u,1u,(((max(_ce,_cf)-_cm)+(max(_cg,_ch)-_cn))<((max(_ce,_cg)-_co)+(max(_cf,_ch)-_cp))));let _cr=(_cq!=0u);let _cs=select(2i,8i,_cr);if(_cr){_2i=(_bu+_bv);_2j=(_bx+_bw);_2k=max(_ci,_cj);_2l=max(_ck,_cl);_2q=_2j;_2r=_2i;_2s=_2l;_2t=_2k;}else{_2m=(_bu+_bw);_2n=(_bx+_bv);_2o=max(_ci,_ck);_2p=max(_cj,_cl);_2q=_2n;_2r=_2m;_2s=_2p;_2t=_2o;}var _ct:f16;var _cu:vec2u;var _cv:vec2u;var _cw:vec2u;var _cx:vec2u;let _cy=select(_cp,_cn,_cr);let _cz=select(_co,_cm,_cr);_ct=(max(_2t,_2s)-min(_cz,_cy));switch(0u){default:{if((_ct>=1.0h)){_h=vec2u();break;}var _d0:f16;var _d1:f16;var _d2:f16;var _d3:f16;var _d4:f16;var _d5:f16;var _d6:f16;var _d7:f16;var _d8:f16;var _d9:f16;var _da:f16;var _db:f16;var _dc:f16;var _dd:f16;var _de:f16;var _df:f16;var _dg:f16;var _dh:f16;var _di:f16;var _dj:f16;_d0=(f16(0i)/4.0h);let _dk=(1.0h-_d0);_d1=(_dk-_d0);let _dl=(_1n*_d0);_d2=(f16(1i)/4.0h);let _dm=(1.0h-_d2);_d3=(_dm-_d0);_d4=(f16(2i)/4.0h);let _dn=(1.0h-_d4);_d5=(_dn-_d0);_d6=(f16(3i)/4.0h);let _do=(1.0h-_d6);_d7=(_do-_d0);_d8=(_dk-_d2);_d9=(_dm-_d2);let _dp=(_1x*_d2);_da=(_dn-_d2);_db=(_do-_d2);_dc=(_dk-_d4);_dd=(_dm-_d4);_de=(_dn-_d4);let _dq=(_27*_d4);_df=(_do-_d4);_dg=(_dk-_d6);_dh=(_dm-_d6);_di=(_dn-_d6);_dj=(_do-_d6);let _dr=(_2h*_d6);let _ds=(((((((((((((((_dl+(_1p*_d2))+(_1r*_d4))+(_1t*_d6))+(_1v*_d0))+_dp)+(_1z*_d4))+(_21*_d6))+(_23*_d0))+(_25*_d2))+_dq)+(_29*_d6))+(_2b*_d0))+(_2d*_d2))+(_2f*_d4))+_dr);let _dt=(((((((((((((((_dl+(_1p*_d0))+(_1r*_d0))+(_1t*_d0))+(_1v*_d2))+_dp)+(_1z*_d2))+(_21*_d2))+(_23*_d4))+(_25*_d4))+_dq)+(_29*_d4))+(_2b*_d6))+(_2d*_d6))+(_2f*_d6))+_dr);let _du=((((((((((((((((_1n*_d1)+(_1p*_d3))+(_1r*_d5))+(_1t*_d7))+(_1v*_d8))+(_1x*_d9))+(_1z*_da))+(_21*_db))+(_23*_dc))+(_25*_dd))+(_27*_de))+(_29*_df))+(_2b*_dg))+(_2d*_dh))+(_2f*_di))+(_2h*_dj));let _dv=clamp((_7*vec3h(_ds.x,_dt.x,_du.x)),vec3h(),_8);let _dw=clamp((_7*vec3h(_ds.y,_dt.y,_du.y)),vec3h(),_8);let _dx=clamp((_7*vec3h(_ds.z,_dt.z,_du.z)),vec3h(),_8);if((_ct>=0.0313720703125h)){let _dy=vec3h(_dv.x,_dw.x,_dx.x);let _dz=vec3h(_dv.y,_dw.y,_dx.y);let _e0=vec3h(_dv.z,_dw.z,_dx.z);let _e1=(_dy*_d0);let _e2=(_dz*_d0);let _e3=(((_e1+_e2)+(_e0*_d1))-_1n);let _e4=(_dy*_d2);let _e5=(((_e4+_e2)+(_e0*_d3))-_1p);let _e6=(_dy*_d4);let _e7=(((_e6+_e2)+(_e0*_d5))-_1r);let _e8=(_dy*_d6);let _e9=(((_e8+_e2)+(_e0*_d7))-_1t);let _ea=(_dz*_d2);let _eb=(((_e1+_ea)+(_e0*_d8))-_1v);let _ec=(((_e4+_ea)+(_e0*_d9))-_1x);let _ed=(((_e6+_ea)+(_e0*_da))-_1z);let _ee=(((_e8+_ea)+(_e0*_db))-_21);let _ef=(_dz*_d4);let _eg=(((_e1+_ef)+(_e0*_dc))-_23);let _eh=(((_e4+_ef)+(_e0*_dd))-_25);let _ei=(((_e6+_ef)+(_e0*_de))-_27);let _ej=(((_e8+_ef)+(_e0*_df))-_29);let _ek=(_dz*_d6);let _el=(((_e1+_ek)+(_e0*_dg))-_2b);let _em=(((_e4+_ek)+(_e0*_dh))-_2d);let _en=(((_e6+_ek)+(_e0*_di))-_2f);let _eo=(((_e8+_ek)+(_e0*_dj))-_2h);if(((((((((((((((((dot(_e3,_e3)+dot(_e5,_e5))+dot(_e7,_e7))+dot(_e9,_e9))+dot(_eb,_eb))+dot(_ec,_ec))+dot(_ed,_ed))+dot(_ee,_ee))+dot(_eg,_eg))+dot(_eh,_eh))+dot(_ei,_ei))+dot(_ej,_ej))+dot(_el,_el))+dot(_em,_em))+dot(_en,_en))+dot(_eo,_eo))>0.01279449462890625h)){_h=vec2u();break;}}let _ep=u32(((f32(_dv.x)*63.0f)+0.5f));let _eq=u32(((f32(_dv.z)*63.0f)+0.5f));let _er=u32(((f32(_dw.z)*127.0f)+0.5f));let _es=u32(((f32(_dx.z)*63.0f)+0.5f));let _et=((_ep&1u)|((_ep<<bitcast<u32>(1i))&124u));let _eu=(_es&24u);let _ev=(((_et|((((_es&7u)<<bitcast<u32>(7i))|(_eu<<bitcast<u32>(8i)))|((_es&32u)<<bitcast<u32>(11i))))|(((_er&63u)<<bitcast<u32>(17i))|((_er&64u)<<bitcast<u32>(18i))))|(_eq<<bitcast<u32>(25i)));var _ew=vec2u(_et,(((u32(((f32(_dx.y)*63.0f)+0.5f))|(u32(((f32(_dw.y)*127.0f)+0.5f))<<bitcast<u32>(6i)))|(u32(((f32(_dv.y)*63.0f)+0.5f))<<bitcast<u32>(13i)))|((u32(((f32(_dx.x)*63.0f)+0.5f))|(u32(((f32(_dw.x)*127.0f)+0.5f))<<bitcast<u32>(6i)))<<bitcast<u32>(19i))));_ew.x=_ev;let _ex=_ew;_cv=_ew;if(((_eq&32u)==0u)){_cu=_ex;_cu.x=(_ev|2147483648u);_cv=_cu;}_cx=_cv;if(((_er&32u)==0u)){_cw=_cv;_cw.x=(_cv.x|8388608u);_cx=_cw;}let _ey=(_cx.x|select(57346u,1026u,((3i-bitcast<i32>(((_es&6u)>>bitcast<u32>(1i))))>=bitcast<i32>((_eu>>bitcast<u32>(3i))))));let _ez=_cx.y;_2u=vec2u((((((_ey>>bitcast<u32>(8i))&65280u)|((_ey>>bitcast<u32>(24i))&255u))|((_ey<<bitcast<u32>(8i))&16711680u))|((_ey<<bitcast<u32>(24i))&4278190080u)),(((((_ez>>bitcast<u32>(8i))&65280u)|((_ez>>bitcast<u32>(24i))&255u))|((_ez<<bitcast<u32>(8i))&16711680u))|((_ez<<bitcast<u32>(24i))&4278190080u)));_h=_2u;}}if((_h.x!=0u)){_j=_h;break;}var _f0:f16;var _f1:u32;_f0=((_2t-_cz)*85.0h);if((_f0<27.0h)){_2w=0u;}else{var _f2:u32;if((_f0<50.0h)){_2v=1u;}else{var _f3:u32;if((_f0<77.0h)){_f1=2u;}else{var _f4:u32;if((_f0<111.0h)){_f2=3u;}else{if((_f0<152.0h)){_f3=4u;}else{_f4=select(6u,5u,(_f0<202.0h));_f3=_f4;}_f2=_f3;}_f1=_f2;}_2v=_f1;}_2w=_2v;}var _f5:f16;var _f6:u32;_e=_9;let _f7=(f16(_e[_2w])*0.0117645263671875h);_f5=((_2s-_cy)*85.0h);if((_f5<27.0h)){_2y=0u;}else{var _f8:u32;if((_f5<50.0h)){_2x=1u;}else{var _f9:u32;if((_f5<77.0h)){_f6=2u;}else{var _fa:u32;if((_f5<111.0h)){_f8=3u;}else{if((_f5<152.0h)){_f9=4u;}else{_fa=select(6u,5u,(_f5<202.0h));_f9=_fa;}_f8=_f9;}_f6=_f8;}_2x=_f6;}_2y=_2x;}_d=_9;let _fb=(f16(_d[_2y])*0.0117645263671875h);let _fc=((_2t+_cz)*0.5h);let _fd=((_2s+_cy)*0.5h);let _fe=(_by-_fc);let _ff=select(0u,1u,(_fe<0.0h));let _fg=select(0u,1u,(abs(_fe)>_f7));let _fh=(0u|((_fg<<bitcast<u32>(0i))|(_ff<<bitcast<u32>(16i))));_c=_a;let _fi=bitcast<i32>(_c[_2w]);_30=_fi;if((_fg!=0u)){_2z=(_fi>>bitcast<u32>(8i));_30=_2z;}let _fj=(_30&255i);_32=_fj;if((_ff!=0u)){_31=-(_fj);_32=_31;}let _fk=f16(_32);let _fl=((1i&_cs)!=0i);if(_fl){let _fm=(_bz-_fd);_33=select(0u,1u,(_fm<0.0h));_34=select(0u,1u,(abs(_fm)>_fb));_37=_33;_38=_34;}else{let _fn=(_bz-_fc);_35=select(0u,1u,(_fn<0.0h));_36=select(0u,1u,(abs(_fn)>_f7));_37=_35;_38=_36;}let _fo=(_fh|((_38<<bitcast<u32>(4i))|(_37<<bitcast<u32>(20i))));_c=_a;let _fp=bitcast<i32>(_c[select(_2w,_2y,_fl)]);_3a=_fp;if((_38!=0u)){_39=(_fp>>bitcast<u32>(8i));_3a=_39;}let _fq=(_3a&255i);_3c=_fq;if((_37!=0u)){_3b=-(_fq);_3c=_3b;}let _fr=f16(_3c);if(_fl){_3e=_fk;}else{_3d=(_fk+_fr);_3e=_3d;}let _fs=select(0.0h,_fr,_fl);let _ft=((2i&_cs)!=0i);if(_ft){let _fu=(_c0-_fd);_3f=select(0u,1u,(_fu<0.0h));_3g=select(0u,1u,(abs(_fu)>_fb));_3j=_3f;_3k=_3g;}else{let _fv=(_c0-_fc);_3h=select(0u,1u,(_fv<0.0h));_3i=select(0u,1u,(abs(_fv)>_f7));_3j=_3h;_3k=_3i;}let _fw=(_fo|((_3k<<bitcast<u32>(8i))|(_3j<<bitcast<u32>(24i))));_c=_a;let _fx=bitcast<i32>(_c[select(_2w,_2y,_ft)]);_3m=_fx;if((_3k!=0u)){_3l=(_fx>>bitcast<u32>(8i));_3m=_3l;}let _fy=(_3m&255i);_3o=_fy;if((_3j!=0u)){_3n=-(_fy);_3o=_3n;}let _fz=f16(_3o);if(_ft){_3p=(_fs+_fz);_3r=_3p;_3s=_3e;}else{_3q=(_3e+_fz);_3r=_fs;_3s=_3q;}let _g0=((3i&_cs)!=0i);if(_g0){let _g1=(_c1-_fd);_3t=select(0u,1u,(_g1<0.0h));_3u=select(0u,1u,(abs(_g1)>_fb));_3x=_3t;_3y=_3u;}else{let _g2=(_c1-_fc);_3v=select(0u,1u,(_g2<0.0h));_3w=select(0u,1u,(abs(_g2)>_f7));_3x=_3v;_3y=_3w;}let _g3=(_fw|((_3y<<bitcast<u32>(12i))|(_3x<<bitcast<u32>(28i))));_c=_a;let _g4=bitcast<i32>(_c[select(_2w,_2y,_g0)]);_40=_g4;if((_3y!=0u)){_3z=(_g4>>bitcast<u32>(8i));_40=_3z;}let _g5=(_40&255i);_42=_g5;if((_3x!=0u)){_41=-(_g5);_42=_41;}let _g6=f16(_42);if(_g0){_43=(_3r+_g6);_45=_43;_46=_3s;}else{_44=(_3s+_g6);_45=_3r;_46=_44;}let _g7=((4i&_cs)!=0i);if(_g7){let _g8=(_c2-_fd);_47=select(0u,1u,(_g8<0.0h));_48=select(0u,1u,(abs(_g8)>_fb));_4b=_47;_4c=_48;}else{let _g9=(_c2-_fc);_49=select(0u,1u,(_g9<0.0h));_4a=select(0u,1u,(abs(_g9)>_f7));_4b=_49;_4c=_4a;}let _ga=(_g3|((_4c<<bitcast<u32>(1i))|(_4b<<bitcast<u32>(17i))));_c=_a;let _gb=bitcast<i32>(_c[select(_2w,_2y,_g7)]);_4e=_gb;if((_4c!=0u)){_4d=(_gb>>bitcast<u32>(8i));_4e=_4d;}let _gc=(_4e&255i);_4g=_gc;if((_4b!=0u)){_4f=-(_gc);_4g=_4f;}let _gd=f16(_4g);if(_g7){_4h=(_45+_gd);_4j=_4h;_4k=_46;}else{_4i=(_46+_gd);_4j=_45;_4k=_4i;}let _ge=((5i&_cs)!=0i);if(_ge){let _gf=(_c3-_fd);_4l=select(0u,1u,(_gf<0.0h));_4m=select(0u,1u,(abs(_gf)>_fb));_4p=_4l;_4q=_4m;}else{let _gg=(_c3-_fc);_4n=select(0u,1u,(_gg<0.0h));_4o=select(0u,1u,(abs(_gg)>_f7));_4p=_4n;_4q=_4o;}let _gh=(_ga|((_4q<<bitcast<u32>(5i))|(_4p<<bitcast<u32>(21i))));_c=_a;let _gi=bitcast<i32>(_c[select(_2w,_2y,_ge)]);_4s=_gi;if((_4q!=0u)){_4r=(_gi>>bitcast<u32>(8i));_4s=_4r;}let _gj=(_4s&255i);_4u=_gj;if((_4p!=0u)){_4t=-(_gj);_4u=_4t;}let _gk=f16(_4u);if(_ge){_4v=(_4j+_gk);_4x=_4v;_4y=_4k;}else{_4w=(_4k+_gk);_4x=_4j;_4y=_4w;}let _gl=((6i&_cs)!=0i);if(_gl){let _gm=(_c4-_fd);_4z=select(0u,1u,(_gm<0.0h));_50=select(0u,1u,(abs(_gm)>_fb));_53=_4z;_54=_50;}else{let _gn=(_c4-_fc);_51=select(0u,1u,(_gn<0.0h));_52=select(0u,1u,(abs(_gn)>_f7));_53=_51;_54=_52;}let _go=(_gh|((_54<<bitcast<u32>(9i))|(_53<<bitcast<u32>(25i))));_c=_a;let _gp=bitcast<i32>(_c[select(_2w,_2y,_gl)]);_56=_gp;if((_54!=0u)){_55=(_gp>>bitcast<u32>(8i));_56=_55;}let _gq=(_56&255i);_58=_gq;if((_53!=0u)){_57=-(_gq);_58=_57;}let _gr=f16(_58);if(_gl){_59=(_4x+_gr);_5b=_59;_5c=_4y;}else{_5a=(_4y+_gr);_5b=_4x;_5c=_5a;}let _gs=((7i&_cs)!=0i);if(_gs){let _gt=(_c5-_fd);_5d=select(0u,1u,(_gt<0.0h));_5e=select(0u,1u,(abs(_gt)>_fb));_5h=_5d;_5i=_5e;}else{let _gu=(_c5-_fc);_5f=select(0u,1u,(_gu<0.0h));_5g=select(0u,1u,(abs(_gu)>_f7));_5h=_5f;_5i=_5g;}let _gv=(_go|((_5i<<bitcast<u32>(13i))|(_5h<<bitcast<u32>(29i))));_c=_a;let _gw=bitcast<i32>(_c[select(_2w,_2y,_gs)]);_5k=_gw;if((_5i!=0u)){_5j=(_gw>>bitcast<u32>(8i));_5k=_5j;}let _gx=(_5k&255i);_5m=_gx;if((_5h!=0u)){_5l=-(_gx);_5m=_5l;}let _gy=f16(_5m);if(_gs){_5n=(_5b+_gy);_5p=_5n;_5q=_5c;}else{_5o=(_5c+_gy);_5p=_5b;_5q=_5o;}let _gz=((8i&_cs)!=0i);if(_gz){let _h0=(_c6-_fd);_5r=select(0u,1u,(_h0<0.0h));_5s=select(0u,1u,(abs(_h0)>_fb));_5v=_5r;_5w=_5s;}else{let _h1=(_c6-_fc);_5t=select(0u,1u,(_h1<0.0h));_5u=select(0u,1u,(abs(_h1)>_f7));_5v=_5t;_5w=_5u;}let _h2=(_gv|((_5w<<bitcast<u32>(2i))|(_5v<<bitcast<u32>(18i))));_c=_a;let _h3=bitcast<i32>(_c[select(_2w,_2y,_gz)]);_5y=_h3;if((_5w!=0u)){_5x=(_h3>>bitcast<u32>(8i));_5y=_5x;}let _h4=(_5y&255i);_60=_h4;if((_5v!=0u)){_5z=-(_h4);_60=_5z;}let _h5=f16(_60);if(_gz){_61=(_5p+_h5);_63=_61;_64=_5q;}else{_62=(_5q+_h5);_63=_5p;_64=_62;}let _h6=((9i&_cs)!=0i);if(_h6){let _h7=(_c7-_fd);_65=select(0u,1u,(_h7<0.0h));_66=select(0u,1u,(abs(_h7)>_fb));_69=_65;_6a=_66;}else{let _h8=(_c7-_fc);_67=select(0u,1u,(_h8<0.0h));_68=select(0u,1u,(abs(_h8)>_f7));_69=_67;_6a=_68;}let _h9=(_h2|((_6a<<bitcast<u32>(6i))|(_69<<bitcast<u32>(22i))));_c=_a;let _ha=bitcast<i32>(_c[select(_2w,_2y,_h6)]);_6c=_ha;if((_6a!=0u)){_6b=(_ha>>bitcast<u32>(8i));_6c=_6b;}let _hb=(_6c&255i);_6e=_hb;if((_69!=0u)){_6d=-(_hb);_6e=_6d;}let _hc=f16(_6e);if(_h6){_6f=(_63+_hc);_6h=_6f;_6i=_64;}else{_6g=(_64+_hc);_6h=_63;_6i=_6g;}let _hd=((10i&_cs)!=0i);if(_hd){let _he=(_c8-_fd);_6j=select(0u,1u,(_he<0.0h));_6k=select(0u,1u,(abs(_he)>_fb));_6n=_6j;_6o=_6k;}else{let _hf=(_c8-_fc);_6l=select(0u,1u,(_hf<0.0h));_6m=select(0u,1u,(abs(_hf)>_f7));_6n=_6l;_6o=_6m;}let _hg=(_h9|((_6o<<bitcast<u32>(10i))|(_6n<<bitcast<u32>(26i))));_c=_a;let _hh=bitcast<i32>(_c[select(_2w,_2y,_hd)]);_6q=_hh;if((_6o!=0u)){_6p=(_hh>>bitcast<u32>(8i));_6q=_6p;}let _hi=(_6q&255i);_6s=_hi;if((_6n!=0u)){_6r=-(_hi);_6s=_6r;}let _hj=f16(_6s);if(_hd){_6t=(_6h+_hj);_6v=_6t;_6w=_6i;}else{_6u=(_6i+_hj);_6v=_6h;_6w=_6u;}let _hk=((11i&_cs)!=0i);if(_hk){let _hl=(_c9-_fd);_6x=select(0u,1u,(_hl<0.0h));_6y=select(0u,1u,(abs(_hl)>_fb));_71=_6x;_72=_6y;}else{let _hm=(_c9-_fc);_6z=select(0u,1u,(_hm<0.0h));_70=select(0u,1u,(abs(_hm)>_f7));_71=_6z;_72=_70;}let _hn=(_hg|((_72<<bitcast<u32>(14i))|(_71<<bitcast<u32>(30i))));_c=_a;let _ho=bitcast<i32>(_c[select(_2w,_2y,_hk)]);_74=_ho;if((_72!=0u)){_73=(_ho>>bitcast<u32>(8i));_74=_73;}let _hp=(_74&255i);_76=_hp;if((_71!=0u)){_75=-(_hp);_76=_75;}let _hq=f16(_76);if(_hk){_77=(_6v+_hq);_79=_77;_7a=_6w;}else{_78=(_6w+_hq);_79=_6v;_7a=_78;}let _hr=((12i&_cs)!=0i);if(_hr){let _hs=(_ca-_fd);_7b=select(0u,1u,(_hs<0.0h));_7c=select(0u,1u,(abs(_hs)>_fb));_7f=_7b;_7g=_7c;}else{let _ht=(_ca-_fc);_7d=select(0u,1u,(_ht<0.0h));_7e=select(0u,1u,(abs(_ht)>_f7));_7f=_7d;_7g=_7e;}let _hu=(_hn|((_7g<<bitcast<u32>(3i))|(_7f<<bitcast<u32>(19i))));_c=_a;let _hv=bitcast<i32>(_c[select(_2w,_2y,_hr)]);_7i=_hv;if((_7g!=0u)){_7h=(_hv>>bitcast<u32>(8i));_7i=_7h;}let _hw=(_7i&255i);_7k=_hw;if((_7f!=0u)){_7j=-(_hw);_7k=_7j;}let _hx=f16(_7k);if(_hr){_7l=(_79+_hx);_7n=_7l;_7o=_7a;}else{_7m=(_7a+_hx);_7n=_79;_7o=_7m;}let _hy=((13i&_cs)!=0i);if(_hy){let _hz=(_cb-_fd);_7p=select(0u,1u,(_hz<0.0h));_7q=select(0u,1u,(abs(_hz)>_fb));_7t=_7p;_7u=_7q;}else{let _i0=(_cb-_fc);_7r=select(0u,1u,(_i0<0.0h));_7s=select(0u,1u,(abs(_i0)>_f7));_7t=_7r;_7u=_7s;}let _i1=(_hu|((_7u<<bitcast<u32>(7i))|(_7t<<bitcast<u32>(23i))));_c=_a;let _i2=bitcast<i32>(_c[select(_2w,_2y,_hy)]);_7w=_i2;if((_7u!=0u)){_7v=(_i2>>bitcast<u32>(8i));_7w=_7v;}let _i3=(_7w&255i);_7y=_i3;if((_7t!=0u)){_7x=-(_i3);_7y=_7x;}let _i4=f16(_7y);if(_hy){_7z=(_7n+_i4);_81=_7z;_82=_7o;}else{_80=(_7o+_i4);_81=_7n;_82=_80;}let _i5=((14i&_cs)!=0i);if(_i5){let _i6=(_cc-_fd);_83=select(0u,1u,(_i6<0.0h));_84=select(0u,1u,(abs(_i6)>_fb));_87=_83;_88=_84;}else{let _i7=(_cc-_fc);_85=select(0u,1u,(_i7<0.0h));_86=select(0u,1u,(abs(_i7)>_f7));_87=_85;_88=_86;}let _i8=(_i1|((_88<<bitcast<u32>(11i))|(_87<<bitcast<u32>(27i))));_c=_a;let _i9=bitcast<i32>(_c[select(_2w,_2y,_i5)]);_8a=_i9;if((_88!=0u)){_89=(_i9>>bitcast<u32>(8i));_8a=_89;}let _ia=(_8a&255i);_8c=_ia;if((_87!=0u)){_8b=-(_ia);_8c=_8b;}let _ib=f16(_8c);if(_i5){_8d=(_81+_ib);_8f=_8d;_8g=_82;}else{_8e=(_82+_ib);_8f=_81;_8g=_8e;}let _ic=((15i&_cs)!=0i);if(_ic){let _id=(_cd-_fd);_8h=select(0u,1u,(_id<0.0h));_8i=select(0u,1u,(abs(_id)>_fb));_8l=_8h;_8m=_8i;}else{let _ie=(_cd-_fc);_8j=select(0u,1u,(_ie<0.0h));_8k=select(0u,1u,(abs(_ie)>_f7));_8l=_8j;_8m=_8k;}let _if=(_i8|((_8m<<bitcast<u32>(15i))|(_8l<<bitcast<u32>(31i))));_c=_a;let _ig=bitcast<i32>(_c[select(_2w,_2y,_ic)]);_8o=_ig;if((_8m!=0u)){_8n=(_ig>>bitcast<u32>(8i));_8o=_8n;}let _ih=(_8o&255i);_8q=_ih;if((_8l!=0u)){_8p=-(_ih);_8q=_8p;}let _ii=f16(_8q);if(_ic){_8r=(_8f+_ii);_8t=_8r;_8u=_8g;}else{_8s=(_8g+_ii);_8t=_8f;_8u=_8s;}var _ij:vec3h;var _ik:f16;var _il:vec3h;var _im:vec3h;var _in:vec3h;var _io:vec3h;var _ip:vec3h;var _iq:vec3h;let _ir=clamp(((_2r-vec3h((_8u*0.0039215087890625h)))*0.125h),vec3h(),_8);let _is=clamp(((_2q-vec3h((_8t*0.0039215087890625h)))*0.125h),vec3h(),_8);let _it=_ir.x;let _iu=trunc((round((_it*31.0h))*8.25h));let _iv=_ir.y;let _iw=trunc((round((_iv*31.0h))*8.25h));let _ix=_ir.z;let _iy=trunc((round((_ix*31.0h))*8.25h));let _iz=_is.x;let _j0=trunc((round((_iz*31.0h))*8.25h));let _j1=_is.y;let _j2=trunc((round((_j1*31.0h))*8.25h));let _j3=_is.z;let _j4=trunc((round((_j3*31.0h))*8.25h));_ij=trunc(((vec3h(_j0,_j2,_j4)-vec3h(_iu,_iw,_iy))*0.125h));_ik=_ij.x;let _j5=(max(max(abs(_ik),abs(_ij.y)),abs(_ij.z))<4.0h);if(_j5){_im=_ij;if((_ik<0.0h)){_il=_ij;_il.x=(_ik+8.0h);_im=_il;}let _j6=_im.y;_io=_im;if((_j6<0.0h)){_in=_im;_in.y=(_j6+8.0h);_io=_in;}let _j7=_io.z;_iq=_io;if((_j7<0.0h)){_ip=_io;_ip.z=(_j7+8.0h);_iq=_ip;}_8v=((((u32(_iy)&248u)|((u32(_iw)&248u)<<bitcast<u32>(8i)))|((u32(_iu)&248u)<<bitcast<u32>(16i)))|(((u32(_iq.z)&7u)|((u32(_iq.y)&7u)<<bitcast<u32>(8i)))|((u32(_iq.x)&7u)<<bitcast<u32>(16i))));_8x=_8v;}else{_8w=((((u32(trunc((round((_ix*15.0h))*17.0h)))&240u)|((u32(trunc((round((_iv*15.0h))*17.0h)))&240u)<<bitcast<u32>(8i)))|((u32(trunc((round((_it*15.0h))*17.0h)))&240u)<<bitcast<u32>(16i)))|((((u32(trunc((round((_j3*15.0h))*17.0h)))&240u)>>bitcast<u32>(4i))|((u32(trunc((round((_j1*15.0h))*17.0h)))&240u)<<bitcast<u32>(4i)))|((u32(trunc((round((_iz*15.0h))*17.0h)))&240u)<<bitcast<u32>(12i))));_8x=_8w;}let _j8=select(0u,1u,_j5);let _j9=(((_iu+_iw)+_iy)*0.0039215087890625h);let _ja=(((_j0+_j2)+_j4)*0.0039215087890625h);let _jb=(_by-_j9);let _jc=(_if|((select(0u,1u,(abs(_jb)>_f7))<<bitcast<u32>(0i))|(select(0u,1u,(_jb<0.0h))<<bitcast<u32>(16i))));if(_fl){let _jd=(_bz-_ja);_8y=select(0u,1u,(_jd<0.0h));_8z=select(0u,1u,(abs(_jd)>_fb));_92=_8y;_93=_8z;}else{let _je=(_bz-_j9);_90=select(0u,1u,(_je<0.0h));_91=select(0u,1u,(abs(_je)>_f7));_92=_90;_93=_91;}let _jf=(_jc|((_93<<bitcast<u32>(4i))|(_92<<bitcast<u32>(20i))));if(_ft){let _jg=(_c0-_ja);_94=select(0u,1u,(_jg<0.0h));_95=select(0u,1u,(abs(_jg)>_fb));_98=_94;_99=_95;}else{let _jh=(_c0-_j9);_96=select(0u,1u,(_jh<0.0h));_97=select(0u,1u,(abs(_jh)>_f7));_98=_96;_99=_97;}let _ji=(_jf|((_99<<bitcast<u32>(8i))|(_98<<bitcast<u32>(24i))));if(_g0){let _jj=(_c1-_ja);_9a=select(0u,1u,(_jj<0.0h));_9b=select(0u,1u,(abs(_jj)>_fb));_9e=_9a;_9f=_9b;}else{let _jk=(_c1-_j9);_9c=select(0u,1u,(_jk<0.0h));_9d=select(0u,1u,(abs(_jk)>_f7));_9e=_9c;_9f=_9d;}let _jl=(_ji|((_9f<<bitcast<u32>(12i))|(_9e<<bitcast<u32>(28i))));if(_g7){let _jm=(_c2-_ja);_9g=select(0u,1u,(_jm<0.0h));_9h=select(0u,1u,(abs(_jm)>_fb));_9k=_9g;_9l=_9h;}else{let _jn=(_c2-_j9);_9i=select(0u,1u,(_jn<0.0h));_9j=select(0u,1u,(abs(_jn)>_f7));_9k=_9i;_9l=_9j;}let _jo=(_jl|((_9l<<bitcast<u32>(1i))|(_9k<<bitcast<u32>(17i))));if(_ge){let _jp=(_c3-_ja);_9m=select(0u,1u,(_jp<0.0h));_9n=select(0u,1u,(abs(_jp)>_fb));_9q=_9m;_9r=_9n;}else{let _jq=(_c3-_j9);_9o=select(0u,1u,(_jq<0.0h));_9p=select(0u,1u,(abs(_jq)>_f7));_9q=_9o;_9r=_9p;}let _jr=(_jo|((_9r<<bitcast<u32>(5i))|(_9q<<bitcast<u32>(21i))));if(_gl){let _js=(_c4-_ja);_9s=select(0u,1u,(_js<0.0h));_9t=select(0u,1u,(abs(_js)>_fb));_9w=_9s;_9x=_9t;}else{let _jt=(_c4-_j9);_9u=select(0u,1u,(_jt<0.0h));_9v=select(0u,1u,(abs(_jt)>_f7));_9w=_9u;_9x=_9v;}let _ju=(_jr|((_9x<<bitcast<u32>(9i))|(_9w<<bitcast<u32>(25i))));if(_gs){let _jv=(_c5-_ja);_9y=select(0u,1u,(_jv<0.0h));_9z=select(0u,1u,(abs(_jv)>_fb));_a2=_9y;_a3=_9z;}else{let _jw=(_c5-_j9);_a0=select(0u,1u,(_jw<0.0h));_a1=select(0u,1u,(abs(_jw)>_f7));_a2=_a0;_a3=_a1;}let _jx=(_ju|((_a3<<bitcast<u32>(13i))|(_a2<<bitcast<u32>(29i))));if(_gz){let _jy=(_c6-_ja);_a4=select(0u,1u,(_jy<0.0h));_a5=select(0u,1u,(abs(_jy)>_fb));_a8=_a4;_a9=_a5;}else{let _jz=(_c6-_j9);_a6=select(0u,1u,(_jz<0.0h));_a7=select(0u,1u,(abs(_jz)>_f7));_a8=_a6;_a9=_a7;}let _k0=(_jx|((_a9<<bitcast<u32>(2i))|(_a8<<bitcast<u32>(18i))));if(_h6){let _k1=(_c7-_ja);_aa=select(0u,1u,(_k1<0.0h));_ab=select(0u,1u,(abs(_k1)>_fb));_ae=_aa;_af=_ab;}else{let _k2=(_c7-_j9);_ac=select(0u,1u,(_k2<0.0h));_ad=select(0u,1u,(abs(_k2)>_f7));_ae=_ac;_af=_ad;}let _k3=(_k0|((_af<<bitcast<u32>(6i))|(_ae<<bitcast<u32>(22i))));if(_hd){let _k4=(_c8-_ja);_ag=select(0u,1u,(_k4<0.0h));_ah=select(0u,1u,(abs(_k4)>_fb));_ak=_ag;_al=_ah;}else{let _k5=(_c8-_j9);_ai=select(0u,1u,(_k5<0.0h));_aj=select(0u,1u,(abs(_k5)>_f7));_ak=_ai;_al=_aj;}let _k6=(_k3|((_al<<bitcast<u32>(10i))|(_ak<<bitcast<u32>(26i))));if(_hk){let _k7=(_c9-_ja);_am=select(0u,1u,(_k7<0.0h));_an=select(0u,1u,(abs(_k7)>_fb));_aq=_am;_ar=_an;}else{let _k8=(_c9-_j9);_ao=select(0u,1u,(_k8<0.0h));_ap=select(0u,1u,(abs(_k8)>_f7));_aq=_ao;_ar=_ap;}let _k9=(_k6|((_ar<<bitcast<u32>(14i))|(_aq<<bitcast<u32>(30i))));if(_hr){let _ka=(_ca-_ja);_as=select(0u,1u,(_ka<0.0h));_at=select(0u,1u,(abs(_ka)>_fb));_aw=_as;_ax=_at;}else{let _kb=(_ca-_j9);_au=select(0u,1u,(_kb<0.0h));_av=select(0u,1u,(abs(_kb)>_f7));_aw=_au;_ax=_av;}let _kc=(_k9|((_ax<<bitcast<u32>(3i))|(_aw<<bitcast<u32>(19i))));if(_hy){let _kd=(_cb-_ja);_ay=select(0u,1u,(_kd<0.0h));_az=select(0u,1u,(abs(_kd)>_fb));_b2=_ay;_b3=_az;}else{let _ke=(_cb-_j9);_b0=select(0u,1u,(_ke<0.0h));_b1=select(0u,1u,(abs(_ke)>_f7));_b2=_b0;_b3=_b1;}let _kf=(_kc|((_b3<<bitcast<u32>(7i))|(_b2<<bitcast<u32>(23i))));if(_i5){let _kg=(_cc-_ja);_b4=select(0u,1u,(_kg<0.0h));_b5=select(0u,1u,(abs(_kg)>_fb));_b8=_b4;_b9=_b5;}else{let _kh=(_cc-_j9);_b6=select(0u,1u,(_kh<0.0h));_b7=select(0u,1u,(abs(_kh)>_f7));_b8=_b6;_b9=_b7;}let _ki=(_kf|((_b9<<bitcast<u32>(11i))|(_b8<<bitcast<u32>(27i))));if(_ic){let _kj=(_cd-_ja);_ba=select(0u,1u,(_kj<0.0h));_bb=select(0u,1u,(abs(_kj)>_fb));_be=_ba;_bf=_bb;}else{let _kk=(_cd-_j9);_bc=select(0u,1u,(_kk<0.0h));_bd=select(0u,1u,(abs(_kk)>_f7));_be=_bc;_bf=_bd;}let _kl=(_ki|((_bf<<bitcast<u32>(15i))|(_be<<bitcast<u32>(31i))));_i=vec2u((((((((_2w<<bitcast<u32>(29i))|(_2y<<bitcast<u32>(26i)))|(_j8<<bitcast<u32>(25i)))|(_cq<<bitcast<u32>(24i)))|((_8x&255u)<<bitcast<u32>(16i)))|(_8x&65280u))|(_8x>>bitcast<u32>(16i))),(((((_kl>>bitcast<u32>(8i))&65280u)|((_kl>>bitcast<u32>(24i))&255u))|((_kl<<bitcast<u32>(8i))&16711680u))|((_kl<<bitcast<u32>(24i))&4278190080u)));_j=_i;}}x_2140._0[((_m.y*((_l+31u)&4294967264u))+_o)]=_j;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _km:vec3u,@builtin(local_invocation_id) _kn:vec3u,@builtin(workgroup_id) _ko:vec3u){x_2042=_km;x_2049=_kn;_b();}";
export {
spark_etc2_rgb as default
};