UNPKG

@ludicon/spark.js

Version:

Real-Time GPU Texture Codecs for the Web

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