blob: c55c12d232ef176915c53bc1f67387b7f7fcf542 [file] [log] [blame]
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;}";