xref: /aosp_15_r20/external/skia/tests/sksl/shared/Assignment.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker
2*c8dee2aaSAndroid Build Coastguard Workerout vec4 sk_FragColor;
3*c8dee2aaSAndroid Build Coastguard Workeruniform vec4 colorGreen;
4*c8dee2aaSAndroid Build Coastguard Workerstruct S {
5*c8dee2aaSAndroid Build Coastguard Worker    float f;
6*c8dee2aaSAndroid Build Coastguard Worker    float af[5];
7*c8dee2aaSAndroid Build Coastguard Worker    vec4 h4;
8*c8dee2aaSAndroid Build Coastguard Worker    vec4 ah4[5];
9*c8dee2aaSAndroid Build Coastguard Worker};
10*c8dee2aaSAndroid Build Coastguard Workervec4 globalVar;
11*c8dee2aaSAndroid Build Coastguard WorkerS globalStruct;
12*c8dee2aaSAndroid Build Coastguard Workervoid keepAlive_vh(inout float h) {
13*c8dee2aaSAndroid Build Coastguard Worker}
14*c8dee2aaSAndroid Build Coastguard Workervoid keepAlive_vf(inout float f) {
15*c8dee2aaSAndroid Build Coastguard Worker}
16*c8dee2aaSAndroid Build Coastguard Workervoid keepAlive_vi(inout int i) {
17*c8dee2aaSAndroid Build Coastguard Worker}
18*c8dee2aaSAndroid Build Coastguard Workervoid assignToFunctionParameter_vif(int x, inout float y) {
19*c8dee2aaSAndroid Build Coastguard Worker    x = 1;
20*c8dee2aaSAndroid Build Coastguard Worker    y = 1.0;
21*c8dee2aaSAndroid Build Coastguard Worker}
22*c8dee2aaSAndroid Build Coastguard Workervec4 main() {
23*c8dee2aaSAndroid Build Coastguard Worker    int i = 0;
24*c8dee2aaSAndroid Build Coastguard Worker    ivec4 i4 = ivec4(1, 2, 3, 4);
25*c8dee2aaSAndroid Build Coastguard Worker    mat3 f3x3 = mat3(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
26*c8dee2aaSAndroid Build Coastguard Worker    vec4 x;
27*c8dee2aaSAndroid Build Coastguard Worker    x.w = 0.0;
28*c8dee2aaSAndroid Build Coastguard Worker    x.yx = vec2(0.0);
29*c8dee2aaSAndroid Build Coastguard Worker    int ai[1];
30*c8dee2aaSAndroid Build Coastguard Worker    ai[0] = 0;
31*c8dee2aaSAndroid Build Coastguard Worker    ivec4 ai4[1];
32*c8dee2aaSAndroid Build Coastguard Worker    ai4[0] = ivec4(1, 2, 3, 4);
33*c8dee2aaSAndroid Build Coastguard Worker    mat3 ah3x3[1];
34*c8dee2aaSAndroid Build Coastguard Worker    ah3x3[0] = mat3(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0);
35*c8dee2aaSAndroid Build Coastguard Worker    vec4 af4[1];
36*c8dee2aaSAndroid Build Coastguard Worker    af4[0].x = 0.0;
37*c8dee2aaSAndroid Build Coastguard Worker    af4[0].ywxz = vec4(1.0);
38*c8dee2aaSAndroid Build Coastguard Worker    S s;
39*c8dee2aaSAndroid Build Coastguard Worker    s.f = 0.0;
40*c8dee2aaSAndroid Build Coastguard Worker    s.af[1] = 0.0;
41*c8dee2aaSAndroid Build Coastguard Worker    s.h4.zxy = vec3(9.0);
42*c8dee2aaSAndroid Build Coastguard Worker    s.ah4[2].yw = vec2(5.0);
43*c8dee2aaSAndroid Build Coastguard Worker    globalVar = vec4(0.0);
44*c8dee2aaSAndroid Build Coastguard Worker    globalStruct.f = 0.0;
45*c8dee2aaSAndroid Build Coastguard Worker    assignToFunctionParameter_vif(0, f3x3[0].x);
46*c8dee2aaSAndroid Build Coastguard Worker    float l;
47*c8dee2aaSAndroid Build Coastguard Worker    l = 0.0;
48*c8dee2aaSAndroid Build Coastguard Worker    ai[0] += ai4[0].x;
49*c8dee2aaSAndroid Build Coastguard Worker    s.f = 1.0;
50*c8dee2aaSAndroid Build Coastguard Worker    s.af[0] = 2.0;
51*c8dee2aaSAndroid Build Coastguard Worker    s.h4 = vec4(1.0);
52*c8dee2aaSAndroid Build Coastguard Worker    s.ah4[0] = vec4(2.0);
53*c8dee2aaSAndroid Build Coastguard Worker    float repeat;
54*c8dee2aaSAndroid Build Coastguard Worker    repeat = (repeat = 1.0);
55*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vf(af4[0].x);
56*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vh(ah3x3[0][0].x);
57*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vi(i);
58*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vi(i4.y);
59*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vi(ai[0]);
60*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vi(ai4[0].x);
61*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vh(x.y);
62*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vf(s.f);
63*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vh(l);
64*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vf(f3x3[0].x);
65*c8dee2aaSAndroid Build Coastguard Worker    keepAlive_vf(repeat);
66*c8dee2aaSAndroid Build Coastguard Worker    return colorGreen;
67*c8dee2aaSAndroid Build Coastguard Worker}
68