UNPKG

@ludicon/spark.js

Version:

Real-Time GPU Texture Codecs for the Web

5 lines (4 loc) 15.2 kB
const spark_bc5_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_883:vec3u;var<private>x_889:vec3u;@binding(2) @group(0) var<storage,read_write>x_980:_1;const _4=vec2f(1.0f);const _5=vec2i(2i,0i);const _6=vec2i(0i,2i);const _7=vec2i(2i);const _8=array<f32,8u>(0.0f,0.140625f,0.28125f,0.421875f,0.578125f,0.71875f,0.859375f,1.0f);fn _9(){var _a:array<f32,8u>;var _b:array<f32,8u>;var _c:array<f32,8u>;var _d:array<f32,8u>;var _e:bool;var _f:bool;var _g:f16;var _h:f16;var _i:f16;var _j:f16;var _k:f16;var _l:f16;var _m:vec2u;var _n:vec2u;var _o:f16;var _p:f16;var _q:bool;var _r:f16;var _s:f16;var _t:bool;var _u:vec2u;var _v:vec2u;var _w:f16;var _x:f16;var _y:f16;var _z:f16;var _10:f16;var _11:f16;var _12:vec2u;var _13:vec2u;var _14:f16;var _15:f16;var _16:bool;var _17:f16;var _18:f16;var _19:bool;var _1a:vec2u;var _1b:vec2u;switch(0u){default:{let _1c=bitcast<vec2u>(vec2i(textureDimensions(_3,0i)));let _1d=((_1c.x+3u)/4u);let _1e=x_883;let _1f=x_883.xy;let _1g=x_883.x;let _1h=(_1g>=_1d);_f=_1h;if(!(_1h)){_e=(_1e.y>=((_1c.y+3u)/4u));_f=_e;}if(_f){break;}let _1i=((vec2f(bitcast<vec2i>((_1f*vec2u(4u))))+_4)*(_4/vec2f(vec2i(textureDimensions(_3,0i)))));let _1j=vec4h(textureGather(0i,_3,_2,_1i,vec2i()));let _1k=vec4h(textureGather(0i,_3,_2,_1i,_5));let _1l=vec4h(textureGather(0i,_3,_2,_1i,_6));let _1m=vec4h(textureGather(0i,_3,_2,_1i,_7));let _1n=_1j.w;let _1o=_1j.z;let _1p=_1k.w;let _1q=_1k.z;let _1r=_1j.x;let _1s=_1j.y;let _1t=_1k.x;let _1u=_1k.y;let _1v=_1l.w;let _1w=_1l.z;let _1x=_1m.w;let _1y=_1m.z;let _1z=_1l.x;let _20=_1l.y;let _21=_1m.x;let _22=_1m.y;let _23=vec4h(textureGather(1i,_3,_2,_1i,vec2i()));let _24=vec4h(textureGather(1i,_3,_2,_1i,_5));let _25=vec4h(textureGather(1i,_3,_2,_1i,_6));let _26=vec4h(textureGather(1i,_3,_2,_1i,_7));let _27=_23.w;let _28=_23.z;let _29=_24.w;let _2a=_24.z;let _2b=_23.x;let _2c=_23.y;let _2d=_24.x;let _2e=_24.y;let _2f=_25.w;let _2g=_25.z;let _2h=_26.w;let _2i=_26.z;let _2j=_25.x;let _2k=_25.y;let _2l=_26.x;let _2m=_26.y;let _2n=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(1.0h,_1n),_1o),_1p),_1q),_1r),_1s),_1t),_1u),_1v),_1w),_1x),_1y),_1z),_20),_21),_22);let _2o=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(0.0h,_1n),_1o),_1p),_1q),_1r),_1s),_1t),_1u),_1v),_1w),_1x),_1y),_1z),_20),_21),_22);let _2p=(_2o-_2n);let _2q=(_2p*0.03125h);_h=_2q;if((_2p<0.0625h)){_g=max(0.0h,((2.0h*_2q)-0.0625h));_h=_g;}_j=_2n;if((_2n>0.0h)){_i=(_2n+_h);_j=_i;}_l=_2o;if((_j<1.0h)){_k=(_2o-_h);_l=_k;}let _2r=trunc(((_l*255.0h)+0.5h));let _2s=trunc(((_j*255.0h)+0.5h));switch(0u){default:{if((_2r==_2s)){_n=vec2u();break;}let _2t=(1.0h/(_2s-_2r));let _2u=(_2r*-(_2t));let _2v=(_2t*255.0h);let _2w=(0u|(u32(((clamp(((_1v*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_m=vec2u(((((((((0u|(u32(((clamp(((_1n*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_1o*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1p*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1q*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1r*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_1s*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_1t*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_1u*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_2w);_m.y=(((((((_2w|(u32(((clamp(((_1w*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1x*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1y*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1z*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_20*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_21*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_22*_2v)+_2u),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_n=_m;}}switch(0u){default:{let _2x=_n.x;_c=_8;let _2y=_c[((_2x>>bitcast<u32>(0i))&7u)];let _2z=(1.0f-_2y);let _30=f32(_1n);_c=_8;let _31=_c[((_2x>>bitcast<u32>(3i))&7u)];let _32=(1.0f-_31);let _33=f32(_1o);_c=_8;let _34=_c[((_2x>>bitcast<u32>(6i))&7u)];let _35=(1.0f-_34);let _36=f32(_1p);_c=_8;let _37=_c[((_2x>>bitcast<u32>(9i))&7u)];let _38=(1.0f-_37);let _39=f32(_1q);_c=_8;let _3a=_c[((_2x>>bitcast<u32>(12i))&7u)];let _3b=(1.0f-_3a);let _3c=f32(_1r);_c=_8;let _3d=_c[((_2x>>bitcast<u32>(15i))&7u)];let _3e=(1.0f-_3d);let _3f=f32(_1s);_c=_8;let _3g=_c[((_2x>>bitcast<u32>(18i))&7u)];let _3h=(1.0f-_3g);let _3i=f32(_1t);_c=_8;let _3j=_c[((_2x>>bitcast<u32>(21i))&7u)];let _3k=(1.0f-_3j);let _3l=f32(_1u);let _3m=_n.y;_d=_8;let _3n=_d[((_3m>>bitcast<u32>(0i))&7u)];let _3o=(1.0f-_3n);let _3p=f32(_1v);_d=_8;let _3q=_d[((_3m>>bitcast<u32>(3i))&7u)];let _3r=(1.0f-_3q);let _3s=f32(_1w);_d=_8;let _3t=_d[((_3m>>bitcast<u32>(6i))&7u)];let _3u=(1.0f-_3t);let _3v=f32(_1x);_d=_8;let _3w=_d[((_3m>>bitcast<u32>(9i))&7u)];let _3x=(1.0f-_3w);let _3y=f32(_1y);_d=_8;let _3z=_d[((_3m>>bitcast<u32>(12i))&7u)];let _40=(1.0f-_3z);let _41=f32(_1z);_d=_8;let _42=_d[((_3m>>bitcast<u32>(15i))&7u)];let _43=(1.0f-_42);let _44=f32(_20);_d=_8;let _45=_d[((_3m>>bitcast<u32>(18i))&7u)];let _46=(1.0f-_45);let _47=f32(_21);_d=_8;let _48=_d[((_3m>>bitcast<u32>(21i))&7u)];let _49=(1.0f-_48);let _4a=((((((((((((((((_2z*_2z)+(_32*_32))+(_35*_35))+(_38*_38))+(_3b*_3b))+(_3e*_3e))+(_3h*_3h))+(_3k*_3k))+(_3o*_3o))+(_3r*_3r))+(_3u*_3u))+(_3x*_3x))+(_40*_40))+(_43*_43))+(_46*_46))+(_49*_49));let _4b=((((((((((((((((_2y*_2y)+(_31*_31))+(_34*_34))+(_37*_37))+(_3a*_3a))+(_3d*_3d))+(_3g*_3g))+(_3j*_3j))+(_3n*_3n))+(_3q*_3q))+(_3t*_3t))+(_3w*_3w))+(_3z*_3z))+(_42*_42))+(_45*_45))+(_48*_48));let _4c=((((((((((((((((_2z*_2y)+(_32*_31))+(_35*_34))+(_38*_37))+(_3b*_3a))+(_3e*_3d))+(_3h*_3g))+(_3k*_3j))+(_3o*_3n))+(_3r*_3q))+(_3u*_3t))+(_3x*_3w))+(_40*_3z))+(_43*_42))+(_46*_45))+(_49*_48));let _4d=f32(_22);let _4e=((((((((((((((((_2z*_30)+(_32*_33))+(_35*_36))+(_38*_39))+(_3b*_3c))+(_3e*_3f))+(_3h*_3i))+(_3k*_3l))+(_3o*_3p))+(_3r*_3s))+(_3u*_3v))+(_3x*_3y))+(_40*_41))+(_43*_44))+(_46*_47))+(_49*_4d));let _4f=((((((((((((((((_2y*_30)+(_31*_33))+(_34*_36))+(_37*_39))+(_3a*_3c))+(_3d*_3f))+(_3g*_3i))+(_3j*_3l))+(_3n*_3p))+(_3q*_3s))+(_3t*_3v))+(_3w*_3y))+(_3z*_41))+(_42*_44))+(_45*_47))+(_48*_4d));let _4g=((_4a*_4b)-(_4c*_4c));if((abs(_4g)<0.00009999999747378752f)){_r=_2s;_s=_2r;_t=false;break;}let _4h=(1.0f/_4g);_o=trunc(((f16(clamp((((_4e*_4b)-(_4f*_4c))*_4h),0.0f,1.0f))*255.0h)+0.5h));_p=trunc(((f16(clamp((((_4f*_4a)-(_4e*_4c))*_4h),0.0f,1.0f))*255.0h)+0.5h));_q=(!((_o==_2r))|!((_p==_2s)));_r=_p;_s=_o;_t=_q;}}var _4i:vec2u;_v=_n;if(_t){switch(0u){default:{if((_s==_r)){_u=vec2u();break;}let _4j=(1.0h/(_r-_s));let _4k=(_s*-(_4j));let _4l=(_4j*255.0h);let _4m=(0u|(u32(((clamp(((_1v*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_4i=vec2u(((((((((0u|(u32(((clamp(((_1n*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_1o*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1p*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1q*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1r*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_1s*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_1t*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_1u*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_4m);_4i.y=(((((((_4m|(u32(((clamp(((_1w*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_1x*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_1y*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_1z*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_20*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_21*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_22*_4l)+_4k),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_u=_4i;}}_v=_u;}let _4n=_v.x;let _4o=(((_4n&7190235u)+2396745u)^(_4n&9586980u));let _4p=(_4o^(((19173960u-(_4o&14380470u))&19173960u)>>bitcast<u32>(3i)));let _4q=_v.y;let _4r=(((_4q&7190235u)+2396745u)^(_4q&9586980u));let _4s=((u32(_s)|(u32(_r)<<bitcast<u32>(8i)))|(_4p<<bitcast<u32>(16i)));let _4t=((_4p>>bitcast<u32>(16i))|((_4r^(((19173960u-(_4r&14380470u))&19173960u)>>bitcast<u32>(3i)))<<bitcast<u32>(8i)));let _4u=min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(min(1.0h,_27),_28),_29),_2a),_2b),_2c),_2d),_2e),_2f),_2g),_2h),_2i),_2j),_2k),_2l),_2m);let _4v=max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(max(0.0h,_27),_28),_29),_2a),_2b),_2c),_2d),_2e),_2f),_2g),_2h),_2i),_2j),_2k),_2l),_2m);let _4w=(_4v-_4u);let _4x=(_4w*0.03125h);_x=_4x;if((_4w<0.0625h)){_w=max(0.0h,((2.0h*_4x)-0.0625h));_x=_w;}_z=_4u;if((_4u>0.0h)){_y=(_4u+_x);_z=_y;}_11=_4v;if((_z<1.0h)){_10=(_4v-_x);_11=_10;}let _4y=trunc(((_11*255.0h)+0.5h));let _4z=trunc(((_z*255.0h)+0.5h));switch(0u){default:{if((_4y==_4z)){_13=vec2u();break;}let _50=(1.0h/(_4z-_4y));let _51=(_4y*-(_50));let _52=(_50*255.0h);let _53=(0u|(u32(((clamp(((_2f*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_12=vec2u(((((((((0u|(u32(((clamp(((_27*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_28*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_29*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2a*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2b*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2c*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2d*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2e*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_53);_12.y=(((((((_53|(u32(((clamp(((_2g*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_2h*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2i*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2j*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2k*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2l*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2m*_52)+_51),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_13=_12;}}switch(0u){default:{let _54=_13.x;_a=_8;let _55=_a[((_54>>bitcast<u32>(0i))&7u)];let _56=(1.0f-_55);let _57=f32(_27);_a=_8;let _58=_a[((_54>>bitcast<u32>(3i))&7u)];let _59=(1.0f-_58);let _5a=f32(_28);_a=_8;let _5b=_a[((_54>>bitcast<u32>(6i))&7u)];let _5c=(1.0f-_5b);let _5d=f32(_29);_a=_8;let _5e=_a[((_54>>bitcast<u32>(9i))&7u)];let _5f=(1.0f-_5e);let _5g=f32(_2a);_a=_8;let _5h=_a[((_54>>bitcast<u32>(12i))&7u)];let _5i=(1.0f-_5h);let _5j=f32(_2b);_a=_8;let _5k=_a[((_54>>bitcast<u32>(15i))&7u)];let _5l=(1.0f-_5k);let _5m=f32(_2c);_a=_8;let _5n=_a[((_54>>bitcast<u32>(18i))&7u)];let _5o=(1.0f-_5n);let _5p=f32(_2d);_a=_8;let _5q=_a[((_54>>bitcast<u32>(21i))&7u)];let _5r=(1.0f-_5q);let _5s=f32(_2e);let _5t=_13.y;_b=_8;let _5u=_b[((_5t>>bitcast<u32>(0i))&7u)];let _5v=(1.0f-_5u);let _5w=f32(_2f);_b=_8;let _5x=_b[((_5t>>bitcast<u32>(3i))&7u)];let _5y=(1.0f-_5x);let _5z=f32(_2g);_b=_8;let _60=_b[((_5t>>bitcast<u32>(6i))&7u)];let _61=(1.0f-_60);let _62=f32(_2h);_b=_8;let _63=_b[((_5t>>bitcast<u32>(9i))&7u)];let _64=(1.0f-_63);let _65=f32(_2i);_b=_8;let _66=_b[((_5t>>bitcast<u32>(12i))&7u)];let _67=(1.0f-_66);let _68=f32(_2j);_b=_8;let _69=_b[((_5t>>bitcast<u32>(15i))&7u)];let _6a=(1.0f-_69);let _6b=f32(_2k);_b=_8;let _6c=_b[((_5t>>bitcast<u32>(18i))&7u)];let _6d=(1.0f-_6c);let _6e=f32(_2l);_b=_8;let _6f=_b[((_5t>>bitcast<u32>(21i))&7u)];let _6g=(1.0f-_6f);let _6h=((((((((((((((((_56*_56)+(_59*_59))+(_5c*_5c))+(_5f*_5f))+(_5i*_5i))+(_5l*_5l))+(_5o*_5o))+(_5r*_5r))+(_5v*_5v))+(_5y*_5y))+(_61*_61))+(_64*_64))+(_67*_67))+(_6a*_6a))+(_6d*_6d))+(_6g*_6g));let _6i=((((((((((((((((_55*_55)+(_58*_58))+(_5b*_5b))+(_5e*_5e))+(_5h*_5h))+(_5k*_5k))+(_5n*_5n))+(_5q*_5q))+(_5u*_5u))+(_5x*_5x))+(_60*_60))+(_63*_63))+(_66*_66))+(_69*_69))+(_6c*_6c))+(_6f*_6f));let _6j=((((((((((((((((_56*_55)+(_59*_58))+(_5c*_5b))+(_5f*_5e))+(_5i*_5h))+(_5l*_5k))+(_5o*_5n))+(_5r*_5q))+(_5v*_5u))+(_5y*_5x))+(_61*_60))+(_64*_63))+(_67*_66))+(_6a*_69))+(_6d*_6c))+(_6g*_6f));let _6k=f32(_2m);let _6l=((((((((((((((((_56*_57)+(_59*_5a))+(_5c*_5d))+(_5f*_5g))+(_5i*_5j))+(_5l*_5m))+(_5o*_5p))+(_5r*_5s))+(_5v*_5w))+(_5y*_5z))+(_61*_62))+(_64*_65))+(_67*_68))+(_6a*_6b))+(_6d*_6e))+(_6g*_6k));let _6m=((((((((((((((((_55*_57)+(_58*_5a))+(_5b*_5d))+(_5e*_5g))+(_5h*_5j))+(_5k*_5m))+(_5n*_5p))+(_5q*_5s))+(_5u*_5w))+(_5x*_5z))+(_60*_62))+(_63*_65))+(_66*_68))+(_69*_6b))+(_6c*_6e))+(_6f*_6k));let _6n=((_6h*_6i)-(_6j*_6j));if((abs(_6n)<0.00009999999747378752f)){_17=_4z;_18=_4y;_19=false;break;}let _6o=(1.0f/_6n);_14=trunc(((f16(clamp((((_6l*_6i)-(_6m*_6j))*_6o),0.0f,1.0f))*255.0h)+0.5h));_15=trunc(((f16(clamp((((_6m*_6h)-(_6l*_6j))*_6o),0.0f,1.0f))*255.0h)+0.5h));_16=(!((_14==_4y))|!((_15==_4z)));_17=_15;_18=_14;_19=_16;}}var _6p:vec2u;_1b=_13;if(_19){switch(0u){default:{if((_18==_17)){_1a=vec2u();break;}let _6q=(1.0h/(_17-_18));let _6r=(_18*-(_6q));let _6s=(_6q*255.0h);let _6t=(0u|(u32(((clamp(((_2f*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)));_6p=vec2u(((((((((0u|(u32(((clamp(((_27*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(0i)))|(u32(((clamp(((_28*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_29*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2a*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2b*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2c*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2d*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2e*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i))),_6t);_6p.y=(((((((_6t|(u32(((clamp(((_2g*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(3i)))|(u32(((clamp(((_2h*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(6i)))|(u32(((clamp(((_2i*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(9i)))|(u32(((clamp(((_2j*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(12i)))|(u32(((clamp(((_2k*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(15i)))|(u32(((clamp(((_2l*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(18i)))|(u32(((clamp(((_2m*_6s)+_6r),0.0h,1.0h)*7.0h)+0.5h))<<bitcast<u32>(21i)));_1a=_6p;}}_1b=_1a;}let _6u=_1b.x;let _6v=(((_6u&7190235u)+2396745u)^(_6u&9586980u));let _6w=(_6v^(((19173960u-(_6v&14380470u))&19173960u)>>bitcast<u32>(3i)));let _6x=_1b.y;let _6y=(((_6x&7190235u)+2396745u)^(_6x&9586980u));x_980._0[((_1e.y*((_1d+15u)&4294967280u))+_1g)]=vec4u(_4s,_4t,((u32(_18)|(u32(_17)<<bitcast<u32>(8i)))|(_6w<<bitcast<u32>(16i))),((_6w>>bitcast<u32>(16i))|((_6y^(((19173960u-(_6y&14380470u))&19173960u)>>bitcast<u32>(3i)))<<bitcast<u32>(8i))));}}return;}@compute @workgroup_size(16i, 16i, 1i) fn main(@builtin(global_invocation_id) _6z:vec3u,@builtin(local_invocation_id) _70:vec3u,@builtin(workgroup_id) _71:vec3u){x_883=_6z;x_889=_70;_9();}"; export { spark_bc5_rg as default };