UNPKG

@ludicon/spark.js

Version:

Real-Time GPU Texture Codecs for the Web

5 lines (4 loc) 24.9 kB
const spark_bc1_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_2270:vec3u;var<private>x_2276:vec3u;@binding(2) @group(0) var<storage,read_write>x_2367:_1;const _4=vec2i(2i,0i);const _5=vec2i(0i,2i);const _6=vec2i(2i);const _7=vec3h(1.0h);const _8=vec3h(0.85986328125h,1.7099609375h,0.429931640625h);const _9=vec2h(0.0h,8.0h);const _a=vec2h(8.0h,0.0h);const _b=vec2h(8.0h);const _c=vec2h(8.0h,16.0h);const _d=vec2h(16.0h);const _e=vec2h(16.0h,24.0h);const _f=vec2h(24.0h);const _g=vec2h(24.0h,32.0h);const _h=vec2h(32.0h,24.0h);const _i=vec2h(32.0h);const _j=vec2h(32.0h,40.0h);const _k=vec2h(40.0h,32.0h);const _l=vec2h(40.0h);const _m=vec2h(40.0h,48.0h);const _n=vec2h(48.0h);const _o=vec2h(48.0h,56.0h);const _p=vec2h(56.0h);const _q=vec2h(56.0h,64.0h);const _r=vec2h(64.0h,56.0h);const _s=vec2h(64.0h);const _t=vec2h(64.0h,72.0h);const _u=vec2h(72.0h,64.0h);const _v=vec2h(72.0h);const _w=vec2h(72.0h,80.0h);const _x=vec2h(80.0h);const _y=vec2h(80.0h,88.0h);const _z=vec2h(88.0h);const _10=vec2h(88.0h,96.0h);const _11=vec2h(96.0h,88.0h);const _12=vec2h(96.0h);const _13=vec2h(96.0h,104.0h);const _14=vec2h(104.0h,96.0h);const _15=vec2h(104.0h);const _16=vec2h(104.0h,112.0h);const _17=vec2h(112.0h);const _18=vec2h(112.0h,120.0h);const _19=vec2h(120.0h);const _1a=vec2h(120.0h,128.0h);const _1b=vec2h(128.0h,120.0h);const _1c=vec2h(128.0h);const _1d=vec2h(128.0h,136.0h);const _1e=vec2h(136.0h,128.0h);const _1f=vec2h(136.0h);const _1g=vec2h(136.0h,144.0h);const _1h=vec2h(144.0h);const _1i=vec2h(144.0h,152.0h);const _1j=vec2h(152.0h);const _1k=vec2h(152.0h,160.0h);const _1l=vec2h(160.0h,152.0h);const _1m=vec2h(160.0h);const _1n=vec2h(160.0h,168.0h);const _1o=vec2h(168.0h,160.0h);const _1p=vec2h(168.0h);const _1q=vec2h(168.0h,176.0h);const _1r=vec2h(176.0h);const _1s=vec2h(176.0h,184.0h);const _1t=vec2h(184.0h);const _1u=vec2h(184.0h,192.0h);const _1v=vec2h(192.0h,184.0h);const _1w=vec2h(192.0h);const _1x=vec2h(192.0h,200.0h);const _1y=vec2h(200.0h,192.0h);const _1z=vec2h(200.0h);const _20=vec2h(200.0h,208.0h);const _21=vec2h(208.0h);const _22=vec2h(208.0h,216.0h);const _23=vec2h(216.0h);const _24=vec2h(216.0h,224.0h);const _25=vec2h(224.0h,216.0h);const _26=vec2h(224.0h);const _27=vec2h(224.0h,232.0h);const _28=vec2h(232.0h,224.0h);const _29=vec2h(232.0h);const _2a=vec2h(232.0h,240.0h);const _2b=vec2h(240.0h,232.0h);const _2c=vec2h(240.0h);const _2d=vec2h(240.0h,248.0h);const _2e=vec2h(248.0h,240.0h);const _2f=vec2h(248.0h);const _2g=array<vec2h,256u>(vec2h(),vec2h(),_9,_9,_9,_a,_a,_b,_b,_b,_c,_c,_c,vec2h(16.0h,8.0h),vec2h(0.0h,40.0h),_d,_d,_d,_e,_e,_e,vec2h(24.0h,16.0h),vec2h(16.0h,32.0h),_f,_f,vec2h(32.0h,8.0h),_g,_g,_g,_h,_h,_h,vec2h(24.0h,48.0h),_i,_i,vec2h(40.0h,24.0h),_j,_j,_k,_k,_l,_l,_l,vec2h(56.0h,16.0h),_m,_m,vec2h(48.0h,40.0h),vec2h(32.0h,72.0h),_n,_n,_n,_o,_o,_o,vec2h(56.0h,48.0h),vec2h(48.0h,64.0h),_p,_p,vec2h(64.0h,40.0h),_q,_q,_q,_r,_r,_r,vec2h(56.0h,80.0h),_s,_s,vec2h(72.0h,56.0h),_t,_t,_u,_u,_v,_v,_v,vec2h(88.0h,48.0h),_w,_w,vec2h(80.0h,72.0h),vec2h(64.0h,104.0h),_x,_x,_x,_y,_y,_y,vec2h(88.0h,80.0h),vec2h(80.0h,96.0h),_z,_z,vec2h(96.0h,72.0h),_10,_10,_10,_11,_11,_11,vec2h(88.0h,112.0h),_12,_12,vec2h(104.0h,88.0h),_13,_13,_14,_14,_15,_15,_15,vec2h(120.0h,80.0h),_16,_16,vec2h(112.0h,104.0h),vec2h(96.0h,136.0h),_17,_17,_17,_18,_18,_18,vec2h(120.0h,112.0h),vec2h(112.0h,128.0h),_19,_19,vec2h(128.0h,104.0h),_1a,_1a,_1a,_1b,_1b,_1b,vec2h(120.0h,144.0h),_1c,_1c,vec2h(136.0h,120.0h),_1d,_1d,_1e,_1e,_1f,_1f,_1f,vec2h(152.0h,112.0h),_1g,_1g,vec2h(144.0h,136.0h),vec2h(128.0h,168.0h),_1h,_1h,_1h,_1i,_1i,_1i,vec2h(152.0h,144.0h),vec2h(144.0h,160.0h),_1j,_1j,vec2h(160.0h,136.0h),_1k,_1k,_1k,_1l,_1l,_1l,vec2h(152.0h,176.0h),_1m,_1m,vec2h(168.0h,152.0h),_1n,_1n,_1o,_1o,_1p,_1p,_1p,vec2h(184.0h,144.0h),_1q,_1q,vec2h(176.0h,168.0h),vec2h(160.0h,200.0h),_1r,_1r,_1r,_1s,_1s,_1s,vec2h(184.0h,176.0h),vec2h(176.0h,192.0h),_1t,_1t,vec2h(192.0h,168.0h),_1u,_1u,_1u,_1v,_1v,_1v,vec2h(184.0h,208.0h),_1w,_1w,vec2h(200.0h,184.0h),_1x,_1x,_1y,_1y,_1z,_1z,_1z,vec2h(216.0h,176.0h),_20,_20,vec2h(208.0h,200.0h),vec2h(192.0h,232.0h),_21,_21,_21,_22,_22,_22,vec2h(216.0h,208.0h),vec2h(208.0h,224.0h),_23,_23,vec2h(224.0h,200.0h),_24,_24,_24,_25,_25,_25,vec2h(216.0h,240.0h),_26,_26,vec2h(232.0h,216.0h),_27,_27,_28,_28,_29,_29,_29,vec2h(248.0h,208.0h),_2a,_2a,_2b,_2b,_2c,_2c,_2c,_2d,_2d,_2d,_2e,_2e,_2f,_2f);const _2h=vec2h(4.0h);const _2i=vec2h(12.0h);const _2j=vec2h(20.0h);const _2k=vec2h(28.0h);const _2l=vec2h(36.0h);const _2m=vec2h(84.0h);const _2n=vec2h(92.0h);const _2o=vec2h(100.0h);const _2p=vec2h(148.0h);const _2q=vec2h(156.0h);const _2r=vec2h(164.0h);const _2s=vec2h(212.0h);const _2t=vec2h(220.0h);const _2u=vec2h(228.0h);const _2v=vec2h(236.0h);const _2w=vec2h(244.0h);const _2x=vec2h(252.0h);const _2y=array<vec2h,256u>(vec2h(),vec2h(0.0h,4.0h),vec2h(4.0h,0.0h),_2h,_2h,vec2h(4.0h,8.0h),vec2h(8.0h,4.0h),_b,_b,vec2h(8.0h,12.0h),vec2h(12.0h,8.0h),_2i,_2i,vec2h(12.0h,16.0h),vec2h(16.0h,12.0h),_d,_d,vec2h(16.0h,20.0h),vec2h(20.0h,16.0h),_2j,_2j,vec2h(20.0h,24.0h),vec2h(24.0h,20.0h),_f,_f,vec2h(24.0h,28.0h),vec2h(28.0h,24.0h),_2k,_2k,vec2h(28.0h,32.0h),vec2h(32.0h,28.0h),_i,_i,vec2h(32.0h,36.0h),vec2h(36.0h,32.0h),_2l,_2l,vec2h(36.0h,40.0h),vec2h(40.0h,36.0h),_l,_l,vec2h(40.0h,44.0h),vec2h(44.0h,40.0h),vec2h(32.0h,64.0h),vec2h(44.0h),vec2h(44.0h,48.0h),vec2h(48.0h,44.0h),vec2h(36.0h,68.0h),_n,vec2h(48.0h,52.0h),vec2h(52.0h,48.0h),vec2h(44.0h,64.0h),vec2h(52.0h),vec2h(52.0h,56.0h),vec2h(56.0h,52.0h),vec2h(48.0h,68.0h),_p,vec2h(56.0h,60.0h),vec2h(60.0h,56.0h),_q,vec2h(60.0h),vec2h(60.0h,64.0h),_r,vec2h(64.0h,60.0h),vec2h(68.0h,56.0h),_s,vec2h(64.0h,68.0h),vec2h(68.0h,64.0h),vec2h(72.0h,60.0h),vec2h(68.0h),vec2h(68.0h,72.0h),vec2h(72.0h,68.0h),vec2h(80.0h,56.0h),_v,vec2h(72.0h,76.0h),vec2h(76.0h,72.0h),vec2h(84.0h,60.0h),vec2h(76.0h),vec2h(76.0h,80.0h),vec2h(80.0h,76.0h),_x,_x,vec2h(80.0h,84.0h),vec2h(84.0h,80.0h),_2m,_2m,vec2h(84.0h,88.0h),vec2h(88.0h,84.0h),_z,_z,vec2h(88.0h,92.0h),vec2h(92.0h,88.0h),_2n,_2n,vec2h(92.0h,96.0h),vec2h(96.0h,92.0h),_12,_12,vec2h(96.0h,100.0h),vec2h(100.0h,96.0h),_2o,_2o,vec2h(100.0h,104.0h),vec2h(104.0h,100.0h),_15,_15,vec2h(104.0h,108.0h),vec2h(108.0h,104.0h),vec2h(96.0h,128.0h),vec2h(108.0h),vec2h(108.0h,112.0h),vec2h(112.0h,108.0h),vec2h(100.0h,132.0h),_17,vec2h(112.0h,116.0h),vec2h(116.0h,112.0h),vec2h(108.0h,128.0h),vec2h(116.0h),vec2h(116.0h,120.0h),vec2h(120.0h,116.0h),vec2h(112.0h,132.0h),_19,vec2h(120.0h,124.0h),vec2h(124.0h,120.0h),_1a,vec2h(124.0h),vec2h(124.0h,128.0h),_1b,vec2h(128.0h,124.0h),vec2h(132.0h,120.0h),_1c,vec2h(128.0h,132.0h),vec2h(132.0h,128.0h),vec2h(136.0h,124.0h),vec2h(132.0h),vec2h(132.0h,136.0h),vec2h(136.0h,132.0h),vec2h(144.0h,120.0h),_1f,vec2h(136.0h,140.0h),vec2h(140.0h,136.0h),vec2h(148.0h,124.0h),vec2h(140.0h),vec2h(140.0h,144.0h),vec2h(144.0h,140.0h),_1h,_1h,vec2h(144.0h,148.0h),vec2h(148.0h,144.0h),_2p,_2p,vec2h(148.0h,152.0h),vec2h(152.0h,148.0h),_1j,_1j,vec2h(152.0h,156.0h),vec2h(156.0h,152.0h),_2q,_2q,vec2h(156.0h,160.0h),vec2h(160.0h,156.0h),_1m,_1m,vec2h(160.0h,164.0h),vec2h(164.0h,160.0h),_2r,_2r,vec2h(164.0h,168.0h),vec2h(168.0h,164.0h),_1p,_1p,vec2h(168.0h,172.0h),vec2h(172.0h,168.0h),vec2h(160.0h,192.0h),vec2h(172.0h),vec2h(172.0h,176.0h),vec2h(176.0h,172.0h),vec2h(164.0h,196.0h),_1r,vec2h(176.0h,180.0h),vec2h(180.0h,176.0h),vec2h(172.0h,192.0h),vec2h(180.0h),vec2h(180.0h,184.0h),vec2h(184.0h,180.0h),vec2h(176.0h,196.0h),_1t,vec2h(184.0h,188.0h),vec2h(188.0h,184.0h),_1u,vec2h(188.0h),vec2h(188.0h,192.0h),_1v,vec2h(192.0h,188.0h),vec2h(196.0h,184.0h),_1w,vec2h(192.0h,196.0h),vec2h(196.0h,192.0h),vec2h(200.0h,188.0h),vec2h(196.0h),vec2h(196.0h,200.0h),vec2h(200.0h,196.0h),vec2h(208.0h,184.0h),_1z,vec2h(200.0h,204.0h),vec2h(204.0h,200.0h),vec2h(212.0h,188.0h),vec2h(204.0h),vec2h(204.0h,208.0h),vec2h(208.0h,204.0h),_21,_21,vec2h(208.0h,212.0h),vec2h(212.0h,208.0h),_2s,_2s,vec2h(212.0h,216.0h),vec2h(216.0h,212.0h),_23,_23,vec2h(216.0h,220.0h),vec2h(220.0h,216.0h),_2t,_2t,vec2h(220.0h,224.0h),vec2h(224.0h,220.0h),_26,_26,vec2h(224.0h,228.0h),vec2h(228.0h,224.0h),_2u,_2u,vec2h(228.0h,232.0h),vec2h(232.0h,228.0h),_29,_29,vec2h(232.0h,236.0h),vec2h(236.0h,232.0h),_2v,_2v,vec2h(236.0h,240.0h),vec2h(240.0h,236.0h),_2c,_2c,vec2h(240.0h,244.0h),vec2h(244.0h,240.0h),_2w,_2w,vec2h(244.0h,248.0h),vec2h(248.0h,244.0h),_2f,_2f,vec2h(248.0h,252.0h),vec2h(252.0h,248.0h),_2x,_2x);fn _2z(){var _30:array<vec2h,256u>;var _31:array<vec2h,256u>;var _32:array<vec2h,256u>;var _33:array<vec2h,256u>;var _34:array<vec2h,256u>;var _35:array<vec2h,256u>;var _36:bool;var _37:bool;var _38:f16;var _39:f16;var _3a:f16;var _3b:f16;var _3c:vec3h;var _3d:vec3h;var _3e:vec3h;var _3f:vec3h;var _3g:bool;var _3h:u32;var _3i:u32;var _3j:vec3h;var _3k:vec3h;var _3l:vec3h;var _3m:vec3h;var _3n:u32;var _3o:u32;switch(0u){default:{let _3p=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _3q=((_3p.x+3u)/4u);let _3r=x_2270;let _3s=x_2270.xy;let _3t=x_2270.x;let _3u=(_3t>=_3q);_37=_3u;if(!(_3u)){_36=(_3r.y>=((_3p.y+3u)/4u));_37=_36;}if(_37){break;}let _3v=(vec2f(1.0f)/vec2f(vec2i(textureDimensions(_3,0i))));let _3w=((vec2f(bitcast<vec2i>((_3s*vec2u(4u))))*_3v)+_3v);let _3x=vec4h(textureGather(0i,_3,_2,_3w,vec2i()));let _3y=vec4h(textureGather(0i,_3,_2,_3w,_4));let _3z=vec4h(textureGather(0i,_3,_2,_3w,_5));let _40=vec4h(textureGather(0i,_3,_2,_3w,_6));let _41=vec4h(textureGather(1i,_3,_2,_3w,vec2i()));let _42=vec4h(textureGather(1i,_3,_2,_3w,_4));let _43=vec4h(textureGather(1i,_3,_2,_3w,_5));let _44=vec4h(textureGather(1i,_3,_2,_3w,_6));let _45=vec4h(textureGather(2i,_3,_2,_3w,vec2i()));let _46=vec4h(textureGather(2i,_3,_2,_3w,_4));let _47=vec4h(textureGather(2i,_3,_2,_3w,_5));let _48=vec4h(textureGather(2i,_3,_2,_3w,_6));let _49=vec3h(_3x.w,_41.w,_45.w);let _4a=vec3h(_3x.z,_41.z,_45.z);let _4b=vec3h(_3y.w,_42.w,_46.w);let _4c=vec3h(_3y.z,_42.z,_46.z);let _4d=vec3h(_3x.x,_41.x,_45.x);let _4e=vec3h(_3x.y,_41.y,_45.y);let _4f=vec3h(_3y.x,_42.x,_46.x);let _4g=vec3h(_3y.y,_42.y,_46.y);let _4h=vec3h(_3z.w,_43.w,_47.w);let _4i=vec3h(_3z.z,_43.z,_47.z);let _4j=vec3h(_40.w,_44.w,_48.w);let _4k=vec3h(_40.z,_44.z,_48.z);let _4l=vec3h(_3z.x,_43.x,_47.x);let _4m=vec3h(_3z.y,_43.y,_47.y);let _4n=vec3h(_40.x,_44.x,_48.x);let _4o=vec3h(_40.y,_44.y,_48.y);let _4p=(((((((((((((((_49+_4a)+_4b)+_4c)+_4d)+_4e)+_4f)+_4g)+_4h)+_4i)+_4j)+_4k)+_4l)+_4m)+_4n)+_4o);let _4q=((_49*16.0h)-_4p);let _4r=_4q.x;let _4s=_4q.y;let _4t=_4q.z;let _4u=((_4a*16.0h)-_4p);let _4v=_4u.x;let _4w=_4u.y;let _4x=_4u.z;let _4y=((_4b*16.0h)-_4p);let _4z=_4y.x;let _50=_4y.y;let _51=_4y.z;let _52=((_4c*16.0h)-_4p);let _53=_52.x;let _54=_52.y;let _55=_52.z;let _56=((_4d*16.0h)-_4p);let _57=_56.x;let _58=_56.y;let _59=_56.z;let _5a=((_4e*16.0h)-_4p);let _5b=_5a.x;let _5c=_5a.y;let _5d=_5a.z;let _5e=((_4f*16.0h)-_4p);let _5f=_5e.x;let _5g=_5e.y;let _5h=_5e.z;let _5i=((_4g*16.0h)-_4p);let _5j=_5i.x;let _5k=_5i.y;let _5l=_5i.z;let _5m=((_4h*16.0h)-_4p);let _5n=_5m.x;let _5o=_5m.y;let _5p=_5m.z;let _5q=((_4i*16.0h)-_4p);let _5r=_5q.x;let _5s=_5q.y;let _5t=_5q.z;let _5u=((_4j*16.0h)-_4p);let _5v=_5u.x;let _5w=_5u.y;let _5x=_5u.z;let _5y=((_4k*16.0h)-_4p);let _5z=_5y.x;let _60=_5y.y;let _61=_5y.z;let _62=((_4l*16.0h)-_4p);let _63=_62.x;let _64=_62.y;let _65=_62.z;let _66=((_4m*16.0h)-_4p);let _67=_66.x;let _68=_66.y;let _69=_66.z;let _6a=((_4n*16.0h)-_4p);let _6b=_6a.x;let _6c=_6a.y;let _6d=_6a.z;let _6e=((_4o*16.0h)-_4p);let _6f=_6e.x;let _6g=((((((((((((((((_4r*_4r)+(_4v*_4v))+(_4z*_4z))+(_53*_53))+(_57*_57))+(_5b*_5b))+(_5f*_5f))+(_5j*_5j))+(_5n*_5n))+(_5r*_5r))+(_5v*_5v))+(_5z*_5z))+(_63*_63))+(_67*_67))+(_6b*_6b))+(_6f*_6f));let _6h=_6e.y;let _6i=_6e.z;let _6j=((((((((((((((((_4s*_4s)+(_4w*_4w))+(_50*_50))+(_54*_54))+(_58*_58))+(_5c*_5c))+(_5g*_5g))+(_5k*_5k))+(_5o*_5o))+(_5s*_5s))+(_5w*_5w))+(_60*_60))+(_64*_64))+(_68*_68))+(_6c*_6c))+(_6h*_6h));let _6k=((((((((((((((((_4t*_4t)+(_4x*_4x))+(_51*_51))+(_55*_55))+(_59*_59))+(_5d*_5d))+(_5h*_5h))+(_5l*_5l))+(_5p*_5p))+(_5t*_5t))+(_5x*_5x))+(_61*_61))+(_65*_65))+(_69*_69))+(_6d*_6d))+(_6i*_6i));let _6l=select(1.0h,0.015625h,(max(max(_6g,_6j),_6k)>64.0h));let _6m=(_6g*_6l);let _6n=(((((((((((((((((_4r*_4s)+(_4v*_4w))+(_4z*_50))+(_53*_54))+(_57*_58))+(_5b*_5c))+(_5f*_5g))+(_5j*_5k))+(_5n*_5o))+(_5r*_5s))+(_5v*_5w))+(_5z*_60))+(_63*_64))+(_67*_68))+(_6b*_6c))+(_6f*_6h))*_6l);let _6o=(((((((((((((((((_4r*_4t)+(_4v*_4x))+(_4z*_51))+(_53*_55))+(_57*_59))+(_5b*_5d))+(_5f*_5h))+(_5j*_5l))+(_5n*_5p))+(_5r*_5t))+(_5v*_5x))+(_5z*_61))+(_63*_65))+(_67*_69))+(_6b*_6d))+(_6f*_6i))*_6l);let _6p=(_6j*_6l);let _6q=(((((((((((((((((_4s*_4t)+(_4w*_4x))+(_50*_51))+(_54*_55))+(_58*_59))+(_5c*_5d))+(_5g*_5h))+(_5k*_5l))+(_5o*_5p))+(_5s*_5t))+(_5w*_5x))+(_60*_61))+(_64*_65))+(_68*_69))+(_6c*_6d))+(_6h*_6i))*_6l);let _6r=(_6k*_6l);let _6s=(vec3h(_6m,_6p,_6r)+vec3h(0.0001220703125h));let _6t=vec3h((vec3f(_6s)*(1.0f/f32(max(max(_6s.x,_6s.y),_6s.z)))));let _6u=_6t.x;_39=_6u;if((_6n<0.0h)){_38=-(_6u);_39=_38;}let _6v=_6t.z;_3b=_6v;if((_6q<0.0h)){_3a=-(_6v);_3b=_3a;}let _6w=_6t.y;let _6x=(((_39*_6m)+(_6w*_6n))+(_3b*_6o));let _6y=(((_39*_6n)+(_6w*_6p))+(_3b*_6q));let _6z=(((_39*_6o)+(_6w*_6q))+(_3b*_6r));let _70=max(max(abs(_6x),abs(_6y)),abs(_6z));let _71=vec3h((vec3f(f32(_6x),f32(_6y),f32(_6z))*(1.0f/f32(select(_70,1.0h,(_70==0.0h))))));let _72=_71.x;let _73=_71.y;let _74=_71.z;let _75=(((_72*_6m)+(_73*_6n))+(_74*_6o));let _76=(((_72*_6n)+(_73*_6p))+(_74*_6q));let _77=(((_72*_6o)+(_73*_6q))+(_74*_6r));let _78=max(max(abs(_75),abs(_76)),abs(_77));let _79=(_78==0.0h);let _7a=select(vec3h((vec3f(f32(_75),f32(_76),f32(_77))*(1.0f/f32(select(_78,1.0h,_79))))),_7,vec3<bool>(_79));let _7b=(_4p*0.0625h);let _7c=(_7a*_8);let _7d=(1.0h/dot(_7c,_7c));let _7e=((_7c*_7d)*_8);let _7f=dot(_49,_7e);let _7g=dot(_4a,_7e);let _7h=(_7g<_7f);let _7i=select(1u,0u,_7h);let _7j=select(_7f,_7g,_7h);let _7k=(_7g>_7f);let _7l=select(1u,0u,_7k);let _7m=select(_7f,_7g,_7k);let _7n=dot(_4b,_7e);let _7o=(_7n<_7j);let _7p=select(select(_7i,(_7i+1u),(_7g==_7j)),0u,_7o);let _7q=select(_7j,_7n,_7o);let _7r=(_7n>_7m);let _7s=select(select(_7l,(_7l+1u),(_7g==_7m)),0u,_7r);let _7t=select(_7m,_7n,_7r);let _7u=dot(_4c,_7e);let _7v=(_7u<_7q);let _7w=select(select(_7p,(_7p+1u),(_7n==_7q)),0u,_7v);let _7x=select(_7q,_7u,_7v);let _7y=(_7u>_7t);let _7z=select(select(_7s,(_7s+1u),(_7n==_7t)),0u,_7y);let _80=select(_7t,_7u,_7y);let _81=dot(_4d,_7e);let _82=(_81<_7x);let _83=select(select(_7w,(_7w+1u),(_7u==_7x)),0u,_82);let _84=select(_7x,_81,_82);let _85=(_81>_80);let _86=select(select(_7z,(_7z+1u),(_7u==_80)),0u,_85);let _87=select(_80,_81,_85);let _88=dot(_4e,_7e);let _89=(_88<_84);let _8a=select(select(_83,(_83+1u),(_81==_84)),0u,_89);let _8b=select(_84,_88,_89);let _8c=(_88>_87);let _8d=select(select(_86,(_86+1u),(_81==_87)),0u,_8c);let _8e=select(_87,_88,_8c);let _8f=dot(_4f,_7e);let _8g=(_8f<_8b);let _8h=select(select(_8a,(_8a+1u),(_88==_8b)),0u,_8g);let _8i=select(_8b,_8f,_8g);let _8j=(_8f>_8e);let _8k=select(select(_8d,(_8d+1u),(_88==_8e)),0u,_8j);let _8l=select(_8e,_8f,_8j);let _8m=dot(_4g,_7e);let _8n=(_8m<_8i);let _8o=select(select(_8h,(_8h+1u),(_8f==_8i)),0u,_8n);let _8p=select(_8i,_8m,_8n);let _8q=(_8m>_8l);let _8r=select(select(_8k,(_8k+1u),(_8f==_8l)),0u,_8q);let _8s=select(_8l,_8m,_8q);let _8t=dot(_4h,_7e);let _8u=(_8t<_8p);let _8v=select(select(_8o,(_8o+1u),(_8m==_8p)),0u,_8u);let _8w=select(_8p,_8t,_8u);let _8x=(_8t>_8s);let _8y=select(select(_8r,(_8r+1u),(_8m==_8s)),0u,_8x);let _8z=select(_8s,_8t,_8x);let _90=dot(_4i,_7e);let _91=(_90<_8w);let _92=select(select(_8v,(_8v+1u),(_8t==_8w)),0u,_91);let _93=select(_8w,_90,_91);let _94=(_90>_8z);let _95=select(select(_8y,(_8y+1u),(_8t==_8z)),0u,_94);let _96=select(_8z,_90,_94);let _97=dot(_4j,_7e);let _98=(_97<_93);let _99=select(select(_92,(_92+1u),(_90==_93)),0u,_98);let _9a=select(_93,_97,_98);let _9b=(_97>_96);let _9c=select(select(_95,(_95+1u),(_90==_96)),0u,_9b);let _9d=select(_96,_97,_9b);let _9e=dot(_4k,_7e);let _9f=(_9e<_9a);let _9g=select(select(_99,(_99+1u),(_97==_9a)),0u,_9f);let _9h=select(_9a,_9e,_9f);let _9i=(_9e>_9d);let _9j=select(select(_9c,(_9c+1u),(_97==_9d)),0u,_9i);let _9k=select(_9d,_9e,_9i);let _9l=dot(_4l,_7e);let _9m=(_9l<_9h);let _9n=select(select(_9g,(_9g+1u),(_9e==_9h)),0u,_9m);let _9o=select(_9h,_9l,_9m);let _9p=(_9l>_9k);let _9q=select(select(_9j,(_9j+1u),(_9e==_9k)),0u,_9p);let _9r=select(_9k,_9l,_9p);let _9s=dot(_4m,_7e);let _9t=(_9s<_9o);let _9u=select(select(_9n,(_9n+1u),(_9l==_9o)),0u,_9t);let _9v=select(_9o,_9s,_9t);let _9w=(_9s>_9r);let _9x=select(select(_9q,(_9q+1u),(_9l==_9r)),0u,_9w);let _9y=select(_9r,_9s,_9w);let _9z=dot(_4n,_7e);let _a0=(_9z<_9v);let _a1=select(select(_9u,(_9u+1u),(_9s==_9v)),0u,_a0);let _a2=select(_9v,_9z,_a0);let _a3=(_9z>_9y);let _a4=select(select(_9x,(_9x+1u),(_9s==_9y)),0u,_a3);let _a5=select(_9y,_9z,_a3);let _a6=dot(_4o,_7e);let _a7=(_a6<_a2);let _a8=select(select(_a1,(_a1+1u),(_9z==_a2)),0u,_a7);let _a9=select(_a2,_a6,_a7);let _aa=(_a6>_a5);let _ab=select(select(_a4,(_a4+1u),(_9z==_a5)),0u,_aa);let _ac=select(_a5,_a6,_aa);let _ad=dot(_7b,_7e);let _ae=(_a9-_ad);let _af=(_ac-_ad);let _ag=(((_af-_ae)*0.0625h)*(1.0h-clamp((f16(((select(_a8,(_a8+1u),(_a6==_a9))+select(_ab,(_ab+1u),(_a6==_ac)))-2u))*0.0714111328125h),0.0h,1.0h)));let _ah=(_ae+_ag);let _ai=(_af-_ag);let _aj=max(0.0h,(((((0.6357421875h*0.03125h)*_7d)+(0.36376953125h*0.03125h))-(_ai-_ah))*0.5h));let _ak=clamp(((_7a*(_ah-_aj))+_7b),vec3h(),_7);let _al=clamp(((_7a*(_ai+_aj))+_7b),vec3h(),_7);let _am=_ak.x;let _an=(trunc((_am*31.0h))*8.25h);let _ao=trunc(_an);let _ap=min(255.0h,trunc((_an+8.25h)));let _aq=_ak.y;let _ar=(trunc((_aq*63.0h))*4.0625h);let _as=min(255.0h,trunc(_ar));let _at=min(255.0h,trunc((_ar+4.0625h)));let _au=_ak.z;let _av=(trunc((_au*31.0h))*8.25h);let _aw=trunc(_av);let _ax=min(255.0h,trunc((_av+8.25h)));let _ay=vec3h(select(_ao,_ap,((255.0h*_am)>(0.5h*(_ao+_ap)))),select(_as,_at,((255.0h*_aq)>(0.5h*(_as+_at)))),select(_aw,_ax,((255.0h*_au)>(0.5h*(_aw+_ax)))));let _az=_al.x;let _b0=(trunc((_az*31.0h))*8.25h);let _b1=trunc(_b0);let _b2=min(255.0h,trunc((_b0+8.25h)));let _b3=_al.y;let _b4=(trunc((_b3*63.0h))*4.0625h);let _b5=min(255.0h,trunc(_b4));let _b6=min(255.0h,trunc((_b4+4.0625h)));let _b7=_al.z;let _b8=(trunc((_b7*31.0h))*8.25h);let _b9=trunc(_b8);let _ba=min(255.0h,trunc((_b8+8.25h)));let _bb=vec3h(select(_b1,_b2,((255.0h*_az)>(0.5h*(_b1+_b2)))),select(_b5,_b6,((255.0h*_b3)>(0.5h*(_b5+_b6)))),select(_b9,_ba,((255.0h*_b7)>(0.5h*(_b9+_ba)))));let _bc=(((_bb-_ay)*_8)*0.0039215087890625h);let _bd=((_bc*(1.0h/dot(_bc,_bc)))*_8);let _be=(dot(_ay,_bd)*0.0039215087890625h);let _bf=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_49,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_4a,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_4b,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_4c,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_4d,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_4e,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_4f,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_4g,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_4h,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_4i,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_4j,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_4k,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_4l,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_4m,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_4n,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_4o,_bd)-_be),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));switch(0u){default:{if(((_bf^(_bf<<bitcast<u32>(2i)))<4u)){_3e=_bb;_3f=_ay;_3g=false;break;}let _bg=(_bf>>bitcast<u32>(1i));let _bh=f16(bitcast<i32>(countOneBits(((1431655765u&~(_bg))&_bf))));let _bi=(1431655765u&_bg);let _bj=f16(bitcast<i32>(countOneBits((_bi&~(_bf)))));let _bk=f16(bitcast<i32>(countOneBits((_bi&_bf))));let _bl=(((3.0h*_bk)+(2.0h*_bj))+_bh);let _bm=(((9.0h*_bk)+(4.0h*_bj))+_bh);let _bn=((144.0h-(6.0h*_bl))+_bm);let _bo=((3.0h*_bl)-_bm);let _bp=(((((((((((((((((_49*f16(((_bf>>bitcast<u32>(0i))&3u)))+(_4a*f16(((_bf>>bitcast<u32>(2i))&3u))))+(_4b*f16(((_bf>>bitcast<u32>(4i))&3u))))+(_4c*f16(((_bf>>bitcast<u32>(6i))&3u))))+(_4d*f16(((_bf>>bitcast<u32>(8i))&3u))))+(_4e*f16(((_bf>>bitcast<u32>(10i))&3u))))+(_4f*f16(((_bf>>bitcast<u32>(12i))&3u))))+(_4g*f16(((_bf>>bitcast<u32>(14i))&3u))))+(_4h*f16(((_bf>>bitcast<u32>(16i))&3u))))+(_4i*f16(((_bf>>bitcast<u32>(18i))&3u))))+(_4j*f16(((_bf>>bitcast<u32>(20i))&3u))))+(_4k*f16(((_bf>>bitcast<u32>(22i))&3u))))+(_4l*f16(((_bf>>bitcast<u32>(24i))&3u))))+(_4m*f16(((_bf>>bitcast<u32>(26i))&3u))))+(_4n*f16(((_bf>>bitcast<u32>(28i))&3u))))+(_4o*f16(((_bf>>bitcast<u32>(30i))&3u))))*3.0h);let _bq=((_4p*9.0h)-_bp);let _br=(1.0f/f32(((_bn*_bm)-(_bo*_bo))));let _bs=f16((f32(_bo)*_br));let _bt=clamp(((_bq*f16((f32(_bm)*_br)))-(_bp*_bs)),vec3h(),_7);let _bu=clamp(((_bp*f16((f32(_bn)*_br)))-(_bq*_bs)),vec3h(),_7);let _bv=_bt.x;let _bw=(trunc((_bv*31.0h))*8.25h);let _bx=trunc(_bw);let _by=min(255.0h,trunc((_bw+8.25h)));let _bz=_bt.y;let _c0=(trunc((_bz*63.0h))*4.0625h);let _c1=min(255.0h,trunc(_c0));let _c2=min(255.0h,trunc((_c0+4.0625h)));let _c3=_bt.z;let _c4=(trunc((_c3*31.0h))*8.25h);let _c5=trunc(_c4);let _c6=min(255.0h,trunc((_c4+8.25h)));_3c=vec3h(select(_bx,_by,((255.0h*_bv)>(0.5h*(_bx+_by)))),select(_c1,_c2,((255.0h*_bz)>(0.5h*(_c1+_c2)))),select(_c5,_c6,((255.0h*_c3)>(0.5h*(_c5+_c6)))));let _c7=_bu.x;let _c8=(trunc((_c7*31.0h))*8.25h);let _c9=trunc(_c8);let _ca=min(255.0h,trunc((_c8+8.25h)));let _cb=_bu.y;let _cc=(trunc((_cb*63.0h))*4.0625h);let _cd=min(255.0h,trunc(_cc));let _ce=min(255.0h,trunc((_cc+4.0625h)));let _cf=_bu.z;let _cg=(trunc((_cf*31.0h))*8.25h);let _ch=trunc(_cg);let _ci=min(255.0h,trunc((_cg+8.25h)));_3d=vec3h(select(_c9,_ca,((255.0h*_c7)>(0.5h*(_c9+_ca)))),select(_cd,_ce,((255.0h*_cb)>(0.5h*(_cd+_ce)))),select(_ch,_ci,((255.0h*_cf)>(0.5h*(_ch+_ci)))));_3e=_3d;_3f=_3c;_3g=true;}}_3i=_bf;if(_3g){let _cj=(((_3e-_3f)*_8)*0.0039215087890625h);let _ck=((_cj*(1.0h/dot(_cj,_cj)))*_8);let _cl=(dot(_3f,_ck)*0.0039215087890625h);_3h=((((((((((((((((0u|(u32(((3.0h*clamp((dot(_49,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(0i)))|(u32(((3.0h*clamp((dot(_4a,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(2i)))|(u32(((3.0h*clamp((dot(_4b,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(4i)))|(u32(((3.0h*clamp((dot(_4c,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(6i)))|(u32(((3.0h*clamp((dot(_4d,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(8i)))|(u32(((3.0h*clamp((dot(_4e,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(10i)))|(u32(((3.0h*clamp((dot(_4f,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(12i)))|(u32(((3.0h*clamp((dot(_4g,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(14i)))|(u32(((3.0h*clamp((dot(_4h,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(16i)))|(u32(((3.0h*clamp((dot(_4i,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(18i)))|(u32(((3.0h*clamp((dot(_4j,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(20i)))|(u32(((3.0h*clamp((dot(_4k,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(22i)))|(u32(((3.0h*clamp((dot(_4l,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(24i)))|(u32(((3.0h*clamp((dot(_4m,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(26i)))|(u32(((3.0h*clamp((dot(_4n,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(28i)))|(u32(((3.0h*clamp((dot(_4o,_ck)-_cl),0.0h,1.0h))+0.5h))<<bitcast<u32>(30i)));_3i=_3h;}let _cm=((_3i^(_3i<<bitcast<u32>(2i)))<4u);_3l=_3e;_3m=_3f;if(_cm){let _cn=(_4p*15.9375h);let _co=i32(_cn.x);_30=_2g;let _cp=_30[_co].x;_31=_2g;let _cq=_31[_co].y;let _cr=i32(_cn.y);_32=_2y;let _cs=_32[_cr].x;_33=_2y;let _ct=_33[_cr].y;let _cu=i32(_cn.z);_34=_2g;_3j=vec3h(_cp,_cs,_34[_cu].x);_35=_2g;_3k=vec3h(_cq,_ct,_35[_cu].y);_3l=_3k;_3m=_3j;}let _cv=select(_3i,1431655765u,_cm);let _cw=((((u32(_3m.x)>>bitcast<u32>(3i))<<bitcast<u32>(11i))|((u32(_3m.y)>>bitcast<u32>(2i))<<bitcast<u32>(5i)))|(u32(_3m.z)>>bitcast<u32>(3i)));let _cx=((((u32(_3l.x)>>bitcast<u32>(3i))<<bitcast<u32>(11i))|((u32(_3l.y)>>bitcast<u32>(2i))<<bitcast<u32>(5i)))|(u32(_3l.z)>>bitcast<u32>(3i)));let _cy=(_cw<_cx);_3o=_cv;if(_cy){_3n=~(_cv);_3o=_3n;}let _cz=((_3o&2863311530u)>>bitcast<u32>(1i));x_2367._0[((_3r.y*((_3q+31u)&4294967264u))+_3t)]=vec2u((select(_cw,_cx,_cy)|(select(_cx,_cw,_cy)<<bitcast<u32>(16i))),((((_3o&1431655765u)^_cz)<<bitcast<u32>(1i))|_cz));}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _d0:vec3u,@builtin(local_invocation_id) _d1:vec3u,@builtin(workgroup_id) _d2:vec3u){x_2270=_d0;x_2276=_d1;_2z();}"; export { spark_bc1_rgb as default };