@ludicon/spark.js 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/spark.esm.js +378 -607
- package/dist/spark_astc_rgb-DaSIMKXW.js +4 -0
- package/dist/spark_astc_rgba-BToA2Rcq.js +4 -0
- package/dist/spark_bc1_rgb-DZwuM1tO.js +4 -0
- package/dist/spark_bc4_r-DjThizCH.js +4 -0
- package/dist/spark_bc5_rg-6bO0Gvo9.js +4 -0
- package/dist/spark_bc7_rgb-FXpBw9fE.js +4 -0
- package/dist/spark_bc7_rgba-C8Hi2pUY.js +4 -0
- package/dist/spark_eac_r-D8HGiglc.js +4 -0
- package/dist/spark_eac_rg-DvsrLP9h.js +4 -0
- package/dist/spark_etc2_rgb-C-j5FZpn.js +4 -0
- package/dist/utils-Dw9jXlhw.js +169 -0
- package/package.json +2 -2
- package/src/three-gltf.js +6 -2
- package/dist/spark_astc_rgb-ylbf30mQ.js +0 -4
- package/dist/spark_astc_rgba-C4NuyfHw.js +0 -4
- package/dist/spark_bc1_rgb-L0ZV40FW.js +0 -4
- package/dist/spark_bc4_r-B4cqoXVq.js +0 -4
- package/dist/spark_bc5_rg-boGe-kBy.js +0 -4
- package/dist/spark_bc7_rgb-CYdL55pE.js +0 -4
- package/dist/spark_bc7_rgba-BFgOyqos.js +0 -4
- package/dist/spark_eac_r-BFwH430b.js +0 -4
- package/dist/spark_eac_rg--Gm5Gzmk.js +0 -4
- package/dist/spark_etc2_rgb-CWjBHhHQ.js +0 -4
- package/dist/utils-CqE_M33R.js +0 -4
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_eac_r = "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_1216:vec3u;var<private>x_1223:vec3u;@binding(2) @group(0) var<storage,read_write>x_1313:_1;const _4=vec2f(1.0f);fn _5(){var _6:array<f16,16u>;var _7:array<f16,16u>;var _8:bool;var _9:bool;var _a:f16;var _b:f16;var _c:f16;var _d:i32;var _e:u32;var _f:u32;var _g:f16;var _h:f16;var _i:u32;var _j:u32;var _k:f16;var _l:f16;var _m:u32;var _n:u32;var _o:f16;var _p:f16;var _q:u32;var _r:u32;var _s:f16;var _t:f16;var _u:u32;var _v:u32;var _w:f16;var _x:f16;var _y:u32;var _z:u32;var _10:f16;var _11:f16;var _12:u32;var _13:u32;var _14:f16;var _15:f16;var _16:u32;var _17:u32;var _18:f16;var _19:f16;var _1a:u32;var _1b:u32;var _1c:f16;var _1d:f16;var _1e:u32;var _1f:u32;var _1g:f16;var _1h:f16;var _1i:u32;var _1j:u32;var _1k:f16;var _1l:f16;var _1m:u32;var _1n:u32;var _1o:f16;var _1p:f16;var _1q:u32;var _1r:u32;var _1s:f16;var _1t:f16;var _1u:u32;var _1v:u32;var _1w:f16;var _1x:f16;var _1y:u32;var _1z:u32;var _20:f16;var _21:f16;var _22:u32;var _23:u32;var _24:f16;var _25:f16;switch(0u){default:{let _26=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _27=((_26.x+3u)/4u);let _28=x_1216;let _29=x_1216.xy;let _2a=x_1216.x;let _2b=(_2a>=_27);_9=_2b;if(!(_2b)){_8=(_28.y>=((_26.y+3u)/4u));_9=_8;}if(_9){break;}let _2c=((vec2f(bitcast<vec2i>((_29*vec2u(4u))))+_4)*(_4/vec2f(vec2i(textureDimensions(_3,0i)))));let _2d=vec4h(textureGather(0i,_3,_2,_2c,vec2i()));let _2e=vec4h(textureGather(0i,_3,_2,_2c,vec2i(2i,0i)));let _2f=vec4h(textureGather(0i,_3,_2,_2c,vec2i(0i,2i)));let _2g=vec4h(textureGather(0i,_3,_2,_2c,vec2i(2i)));let _2h=array<f16,16u>(_2d.w,_2d.z,_2e.w,_2e.z,_2d.x,_2d.y,_2e.x,_2e.y,_2f.w,_2f.z,_2g.w,_2g.z,_2f.x,_2f.y,_2g.x,_2g.y);_7=_2h;_6=_2h;let _2i=_6[0i];_a=_2i;_b=_2i;_c=_2i;_d=1i;loop{var _2j:f16;var _2k:f16;var _2l:f16;var _2m:i32;if((_d<16i)){}else{break;}continuing{let _2n=_6[_d];_2j=min(_c,_2n);_2k=max(_b,_2n);_2l=(_a+_2n);_2m=(_d+1i);_a=_2l;_b=_2k;_c=_2j;_d=_2m;}}let _2o=(_c*255.0h);let _2p=(_b*255.0h);let _2q=(_2p-_2o);let _2r=(_a*15.9375h);let _2s=(_2q>8.0h);let _2t=clamp(trunc((_2q*select(0.0543212890625h,0.041259765625h,_2s))),1.0h,15.0h);let _2u=(2.0h/_2t);let _2v=(255.0h*_2u);let _2w=(30.0h-(trunc((0.5h*(_2t+(_2o+_2p))))*_2u));let _2x=select(4289374800u,2857717760u,_2s);let _2y=select(1073741823u,1073741738u,_2s);let _2z=~(select(14526u,28143u,(select(0i,1i,_2s)==0i)));let _30=clamp(u32(((_7[0i]*_2v)+_2w)),0u,59u);let _31=select(0u,1u,(_30>28u));let _32=(_30-29u);let _33=(_31==0u);if(_33){_e=~(_32);_f=_e;}else{_f=_32;}let _34=((select(_2x,_2y,(_f>15u))>>((2u*_f)&31u))&3u);let _35=f16(((_2z>>(4u*_34))&15u));if(_33){_g=(-1.0h-_35);_h=_g;}else{_h=_35;}let _36=(0u|((_34|(_31<<2u))<<bitcast<u32>(21i)));let _37=clamp(u32(((_7[4i]*_2v)+_2w)),0u,59u);let _38=select(0u,1u,(_37>28u));let _39=(_37-29u);let _3a=(_38==0u);if(_3a){_i=~(_39);_j=_i;}else{_j=_39;}let _3b=((select(_2x,_2y,(_j>15u))>>((2u*_j)&31u))&3u);let _3c=f16(((_2z>>(4u*_3b))&15u));if(_3a){_k=(-1.0h-_3c);_l=_k;}else{_l=_3c;}let _3d=(_h+_l);let _3e=(_36|((_3b|(_38<<2u))<<bitcast<u32>(18i)));let _3f=clamp(u32(((_7[8i]*_2v)+_2w)),0u,59u);let _3g=select(0u,1u,(_3f>28u));let _3h=(_3f-29u);let _3i=(_3g==0u);if(_3i){_m=~(_3h);_n=_m;}else{_n=_3h;}let _3j=((select(_2x,_2y,(_n>15u))>>((2u*_n)&31u))&3u);let _3k=f16(((_2z>>(4u*_3j))&15u));if(_3i){_o=(-1.0h-_3k);_p=_o;}else{_p=_3k;}let _3l=(_3d+_p);let _3m=(_3e|((_3j|(_3g<<2u))<<bitcast<u32>(15i)));let _3n=clamp(u32(((_7[12i]*_2v)+_2w)),0u,59u);let _3o=select(0u,1u,(_3n>28u));let _3p=(_3n-29u);let _3q=(_3o==0u);if(_3q){_q=~(_3p);_r=_q;}else{_r=_3p;}let _3r=((select(_2x,_2y,(_r>15u))>>((2u*_r)&31u))&3u);let _3s=f16(((_2z>>(4u*_3r))&15u));if(_3q){_s=(-1.0h-_3s);_t=_s;}else{_t=_3s;}let _3t=(_3l+_t);let _3u=(_3m|((_3r|(_3o<<2u))<<bitcast<u32>(12i)));let _3v=clamp(u32(((_7[1i]*_2v)+_2w)),0u,59u);let _3w=select(0u,1u,(_3v>28u));let _3x=(_3v-29u);let _3y=(_3w==0u);if(_3y){_u=~(_3x);_v=_u;}else{_v=_3x;}let _3z=((select(_2x,_2y,(_v>15u))>>((2u*_v)&31u))&3u);let _40=f16(((_2z>>(4u*_3z))&15u));if(_3y){_w=(-1.0h-_40);_x=_w;}else{_x=_40;}let _41=(_3t+_x);let _42=(_3u|((_3z|(_3w<<2u))<<bitcast<u32>(9i)));let _43=clamp(u32(((_7[5i]*_2v)+_2w)),0u,59u);let _44=select(0u,1u,(_43>28u));let _45=(_43-29u);let _46=(_44==0u);if(_46){_y=~(_45);_z=_y;}else{_z=_45;}let _47=((select(_2x,_2y,(_z>15u))>>((2u*_z)&31u))&3u);let _48=f16(((_2z>>(4u*_47))&15u));if(_46){_10=(-1.0h-_48);_11=_10;}else{_11=_48;}let _49=(_41+_11);let _4a=(_42|((_47|(_44<<2u))<<bitcast<u32>(6i)));let _4b=clamp(u32(((_7[9i]*_2v)+_2w)),0u,59u);let _4c=select(0u,1u,(_4b>28u));let _4d=(_4b-29u);let _4e=(_4c==0u);if(_4e){_12=~(_4d);_13=_12;}else{_13=_4d;}let _4f=((select(_2x,_2y,(_13>15u))>>((2u*_13)&31u))&3u);let _4g=f16(((_2z>>(4u*_4f))&15u));if(_4e){_14=(-1.0h-_4g);_15=_14;}else{_15=_4g;}let _4h=(_49+_15);let _4i=(_4a|((_4f|(_4c<<2u))<<bitcast<u32>(3i)));let _4j=clamp(u32(((_7[13i]*_2v)+_2w)),0u,59u);let _4k=select(0u,1u,(_4j>28u));let _4l=(_4j-29u);let _4m=(_4k==0u);if(_4m){_16=~(_4l);_17=_16;}else{_17=_4l;}let _4n=((select(_2x,_2y,(_17>15u))>>((2u*_17)&31u))&3u);let _4o=f16(((_2z>>(4u*_4n))&15u));if(_4m){_18=(-1.0h-_4o);_19=_18;}else{_19=_4o;}let _4p=(_4h+_19);let _4q=(_4i|((_4n|(_4k<<2u))<<bitcast<u32>(0i)));let _4r=clamp(u32(((_7[2i]*_2v)+_2w)),0u,59u);let _4s=select(0u,1u,(_4r>28u));let _4t=(_4r-29u);let _4u=(_4s==0u);if(_4u){_1a=~(_4t);_1b=_1a;}else{_1b=_4t;}let _4v=((select(_2x,_2y,(_1b>15u))>>((2u*_1b)&31u))&3u);let _4w=f16(((_2z>>(4u*_4v))&15u));_1d=_4w;if(_4u){_1c=(-1.0h-_4w);_1d=_1c;}let _4x=(_4p+_1d);let _4y=(0u|((_4v|(_4s<<2u))<<bitcast<u32>(21i)));let _4z=clamp(u32(((_7[6i]*_2v)+_2w)),0u,59u);let _50=select(0u,1u,(_4z>28u));let _51=(_4z-29u);let _52=(_50==0u);if(_52){_1e=~(_51);_1f=_1e;}else{_1f=_51;}let _53=((select(_2x,_2y,(_1f>15u))>>((2u*_1f)&31u))&3u);let _54=f16(((_2z>>(4u*_53))&15u));_1h=_54;if(_52){_1g=(-1.0h-_54);_1h=_1g;}let _55=(_4x+_1h);let _56=(_4y|((_53|(_50<<2u))<<bitcast<u32>(18i)));let _57=clamp(u32(((_7[10i]*_2v)+_2w)),0u,59u);let _58=select(0u,1u,(_57>28u));let _59=(_57-29u);let _5a=(_58==0u);if(_5a){_1i=~(_59);_1j=_1i;}else{_1j=_59;}let _5b=((select(_2x,_2y,(_1j>15u))>>((2u*_1j)&31u))&3u);let _5c=f16(((_2z>>(4u*_5b))&15u));_1l=_5c;if(_5a){_1k=(-1.0h-_5c);_1l=_1k;}let _5d=(_55+_1l);let _5e=(_56|((_5b|(_58<<2u))<<bitcast<u32>(15i)));let _5f=clamp(u32(((_7[14i]*_2v)+_2w)),0u,59u);let _5g=select(0u,1u,(_5f>28u));let _5h=(_5f-29u);let _5i=(_5g==0u);if(_5i){_1m=~(_5h);_1n=_1m;}else{_1n=_5h;}let _5j=((select(_2x,_2y,(_1n>15u))>>((2u*_1n)&31u))&3u);let _5k=f16(((_2z>>(4u*_5j))&15u));_1p=_5k;if(_5i){_1o=(-1.0h-_5k);_1p=_1o;}let _5l=(_5d+_1p);let _5m=(_5e|((_5j|(_5g<<2u))<<bitcast<u32>(12i)));let _5n=clamp(u32(((_7[3i]*_2v)+_2w)),0u,59u);let _5o=select(0u,1u,(_5n>28u));let _5p=(_5n-29u);let _5q=(_5o==0u);if(_5q){_1q=~(_5p);_1r=_1q;}else{_1r=_5p;}let _5r=((select(_2x,_2y,(_1r>15u))>>((2u*_1r)&31u))&3u);let _5s=f16(((_2z>>(4u*_5r))&15u));_1t=_5s;if(_5q){_1s=(-1.0h-_5s);_1t=_1s;}let _5t=(_5l+_1t);let _5u=(_5m|((_5r|(_5o<<2u))<<bitcast<u32>(9i)));let _5v=clamp(u32(((_7[7i]*_2v)+_2w)),0u,59u);let _5w=select(0u,1u,(_5v>28u));let _5x=(_5v-29u);let _5y=(_5w==0u);if(_5y){_1u=~(_5x);_1v=_1u;}else{_1v=_5x;}let _5z=((select(_2x,_2y,(_1v>15u))>>((2u*_1v)&31u))&3u);let _60=f16(((_2z>>(4u*_5z))&15u));_1x=_60;if(_5y){_1w=(-1.0h-_60);_1x=_1w;}let _61=(_5t+_1x);let _62=(_5u|((_5z|(_5w<<2u))<<bitcast<u32>(6i)));let _63=clamp(u32(((_7[11i]*_2v)+_2w)),0u,59u);let _64=select(0u,1u,(_63>28u));let _65=(_63-29u);let _66=(_64==0u);if(_66){_1y=~(_65);_1z=_1y;}else{_1z=_65;}let _67=((select(_2x,_2y,(_1z>15u))>>((2u*_1z)&31u))&3u);let _68=f16(((_2z>>(4u*_67))&15u));_21=_68;if(_66){_20=(-1.0h-_68);_21=_20;}let _69=(_61+_21);let _6a=(_62|((_67|(_64<<2u))<<bitcast<u32>(3i)));let _6b=clamp(u32(((_7[15i]*_2v)+_2w)),0u,59u);let _6c=select(0u,1u,(_6b>28u));let _6d=(_6b-29u);let _6e=(_6c==0u);if(_6e){_22=~(_6d);_23=_22;}else{_23=_6d;}let _6f=((select(_2x,_2y,(_23>15u))>>((2u*_23)&31u))&3u);let _6g=f16(((_2z>>(4u*_6f))&15u));_25=_6g;if(_6e){_24=(-1.0h-_6g);_25=_24;}let _6h=(_6a|((_6f|(_6c<<2u))<<bitcast<u32>(0i)));let _6i=(_4q&255u);var _6j=vec2u((((u32(clamp(((f32(_2r)-((f32((_69+_25))*f32(_2t))*0.0625f))+0.5f),0.0f,255.0f))|((u32(_2t)<<bitcast<u32>(12i))|(select(13u,2u,_2s)<<bitcast<u32>(8i))))|(_4q&16711680u))|((_4q&65280u)<<bitcast<u32>(16i))),_6i);_6j.y=(((_6i|((_6h&16711680u)>>bitcast<u32>(8i)))|((_6h&65280u)<<bitcast<u32>(8i)))|((_6h&255u)<<bitcast<u32>(24i)));x_1313._0[((_28.y*((_27+31u)&4294967264u))+_2a)]=_6j;}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _6k:vec3u,@builtin(local_invocation_id) _6l:vec3u,@builtin(workgroup_id) _6m:vec3u){x_1216=_6k;x_1223=_6l;_5();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_eac_r as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const spark_eac_rg = "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();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_eac_rg as default
|
|
4
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
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();}";
|
|
2
|
-
export {
|
|
3
|
-
spark_etc2_rgb as default
|
|
4
|
-
};
|
package/dist/utils-CqE_M33R.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const utils = "struct Params {\n colorMode: u32,\n};\n\n@group(0) @binding(0) var src : texture_2d<f32>;\n@group(0) @binding(1) var dst : texture_storage_2d<rgba8unorm, write>;\n@group(0) @binding(2) var smp: sampler;\n@group(0) @binding(3) var<uniform> params: Params;\n\nfn linear_to_srgb_vec3(c: vec3<f32>) -> vec3<f32> {\n return select(\n 1.055 * pow(c, vec3<f32>(1.0 / 2.4)) - 0.055,\n c * 12.92,\n c <= vec3<f32>(0.0031308)\n );\n}\n\nfn linear_to_srgb_vec4(c: vec4<f32>) -> vec4<f32> {\n return vec4<f32>(linear_to_srgb_vec3(c.xyz), c.w);\n}\n\nfn normalize_vec4(c: vec4<f32>) -> vec4<f32> {\n return vec4<f32>(saturate(0.5 * normalize(2 * c.xyz - 1) + 0.5), c.w);\n}\n\n@compute @workgroup_size(8, 8)\nfn mipmap(@builtin(global_invocation_id) id : vec3<u32>) {\n let dstSize = textureDimensions(dst).xy;\n if (id.x >= dstSize.x || id.y >= dstSize.y) {\n return;\n }\n\n let size_rcp = vec2f(1.0) / vec2f(dstSize);\n\n // We are not doing this yet, but in some cases we want to take 4 samples in order to apply alpha weighting,\n // or to support non multiple of two textures.\n let uv0 = (vec2f(id.xy) + vec2f(0.25)) * size_rcp;\n let uv1 = uv0 + 0.5 * size_rcp;\n\n var color = vec4f(0.0);\n color += textureSampleLevel(src, smp, vec2f(uv0.x, uv0.y), 0);\n color += textureSampleLevel(src, smp, vec2f(uv1.x, uv0.y), 0);\n color += textureSampleLevel(src, smp, vec2f(uv0.x, uv1.y), 0);\n color += textureSampleLevel(src, smp, vec2f(uv1.x, uv1.y), 0);\n color *= 0.25; \n\n // This would be the single sample implementation:\n // let uv = (vec2f(id.xy) + vec2f(0.5)) * size_rcp;\n // var color = textureSampleLevel(src, smp, vec2f(uv.x, uv.y), 0);\n\n if (params.colorMode == 1) {\n color = linear_to_srgb_vec4(color);\n } else if (params.colorMode == 2) {\n color = normalize_vec4(color);\n }\n\n textureStore(dst, id.xy, color);\n}\n\n@compute @workgroup_size(8, 8)\nfn resize(@builtin(global_invocation_id) id : vec3<u32>) {\n let dstSize = textureDimensions(dst).xy;\n if (id.x >= dstSize.x || id.y >= dstSize.y) {\n return;\n }\n\n let uv = (vec2f(id.xy) + vec2f(0.5)) / vec2f(dstSize);\n var color = textureSampleLevel(src, smp, uv, 0);\n\n if (params.colorMode == 1) {\n color = linear_to_srgb_vec4(color);\n } else if (params.colorMode == 2) {\n color = normalize_vec4(color);\n }\n\n textureStore(dst, id.xy, color);\n}\n\n@compute @workgroup_size(8, 8)\nfn flipy(@builtin(global_invocation_id) id : vec3<u32>) {\n let dstSize = textureDimensions(dst).xy;\n if (id.x >= dstSize.x || id.y >= dstSize.y) {\n return;\n }\n\n let uv = (vec2f(f32(id.x), f32(dstSize.y - 1u - id.y)) + vec2f(0.5)) / vec2f(dstSize);\n var color = textureSampleLevel(src, smp, uv, 0);\n\n if (params.colorMode == 1) {\n color = linear_to_srgb_vec4(color);\n } else if (params.colorMode == 2) {\n color = normalize_vec4(color);\n }\n\n textureStore(dst, id.xy, color);\n}\n\n\n@group(0) @binding(1) var<storage, read_write> global_counters: array<atomic<u32>, 3>;\n\nvar<workgroup> local_opaque: atomic<u32>;\nvar<workgroup> local_grayscale: atomic<u32>;\nvar<workgroup> local_invalid_normals: atomic<u32>;\n\n@compute @workgroup_size(8, 8)\nfn detect_channel_count(@builtin(global_invocation_id) global_id: vec3<u32>,\n @builtin(local_invocation_index) local_id: u32) {\n \n if (local_id == 0u) {\n atomicStore(&local_opaque, 1u);\n atomicStore(&local_grayscale, 1u);\n atomicStore(&local_invalid_normals, 0u);\n }\n workgroupBarrier();\n\n let tex_size = textureDimensions(src);\n if (global_id.x < tex_size.x && global_id.y < tex_size.y) {\n\n let color = textureLoad(src, vec2<i32>(global_id.xy), 0);\n\n // Alpha check\n if (color.a < 1.0) {\n atomicStore(&local_opaque, 0u);\n }\n\n // Grayscale check\n if (color.r != color.g || color.g != color.b) {\n atomicStore(&local_grayscale, 0u);\n }\n\n // Normal check\n let n = color.rgb * 2.0 - vec3(1.0);\n let len = length(n);\n\n if (abs(len - 1.0) > 0.2 || n.z < -0.1) {\n atomicAdd(&local_invalid_normals, 1u);\n }\n }\n\n workgroupBarrier();\n\n if (local_id == 0u) {\n // If not opaque, write not-opaque flag.\n if (atomicLoad(&local_opaque) == 0u) {\n atomicStore(&global_counters[0], 1u);\n }\n\n // If not greyscale, write not greyscale flag.\n if (atomicLoad(&local_grayscale) == 0u) {\n atomicStore(&global_counters[1], 1u);\n }\n\n // Add number of texels that are not normal.\n atomicAdd(&global_counters[2], atomicLoad(&local_invalid_normals));\n }\n}\n\n\n// @@ Compute RMSE?\n\n\n";
|
|
2
|
-
export {
|
|
3
|
-
utils as default
|
|
4
|
-
};
|