xref: /third_party/skia/resources/sksl/intrinsics/Modf.sksl (revision cb93a386)
  • 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                  = float4(2.5, -2.5, 8, -0.125);
5cb93a386Sopenharmony_ci    const float4 expectedWhole    = float4(2,   -2,   8, 0);
6cb93a386Sopenharmony_ci    const float4 expectedFraction = float4(0.5, -0.5, 0, -0.125);
7cb93a386Sopenharmony_ci    bool4  ok = bool4(false);
8cb93a386Sopenharmony_ci    float4 whole, fraction;
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_ci    fraction.x    = modf(value.x,    whole.x);
11cb93a386Sopenharmony_ci    ok.x          = whole.x    == expectedWhole.x    && fraction.x    == expectedFraction.x;
12cb93a386Sopenharmony_ci    fraction.xy   = modf(value.xy,   whole.xy);
13cb93a386Sopenharmony_ci    ok.y          = whole.xy   == expectedWhole.xy   && fraction.xy   == expectedFraction.xy;
14cb93a386Sopenharmony_ci    fraction.xyz  = modf(value.xyz,  whole.xyz);
15cb93a386Sopenharmony_ci    ok.z          = whole.xyz  == expectedWhole.xyz  && fraction.xyz  == expectedFraction.xyz;
16cb93a386Sopenharmony_ci    fraction.xyzw = modf(value.xyzw, whole.xyzw);
17cb93a386Sopenharmony_ci    ok.w          = whole.xyzw == expectedWhole.xyzw && fraction.xyzw == expectedFraction.xyzw;
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_ci    return all(ok) ? colorGreen : colorRed;
20cb93a386Sopenharmony_ci}
21

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