| static constexpr char SKSL_MINIFIED_sksl_graphite_frag[] = |
| "$pure half4 sk_error(){return half4(1.,0.,1.,1.);}$pure half4 sk_passthrough" |
| "(half4 a){return a;}$pure half4 sk_solid_shader(float4 a){return half4(a);}" |
| "$pure half $k(int a,half b,half[7]c){half d=c[0];half e=c[1];half f=c[2];half" |
| " g=c[3];half h=c[4];half i=c[5];half j=c[6];half 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,int d,half[7]e,half[7]f" |
| ",half3x3 g){if(bool(b&1)){a=unpremul(a);}if(bool(b&2)){a.x=$k(c,a.x,e);a.y=" |
| "$k(c,a.y,e);a.z=$k(c,a.z,e);}if(bool(b&4)){a.xyz=g*a.xyz;}if(bool(b&8)){a.x" |
| "=$k(d,a.x,f);a.y=$k(d,a.y,f);a.z=$k(d,a.z,f);}if(bool(b&16)){a.xyz*=a.w;}return" |
| " a;}$pure float $l(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 $m(float2 a,float2 b,float4 c,int d,int e,int f,sampler2D g){if" |
| "(d==3&&f==0){float h=floor(a.x)+.5;if(h<c.x||h>c.z){return half4(0.);}}if(e" |
| "==3&&f==0){float h=floor(a.y)+.5;if(h<c.y||h>c.w){return half4(0.);}}a.x=$l" |
| "(d,a.x,c.x,c.z);a.y=$l(e,a.y,c.y,c.w);float4 h;if(f==0){h=float4(floor(c.xy" |
| ")+.5,ceil(c.zw)-.5);}else{h=float4(c.xy+.5,c.zw-.5);}float2 i=clamp(a,h.xy," |
| "h.zw);half4 j=sample(g,i/b);if(f==1){half2 k=half2(a-i);half2 l=abs(k);bool" |
| " m=d==1;bool n=e==1;if(m||n){float o;float p;half4 q;half4 r;if(m){o=k.x>0." |
| "?h.x:h.z;q=sample(g,float2(o,i.y)/b);}if(n){p=k.y>0.?h.y:h.w;r=sample(g,float2" |
| "(i.x,p)/b);}if(m&&n){half4 t=sample(g,float2(o,p)/b);j=mix(mix(j,q,l.x),mix" |
| "(r,t,l.x),l.y);}else if(m){j=mix(j,q,l.x);}else if(n){j=mix(j,r,l.y);}}if(d" |
| "==3){j*=max(1.-l.x,0.);}if(e==3){j*=max(1.-l.y,0.);}}return j;}$pure half4 $n" |
| "(float2 a,float2 b,float4 c,int d,int e,float4x4 g,sampler2D h){float2 i=fract" |
| "(a-.5);a-=1.5;a=floor(a)+.5;float4 j=g*float4(1.,i.x,i.x*i.x,(i.x*i.x)*i.x)" |
| ";float4 k=g*float4(1.,i.y,i.y*i.y,(i.y*i.y)*i.y);float4 l=float4(0.);for(int" |
| " m=0;m<4;++m){float4 n=float4(0.);for(int o=0;o<4;++o){n+=j[o]*float4($m(a+" |
| "float2(float(o),float(m)),b,c,d,e,0,h));}l+=k[m]*n;}return half4(l);}$pure half4" |
| " sk_image_shader(float2 a,float2 b,float4 c,int d,int e,int f,int g,float4x4" |
| " h,int i,int j,int k,half[7]l,half[7]m,half3x3 n,sampler2D o){half4 p=g!=0?" |
| "$n(a,b,c,d,e,h,o):$m(a,b,c,d,e,f,o);return sk_color_space_transform(p,i,j,k" |
| ",l,m,n);}$pure float2 $o(int a,float2 b){switch(a){case 0:b.x=clamp(b.x,0.," |
| "1.);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 $p(float4[4]a,float[4]b,float2 c){if(c.y<0.){return half4(0." |
| ");}else if(c.x<=b[0]){return half4(a[0]);}else if(c.x<b[1]){return half4(mix" |
| "(a[0],a[1],(c.x-b[0])/(b[1]-b[0])));}else if(c.x<b[2]){return half4(mix(a[1" |
| "],a[2],(c.x-b[1])/(b[2]-b[1])));}else if(c.x<b[3]){return half4(mix(a[2],a[" |
| "3],(c.x-b[2])/(b[3]-b[2])));}else{return half4(a[3]);}}$pure half4 $q(float4" |
| "[8]a,float[8]b,float2 c){if(c.y<0.){return half4(0.);}else if(c.x<b[4]){if(" |
| "c.x<b[2]){if(c.x<=b[0]){return half4(a[0]);}else if(c.x<b[1]){return half4(" |
| "mix(a[0],a[1],(c.x-b[0])/(b[1]-b[0])));}else{return half4(mix(a[1],a[2],(c." |
| "x-b[1])/(b[2]-b[1])));}}else{if(c.x<b[3]){return half4(mix(a[2],a[3],(c.x-b" |
| "[2])/(b[3]-b[2])));}else{return half4(mix(a[3],a[4],(c.x-b[3])/(b[4]-b[3]))" |
| ");}}}else{if(c.x<b[6]){if(c.x<b[5]){return half4(mix(a[4],a[5],(c.x-b[4])/(" |
| "b[5]-b[4])));}else{return half4(mix(a[5],a[6],(c.x-b[5])/(b[6]-b[5])));}}else" |
| "{if(c.x<b[7]){return half4(mix(a[6],a[7],(c.x-b[6])/(b[7]-b[6])));}else{return" |
| " half4(a[7]);}}}}$pure float2 $r(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 $s(float2 a" |
| ",float b,float2 c){float d=distance(c,a)/b;return float2(d,1.);}$pure float2" |
| " $t(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 $u(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 $v(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=$u(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=a*(1.-k)+b*k;float3x3 n=$u(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,float[4]c," |
| "float2 d,float2 e,int f){float2 g=$r(d,e,a);g=$o(f,g);return $p(b,c,g);}$pure" |
| " half4 sk_linear_grad_8_shader(float2 a,float4[8]b,float[8]c,float2 d,float2" |
| " e,int f){float2 g=$r(d,e,a);g=$o(f,g);return $q(b,c,g);}$pure half4 sk_radial_grad_4_shader" |
| "(float2 a,float4[4]b,float[4]c,float2 d,float e,int f){float2 g=$s(d,e,a);g" |
| "=$o(f,g);return $p(b,c,g);}$pure half4 sk_radial_grad_8_shader(float2 a,float4" |
| "[8]b,float[8]c,float2 d,float e,int f){float2 g=$s(d,e,a);g=$o(f,g);return $q" |
| "(b,c,g);}$pure half4 sk_sweep_grad_4_shader(float2 a,float4[4]b,float[4]c,float2" |
| " d,float e,float f,int g){float2 h=$t(d,e,f,a);h=$o(g,h);return $p(b,c,h);}" |
| "$pure half4 sk_sweep_grad_8_shader(float2 a,float4[8]b,float[8]c,float2 d,float" |
| " e,float f,int g){float2 h=$t(d,e,f,a);h=$o(g,h);return $q(b,c,h);}$pure half4" |
| " sk_conical_grad_4_shader(float2 a,float4[4]b,float[4]c,float2 d,float2 e,float" |
| " f,float g,int h){float2 i=$v(d,e,f,g,a);i=$o(h,i);return $p(b,c,i);}$pure half4" |
| " sk_conical_grad_8_shader(float2 a,float4[8]b,float[8]c,float2 d,float2 e,float" |
| " f,float g,int h){float2 i=$v(d,e,f,g,a);i=$o(h,i);return $q(b,c,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" |
| " sk_blend(int a,half4 b,half4 c){switch(a){case 0:{return blend_clear(b,c);" |
| "}case 1:{return blend_src(b,c);}case 2:{return blend_dst(b,c);}case 3:{return" |
| " blend_porter_duff(half4(1.,0.,0.,-1.),b,c);}case 4:{return blend_porter_duff" |
| "(half4(0.,1.,-1.,0.),b,c);}case 5:{return blend_porter_duff(half4(0.,0.,1.," |
| "0.),b,c);}case 6:{return blend_porter_duff(half4(0.,0.,0.,1.),b,c);}case 7:" |
| "{return blend_porter_duff(half4(0.,0.,-1.,0.),b,c);}case 8:{return blend_porter_duff" |
| "(half4(0.,0.,0.,-1.),b,c);}case 9:{return blend_porter_duff(half4(0.,0.,1.," |
| "-1.),b,c);}case 10:{return blend_porter_duff(half4(0.,0.,-1.,1.),b,c);}case" |
| " 11:{return blend_porter_duff(half4(0.,0.,-1.,-1.),b,c);}case 12:{return blend_porter_duff" |
| "(half4(1.,1.,0.,0.),b,c);}case 13:{return blend_modulate(b,c);}case 14:{return" |
| " blend_screen(b,c);}case 15:{return blend_overlay(0.,b,c);}case 16:{return blend_darken" |
| "(1.,b,c);}case 17:{return blend_darken(-1.,b,c);}case 18:{return blend_color_dodge" |
| "(b,c);}case 19:{return blend_color_burn(b,c);}case 20:{return blend_overlay" |
| "(1.,b,c);}case 21:{return blend_soft_light(b,c);}case 22:{return blend_difference" |
| "(b,c);}case 23:{return blend_exclusion(b,c);}case 24:{return blend_multiply" |
| "(b,c);}case 25:{return blend_hslc(half2(0.,1.),b,c);}case 26:{return blend_hslc" |
| "(half2(1.),b,c);}case 27:{return blend_hslc(half2(0.),b,c);}case 28:{return" |
| " blend_hslc(half2(1.,0.),b,c);}default:return half4(0.);}}$pure half4 sk_blend_shader" |
| "(int a,half4 b,half4 c){return sk_blend(a,c,b);}$pure half4 porter_duff_blend_shader" |
| "(half4 a,half4 b,half4 c){return blend_porter_duff(a,c,b);}$pure half4 sk_blend_colorfilter" |
| "(half4 a,int b,float4 c){return sk_blend(b,half4(c),a);}$pure half4 sk_table_colorfilter" |
| "(half4 a,sampler2D b){half4 c=(unpremul(a)*255.)/256.+.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);}"; |