skia2/resources/sksl/intrinsics/Modf.sksl
Brian Osman 169c8903be Reland "Add coords parameter to all .sksl test files used as runtime effects"
This is a reland of 22dcb5fd7e

Original change's description:
> Add coords parameter to all .sksl test files used as runtime effects
>
> Convert to use the newer MakeForShader factory, which requires this.
>
> Change-Id: Ifaf6054054027c78f3f3fe15596e435e0f79b877
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/399336
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: John Stiles <johnstiles@google.com>

Bug: skia:11919
Change-Id: I5f745c54b2bc3712f2281db6e067345903e81931
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/401836
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-04-27 20:47:31 +00:00

20 lines
639 B
Plaintext

uniform half4 colorGreen, colorRed;
half4 main(float2 coords) {
float4 value = colorGreen.gggg * 2.5;
float4 whole, fraction;
bool4 ok;
// 2.5 equals 2 + 0.5.
fraction.x = modf(value.x, whole.x);
ok.x = whole.x == 2 && fraction.x == 0.5;
fraction.xy = modf(value.xy, whole.xy);
ok.y = whole.y == 2 && fraction.y == 0.5;
fraction.xyz = modf(value.xyz, whole.xyz);
ok.z = whole.z == 2 && fraction.z == 0.5;
fraction.xyzw = modf(value.xyzw, whole.xyzw);
ok.w = whole.w == 2 && fraction.w == 0.5;
return all(ok) ? colorGreen : colorRed;
}