blob: 056858ce033f876c9f37b17c448552b160a5bf77 [file] [log] [blame]
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 half4 $k(int"
" a,half4 b){switch(a){case 1:return half4(b.xyz,1.);case 2:return b.xxxx;case"
" 3:return half4(b.xxx,1.);case 4:return b.zyxw;case 5:return half4(0.,0.,0."
",b.x);default:return b;}}$pure float $l(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);switch(a){case 1:b=b<h?g*b+j:pow(e*b+f,d)+i;break;case 2:b=pow"
"(max(e+f*pow(b,g),0.)/(h+i*pow(b,g)),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=$l(c,g.x,h);g.y=$l(c,g.y,h);g.z=$l"
"(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=$l(e,g.x,h);g.y=$l(e,g.y,h);g.z=$l(e,g.z,h);}if(bool"
"(b&16)){g.xyz*=g.w;}return half4(g);}$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,int c,sampler2D"
" d){half4 e=sample(d,a/b);return $k(c,e);}$pure half4 $o(float2 a,float2 b,"
"float4 c,int d,int e,int f,int 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+.50001,c.zw-.50001);}float2 j=clamp(a,i.xy,i.zw);half4"
" k=$n(j,b,g,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,g,h);}if(o){q=l.y>0.?i.y:i.w;t=$n(float2(j.x,q),b,g,h);}if("
"n&&o){half4 u=$n(float2(p,q),b,g,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,int h,sampler2D i){float2 j=fract(a-.5);a-=1.5"
";a=floor(a)+.5;half4 k=g*half4(1.,half(j.x),half(j.x*j.x),half((j.x*j.x)*j."
"x));half4 l=g*half4(1.,half(j.y),half(j.y*j.y),half((j.y*j.y)*j.y));half4 m"
"=half4(0.);for(int n=0;n<4;++n){half4 o=half4(0.);for(int p=0;p<4;++p){o+=k"
"[p]*$o(a+float2(float(p),float(n)),b,c,d,e,0,h,i);}m+=l[n]*o;}m.w=saturate("
"m.w);m.xyz=clamp(m.xyz,half3(0.),m.www);return m;}$pure half4 sk_image_shader"
"(float2 a,float2 b,float4 c,int d,int e,int f,int g,int h,int i,half3x3 j,int"
" k,half4x4 l,sampler2D m){half4 n=$o(a,b,c,d,e,f,g,m);return sk_color_space_transform"
"(n,h,i,j,k,l);}$pure half4 sk_cubic_image_shader(float2 a,float2 b,float4 c"
",int d,int e,half4x4 f,int g,int h,int i,half3x3 j,int k,half4x4 l,sampler2D"
" m){half4 n=$p(a,b,c,d,e,f,g,m);return sk_color_space_transform(n,h,i,j,k,l"
");}$pure half4 sk_hw_image_shader(float2 a,float2 b,int c,int d,int e,half3x3"
" f,int g,half4x4 h,sampler2D i){half4 j=$n(a,b,c,i);return sk_color_space_transform"
"(j,d,e,f,g,h);}$pure half4 sk_yuv_image_shader(float2 a,float2 b,float4 c,int"
" d,int e,int f,int g,half4x4 h,half4 i,half4 j,half4 k,half4 l,half3x3 m,float3"
" n,int o,int p,half3x3 q,int r,half4x4 s,sampler2D t,sampler2D u,sampler2D v"
",sampler2D w){half4 x=g!=0?$p(a,b,c,d,e,h,0,t):$o(a,b,c,d,e,f,0,t);half4 y="
"g!=0?$p(a,b,c,d,e,h,0,u):$o(a,b,c,d,e,f,0,u);half4 z=g!=0?$p(a,b,c,d,e,h,0,"
"t):$o(a,b,c,d,e,f,0,v);float A=float(dot(i,x));float B=float(dot(j,y));float"
" C=float(dot(k,z));half3 D=half3(half(A),half(B),half(C));half4 E;E.xyz=saturate"
"(m*D+half3(n));if(l==half4(0.)){E.w=1.;}else{half4 F=g!=0?$p(a,b,c,d,e,h,0,"
"w):$o(a,b,c,d,e,f,0,w);E.w=dot(l,F);E.xyz*=E.w;}return sk_color_space_transform"
"(E,o,p,q,r,s);}$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 $q(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"
" $r(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 $s(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 $t(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{int f=0;int g=b;for(int h=1;h<b;h<<=1){int i=(f+g)/2;float j=(float"
"(i)+.5)/float(b);float2 k=float2(sampleLod(a,float2(j,.75),0.).xy);float l="
"ldexp(k.x,int(k.y));if(c.x<l){g=i;}else{f=i;}}float h=(float(f)+.5)/float(b"
");float i=(float(f+1)+.5)/float(b);half4 j=sampleLod(a,float2(h,.25),0.);half4"
" k=sampleLod(a,float2(i,.25),0.);float2 l=float2(sampleLod(a,float2(h,.75),"
"0.).xy);float m=ldexp(l.x,int(l.y));l=float2(sampleLod(a,float2(i,.75),0.)."
"xy);float n=ldexp(l.x,int(l.y));return half4(mix(float4(j),float4(k),(c.x-m"
")/(n-m)));}}$pure float2 $u(float2 a,float2 b,float2 c){c-=a;float2 d=b-a;float"
" e=dot(c,d)/dot(d,d);return float2(e,1.);}$pure float2 $v(float2 a,float b,"
"float2 c){float d=distance(c,a)/b;return float2(d,1.);}$pure float2 $w(float2"
" a,float b,float c,float2 d){d-=a;float e=sk_Caps.atan2ImplementedAsAtanYOverX"
"?2.*atan(-d.y,length(d)-d.x):atan(-d.y,-d.x);float f=((e*.159154937+.5)+b)*"
"c;return float2(f,1.);}$pure float3x3 $x(float2 a,float2 b){return float3x3"
"(0.,-1.,0.,1.,0.,0.,0.,0.,1.)*inverse(float3x3(b.y-a.y,a.x-b.x,0.,b.x-a.x,b"
".y-a.y,0.,a.x,a.y,1.));}$pure float2 $y(float2 a,float2 b,float c,float d,float2"
" e){const float f=.000244140625;float g=distance(a,b);float h=d-c;bool i=g<"
"f;bool j=abs(h)<f;if(i){if(j){return float2(0.,-1.);}float k=1./h;float l=sign"
"(h);float m=c/h;float2 n=(e-a)*k;float o=length(n)*l-m;return float2(o,1.);"
"}else if(j){float3x3 k=$x(a,b);float l=c/g;float m=l*l;float2 n=(k*float3(e"
",1.)).xy;float o=m-n.y*n.y;if(o<0.){return float2(0.,-1.);}o=n.x+sqrt(o);return"
" float2(o,1.);}else{float k=c/(c-d);bool l=abs(k-1.)<f;if(l){float2 m=a;a=b"
";b=m;k=0.;}float2 m=mix(a,b,k);float3x3 n=$x(m,b);float o=abs(1.-k);float p"
"=o;float q=abs(d-c)/g;bool r=abs(q-1.)<f;if(r){o*=.5;p*=.5;}else{o*=q/(q*q-"
"1.);p/=sqrt(abs(q*q-1.));}n=float3x3(o,0.,0.,0.,p,0.,0.,0.,1.)*n;float2 s=("
"n*float3(e,1.)).xy;float u=1./q;float v=sign(1.-k);bool w=!r&&q>1.;float x="
"-1.;if(r){x=dot(s,s)/s.x;}else if(w){x=length(s)-s.x*u;}else{float y=s.x*s."
"x-s.y*s.y;if(y>=0.){if(l||v<0.){x=-sqrt(y)-s.x*u;}else{x=sqrt(y)-s.x*u;}}}if"
"(!w&&x<0.){return float2(0.,-1.);}float y=k+v*x;if(l){y=1.-y;}return float2"
"(y,1.);}}$pure half4 sk_linear_grad_4_shader(float2 a,float4[4]b,float4 c,float2"
" d,float2 e,int f,int g,int h){float2 i=$u(d,e,a);i=$q(f,i);half4 j=$r(b,c,"
"i);return $interpolated_to_rgb_unpremul(j,g,h);}$pure half4 sk_linear_grad_8_shader"
"(float2 a,float4[8]b,float4[2]c,float2 d,float2 e,int f,int g,int h){float2"
" i=$u(d,e,a);i=$q(f,i);half4 j=$s(b,c,i);return $interpolated_to_rgb_unpremul"
"(j,g,h);}$pure half4 sk_linear_grad_tex_shader(float2 a,float2 b,float2 c,int"
" d,int e,int f,int g,sampler2D h){float2 i=$u(b,c,a);i=$q(e,i);half4 j=$t(h"
",d,i);return $interpolated_to_rgb_unpremul(j,f,g);}$pure half4 sk_radial_grad_4_shader"
"(float2 a,float4[4]b,float4 c,float2 d,float e,int f,int g,int h){float2 i="
"$v(d,e,a);i=$q(f,i);half4 j=$r(b,c,i);return $interpolated_to_rgb_unpremul("
"j,g,h);}$pure half4 sk_radial_grad_8_shader(float2 a,float4[8]b,float4[2]c,"
"float2 d,float e,int f,int g,int h){float2 i=$v(d,e,a);i=$q(f,i);half4 j=$s"
"(b,c,i);return $interpolated_to_rgb_unpremul(j,g,h);}$pure half4 sk_radial_grad_tex_shader"
"(float2 a,float2 b,float c,int d,int e,int f,int g,sampler2D h){float2 i=$v"
"(b,c,a);i=$q(e,i);half4 j=$t(h,d,i);return $interpolated_to_rgb_unpremul(j,"
"f,g);}$pure half4 sk_sweep_grad_4_shader(float2 a,float4[4]b,float4 c,float2"
" d,float e,float f,int g,int h,int i){float2 j=$w(d,e,f,a);j=$q(g,j);half4 k"
"=$r(b,c,j);return $interpolated_to_rgb_unpremul(k,h,i);}$pure half4 sk_sweep_grad_8_shader"
"(float2 a,float4[8]b,float4[2]c,float2 d,float e,float f,int g,int h,int i)"
"{float2 j=$w(d,e,f,a);j=$q(g,j);half4 k=$s(b,c,j);return $interpolated_to_rgb_unpremul"
"(k,h,i);}$pure half4 sk_sweep_grad_tex_shader(float2 a,float2 b,float c,float"
" d,int e,int f,int g,int h,sampler2D i){float2 j=$w(b,c,d,a);j=$q(f,j);half4"
" k=$t(i,e,j);return $interpolated_to_rgb_unpremul(k,g,h);}$pure half4 sk_conical_grad_4_shader"
"(float2 a,float4[4]b,float4 c,float2 d,float2 e,float f,float g,int h,int i"
",int j){float2 k=$y(d,e,f,g,a);k=$q(h,k);half4 l=$r(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,float2 d,float2 e,float f,float g,int h,int i,int j){float2 k=$y(d,e,f,g,"
"a);k=$q(h,k);half4 l=$s(b,c,k);return $interpolated_to_rgb_unpremul(l,i,j);"
"}$pure half4 sk_conical_grad_tex_shader(float2 a,float2 b,float2 c,float d,"
"float e,int f,int g,int h,int i,sampler2D j){float2 k=$y(b,c,d,e,a);k=$q(g,"
"k);half4 l=$t(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"
" noise_helper(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*.00390625,.5))).x;half h=sample(d,float2(half2(f.z*.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 noise_function(half2 a,half4 b,sampler2D c){half2 d"
"=fract(a);half2 e=(d*d)*(half2(3.)-2.*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(half2(b.x"
",i)));half4 k=sample(c,float2(half2(b.y,i)));half4 l=sample(c,float2(half2("
"b.w,i)));half4 m=sample(c,float2(half2(b.z,i)));half2 n;half2 o=d;n.x=dot(("
"j.yw+j.xz*f)*2.-half2(1.),o);o.x-=1.;n.y=dot((k.yw+k.xz*f)*2.-half2(1.),o);"
"half2 p;p.x=mix(n.x,n.y,e.x);o.y-=1.;n.y=dot((l.yw+l.xz*f)*2.-half2(1.),o);"
"o.x+=1.;n.x=dot((m.yw+m.xz*f)*2.-half2(1.),o);p.y=mix(n.x,n.y,e.x);g[h]=mix"
"(p.x,p.y,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(floor(a)*"
"b);half4 l=half4(0.);half2 m=half2(c);half n=1.;for(int o=0;o<e;++o){half4 p"
"=noise_helper(k,m,f,g);half4 q=noise_function(k,p,h);if(d!=0){q=abs(q);}q*="
"n;l+=q;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)*255.)*.00390625+.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 half4 bitmap_text_coverage_fn(half4 a,int b){switch"
"(b){case 0:return a.xxxx;default:return a;}}$pure half4 sdf_text_coverage_fn"
"(half a,half b,float2 c){half d=7.96875*(a-.5019608);d-=b;half2 e=half2(dFdx"
"(d),dFdy(d));half f=dot(e,e);e=f>=.0001?e*inversesqrt(f):half2(.7071);half2"
" g=half2(dFdx(c));half2 h=half2(dFdy(c));half2 i=half2(e.x*g.x+e.y*h.x,e.x*"
"g.y+e.y*h.y);half j=.65*length(i);return half4(smoothstep(-j,j,d));}$pure float"
" $z(float2 a,float2x2 b){float2 c=a*b;return inversesqrt(dot(c,c));}$pure float2"
" $A(float2 a,float2 b,float c,float2x2 d){float2 e=1./(b*b+c*c);float2 g=e*"
"a;float h=$z(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 $B(inout float2 a,float2x2 b,float2 c,float2 d,float2"
" e,float2 f){float2 g=f-d;if(g.x>0.&&g.y>0.){if(f.x>0.&&f.y>0.||c.x>0.&&c.y"
"<0.){float2 h=$A(g*e,f,c.x,b);if(f.x-c.x<=0.){h.y=1.;}else{h.y*=-1.;}a=min("
"a,h);}else if(c.y==0.){float h=((c.x-g.x)-g.y)*$z(e,b);a.x=min(a.x,h);}}}void"
" $C(inout float2 a,float2x2 b,float2 c,float4 e,float4 f,float4 g){$B(a,b,c"
",e.xy,float2(-1.),float2(f.x,g.x));$B(a,b,c,e.zy,float2(1.,-1.),float2(f.y,"
"g.y));$B(a,b,c,e.zw,float2(1.),float2(f.z,g.z));$B(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($z(float2(1.,0.),h),$z"
"(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);if(o.y>=-.5&&n.y>p){p=n."
"y;}if(o.x>=-.5&&n.x>p){p=n.x;}l=min(p,1.);m=coverage_bias(l);}else{l=(m=1.)"
";}}$C(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)));}}";