Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / resources / sksl / runtime / ArrayIndexing.rts
1 /*#pragma settings SkVMDebugTrace*/
2
3 uniform float u1[4];
4 float index_by_literal() {
5     return u1[0];
6 }
7
8 uniform float u2[4];
9 float index_by_loop() {
10     float sum = 0;
11     for (int i = 3; i >= 0; --i) {
12         sum += u2[i];
13     }
14     return sum;
15 }
16
17 uniform float u3[4];
18 float index_by_complex_loop() {
19     float prod = 1;
20     for (int i = 0; i < 4; ++i) {
21         prod *= u3[i < 2 ? 0 : i];
22     }
23     return prod;
24 }
25
26 uniform float u4[16];
27 float index_out_of_bounds_checked() {
28     float sum = 0;
29     for (float f = -2.3; f < 17.0; f += 3.7) {
30         if (f > 0 && f < 16) {
31             sum -= u4[int(f)];
32         }
33     }
34     return sum;
35 }
36
37 float4 main(float2 xy) {
38     return float4(
39         index_by_literal(),
40         index_by_loop(),
41         index_by_complex_loop(),
42         index_out_of_bounds_checked());
43 }