xref: /third_party/skia/resources/sksl/intrinsics/Frexp.sksl
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/resources/sksl/intrinsics/
1cb93a386Sopenharmony_ciuniform half4 colorGreen, colorRed;
2cb93a386Sopenharmony_ci
3cb93a386Sopenharmony_cihalf4 main(float2 coords) {
4cb93a386Sopenharmony_ci    float4 value = colorGreen.gggg * 6;
5cb93a386Sopenharmony_ci    int4   exp;
6cb93a386Sopenharmony_ci    float4 result;
7cb93a386Sopenharmony_ci    bool4  ok;
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ci    // 6 equals 0.75 * 2^3.
10cb93a386Sopenharmony_ci    result.x    = frexp(value.x,    exp.x);
11cb93a386Sopenharmony_ci    ok.x        = (result.x == 0.75 && exp.x == 3);
12cb93a386Sopenharmony_ci    result.xy   = frexp(value.xy,   exp.xy);
13cb93a386Sopenharmony_ci    ok.y        = (result.y == 0.75 && exp.y == 3);
14cb93a386Sopenharmony_ci    result.xyz  = frexp(value.xyz,  exp.xyz);
15cb93a386Sopenharmony_ci    ok.z        = (result.z == 0.75 && exp.z == 3);
16cb93a386Sopenharmony_ci    result.xyzw = frexp(value.xyzw, exp.xyzw);
17cb93a386Sopenharmony_ci    ok.w        = (result.w == 0.75 && exp.w == 3);
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_ci    return all(ok) ? colorGreen : colorRed;
20cb93a386Sopenharmony_ci}
21

Indexes created Thu Nov 07 10:32:03 CST 2024