| static constexpr char SKSL_MINIFIED_sksl_graphite_frag[] = |
| "$pure half4 sk_error(){return half4(1.,0.,0.,1.);}$pure half4 sk_passthrough" |
| "(half4 a){return a;}$pure half4 sk_solid_shader(float4 a){return half4(a);}" |
| "$pure half4 sk_rgb_opaque(float4 a){return half4(half3(a.xyz),1.);}$pure half4" |
| " sk_alpha_only(float4 a){return half4(0.,0.,0.,half(a.w));}$pure float $k(int" |
| " a,float b,half4[2]c){float d=float(c[0].x);float e=float(c[0].y);float f=float" |
| "(c[0].z);float g=float(c[0].w);float h=float(c[1].x);float i=float(c[1].y);" |
| "float j=float(c[1].z);float k=sign(b);b=abs(b);{float l;switch(a){case 1:b=" |
| "b<h?g*b+j:pow(e*b+f,d)+i;break;case 2:l=pow(b,g);b=pow(max(e+f*l,0.)/(h+i*l" |
| "),j);break;case 3:b=b*e<=1.?pow(b*e,f):exp((b-i)*g)+h;b*=j+1.;break;case 4:" |
| "b/=j+1.;b=b<=1.?e*pow(b,f):g*log(b-h)+i;break;}}return k*b;}$pure half4 sk_color_space_transform" |
| "(half4 a,int b,int c,half3x3 d,int e,half4x4 f){float4 g=float4(a);if(bool(" |
| "b&1))g=unpremul(g);if(bool(b&2)){half4 h[2];h[0]=f[0];h[1]=f[1];g.x=$k(c,g." |
| "x,h);g.y=$k(c,g.y,h);g.z=$k(c,g.z,h);}if(bool(b&4))g.xyz=float3x3(d)*g.xyz;" |
| "if(bool(b&8)){half4 h[2];h[0]=f[2];h[1]=f[3];g.x=$k(e,g.x,h);g.y=$k(e,g.y,h" |
| ");g.z=$k(e,g.z,h);}if(bool(b&16))g.xyz*=g.w;return half4(g);}$pure half4 $l" |
| "(half4 a,int b,int c,half3x3 d,int e,half4x4 f){if(b==0)return a;else{if(bool" |
| "(b&32))a.w=dot(half2(a.x,1.),half2(f[1].w,f[3].w));return sk_color_space_transform" |
| "(a,b,c,d,e,f);}}$pure float $m(int a,float b,float c,float d){switch(a){case" |
| " 0:return clamp(b,c,d);case 1:{float e=d-c;return mod(b-c,e)+c;}case 2:{float" |
| " e=d-c;float g=2.*e;float h=mod(b-c,g);return mix(h,g-h,step(e,h))+c;}default" |
| ":return b;}}$pure half4 $n(float2 a,float2 b,sampler2D c){return sample(c,a" |
| "*b);}$pure half4 $o(float2 a,float2 b,float4 c,int d,int e,int f,float2 g,sampler2D" |
| " h){if(d==3&&f==0){float i=floor(a.x)+.5;if(i<c.x||i>c.z)return half4(0.);}" |
| "if(e==3&&f==0){float i=floor(a.y)+.5;if(i<c.y||i>c.w)return half4(0.);}a.x=" |
| "$m(d,a.x,c.x,c.z);a.y=$m(e,a.y,c.y,c.w);float4 i;if(f==0)i=float4(floor(c.xy" |
| ")+.50001,ceil(c.zw)-.50001);else i=float4(c.xy+g.x,c.zw-g.y);float2 j=clamp" |
| "(a,i.xy,i.zw);half4 k=$n(j,b,h);if(f==1){half2 l=half2(a-j);half2 m=abs(l);" |
| "bool n=d==1;bool o=e==1;if(n||o){float p;float q;half4 r;half4 t;if(n){p=l." |
| "x>0.?i.x:i.z;r=$n(float2(p,j.y),b,h);}if(o){q=l.y>0.?i.y:i.w;t=$n(float2(j." |
| "x,q),b,h);}if(n&&o){half4 u=$n(float2(p,q),b,h);k=mix(mix(k,r,m.x),mix(t,u," |
| "m.x),m.y);}else if(n)k=mix(k,r,m.x);else if(o)k=mix(k,t,m.y);}if(d==3)k*=max" |
| "(1.-m.x,0.);if(e==3)k*=max(1.-m.y,0.);}return k;}$pure half4 $p(float2 a,float2" |
| " b,float4 c,int d,int e,half4x4 g,sampler2D h){float2 i=fract(a-.5);a-=1.5;" |
| "a=floor(a)+.5;half4 j=g*half4(1.,half(i.x),half(i.x*i.x),half((i.x*i.x)*i.x" |
| "));half4 k=g*half4(1.,half(i.y),half(i.y*i.y),half((i.y*i.y)*i.y));half4 l=" |
| "half4(0.);for(int m=0;m<4;++m){half4 n=half4(0.);for(int o=0;o<4;++o)n+=j[o" |
| "]*$o(a+float2(float(o),float(m)),b,c,d,e,0,float2(.50001),h);l+=k[m]*n;}l.w" |
| "=saturate(l.w);l.xyz=clamp(l.xyz,half3(0.),l.www);return l;}$pure half4 sk_image_shader" |
| "(float2 a,float2 b,float4 c,int d,int e,int f,int g,int h,half3x3 i,int j,half4x4" |
| " k,sampler2D l){half4 m=$o(a,b,c,d,e,f,float2(.50001),l);return $l(m,g,h,i," |
| "j,k);}$pure half4 sk_cubic_image_shader(float2 a,float2 b,float4 c,int d,int" |
| " e,half4x4 f,int g,int h,half3x3 i,int j,half4x4 k,sampler2D l){half4 m=$p(" |
| "a,b,c,d,e,f,l);return $l(m,g,h,i,j,k);}$pure half4 sk_hw_image_shader(float2" |
| " a,float2 b,int c,int d,half3x3 e,int f,half4x4 g,sampler2D h){half4 i=$n(a" |
| ",b,h);return $l(i,c,d,e,f,g);}$pure half4 $q(half4 a,half4 b,half4 c,half4 d" |
| ",half4 e,half4 f,half4 g,half4 h,half3x3 i,float3 j){float k=float(dot(e,a)" |
| ");float l=float(dot(f,b));float m=float(dot(g,c));half3 n=half3(half(k),half" |
| "(l),half(m));half4 o;o.xyz=saturate(i*n+half3(j));o.w=dot(h,d);o.xyz*=o.w;return" |
| " o;}$pure half4 sk_yuv_image_shader(float2 a,float2 b,float2 c,float4 d,float2" |
| " e,int f,int g,int h,int i,half4 j,half4 k,half4 l,half4 m,half3x3 n,float3" |
| " o,sampler2D p,sampler2D q,sampler2D r,sampler2D s){if(h!=i)a=floor(a)+.5;int" |
| " t=f==3?0:f;int u=g==3?0:g;half4 v;half4 w;half4 x;half4 y;v=$o(a,b,d,f,g,h" |
| ",float2(.50001),p);w=$o(a,c,d,t,u,i,e,q);x=$o(a,c,d,t,u,i,e,r);if(m==half4(" |
| "1.))y=half4(0.,0.,0.,1.);else y=$o(a,b,d,f,g,h,float2(.50001),s);return $q(" |
| "v,w,x,y,j,k,l,m,n,o);}$pure half4 sk_cubic_yuv_image_shader(float2 a,float2" |
| " b,float2 c,float4 d,int e,int f,half4x4 g,half4 h,half4 i,half4 j,half4 k," |
| "half3x3 l,float3 m,sampler2D n,sampler2D o,sampler2D p,sampler2D q){int r=e" |
| "==3?0:e;int s=f==3?0:f;half4 t;half4 u;half4 v;half4 w;t=$p(a,b,d,e,f,g,n);" |
| "u=$p(a,c,d,r,s,g,o);v=$p(a,c,d,r,s,g,p);if(k==half4(1.))w=half4(0.,0.,0.,1." |
| ");else w=$p(a,b,d,e,f,g,q);return $q(t,u,v,w,h,i,j,k,l,m);}$pure half4 sk_dither_shader" |
| "(half4 a,float2 b,half c,sampler2D d){half f=sample(d,b*.125).x-.5;return half4" |
| "(clamp(a.xyz+f*c,0.,a.w),a.w);}$pure float2 $r(int a,float2 b){switch(a){case" |
| " 0:b.x=saturate(b.x);break;case 1:b.x=fract(b.x);break;case 2:{float c=b.x-" |
| "1.;b.x=(c-2.*floor(c*.5))-1.;if(sk_Caps.mustDoOpBetweenFloorAndAbs)b.x=clamp" |
| "(b.x,-1.,1.);b.x=abs(b.x);break;}case 3:if(b.x<0.||b.x>1.)return float2(0.," |
| "-1.);break;}return b;}$pure half4 $s(float4[4]a,float4 b,float2 c){if(c.y<0." |
| ")return half4(0.);else if(c.x<=b.x)return half4(a[0]);else if(c.x<b.y)return" |
| " half4(mix(a[0],a[1],(c.x-b.x)/(b.y-b.x)));else if(c.x<b.z)return half4(mix" |
| "(a[1],a[2],(c.x-b.y)/(b.z-b.y)));else if(c.x<b.w)return half4(mix(a[2],a[3]" |
| ",(c.x-b.z)/(b.w-b.z)));else return half4(a[3]);}$pure half4 $t(float4[8]a,float4" |
| "[2]b,float2 c){if(c.y<0.)return half4(0.);else if(c.x<b[1].x)if(c.x<b[0].z)" |
| "if(c.x<=b[0].x)return half4(a[0]);else if(c.x<b[0].y)return half4(mix(a[0]," |
| "a[1],(c.x-b[0].x)/(b[0].y-b[0].x)));else return half4(mix(a[1],a[2],(c.x-b[" |
| "0].y)/(b[0].z-b[0].y)));else if(c.x<b[0].w)return half4(mix(a[2],a[3],(c.x-" |
| "b[0].z)/(b[0].w-b[0].z)));else return half4(mix(a[3],a[4],(c.x-b[0].w)/(b[1" |
| "].x-b[0].w)));else if(c.x<b[1].z)if(c.x<b[1].y)return half4(mix(a[4],a[5],(" |
| "c.x-b[1].x)/(b[1].y-b[1].x)));else return half4(mix(a[5],a[6],(c.x-b[1].y)/" |
| "(b[1].z-b[1].y)));else if(c.x<b[1].w)return half4(mix(a[6],a[7],(c.x-b[1].z" |
| ")/(b[1].w-b[1].z)));else return half4(a[7]);}half4 $u(sampler2D a,int b,float2" |
| " c){if(c.y<0.)return half4(0.);else if(c.x==0.)return sampleLod(a,float2(0." |
| ",.25),0.);else if(c.x==1.)return sampleLod(a,float2(1.,.25),0.);else{float f" |
| "=0.;float g=float(b);float h=1./g;for(int i=1;i<b;i+=i){float j=floor((f+g)" |
| "*.5);float k=(j+.5)*h;float2 l=float2(sampleLod(a,float2(k,.75),0.).xy);float" |
| " m=ldexp(l.x,int(l.y));if(c.x<m)g=j;else f=j;}g=(f+1.5)*h;f=(f+.5)*h;half4 i" |
| "=sampleLod(a,float2(f,.25),0.);half4 j=sampleLod(a,float2(g,.25),0.);float2" |
| " k=float2(sampleLod(a,float2(f,.75),0.).xy);float l=ldexp(k.x,int(k.y));k=float2" |
| "(sampleLod(a,float2(g,.75),0.).xy);float m=ldexp(k.x,int(k.y));return half4" |
| "(mix(float4(i),float4(j),(c.x-l)/(m-l)));}}$pure float2 $v(float2 a){return" |
| " float2(a.x+1e-05,1.);}$pure float2 $w(float2 a){float b=length(a);return float2" |
| "(b,1.);}$pure float2 $x(float a,float b,float2 c){float d;if(sk_Caps.atan2ImplementedAsAtanYOverX" |
| ")d=2.*atan(-c.y,length(c)-c.x);else d=c.x!=0.?atan(-c.y,-c.x):sign(c.y)*-1.57079637" |
| ";float e=((d*.159154937+.5)+a)*b;return float2(e,1.);}$pure float2 $y(float" |
| " b,float c,float d,float e,float2 f){if(d==0.&&e==1.){float g=length(f)*c-b" |
| ";return float2(g,1.);}else{float g=dot(f,f)-b*b;float h=2.*(c*b+f.x);float i" |
| ";if(d==0.)i=g/h;else{float j=h*h-(4.*d)*g;if(j<0.)return float2(0.,-1.);float" |
| " k=sign(1.-c);i=e*(h+k*sqrt(j));}float j=sign(i*c+b);return float2(i,j);}}$pure" |
| " half4 sk_linear_grad_4_shader(float2 a,float4[4]b,float4 c,int d,int e,int" |
| " f){float2 g=$v(a);g=$r(d,g);half4 h=$s(b,c,g);return $interpolated_to_rgb_unpremul" |
| "(h,e,f);}$pure half4 sk_linear_grad_8_shader(float2 a,float4[8]b,float4[2]c" |
| ",int d,int e,int f){float2 g=$v(a);g=$r(d,g);half4 h=$t(b,c,g);return $interpolated_to_rgb_unpremul" |
| "(h,e,f);}$pure half4 sk_linear_grad_tex_shader(float2 a,int b,int c,int d,int" |
| " e,sampler2D f){float2 g=$v(a);g=$r(c,g);half4 h=$u(f,b,g);return $interpolated_to_rgb_unpremul" |
| "(h,d,e);}$pure half4 sk_radial_grad_4_shader(float2 a,float4[4]b,float4 c,int" |
| " d,int e,int f){float2 g=$w(a);g=$r(d,g);half4 h=$s(b,c,g);return $interpolated_to_rgb_unpremul" |
| "(h,e,f);}$pure half4 sk_radial_grad_8_shader(float2 a,float4[8]b,float4[2]c" |
| ",int d,int e,int f){float2 g=$w(a);g=$r(d,g);half4 h=$t(b,c,g);return $interpolated_to_rgb_unpremul" |
| "(h,e,f);}$pure half4 sk_radial_grad_tex_shader(float2 a,int b,int c,int d,int" |
| " e,sampler2D f){float2 g=$w(a);g=$r(c,g);half4 h=$u(f,b,g);return $interpolated_to_rgb_unpremul" |
| "(h,d,e);}$pure half4 sk_sweep_grad_4_shader(float2 a,float4[4]b,float4 c,float" |
| " d,float e,int f,int g,int h){float2 i=$x(d,e,a);i=$r(f,i);half4 j=$s(b,c,i" |
| ");return $interpolated_to_rgb_unpremul(j,g,h);}$pure half4 sk_sweep_grad_8_shader" |
| "(float2 a,float4[8]b,float4[2]c,float d,float e,int f,int g,int h){float2 i" |
| "=$x(d,e,a);i=$r(f,i);half4 j=$t(b,c,i);return $interpolated_to_rgb_unpremul" |
| "(j,g,h);}$pure half4 sk_sweep_grad_tex_shader(float2 a,float b,float c,int d" |
| ",int e,int f,int g,sampler2D h){float2 i=$x(b,c,a);i=$r(e,i);half4 j=$u(h,d" |
| ",i);return $interpolated_to_rgb_unpremul(j,f,g);}$pure half4 sk_conical_grad_4_shader" |
| "(float2 a,float4[4]b,float4 c,float d,float e,float f,float g,int h,int i,int" |
| " j){float2 k=$y(d,e,f,g,a);k=$r(h,k);half4 l=$s(b,c,k);return $interpolated_to_rgb_unpremul" |
| "(l,i,j);}$pure half4 sk_conical_grad_8_shader(float2 a,float4[8]b,float4[2]" |
| "c,float d,float e,float f,float g,int h,int i,int j){float2 k=$y(d,e,f,g,a)" |
| ";k=$r(h,k);half4 l=$t(b,c,k);return $interpolated_to_rgb_unpremul(l,i,j);}$pure" |
| " half4 sk_conical_grad_tex_shader(float2 a,float b,float c,float d,float e," |
| "int f,int g,int h,int i,sampler2D j){float2 k=$y(b,c,d,e,a);k=$r(g,k);half4" |
| " l=$u(j,f,k);return $interpolated_to_rgb_unpremul(l,h,i);}$pure half4 sk_matrix_colorfilter" |
| "(half4 a,float4x4 b,float4 c,int d){if(bool(d))a=$rgb_to_hsl(a.xyz,a.w);else" |
| " a=unpremul(a);half4 e=half4(b*float4(a)+c);if(bool(d))e=$hsl_to_rgb(e.xyz," |
| "e.w);else{e=saturate(e);e.xyz*=e.w;}return e;}$pure half4 $z(half2 a,half2 b" |
| ",int c,sampler2D d){half4 f;f.xy=floor(a);f.zw=f.xy+half2(1.);if(bool(c))f-=" |
| "step(b.xyxy,f)*b.xyxy;half g=sample(d,float2(half2((f.x+.5)*.00390625,.5)))" |
| ".x;half h=sample(d,float2(half2((f.z+.5)*.00390625,.5))).x;half2 i=half2(g," |
| "h);if(sk_Caps.PerlinNoiseRoundingFix)i=floor(i*half2(255.)+half2(.5))*half2" |
| "(.003921569);half4 j=256.*i.xyxy+f.yyww;j*=half4(.00390625);return j;}$pure" |
| " half4 $A(half2 a,half4 b,sampler2D c){half2 d=fract(a);half2 e=smoothstep(" |
| "0.,1.,d);const half f=.00390625;half4 g;for(int h=0;h<4;h++){half i=(half(h" |
| ")+.5)*.25;half4 j=sample(c,float2(float(b.x),float(i)));half4 k=sample(c,float2" |
| "(float(b.y),float(i)));half4 l=sample(c,float2(float(b.w),float(i)));half4 m" |
| "=sample(c,float2(float(b.z),float(i)));half2 n=d;half o=dot((j.yw+j.xz*f)*2." |
| "-1.,n);n.x-=1.;half p=dot((k.yw+k.xz*f)*2.-1.,n);half q=mix(o,p,e.x);n.y-=1." |
| ";p=dot((l.yw+l.xz*f)*2.-1.,n);n.x+=1.;o=dot((m.yw+m.xz*f)*2.-1.,n);half r=mix" |
| "(o,p,e.x);g[h]=mix(q,r,e.y);}return g;}$pure half4 perlin_noise_shader(float2" |
| " a,float2 b,float2 c,int d,int e,int f,sampler2D g,sampler2D h){half2 k=half2" |
| "((a+.5)*b);half4 l=half4(0.);half2 m=half2(c);half n=1.;for(int o=0;o<e;++o" |
| "){half4 p=$z(k,m,f,g);half4 q=$A(k,p,h);if(d!=0)q=abs(q);l+=q*n;k*=half2(2." |
| ");n*=.5;m*=half2(2.);}if(d==0)l=l*half4(.5)+half4(.5);l=saturate(l);return half4" |
| "(l.xyz*l.www,l.w);}$pure half4 sk_blend(half4 a,half4 b,int c){switch(c){case" |
| " 0:return blend_clear(a,b);case 1:return blend_src(a,b);case 2:return blend_dst" |
| "(a,b);case 3:return blend_porter_duff(half4(1.,0.,0.,-1.),a,b);case 4:return" |
| " blend_porter_duff(half4(0.,1.,-1.,0.),a,b);case 5:return blend_porter_duff" |
| "(half4(0.,0.,1.,0.),a,b);case 6:return blend_porter_duff(half4(0.,0.,0.,1.)" |
| ",a,b);case 7:return blend_porter_duff(half4(0.,0.,-1.,0.),a,b);case 8:return" |
| " blend_porter_duff(half4(0.,0.,0.,-1.),a,b);case 9:return blend_porter_duff" |
| "(half4(0.,0.,1.,-1.),a,b);case 10:return blend_porter_duff(half4(0.,0.,-1.," |
| "1.),a,b);case 11:return blend_porter_duff(half4(0.,0.,-1.,-1.),a,b);case 12" |
| ":return blend_porter_duff(half4(1.,1.,0.,0.),a,b);case 13:return blend_modulate" |
| "(a,b);case 14:return blend_screen(a,b);case 15:return blend_overlay(0.,a,b)" |
| ";case 16:return blend_darken(1.,a,b);case 17:return blend_darken(-1.,a,b);case" |
| " 18:return blend_color_dodge(a,b);case 19:return blend_color_burn(a,b);case" |
| " 20:return blend_overlay(1.,a,b);case 21:return blend_soft_light(a,b);case 22" |
| ":return blend_difference(a,b);case 23:return blend_exclusion(a,b);case 24:return" |
| " blend_multiply(a,b);case 25:return blend_hslc(half2(0.,1.),a,b);case 26:return" |
| " blend_hslc(half2(1.),a,b);case 27:return blend_hslc(half2(0.),a,b);case 28" |
| ":return blend_hslc(half2(1.,0.),a,b);default:return half4(0.);}}$pure half4" |
| " sk_coeff_blend(half4 a,half4 b,half4 c){return blend_porter_duff(c,a,b);}$pure" |
| " half4 sk_table_colorfilter(half4 a,sampler2D b){half4 c=unpremul(a)*.99609375" |
| "+.001953125;half4 d=half4(sample(b,float2(half2(c.x,.375))).x,sample(b,float2" |
| "(half2(c.y,.625))).x,sample(b,float2(half2(c.z,.875))).x,1.);return d*sample" |
| "(b,float2(half2(c.w,.125))).x;}$pure half4 sk_gaussian_colorfilter(half4 a)" |
| "{half b=1.-a.w;b=exp((-b*b)*4.)-.018;return half4(b);}$pure half4 sample_indexed_atlas" |
| "(float2 a,int b,sampler2D c,sampler2D d,sampler2D e,sampler2D f){switch(b){" |
| "case 1:return sample(d,a);case 2:return sample(e,a);case 3:return sample(f," |
| "a);default:return sample(c,a);}}$pure half3 $B(float2 a,int b,half2 c,sampler2D" |
| " d,sampler2D e,sampler2D f,sampler2D g){half3 h=half3(1.);switch(b){case 1:" |
| "h.x=sample(e,float2(half2(a)-c)).x;h.y=sample(e,a).x;h.z=sample(e,float2(half2" |
| "(a)+c)).x;case 2:h.x=sample(f,float2(half2(a)-c)).x;h.y=sample(f,a).x;h.z=sample" |
| "(f,float2(half2(a)+c)).x;case 3:h.x=sample(g,float2(half2(a)-c)).x;h.y=sample" |
| "(g,a).x;h.z=sample(g,float2(half2(a)+c)).x;default:h.x=sample(d,float2(half2" |
| "(a)-c)).x;h.y=sample(d,a).x;h.z=sample(d,float2(half2(a)+c)).x;}return h;}$pure" |
| " half4 bitmap_text_coverage_fn(half4 a,int b){return b==0?a.xxxx:a;}$pure half4" |
| " sdf_text_coverage_fn(half a,half2 b,float2 c){half d=7.96875*(a-.5019608);" |
| "d-=b.x;half2 e=half2(dFdx(d),dFdy(d));half f=dot(e,e);e=f>=.0001?e*inversesqrt" |
| "(f):half2(.7071);float2x2 g=float2x2(dFdx(c),dFdy(c));half2 h=half2(g*float2" |
| "(e));half i=.65*length(h);if(b.y>0.)return half4(saturate((d+i)/(2.*i)));else" |
| " return half4(smoothstep(-i,i,d));}$pure half4 sdf_text_lcd_coverage_fn(float2" |
| " a,half2 b,half4 c,float2 d,float e,sampler2D f,sampler2D g,sampler2D h,sampler2D" |
| " i){float2x2 j=float2x2(dFdx(d),dFdy(d));half2 k=half2(j*float2(b));half3 l" |
| "=$B(a,int(e),k,f,g,h,i);half3 m=half3(7.96875)*(l-half3(.5019608));m-=c.xyz" |
| ";half2 n=half2(dFdx(m.y),dFdy(m.y));half o=dot(n,n);n=o>=.0001?n*inversesqrt" |
| "(o):half2(.7071);half2 p=half2(j*float2(n));half3 q=half3(.65*length(p));if" |
| "(c.w>0.)return half4(saturate(m+q/(2.*q)),1.);else return half4(smoothstep(" |
| "-q,q,m),1.);}$pure float $C(float2 a,float2x2 b){float2 c=a*b;return inversesqrt" |
| "(dot(c,c));}$pure float2 $D(float2 a,float2 b,float c,float2x2 d){float2 e=" |
| "1./(b*b+c*c);float2 g=e*a;float h=$C(g,d);float i=(.5*h)*(dot(a,g)-1.);float" |
| " j=((b.x*c)*e.x)*h;return float2(j-i,j+i);}void $E(inout float2 a,float2x2 b" |
| ",float2 c,float2 d,float2 e,float2 f){float2 g=f-d;if(all(greaterThan(g,float2" |
| "(0.))))if(all(greaterThan(f,float2(0.)))||c.x>0.&&c.y<0.){float2 h=$D(g*e,f" |
| ",c.x,b);h.y=f.x-c.x<=0.?1.:-h.y;a=min(a,h);}else if(c.y==0.){float h=((c.x-" |
| "g.x)-g.y)*$C(e,b);a.x=min(a.x,h);}}void $F(inout float2 a,float2x2 b,float2" |
| " c,float4 e,float4 f,float4 g){$E(a,b,c,e.xy,float2(-1.),float2(f.x,g.x));$E" |
| "(a,b,c,e.zy,float2(1.,-1.),float2(f.y,g.y));$E(a,b,c,e.zw,float2(1.),float2" |
| "(f.z,g.z));$E(a,b,c,e.xw,float2(-1.,1.),float2(f.w,g.w));}$pure half4 analytic_rrect_coverage_fn" |
| "(float4 a,float4 b,float4 c,float4 d,float4 e,float2 f,float2 g){if(g.x>0.)" |
| "return half4(1.);else if(g.y>1.){float2 h=min(c.xy,c.zw);float i=min(h.x,h." |
| "y)*a.w;float j=(g.y-1.)*a.w;float k=coverage_bias(j);return half4(half(saturate" |
| "(j*(i+k))));}else{float2x2 h=float2x2(b)*(1./a.w);float2 i=float2($C(float2" |
| "(1.,0.),h),$C(float2(0.,1.),h));float2 j=i*(f.x+min(c.xy,c.zw));float2 k=float2" |
| "(min(j.x,j.y),-1.);float l;float m;if(g.x>-.95){float2 n=i*((c.xy+c.zw)+2.*" |
| "f.xx);l=min(min(n.x,n.y),1.);m=coverage_bias(l);}else{float2 n=(2.*f.x)*i;float2" |
| " o=n-j;k.y=-max(o.x,o.y);if(f.x>0.){float p=min(n.x,n.y);float2 q=mix(float2" |
| "(p),n,greaterThanEqual(o,float2(-.5)));l=saturate(max(q.x,q.y));m=coverage_bias" |
| "(l);}else l=(m=1.);}$F(k,h,f,c,d,e);float n=min(g.y,0.)*a.w;float o=l*(min(" |
| "k.x+n,-k.y)+m);return half4(half(saturate(o)));}}$pure half4 per_edge_aa_quad_coverage_fn" |
| "(float4 a,float4 b){float2 d=min(b.xy,b.zw);float e=min(d.x,d.y)*a.w;return" |
| " half4(half(saturate(e)));}$pure half4 $G(float2 a,float4 b,half c,half d,sampler2D" |
| " e){half f;half g;if(c!=0.){half2 h=max(half2(b.xy-a),half2(a-b.zw));f=sample" |
| "(e,float2(float(d*h.x),.5)).x;g=sample(e,float2(float(d*h.y),.5)).x;}else{half4" |
| " h=half4(half2(b.xy-a),half2(a-b.zw));f=(1.-sample(e,float2(float(d*h.x),.5" |
| ")).x)-sample(e,float2(float(d*h.z),.5)).x;g=(1.-sample(e,float2(float(d*h.y" |
| "),.5)).x)-sample(e,float2(float(d*h.w),.5)).x;}return half4(f*g);}$pure half4" |
| " $H(float2 a,float4 b,sampler2D c){float d=b.z;float e=b.w;half2 f=half2((a" |
| "-b.xy)*d);float g=float(length(f))-e;return sample(c,float2(g,.5)).xxxx;}$pure" |
| " half4 $I(float2 a,float4 b,half c,sampler2D d){float2 e=a-b.xy;float2 f=(b" |
| ".zw-b.xy)*.5;e-=f;half2 g=half2(sign(e));e=abs(e);half2 h=half2(e-(f-float(" |
| "c)));h=max(h,0.);h*=g;h+=half2(c);half2 i=half2(2.*c);half2 j=h/i;return sample" |
| "(d,float2(j)).xxxx;}$pure half4 blur_coverage_fn(float2 a,float4 b,half2 c," |
| "int d,sampler2D e){switch(d){case 0:{return $G(a,b,c.x,c.y,e);}case 2:{return" |
| " $H(a,b,e);}case 1:{return $I(a,b,c.x,e);}}return half4(0.);}"; |