• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1static constexpr char SKSL_MINIFIED_sksl_graphite_frag[] =
2"$pure half4 sk_error(){return half4(1.,0.,1.,1.);}$pure half4 sk_passthrough"
3"(half4 a){return a;}$pure half4 sk_solid_shader(float4 a){return half4(a);}"
4"$pure half4 $k(int a,half4 b){half4 c=b;switch(a){case 0:break;case 1:c=half4"
5"(b.xyz,1.);break;case 2:c=b.xxxx;break;case 3:c=half4(b.xxx,1.);break;case 4"
6":c=b.zyxw;break;}return c;}$pure half $l(int a,half b,half[7]c){half d=c[0]"
7";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"
8" 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"
9":b=pow(max(e+f*pow(b,g),0.)/(h+i*pow(b,g)),j);break;case 3:b=b*e<=1.?pow(b*"
10"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"
11"-h)+i;break;}return k*b;}$pure half4 sk_color_space_transform(half4 a,int b"
12",int c,int d,half[7]e,half[7]f,half3x3 g){if(bool(b&1)){a=unpremul(a);}if(bool"
13"(b&2)){a.x=$l(c,a.x,e);a.y=$l(c,a.y,e);a.z=$l(c,a.z,e);}if(bool(b&4)){a.xyz"
14"=g*a.xyz;}if(bool(b&8)){a.x=$l(d,a.x,f);a.y=$l(d,a.y,f);a.z=$l(d,a.z,f);}if"
15"(bool(b&16)){a.xyz*=a.w;}return a;}$pure float $m(int a,float b,float c,float"
16" d){switch(a){case 0:return clamp(b,c,d);case 1:{float e=d-c;return mod(b-c"
17",e)+c;}case 2:{float e=d-c;float g=2.*e;float h=mod(b-c,g);return mix(h,g-h"
18",step(e,h))+c;}default:return b;}}$pure half4 $n(float2 a,float2 b,float4 c"
19",int d,int e,int f,int g,sampler2D h){if(d==3&&f==0){float i=floor(a.x)+.5;"
20"if(i<c.x||i>c.z){return half4(0.);}}if(e==3&&f==0){float i=floor(a.y)+.5;if"
21"(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."
22"w);float4 i;if(f==0){i=float4(floor(c.xy)+.5,ceil(c.zw)-.5);}else{i=float4("
23"c.xy+.5,c.zw-.5);}float2 j=clamp(a,i.xy,i.zw);half4 k=sample(h,j/b);k=$k(g,"
24"k);if(f==1){half2 l=half2(a-j);half2 m=abs(l);bool n=d==1;bool o=e==1;if(n||"
25"o){float p;float q;half4 r;half4 t;if(n){p=l.x>0.?i.x:i.z;r=sample(h,float2"
26"(p,j.y)/b);r=$k(g,r);}if(o){q=l.y>0.?i.y:i.w;t=sample(h,float2(j.x,q)/b);t="
27"$k(g,t);}if(n&&o){half4 u=sample(h,float2(p,q)/b);u=$k(g,u);k=mix(mix(k,r,m"
28".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)"
29";}}if(d==3){k*=max(1.-m.x,0.);}if(e==3){k*=max(1.-m.y,0.);}}return k;}$pure"
30" half4 $o(float2 a,float2 b,float4 c,int d,int e,float4x4 g,int h,sampler2D"
31" i){float2 j=fract(a-.5);a-=1.5;a=floor(a)+.5;float4 k=g*float4(1.,j.x,j.x*"
32"j.x,(j.x*j.x)*j.x);float4 l=g*float4(1.,j.y,j.y*j.y,(j.y*j.y)*j.y);float4 m"
33"=float4(0.);for(int n=0;n<4;++n){float4 o=float4(0.);for(int p=0;p<4;++p){o"
34"+=k[p]*float4($n(a+float2(float(p),float(n)),b,c,d,e,0,h,i));}m+=l[n]*o;}return"
35" half4(m);}$pure half4 sk_image_shader(float2 a,float2 b,float4 c,int d,int"
36" e,int f,int g,float4x4 h,int i,int j,int k,int l,half[7]m,half[7]n,half3x3"
37" o,sampler2D p){half4 q=g!=0?$o(a,b,c,d,e,h,i,p):$n(a,b,c,d,e,f,i,p);return"
38" sk_color_space_transform(q,j,k,l,m,n,o);}$pure float2 $p(int a,float2 b){switch"
39"(a){case 0:b.x=clamp(b.x,0.,1.);break;case 1:b.x=fract(b.x);break;case 2:{float"
40" c=b.x-1.;b.x=(c-2.*floor(c*.5))-1.;if(sk_Caps.mustDoOpBetweenFloorAndAbs){"
41"b.x=clamp(b.x,-1.,1.);}b.x=abs(b.x);break;}case 3:if(b.x<0.||b.x>1.){return"
42" float2(0.,-1.);}break;}return b;}$pure half4 $q(float4[4]a,float[4]b,float2"
43" c){if(c.y<0.){return half4(0.);}else if(c.x<=b[0]){return half4(a[0]);}else"
44" if(c.x<b[1]){return half4(mix(a[0],a[1],(c.x-b[0])/(b[1]-b[0])));}else if("
45"c.x<b[2]){return half4(mix(a[1],a[2],(c.x-b[1])/(b[2]-b[1])));}else if(c.x<"
46"b[3]){return half4(mix(a[2],a[3],(c.x-b[2])/(b[3]-b[2])));}else{return half4"
47"(a[3]);}}$pure half4 $r(float4[8]a,float[8]b,float2 c){if(c.y<0.){return half4"
48"(0.);}else if(c.x<b[4]){if(c.x<b[2]){if(c.x<=b[0]){return half4(a[0]);}else"
49" if(c.x<b[1]){return half4(mix(a[0],a[1],(c.x-b[0])/(b[1]-b[0])));}else{return"
50" half4(mix(a[1],a[2],(c.x-b[1])/(b[2]-b[1])));}}else{if(c.x<b[3]){return half4"
51"(mix(a[2],a[3],(c.x-b[2])/(b[3]-b[2])));}else{return half4(mix(a[3],a[4],(c"
52".x-b[3])/(b[4]-b[3])));}}}else{if(c.x<b[6]){if(c.x<b[5]){return half4(mix(a"
53"[4],a[5],(c.x-b[4])/(b[5]-b[4])));}else{return half4(mix(a[5],a[6],(c.x-b[5"
54"])/(b[6]-b[5])));}}else{if(c.x<b[7]){return half4(mix(a[6],a[7],(c.x-b[6])/"
55"(b[7]-b[6])));}else{return half4(a[7]);}}}}$pure float2 $s(float2 a,float2 b"
56",float2 c){c-=a;float2 d=b-a;float e=dot(c,d)/dot(d,d);return float2(e,1.);"
57"}$pure float2 $t(float2 a,float b,float2 c){float d=distance(c,a)/b;return float2"
58"(d,1.);}$pure float2 $u(float2 a,float b,float c,float2 d){d-=a;float e=sk_Caps"
59".atan2ImplementedAsAtanYOverX?2.*atan(-d.y,length(d)-d.x):atan(-d.y,-d.x);float"
60" f=((e*.159154937+.5)+b)*c;return float2(f,1.);}$pure float3x3 $v(float2 a,"
61"float2 b){return float3x3(0.,-1.,0.,1.,0.,0.,0.,0.,1.)*inverse(float3x3(b.y"
62"-a.y,a.x-b.x,0.,b.x-a.x,b.y-a.y,0.,a.x,a.y,1.));}$pure float2 $w(float2 a,float2"
63" b,float c,float d,float2 e){const float f=.000244140625;float g=distance(a"
64",b);float h=d-c;bool i=g<f;bool j=abs(h)<f;if(i){if(j){return float2(0.,-1."
65");}float k=1./h;float l=sign(h);float m=c/h;float2 n=(e-a)*k;float o=length"
66"(n)*l-m;return float2(o,1.);}else if(j){float3x3 k=$v(a,b);float l=c/g;float"
67" m=l*l;float2 n=(k*float3(e,1.)).xy;float o=m-n.y*n.y;if(o<0.){return float2"
68"(0.,-1.);}o=n.x+sqrt(o);return float2(o,1.);}else{float k=c/(c-d);bool l=abs"
69"(k-1.)<f;if(l){float2 m=a;a=b;b=m;k=0.;}float2 m=a*(1.-k)+b*k;float3x3 n=$v"
70"(m,b);float o=abs(1.-k);float p=o;float q=abs(d-c)/g;bool r=abs(q-1.)<f;if("
71"r){o*=.5;p*=.5;}else{o*=q/(q*q-1.);p/=sqrt(abs(q*q-1.));}n=float3x3(o,0.,0."
72",0.,p,0.,0.,0.,1.)*n;float2 s=(n*float3(e,1.)).xy;float u=1./q;float v=sign"
73"(1.-k);bool w=!r&&q>1.;float x=-1.;if(r){x=dot(s,s)/s.x;}else if(w){x=length"
74"(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."
75"x*u;}else{x=sqrt(y)-s.x*u;}}}if(!w&&x<0.){return float2(0.,-1.);}float y=k+"
76"v*x;if(l){y=1.-y;}return float2(y,1.);}}$pure half4 sk_linear_grad_4_shader"
77"(float2 a,float4[4]b,float[4]c,float2 d,float2 e,int f,int g,int h){float2 i"
78"=$s(d,e,a);i=$p(f,i);half4 j=$q(b,c,i);return $interpolated_to_rgb_unpremul"
79"(j,g,h);}$pure half4 sk_linear_grad_8_shader(float2 a,float4[8]b,float[8]c,"
80"float2 d,float2 e,int f,int g,int h){float2 i=$s(d,e,a);i=$p(f,i);half4 j=$r"
81"(b,c,i);return $interpolated_to_rgb_unpremul(j,g,h);}$pure half4 sk_radial_grad_4_shader"
82"(float2 a,float4[4]b,float[4]c,float2 d,float e,int f,int g,int h){float2 i"
83"=$t(d,e,a);i=$p(f,i);half4 j=$q(b,c,i);return $interpolated_to_rgb_unpremul"
84"(j,g,h);}$pure half4 sk_radial_grad_8_shader(float2 a,float4[8]b,float[8]c,"
85"float2 d,float e,int f,int g,int h){float2 i=$t(d,e,a);i=$p(f,i);half4 j=$r"
86"(b,c,i);return $interpolated_to_rgb_unpremul(j,g,h);}$pure half4 sk_sweep_grad_4_shader"
87"(float2 a,float4[4]b,float[4]c,float2 d,float e,float f,int g,int h,int i){"
88"float2 j=$u(d,e,f,a);j=$p(g,j);half4 k=$q(b,c,j);return $interpolated_to_rgb_unpremul"
89"(k,h,i);}$pure half4 sk_sweep_grad_8_shader(float2 a,float4[8]b,float[8]c,float2"
90" d,float e,float f,int g,int h,int i){float2 j=$u(d,e,f,a);j=$p(g,j);half4 k"
91"=$r(b,c,j);return $interpolated_to_rgb_unpremul(k,h,i);}$pure half4 sk_conical_grad_4_shader"
92"(float2 a,float4[4]b,float[4]c,float2 d,float2 e,float f,float g,int h,int i"
93",int j){float2 k=$w(d,e,f,g,a);k=$p(h,k);half4 l=$q(b,c,k);return $interpolated_to_rgb_unpremul"
94"(l,i,j);}$pure half4 sk_conical_grad_8_shader(float2 a,float4[8]b,float[8]c"
95",float2 d,float2 e,float f,float g,int h,int i,int j){float2 k=$w(d,e,f,g,a"
96");k=$p(h,k);half4 l=$r(b,c,k);return $interpolated_to_rgb_unpremul(l,i,j);}"
97"$pure half4 sk_matrix_colorfilter(half4 a,float4x4 b,float4 c,int d){if(bool"
98"(d)){a=$rgb_to_hsl(a.xyz,a.w);}else{a=unpremul(a);}half4 e=half4(b*float4(a"
99")+c);if(bool(d)){e=$hsl_to_rgb(e.xyz,e.w);}else{e=saturate(e);e.xyz*=e.w;}return"
100" e;}$pure half4 sk_blend(int a,half4 b,half4 c){switch(a){case 0:{return blend_clear"
101"(b,c);}case 1:{return blend_src(b,c);}case 2:{return blend_dst(b,c);}case 3"
102":{return blend_porter_duff(half4(1.,0.,0.,-1.),b,c);}case 4:{return blend_porter_duff"
103"(half4(0.,1.,-1.,0.),b,c);}case 5:{return blend_porter_duff(half4(0.,0.,1.,"
104"0.),b,c);}case 6:{return blend_porter_duff(half4(0.,0.,0.,1.),b,c);}case 7:"
105"{return blend_porter_duff(half4(0.,0.,-1.,0.),b,c);}case 8:{return blend_porter_duff"
106"(half4(0.,0.,0.,-1.),b,c);}case 9:{return blend_porter_duff(half4(0.,0.,1.,"
107"-1.),b,c);}case 10:{return blend_porter_duff(half4(0.,0.,-1.,1.),b,c);}case"
108" 11:{return blend_porter_duff(half4(0.,0.,-1.,-1.),b,c);}case 12:{return blend_porter_duff"
109"(half4(1.,1.,0.,0.),b,c);}case 13:{return blend_modulate(b,c);}case 14:{return"
110" blend_screen(b,c);}case 15:{return blend_overlay(0.,b,c);}case 16:{return blend_darken"
111"(1.,b,c);}case 17:{return blend_darken(-1.,b,c);}case 18:{return blend_color_dodge"
112"(b,c);}case 19:{return blend_color_burn(b,c);}case 20:{return blend_overlay"
113"(1.,b,c);}case 21:{return blend_soft_light(b,c);}case 22:{return blend_difference"
114"(b,c);}case 23:{return blend_exclusion(b,c);}case 24:{return blend_multiply"
115"(b,c);}case 25:{return blend_hslc(half2(0.,1.),b,c);}case 26:{return blend_hslc"
116"(half2(1.),b,c);}case 27:{return blend_hslc(half2(0.),b,c);}case 28:{return"
117" blend_hslc(half2(1.,0.),b,c);}default:return half4(0.);}}$pure half4 sk_blend_shader"
118"(int a,half4 b,half4 c){return sk_blend(a,c,b);}$pure half4 porter_duff_blend_shader"
119"(half4 a,half4 b,half4 c){return blend_porter_duff(a,c,b);}$pure half4 sk_blend_colorfilter"
120"(half4 a,int b,float4 c){return sk_blend(b,half4(c),a);}$pure half4 sk_table_colorfilter"
121"(half4 a,sampler2D b){half4 c=(unpremul(a)*255.)*.00390625+.001953125;half4"
122" d=half4(sample(b,float2(half2(c.x,.375))).x,sample(b,float2(half2(c.y,.625"
123"))).x,sample(b,float2(half2(c.z,.875))).x,1.);return d*sample(b,float2(half2"
124"(c.w,.125))).x;}$pure half4 sk_gaussian_colorfilter(half4 a){half b=1.-a.w;"
125"b=exp((-b*b)*4.)-.018;return half4(b);}$pure float2 coverage_scale_and_bias"
126"(float a){float b=min(1.,a);return float2(b,1.-.5*b);}$pure float inverse_grad_len"
127"(float2 a,float2x2 b){float2 c=a*b;return inversesqrt(dot(c,c));}$pure float2"
128" elliptical_distance(float2 a,float2 b,float c,float2x2 d){float2 e=1./(b*b"
129"+c*c);float2 g=e*a;float h=inverse_grad_len(g,d);float i=(.5*h)*(dot(a,g)-1."
130");float j=((b.x*c)*e.x)*h;return float2(j-i,j+i);}void corner_distance(inout"
131" float2 a,float2x2 b,float2 c,float2 d,float2 e,float2 f){float2 g=f-d;if(g"
132".x>0.&&g.y>0.){if(f.x>0.&&f.y>0.||c.x>0.&&c.y<0.){float2 h=elliptical_distance"
133"(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."
134"y==0.){float h=((c.x-g.x)-g.y)*inverse_grad_len(e,b);a.x=min(a.x,h);}}}void"
135" corner_distances(inout float2 a,float2x2 b,float2 c,float4 e,float4 f,float4"
136" g){corner_distance(a,b,c,e.xy,float2(-1.),float2(f.x,g.x));corner_distance"
137"(a,b,c,e.zy,float2(1.,-1.),float2(f.y,g.y));corner_distance(a,b,c,e.zw,float2"
138"(1.),float2(f.z,g.z));corner_distance(a,b,c,e.xw,float2(-1.,1.),float2(f.w,"
139"g.w));}";
140