ec871bf353
When emitting a built-in function call, we need to honor the `fCPPMode` state. Previously we were rewriting the call into a DSL call even in C++ mode. We also now spell out Fract's complete namespace, to avoid a name collision with MacTypes.h: https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/MacTypes.h.auto.html typedef SInt32 Fract; Change-Id: I752b7816a64a9b2b2c79d92fe46cd774e1bab96a Bug: skia:11854 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401678 Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: John Stiles <johnstiles@google.com>
55 lines
1.3 KiB
GLSL
55 lines
1.3 KiB
GLSL
layout(key) float zero = floor(0.5);
|
|
layout(key) float one = ceil(0.5);
|
|
|
|
half4 main() {
|
|
half4x4 m = half4x4(one);
|
|
half4 n = half4(zero);
|
|
bool4 b = bool4(true);
|
|
|
|
n.x = abs(n.x);
|
|
b.z = all(b.xy);
|
|
b.w = any(b.xyz);
|
|
n.xy = atan(n.xy);
|
|
n.zwx = atan(n.yyy, n.zzz);
|
|
n.xyzw = ceil(n.xyzw);
|
|
n.x = clamp(n.y, n.z, n.w);
|
|
n.y = cos(n.y);
|
|
n.w = cross(n.xy, n.zw);
|
|
n.xyz = degrees(n.xyz);
|
|
n.w = distance(n.xz, n.yw);
|
|
n.x = dot(n.yzw, n.yzw);
|
|
b.xyz = equal(b.xxx, b.www);
|
|
n.yz = exp(n.wx);
|
|
n.zw = exp2(n.xy);
|
|
n.x = faceforward(n.y, n.z, n.w);
|
|
n = floor(n);
|
|
n.yzw = fract(n.yzw);
|
|
b.xy = greaterThan(n.xy, n.zw);
|
|
b.xy = greaterThanEqual(n.xy, n.zw);
|
|
n = inversesqrt(n);
|
|
m = inverse(m);
|
|
n.w = length(n.zyyx);
|
|
b.xy = lessThan(n.xy, n.zw);
|
|
b.xy = lessThanEqual(n.xy, n.zw);
|
|
n.x = log(n.x);
|
|
n.y = max(n.z, n.w);
|
|
n.z = min(n.x, n.y);
|
|
n.w = mod(n.y, n.z);
|
|
n = normalize(n);
|
|
b = not(b);
|
|
n.x = pow(n.y, n.z);
|
|
n.xyz = radians(n.yzw);
|
|
n.xy = reflect(n.xy, n.zw);
|
|
n.wz = refract(n.xy, n.zw, 2);
|
|
n = saturate(n);
|
|
n.x = sign(n.x);
|
|
n.y = sin(n.y);
|
|
n.zw = smoothstep(n.xx, n.yy, n.zz);
|
|
n = sqrt(n);
|
|
n.xy = step(n.xy, n.zw);
|
|
n.x = tan(n.x);
|
|
n = unpremul(n.aaaa);
|
|
|
|
return half4(0, 1, 0, 1);
|
|
}
|