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