xref: /aosp_15_r20/external/skia/tests/sksl/errors/InvalidAtomicOperations.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker### Compilation failed:
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workererror: 18: type mismatch: '=' cannot operate on 'atomicUint', 'int'
4*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = 1;
5*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^
6*c8dee2aaSAndroid Build Coastguard Workererror: 19: cannot construct 'atomicUint'
7*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = atomicUint(1);
8*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^
9*c8dee2aaSAndroid Build Coastguard Workererror: 21: '+' cannot operate on 'atomicUint'
10*c8dee2aaSAndroid Build Coastguard Worker    +wgCounterA;
11*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^
12*c8dee2aaSAndroid Build Coastguard Workererror: 22: '-' cannot operate on 'atomicUint'
13*c8dee2aaSAndroid Build Coastguard Worker    -wgCounterA;
14*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^
15*c8dee2aaSAndroid Build Coastguard Workererror: 23: '!' cannot operate on 'atomicUint'
16*c8dee2aaSAndroid Build Coastguard Worker    !wgCounterA;
17*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^
18*c8dee2aaSAndroid Build Coastguard Workererror: 24: '~' cannot operate on 'atomicUint'
19*c8dee2aaSAndroid Build Coastguard Worker    ~wgCounterA;
20*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^
21*c8dee2aaSAndroid Build Coastguard Workererror: 26: '++' cannot operate on 'atomicUint'
22*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA++;
23*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^
24*c8dee2aaSAndroid Build Coastguard Workererror: 27: '--' cannot operate on 'atomicUint'
25*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA--;
26*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^
27*c8dee2aaSAndroid Build Coastguard Workererror: 28: '++' cannot operate on 'atomicUint'
28*c8dee2aaSAndroid Build Coastguard Worker    ++wgCounterA;
29*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^
30*c8dee2aaSAndroid Build Coastguard Workererror: 29: '--' cannot operate on 'atomicUint'
31*c8dee2aaSAndroid Build Coastguard Worker    --wgCounterA;
32*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^
33*c8dee2aaSAndroid Build Coastguard Workererror: 31: '-' cannot operate on 'atomicUint'
34*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = -wgCounterA;
35*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^
36*c8dee2aaSAndroid Build Coastguard Workererror: 32: '+' cannot operate on 'atomicUint'
37*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = +wgCounterA;
38*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^
39*c8dee2aaSAndroid Build Coastguard Workererror: 33: assignments to opaque type 'atomicUint' are not permitted
40*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterB;
41*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^
42*c8dee2aaSAndroid Build Coastguard Workererror: 34: type mismatch: '+=' cannot operate on 'atomicUint', 'atomicUint'
43*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA += wgCounterB;
44*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
45*c8dee2aaSAndroid Build Coastguard Workererror: 35: type mismatch: '-=' cannot operate on 'atomicUint', 'atomicUint'
46*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA -= wgCounterB;
47*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
48*c8dee2aaSAndroid Build Coastguard Workererror: 36: type mismatch: '*=' cannot operate on 'atomicUint', 'atomicUint'
49*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA *= wgCounterB;
50*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
51*c8dee2aaSAndroid Build Coastguard Workererror: 37: type mismatch: '/=' cannot operate on 'atomicUint', 'atomicUint'
52*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA /= wgCounterB;
53*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
54*c8dee2aaSAndroid Build Coastguard Workererror: 39: type mismatch: '+' cannot operate on 'atomicUint', 'int'
55*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA + 1;
56*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^
57*c8dee2aaSAndroid Build Coastguard Workererror: 40: type mismatch: '-' cannot operate on 'atomicUint', 'int'
58*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA - 1;
59*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^
60*c8dee2aaSAndroid Build Coastguard Workererror: 41: type mismatch: '*' cannot operate on 'atomicUint', 'int'
61*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA * 1;
62*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^
63*c8dee2aaSAndroid Build Coastguard Workererror: 42: type mismatch: '/' cannot operate on 'atomicUint', 'int'
64*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA / 1;
65*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^
66*c8dee2aaSAndroid Build Coastguard Workererror: 43: type mismatch: '+' cannot operate on 'atomicUint', 'atomicUint'
67*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA + wgCounterB;
68*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^^^^^^^^^^
69*c8dee2aaSAndroid Build Coastguard Workererror: 44: type mismatch: '-' cannot operate on 'atomicUint', 'atomicUint'
70*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA - wgCounterB;
71*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^^^^^^^^^^
72*c8dee2aaSAndroid Build Coastguard Workererror: 45: type mismatch: '*' cannot operate on 'atomicUint', 'atomicUint'
73*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA * wgCounterB;
74*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^^^^^^^^^^
75*c8dee2aaSAndroid Build Coastguard Workererror: 46: type mismatch: '/' cannot operate on 'atomicUint', 'atomicUint'
76*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA = wgCounterA / wgCounterB;
77*c8dee2aaSAndroid Build Coastguard Worker                 ^^^^^^^^^^^^^^^^^^^^^^^
78*c8dee2aaSAndroid Build Coastguard Workererror: 48: type mismatch: '==' cannot operate on 'atomicUint', 'atomicUint'
79*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA == wgCounterB;
80*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
81*c8dee2aaSAndroid Build Coastguard Workererror: 49: type mismatch: '!=' cannot operate on 'atomicUint', 'atomicUint'
82*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA != wgCounterB;
83*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
84*c8dee2aaSAndroid Build Coastguard Workererror: 50: type mismatch: '<' cannot operate on 'atomicUint', 'atomicUint'
85*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA < wgCounterB;
86*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^
87*c8dee2aaSAndroid Build Coastguard Workererror: 51: type mismatch: '<=' cannot operate on 'atomicUint', 'atomicUint'
88*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA <= wgCounterB;
89*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
90*c8dee2aaSAndroid Build Coastguard Workererror: 52: type mismatch: '>' cannot operate on 'atomicUint', 'atomicUint'
91*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA > wgCounterB;
92*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^
93*c8dee2aaSAndroid Build Coastguard Workererror: 53: type mismatch: '>=' cannot operate on 'atomicUint', 'atomicUint'
94*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA >= wgCounterB;
95*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
96*c8dee2aaSAndroid Build Coastguard Workererror: 54: type mismatch: '&&' cannot operate on 'atomicUint', 'atomicUint'
97*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA && wgCounterB;
98*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
99*c8dee2aaSAndroid Build Coastguard Workererror: 55: type mismatch: '||' cannot operate on 'atomicUint', 'atomicUint'
100*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA || wgCounterB;
101*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^
102*c8dee2aaSAndroid Build Coastguard Workererror: 56: type mismatch: '&' cannot operate on 'atomicUint', 'atomicUint'
103*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA & wgCounterB;
104*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^
105*c8dee2aaSAndroid Build Coastguard Workererror: 57: type mismatch: '|' cannot operate on 'atomicUint', 'atomicUint'
106*c8dee2aaSAndroid Build Coastguard Worker    wgCounterA | wgCounterB;
107*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^
108*c8dee2aaSAndroid Build Coastguard Workererror: 59: expected 'uint', but found 'atomicUint'
109*c8dee2aaSAndroid Build Coastguard Worker    uint a = wgCounterA;
110*c8dee2aaSAndroid Build Coastguard Worker             ^^^^^^^^^^
111*c8dee2aaSAndroid Build Coastguard Workererror: 60: construction of struct type 'S' with atomic member is not allowed
112*c8dee2aaSAndroid Build Coastguard Worker    wgStructWithAtomicMember = S(1);
113*c8dee2aaSAndroid Build Coastguard Worker                               ^^^^
114*c8dee2aaSAndroid Build Coastguard Workererror: 61: cannot construct 'atomicUint'
115*c8dee2aaSAndroid Build Coastguard Worker    wgStructWithAtomicMember = S(atomicUint(1));
116*c8dee2aaSAndroid Build Coastguard Worker                                 ^^^^^^^^^^^^^
117*c8dee2aaSAndroid Build Coastguard Workererror: 61: construction of struct type 'S' with atomic member is not allowed
118*c8dee2aaSAndroid Build Coastguard Worker    wgStructWithAtomicMember = S(atomicUint(1));
119*c8dee2aaSAndroid Build Coastguard Worker                               ^^^^^^^^^^^^^^^^
120*c8dee2aaSAndroid Build Coastguard Workererror: 62: construction of struct type 'S' with atomic member is not allowed
121*c8dee2aaSAndroid Build Coastguard Worker    wgStructWithAtomicMember = S(wgCounterA);
122*c8dee2aaSAndroid Build Coastguard Worker                               ^^^^^^^^^^^^^
123*c8dee2aaSAndroid Build Coastguard Workererror: 64: assignments to opaque type 'atomicUint' are not permitted
124*c8dee2aaSAndroid Build Coastguard Worker    wgAtomicArray[0] = wgCounterA;
125*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126*c8dee2aaSAndroid Build Coastguard Workererror: 65: assignments to opaque type 'atomicUint' are not permitted
127*c8dee2aaSAndroid Build Coastguard Worker    wgAtomicArray[1] = wgCounterB;
128*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
129*c8dee2aaSAndroid Build Coastguard Workererror: 66: assignments to opaque type 'atomicUint[2]' are not permitted
130*c8dee2aaSAndroid Build Coastguard Worker    wgAtomicArray = wgAtomicArray2;
131*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
132*c8dee2aaSAndroid Build Coastguard Workererror: 67: construction of array type 'atomicUint[2]' with atomic member is not allowed
133*c8dee2aaSAndroid Build Coastguard Worker    wgAtomicArray = atomicUint[2](wgCounterA, wgCounterB);
134*c8dee2aaSAndroid Build Coastguard Worker                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
135*c8dee2aaSAndroid Build Coastguard Workererror: 69: assignments to opaque type 'S' are not permitted
136*c8dee2aaSAndroid Build Coastguard Worker    wgStructWithAtomicMemberArray[0] = wgStructWithAtomicMember;
137*c8dee2aaSAndroid Build Coastguard Worker    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138*c8dee2aaSAndroid Build Coastguard Workererror: 70: construction of array type 'S[2]' with atomic member is not allowed
139*c8dee2aaSAndroid Build Coastguard Worker    wgStructWithAtomicMemberArray = S[2](wgStructWithAtomicMember,
140*c8dee2aaSAndroid Build Coastguard Worker                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
141*c8dee2aaSAndroid Build Coastguard Workererror: 72: construction of struct type 'NestedS' with atomic member is not allowed
142*c8dee2aaSAndroid Build Coastguard Worker    wgNestedStructWithAtomicMember = NestedS(wgStructWithAtomicMember);
143*c8dee2aaSAndroid Build Coastguard Worker                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
144*c8dee2aaSAndroid Build Coastguard Worker47 errors
145