| static constexpr char SKSL_MINIFIED_sksl_gpu[] = |
| "$pure $genIType mix($genIType,$genIType,$genBType);$pure $genBType mix($genBType" |
| ",$genBType,$genBType);$pure $genType fma($genType,$genType,$genType);$pure $genHType" |
| " fma($genHType,$genHType,$genHType);$genType frexp($genType,out $genIType);" |
| "$genHType frexp($genHType,out $genIType);$pure $genType ldexp($genType,$genIType" |
| ");$pure $genHType ldexp($genHType,$genIType);$pure uint packSnorm2x16(float2" |
| ");$pure uint packUnorm4x8(float4);$pure uint packSnorm4x8(float4);$pure float2" |
| " unpackSnorm2x16(uint);$pure float4 unpackUnorm4x8(uint);$pure float4 unpackSnorm4x8" |
| "(uint);$pure uint packHalf2x16(float2);$pure float2 unpackHalf2x16(uint);$pure" |
| " $genIType bitCount($genIType);$pure $genIType bitCount($genUType);$pure $genIType" |
| " findLSB($genIType);$pure $genIType findLSB($genUType);$pure $genIType findMSB" |
| "($genIType);$pure $genIType findMSB($genUType);$pure sampler2D makeSampler2D" |
| "(texture2D,sampler);$pure half4 sample(sampler2D,float2);$pure half4 sample" |
| "(sampler2D,float3);$pure half4 sample(sampler2D,float3,float);$pure half4 sample" |
| "(samplerExternalOES,float2);$pure half4 sample(samplerExternalOES,float2,float" |
| ");$pure half4 sample(sampler2DRect,float2);$pure half4 sample(sampler2DRect" |
| ",float3);$pure half4 sampleLod(sampler2D,float2,float);$pure half4 sampleLod" |
| "(sampler2D,float3,float);$pure half4 sampleGrad(sampler2D,float2,float2,float2" |
| ");$pure half4 subpassLoad(subpassInput);$pure half4 subpassLoad(subpassInputMS" |
| ",int);$pure uint atomicLoad(atomicUint);void atomicStore(atomicUint,uint);uint" |
| " atomicAdd(atomicUint,uint);$pure half4 blend_clear(half4 a,half4 b){return" |
| " half4(0.);}$pure half4 blend_src(half4 a,half4 b){return a;}$pure half4 blend_dst" |
| "(half4 a,half4 b){return b;}$pure half4 blend_src_over(half4 a,half4 b){return" |
| " a+(1.-a.w)*b;}$pure half4 blend_dst_over(half4 a,half4 b){return(1.-b.w)*a" |
| "+b;}$pure half4 blend_src_in(half4 a,half4 b){return a*b.w;}$pure half4 blend_dst_in" |
| "(half4 a,half4 b){return b*a.w;}$pure half4 blend_src_out(half4 a,half4 b){" |
| "return(1.-b.w)*a;}$pure half4 blend_dst_out(half4 a,half4 b){return(1.-a.w)" |
| "*b;}$pure half4 blend_src_atop(half4 a,half4 b){return b.w*a+(1.-a.w)*b;}$pure" |
| " half4 blend_dst_atop(half4 a,half4 b){return(1.-b.w)*a+a.w*b;}$pure half4 blend_xor" |
| "(half4 a,half4 b){return(1.-b.w)*a+(1.-a.w)*b;}$pure half4 blend_plus(half4" |
| " a,half4 b){return min(a+b,1.);}$pure half4 blend_porter_duff(half4 a,half4" |
| " b,half4 c){half2 d=a.xy+a.zw*(half2(c.w,b.w)+min(a.zw,0.));return min(half4" |
| "(1.),b*d.x+c*d.y);}$pure half4 blend_modulate(half4 a,half4 b){return a*b;}" |
| "$pure half4 blend_screen(half4 a,half4 b){return a+(1.-a)*b;}$pure half $b(" |
| "half2 a,half2 b){return 2.*b.x<=b.y?(2.*a.x)*b.x:a.y*b.y-(2.*(b.y-b.x))*(a." |
| "y-a.x);}$pure half4 blend_overlay(half4 a,half4 b){half4 c=half4($b(a.xw,b." |
| "xw),$b(a.yw,b.yw),$b(a.zw,b.zw),a.w+(1.-a.w)*b.w);c.xyz+=b.xyz*(1.-a.w)+a.xyz" |
| "*(1.-b.w);return c;}$pure half4 blend_overlay(half c,half4 d,half4 e){return" |
| " blend_overlay(bool(c)?e:d,bool(c)?d:e);}$pure half4 blend_lighten(half4 a," |
| "half4 b){half4 c=blend_src_over(a,b);c.xyz=max(c.xyz,(1.-b.w)*a.xyz+b.xyz);" |
| "return c;}$pure half4 blend_darken(half c,half4 d,half4 e){half4 f=blend_src_over" |
| "(d,e);half3 g=(1.-e.w)*d.xyz+e.xyz;f.xyz=c*min(f.xyz*c,g*c);return f;}$pure" |
| " half4 blend_darken(half4 a,half4 b){return blend_darken(1.,a,b);}const half" |
| " $kGuardedDivideEpsilon=half(sk_Caps.mustGuardDivisionEvenAfterExplicitZeroCheck" |
| "?1e-08:0.);$pure inline half $c(half a,half b){return a/(b+$kGuardedDivideEpsilon" |
| ");}$pure inline half3 $c(half3 a,half b){return a/(b+$kGuardedDivideEpsilon" |
| ");}$pure half $d(half2 a,half2 b){if(b.x==0.){return a.x*(1.-b.y);}else{half" |
| " c=a.y-a.x;if(c==0.){return(a.y*b.y+a.x*(1.-b.y))+b.x*(1.-a.y);}else{c=min(" |
| "b.y,$c(b.x*a.y,c));return(c*a.y+a.x*(1.-b.y))+b.x*(1.-a.y);}}}$pure half4 blend_color_dodge" |
| "(half4 a,half4 b){return half4($d(a.xw,b.xw),$d(a.yw,b.yw),$d(a.zw,b.zw),a." |
| "w+(1.-a.w)*b.w);}$pure half $e(half2 a,half2 b){if(b.y==b.x){return(a.y*b.y" |
| "+a.x*(1.-b.y))+b.x*(1.-a.y);}else if(a.x==0.){return b.x*(1.-a.y);}else{half" |
| " c=max(0.,b.y-$c((b.y-b.x)*a.y,a.x));return(c*a.y+a.x*(1.-b.y))+b.x*(1.-a.y" |
| ");}}$pure half4 blend_color_burn(half4 a,half4 b){return half4($e(a.xw,b.xw" |
| "),$e(a.yw,b.yw),$e(a.zw,b.zw),a.w+(1.-a.w)*b.w);}$pure half4 blend_hard_light" |
| "(half4 a,half4 b){return blend_overlay(b,a);}$pure half $f(half2 a,half2 b)" |
| "{if(2.*a.x<=a.y){return($c((b.x*b.x)*(a.y-2.*a.x),b.y)+(1.-b.y)*a.x)+b.x*((" |
| "-a.y+2.*a.x)+1.);}else if(4.*b.x<=b.y){half c=b.x*b.x;half e=c*b.x;half f=b" |
| ".y*b.y;half g=f*b.y;return $c(((f*(a.x-b.x*((3.*a.y-6.*a.x)-1.))+((12.*b.y)" |
| "*c)*(a.y-2.*a.x))-(16.*e)*(a.y-2.*a.x))-g*a.x,f);}else{return((b.x*((a.y-2." |
| "*a.x)+1.)+a.x)-sqrt(b.y*b.x)*(a.y-2.*a.x))-b.y*a.x;}}$pure half4 blend_soft_light" |
| "(half4 a,half4 b){return b.w==0.?a:half4($f(a.xw,b.xw),$f(a.yw,b.yw),$f(a.zw" |
| ",b.zw),a.w+(1.-a.w)*b.w);}$pure half4 blend_difference(half4 a,half4 b){return" |
| " half4((a.xyz+b.xyz)-2.*min(a.xyz*b.w,b.xyz*a.w),a.w+(1.-a.w)*b.w);}$pure half4" |
| " blend_exclusion(half4 a,half4 b){return half4((b.xyz+a.xyz)-(2.*b.xyz)*a.xyz" |
| ",a.w+(1.-a.w)*b.w);}$pure half4 blend_multiply(half4 a,half4 b){return half4" |
| "(((1.-a.w)*b.xyz+(1.-b.w)*a.xyz)+a.xyz*b.xyz,a.w+(1.-a.w)*b.w);}$pure half $g" |
| "(half3 a){return dot(half3(.3,.59,.11),a);}$pure half3 $h(half3 a,half b,half3" |
| " c){half d=$g(c);half3 e=(d-$g(a))+a;half f=min(min(e.x,e.y),e.z);half g=max" |
| "(max(e.x,e.y),e.z);if(f<0.&&d!=f){e=d+(e-d)*$c(d,d-f);}if(g>b&&g!=d){e=d+$c" |
| "((e-d)*(b-d),g-d);}return e;}$pure half $i(half3 a){return max(max(a.x,a.y)" |
| ",a.z)-min(min(a.x,a.y),a.z);}$pure half3 $j(half3 a,half3 b){half c=min(min" |
| "(a.x,a.y),a.z);half d=max(max(a.x,a.y),a.z);return d>c?((a-c)*$i(b))/(d-c):" |
| "half3(0.);}$pure half4 blend_hslc(half2 a,half4 b,half4 c){half d=c.w*b.w;half3" |
| " e=b.xyz*c.w;half3 f=c.xyz*b.w;half3 g=bool(a.x)?f:e;half3 h=bool(a.x)?e:f;" |
| "if(bool(a.y)){g=$j(g,h);h=f;}return half4(((($h(g,d,h)+c.xyz)-f)+b.xyz)-e,(" |
| "b.w+c.w)-d);}$pure half4 blend_hue(half4 a,half4 b){return blend_hslc(half2" |
| "(0.,1.),a,b);}$pure half4 blend_saturation(half4 a,half4 b){return blend_hslc" |
| "(half2(1.),a,b);}$pure half4 blend_color(half4 a,half4 b){return blend_hslc" |
| "(half2(0.),a,b);}$pure half4 blend_luminosity(half4 a,half4 b){return blend_hslc" |
| "(half2(1.,0.),a,b);}$pure float2 proj(float3 a){return a.xy/a.z;}$pure float" |
| " cross_length_2d(float2 c,float2 d){return determinant(float2x2(c,d));}$pure" |
| " half cross_length_2d(half2 c,half2 d){return determinant(half2x2(c,d));}"; |