xref: /third_party/skia/resources/sksl/inliner/InlinerCanBeDisabled.sksl (revision cb93a386)
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/resources/sksl/inliner/
1cb93a386Sopenharmony_ci/*#pragma settings NoInline*/
2cb93a386Sopenharmony_ci
3cb93a386Sopenharmony_ciuniform half4 color;
4cb93a386Sopenharmony_ci
5cb93a386Sopenharmony_cihalf singleuse() {
6cb93a386Sopenharmony_ci    return 1.25;
7cb93a386Sopenharmony_ci}
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_cihalf add(half a, half b) {
10cb93a386Sopenharmony_ci    half c = a + b;
11cb93a386Sopenharmony_ci    return c;
12cb93a386Sopenharmony_ci}
13cb93a386Sopenharmony_ci
14cb93a386Sopenharmony_cihalf mul(half a, half b) {
15cb93a386Sopenharmony_ci    return a * b;
16cb93a386Sopenharmony_ci}
17cb93a386Sopenharmony_ci
18cb93a386Sopenharmony_cihalf fma(half a, half b, half c) {
19cb93a386Sopenharmony_ci    return add(mul(a, b), c);
20cb93a386Sopenharmony_ci}
21cb93a386Sopenharmony_ci
22cb93a386Sopenharmony_civoid main() {
23cb93a386Sopenharmony_ci    // Functions used multiple times:
24cb93a386Sopenharmony_ci    sk_FragColor = fma(color.x, color.y, color.z).xxxx;
25cb93a386Sopenharmony_ci    // Functions used only once:
26cb93a386Sopenharmony_ci    sk_FragColor *= singleuse();
27cb93a386Sopenharmony_ci    // Intrinsic functions:
28cb93a386Sopenharmony_ci    sk_FragColor *= blend_src_in(color.xxyy, color.zzww);
29cb93a386Sopenharmony_ci    sk_FragColor *= blend_dst_in(color.xxyy, color.zzww);
30cb93a386Sopenharmony_ci    sk_FragColor *= blend_hue(color, color.wwww);
31cb93a386Sopenharmony_ci    sk_FragColor *= blend_hue(color, color.wzyx);
32cb93a386Sopenharmony_ci}
33

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