skia2/resources/sksl/intrinsics/Frexp.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

21 lines
621 B
Plaintext

uniform half4 colorGreen, colorRed;
half4 main(float2 coords) {
float4 value = colorGreen.gggg * 6;
int4 exp;
float4 result;
bool4 ok;
// 6 equals 0.75 * 2^3.
result.x = frexp(value.x, exp.x);
ok.x = (result.x == 0.75 && exp.x == 3);
result.xy = frexp(value.xy, exp.xy);
ok.y = (result.y == 0.75 && exp.y == 3);
result.xyz = frexp(value.xyz, exp.xyz);
ok.z = (result.z == 0.75 && exp.z == 3);
result.xyzw = frexp(value.xyzw, exp.xyzw);
ok.w = (result.w == 0.75 && exp.w == 3);
return all(ok) ? colorGreen : colorRed;
}