| static constexpr char SKSL_MINIFIED_sksl_shared[] = |
| "$pure $genType radians($genType);$pure $genHType radians($genHType);$pure $genType" |
| " degrees($genType);$pure $genHType degrees($genHType);$pure $genType sin($genType" |
| ");$pure $genHType sin($genHType);$pure $genType cos($genType);$pure $genHType" |
| " cos($genHType);$pure $genType tan($genType);$pure $genHType tan($genHType)" |
| ";$pure $genType asin($genType);$pure $genHType asin($genHType);$pure $genType" |
| " acos($genType);$pure $genHType acos($genHType);$pure $genType atan($genType" |
| ",$genType);$pure $genHType atan($genHType,$genHType);$pure $genType atan($genType" |
| ");$pure $genHType atan($genHType);$es3 $pure $genType sinh($genType);$es3 $pure" |
| " $genHType sinh($genHType);$es3 $pure $genType cosh($genType);$es3 $pure $genHType" |
| " cosh($genHType);$es3 $pure $genType tanh($genType);$es3 $pure $genHType tanh" |
| "($genHType);$es3 $pure $genType asinh($genType);$es3 $pure $genHType asinh(" |
| "$genHType);$es3 $pure $genType acosh($genType);$es3 $pure $genHType acosh($genHType" |
| ");$es3 $pure $genType atanh($genType);$es3 $pure $genHType atanh($genHType)" |
| ";$pure $genType pow($genType,$genType);$pure $genHType pow($genHType,$genHType" |
| ");$pure $genType exp($genType);$pure $genHType exp($genHType);$pure $genType" |
| " log($genType);$pure $genHType log($genHType);$pure $genType exp2($genType)" |
| ";$pure $genHType exp2($genHType);$pure $genType log2($genType);$pure $genHType" |
| " log2($genHType);$pure $genType sqrt($genType);$pure $genHType sqrt($genHType" |
| ");$pure $genType inversesqrt($genType);$pure $genHType inversesqrt($genHType" |
| ");$pure $genType abs($genType);$pure $genHType abs($genHType);$pure $genType" |
| " sign($genType);$pure $genHType sign($genHType);$pure $genType floor($genType" |
| ");$pure $genHType floor($genHType);$pure $genType ceil($genType);$pure $genHType" |
| " ceil($genHType);$pure $genType fract($genType);$pure $genHType fract($genHType" |
| ");$pure $genType mod($genType,float);$pure $genType mod($genType,$genType);" |
| "$pure $genHType mod($genHType,half);$pure $genHType mod($genHType,$genHType" |
| ");$pure $genType min($genType,$genType);$pure $genType min($genType,float);" |
| "$pure $genHType min($genHType,$genHType);$pure $genHType min($genHType,half" |
| ");$pure $genType max($genType,$genType);$pure $genType max($genType,float);" |
| "$pure $genHType max($genHType,$genHType);$pure $genHType max($genHType,half" |
| ");$pure $genType clamp($genType,$genType,$genType);$pure $genType clamp($genType" |
| ",float,float);$pure $genHType clamp($genHType,$genHType,$genHType);$pure $genHType" |
| " clamp($genHType,half,half);$pure $genType saturate($genType);$pure $genHType" |
| " saturate($genHType);$pure $genType mix($genType,$genType,$genType);$pure $genType" |
| " mix($genType,$genType,float);$pure $genHType mix($genHType,$genHType,$genHType" |
| ");$pure $genHType mix($genHType,$genHType,half);$pure $genType step($genType" |
| ",$genType);$pure $genType step(float,$genType);$pure $genHType step($genHType" |
| ",$genHType);$pure $genHType step(half,$genHType);$pure $genType smoothstep(" |
| "$genType,$genType,$genType);$pure $genType smoothstep(float,float,$genType)" |
| ";$pure $genHType smoothstep($genHType,$genHType,$genHType);$pure $genHType smoothstep" |
| "(half,half,$genHType);$es3 $pure $genIType abs($genIType);$es3 $pure $genIType" |
| " sign($genIType);$es3 $pure $genIType floatBitsToInt($genType);$es3 $pure $genUType" |
| " floatBitsToUint($genType);$es3 $pure $genType intBitsToFloat($genIType);$es3" |
| " $pure $genType uintBitsToFloat($genUType);$es3 $pure $genType trunc($genType" |
| ");$es3 $pure $genHType trunc($genHType);$es3 $pure $genType round($genType)" |
| ";$es3 $pure $genHType round($genHType);$es3 $pure $genType roundEven($genType" |
| ");$es3 $pure $genHType roundEven($genHType);$es3 $pure $genIType min($genIType" |
| ",$genIType);$es3 $pure $genIType min($genIType,int);$es3 $pure $genUType min" |
| "($genUType,$genUType);$es3 $pure $genUType min($genUType,uint);$es3 $pure $genIType" |
| " max($genIType,$genIType);$es3 $pure $genIType max($genIType,int);$es3 $pure" |
| " $genUType max($genUType,$genUType);$es3 $pure $genUType max($genUType,uint" |
| ");$es3 $pure $genIType clamp($genIType,$genIType,$genIType);$es3 $pure $genIType" |
| " clamp($genIType,int,int);$es3 $pure $genUType clamp($genUType,$genUType,$genUType" |
| ");$es3 $pure $genUType clamp($genUType,uint,uint);$es3 $pure $genType mix($genType" |
| ",$genType,$genBType);$es3 $pure $genHType mix($genHType,$genHType,$genBType" |
| ");$es3 $pure $genBType isnan($genType);$es3 $pure $genBType isnan($genHType" |
| ");$es3 $pure $genBType isinf($genType);$es3 $pure $genBType isinf($genHType" |
| ");$es3 $pure $genType modf($genType,out $genType);$es3 $pure $genHType modf" |
| "($genHType,out $genHType);$es3 $pure uint packUnorm2x16(float2);$es3 $pure float2" |
| " unpackUnorm2x16(uint);$pure float length($genType);$pure half length($genHType" |
| ");$pure float distance($genType,$genType);$pure half distance($genHType,$genHType" |
| ");$pure float dot($genType,$genType);$pure half dot($genHType,$genHType);$pure" |
| " float3 cross(float3,float3);$pure half3 cross(half3,half3);$pure $genType normalize" |
| "($genType);$pure $genHType normalize($genHType);$pure $genType faceforward(" |
| "$genType,$genType,$genType);$pure $genHType faceforward($genHType,$genHType" |
| ",$genHType);$pure $genType reflect($genType,$genType);$pure $genHType reflect" |
| "($genHType,$genHType);$pure $genType refract($genType,$genType,float);$pure" |
| " $genHType refract($genHType,$genHType,half);$pure $squareMat matrixCompMult" |
| "($squareMat,$squareMat);$pure $squareHMat matrixCompMult($squareHMat,$squareHMat" |
| ");$es3 $pure $mat matrixCompMult($mat,$mat);$es3 $pure $hmat matrixCompMult" |
| "($hmat,$hmat);$pure $squareMat inverse($squareMat);$pure $squareHMat inverse" |
| "($squareHMat);$es3 $pure float determinant($squareMat);$es3 $pure half determinant" |
| "($squareHMat);$es3 $pure $squareMat transpose($squareMat);$es3 $pure $squareHMat" |
| " transpose($squareHMat);$es3 $pure float2x3 transpose(float3x2);$es3 $pure half2x3" |
| " transpose(half3x2);$es3 $pure float2x4 transpose(float4x2);$es3 $pure half2x4" |
| " transpose(half4x2);$es3 $pure float3x2 transpose(float2x3);$es3 $pure half3x2" |
| " transpose(half2x3);$es3 $pure float3x4 transpose(float4x3);$es3 $pure half3x4" |
| " transpose(half4x3);$es3 $pure float4x2 transpose(float2x4);$es3 $pure half4x2" |
| " transpose(half2x4);$es3 $pure float4x3 transpose(float3x4);$es3 $pure half4x3" |
| " transpose(half3x4);$es3 $pure $squareMat outerProduct($vec,$vec);$es3 $pure" |
| " $squareHMat outerProduct($hvec,$hvec);$es3 $pure float2x3 outerProduct(float3" |
| ",float2);$es3 $pure half2x3 outerProduct(half3,half2);$es3 $pure float3x2 outerProduct" |
| "(float2,float3);$es3 $pure half3x2 outerProduct(half2,half3);$es3 $pure float2x4" |
| " outerProduct(float4,float2);$es3 $pure half2x4 outerProduct(half4,half2);$es3" |
| " $pure float4x2 outerProduct(float2,float4);$es3 $pure half4x2 outerProduct" |
| "(half2,half4);$es3 $pure float3x4 outerProduct(float4,float3);$es3 $pure half3x4" |
| " outerProduct(half4,half3);$es3 $pure float4x3 outerProduct(float3,float4);" |
| "$es3 $pure half4x3 outerProduct(half3,half4);$pure $bvec lessThan($vec,$vec" |
| ");$pure $bvec lessThan($hvec,$hvec);$pure $bvec lessThan($ivec,$ivec);$pure" |
| " $bvec lessThan($svec,$svec);$pure $bvec lessThanEqual($vec,$vec);$pure $bvec" |
| " lessThanEqual($hvec,$hvec);$pure $bvec lessThanEqual($ivec,$ivec);$pure $bvec" |
| " lessThanEqual($svec,$svec);$pure $bvec greaterThan($vec,$vec);$pure $bvec greaterThan" |
| "($hvec,$hvec);$pure $bvec greaterThan($ivec,$ivec);$pure $bvec greaterThan(" |
| "$svec,$svec);$pure $bvec greaterThanEqual($vec,$vec);$pure $bvec greaterThanEqual" |
| "($hvec,$hvec);$pure $bvec greaterThanEqual($ivec,$ivec);$pure $bvec greaterThanEqual" |
| "($svec,$svec);$pure $bvec equal($vec,$vec);$pure $bvec equal($hvec,$hvec);$pure" |
| " $bvec equal($ivec,$ivec);$pure $bvec equal($svec,$svec);$pure $bvec equal(" |
| "$bvec,$bvec);$pure $bvec notEqual($vec,$vec);$pure $bvec notEqual($hvec,$hvec" |
| ");$pure $bvec notEqual($ivec,$ivec);$pure $bvec notEqual($svec,$svec);$pure" |
| " $bvec notEqual($bvec,$bvec);$es3 $pure $bvec lessThan($usvec,$usvec);$es3 $pure" |
| " $bvec lessThan($uvec,$uvec);$es3 $pure $bvec lessThanEqual($uvec,$uvec);$es3" |
| " $pure $bvec lessThanEqual($usvec,$usvec);$es3 $pure $bvec greaterThan($uvec" |
| ",$uvec);$es3 $pure $bvec greaterThan($usvec,$usvec);$es3 $pure $bvec greaterThanEqual" |
| "($uvec,$uvec);$es3 $pure $bvec greaterThanEqual($usvec,$usvec);$es3 $pure $bvec" |
| " equal($uvec,$uvec);$es3 $pure $bvec equal($usvec,$usvec);$es3 $pure $bvec notEqual" |
| "($uvec,$uvec);$es3 $pure $bvec notEqual($usvec,$usvec);$pure bool any($bvec" |
| ");$pure bool all($bvec);$pure $bvec not($bvec);$es3 $pure $genType dFdx($genType" |
| ");$es3 $pure $genType dFdy($genType);$es3 $pure $genHType dFdx($genHType);$es3" |
| " $pure $genHType dFdy($genHType);$es3 $pure $genType fwidth($genType);$es3 $pure" |
| " $genHType fwidth($genHType);$pure half4 unpremul(half4 a){return half4(a.xyz" |
| "/max(a.w,.0001),a.w);}$pure float4 unpremul(float4 a){return float4(a.xyz/max" |
| "(a.w,.0001),a.w);}$pure half4 $unpremul_polar(half4 a){return half4(a.x,a.yz" |
| "/max(a.w,.0001),a.w);}$pure half4 $rgb_to_hsl(half3 b,half d){half4 e=b.y<b" |
| ".z?half4(b.zy,-1.,.6666667):half4(b.yz,0.,-.333333343);half4 f=b.x<e.x?half4" |
| "(e.x,b.x,e.yw):half4(b.x,e.x,e.yz);half h=f.x;half i=h-min(f.y,f.z);half j=" |
| "h-i*.5;half k=abs(f.w+(f.y-f.z)/(i*6.+.0001));half l=i/((d+.0001)-abs(j*2.-" |
| "d));half m=j/(d+.0001);return half4(k,l,m,d);}$pure half3 $hsl_to_rgb(half3" |
| " a){half b=(1.-abs(2.*a.z-1.))*a.y;half3 c=a.xxx+half3(0.,.6666667,.333333343" |
| ");half3 d=saturate(abs(fract(c)*6.-3.)-1.);return(d-.5)*b+a.z;}$pure half4 $hsl_to_rgb" |
| "(half3 b,half c){return saturate(half4($hsl_to_rgb(b)*c,c));}$pure half3 $css_lab_to_xyz" |
| "(half3 a){half3 d;d.y=(a.x+16.)/116.;d.x=a.y/500.+d.y;d.z=d.y-a.z/200.;half3" |
| " g=pow(d,half3(3.));half3 h=half3(g.x>.008856452?g.x:(116.*d.x-16.)/903.2963" |
| ",a.x>8.000001?g.y:a.x/903.2963,g.z>.008856452?g.z:(116.*d.z-16.)/903.2963);" |
| "return h*half3(.9642956,1.,.825104535);}$pure half3 $a(half3 a){return half3" |
| "(a.z,a.y*cos(radians(a.x)),a.y*sin(radians(a.x)));}$pure half3 $css_hcl_to_xyz" |
| "(half3 a){return $css_lab_to_xyz($a(a));}$pure half3 $css_oklab_to_linear_srgb" |
| "(half3 a){half b=(a.x+.396337777*a.y)+.215803757*a.z;half c=(a.x-.105561346" |
| "*a.y)-.06385417*a.z;half d=(a.x-.08948418*a.y)-1.29148555*a.z;half e=(b*b)*" |
| "b;half f=(c*c)*c;half g=(d*d)*d;return half3((4.0767417*e-3.3077116*f)+.230969936" |
| "*g,(-1.268438*e+2.60975742*f)-.341319382*g,(-.00419608643*e-.7034186*f)+1.70761466" |
| "*g);}$pure half3 $css_okhcl_to_linear_srgb(half3 a){return $css_oklab_to_linear_srgb" |
| "($a(a));}$pure half3 $css_hsl_to_srgb(half3 b){b.x=mod(b.x,360.);if(b.x<0.)" |
| "{b.x+=360.;}b.yz/=100.;half3 c=mod(half3(0.,8.,4.)+b.x/30.,12.);half d=b.y*" |
| "min(b.z,1.-b.z);return b.z-d*clamp(min(c-3.,9.-c),-1.,1.);}$pure half3 $css_hwb_to_srgb" |
| "(half3 a){a.yz/=100.;if(a.y+a.z>=1.){half b=a.y/(a.y+a.z);return half3(b);}" |
| "half3 b=$css_hsl_to_srgb(half3(a.x,100.,50.));b*=(1.-a.y)-a.z;b+=a.y;return" |
| " b;}"; |