f3ae798fcb8bd8ef8935917a0f495bd9ff46d1ad
[platform/upstream/glslang.git] / Test / baseResults / spv.atomic.comp.out
1 spv.atomic.comp\r
2 Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.\r
3 \r
4 \r
5 Linked compute stage:\r
6 \r
7 \r
8 TBD functionality: Is atomic_uint an opaque handle in the uniform storage class, or an addresses in the atomic storage class?\r
9 // Module Version 99\r
10 // Generated by (magic number): 51a00bb\r
11 // Id's are bound by 64\r
12 \r
13                               Source ESSL 310\r
14                               Capability Shader\r
15                1:             ExtInstImport  "GLSL.std.450"\r
16                               MemoryModel Logical GLSL450\r
17                               EntryPoint GLCompute 4  "main"\r
18                               Name 4  "main"\r
19                               Name 10  "func(au1;"\r
20                               Name 9  "c"\r
21                               Name 12  "atoms("\r
22                               Name 20  "counter"\r
23                               Name 21  "param"\r
24                               Name 24  "val"\r
25                               Name 28  "countArr"\r
26                               Name 35  "origi"\r
27                               Name 37  "atomi"\r
28                               Name 40  "origu"\r
29                               Name 42  "atomu"\r
30                               Name 44  "value"\r
31                               Name 61  "arrX"\r
32                               Name 62  "arrY"\r
33                               Name 63  "arrZ"\r
34                               Decorate 20(counter) Binding 0\r
35                               Decorate 28(countArr) Binding 0\r
36                               Decorate 61(arrX) NoStaticUse\r
37                               Decorate 62(arrY) NoStaticUse\r
38                               Decorate 63(arrZ) NoStaticUse\r
39                2:             TypeVoid\r
40                3:             TypeFunction 2\r
41                6:             TypeInt 32 0\r
42                7:             TypePointer Function 6(int)\r
43                8:             TypeFunction 6(int) 7(ptr)\r
44               14:      6(int) Constant 1\r
45               15:      6(int) Constant 0\r
46               18:      6(int) Constant 256\r
47               19:             TypePointer AtomicCounter 6(int)\r
48      20(counter):     19(ptr) Variable AtomicCounter\r
49               25:      6(int) Constant 4\r
50               26:             TypeArray 6(int) 25\r
51               27:             TypePointer AtomicCounter 26\r
52     28(countArr):     27(ptr) Variable AtomicCounter\r
53               29:             TypeInt 32 1\r
54               30:     29(int) Constant 2\r
55               34:             TypePointer Function 29(int)\r
56               36:             TypePointer WorkgroupLocal 29(int)\r
57        37(atomi):     36(ptr) Variable WorkgroupLocal\r
58               38:     29(int) Constant 3\r
59               41:             TypePointer WorkgroupLocal 6(int)\r
60        42(atomu):     41(ptr) Variable WorkgroupLocal\r
61               43:             TypePointer UniformConstant 6(int)\r
62        44(value):     43(ptr) Variable UniformConstant\r
63               47:      6(int) Constant 7\r
64               52:     29(int) Constant 7\r
65               56:      6(int) Constant 10\r
66               59:             TypeArray 29(int) 14\r
67               60:             TypePointer PrivateGlobal 59\r
68         61(arrX):     60(ptr) Variable PrivateGlobal\r
69         62(arrY):     60(ptr) Variable PrivateGlobal\r
70         63(arrZ):     60(ptr) Variable PrivateGlobal\r
71          4(main):           2 Function None 3\r
72                5:             Label\r
73        21(param):      7(ptr) Variable Function\r
74          24(val):      7(ptr) Variable Function\r
75                               MemoryBarrier 14 18\r
76               22:      6(int) Load 20(counter)\r
77                               Store 21(param) 22\r
78               23:      6(int) FunctionCall 10(func(au1;) 21(param)\r
79               31:     19(ptr) AccessChain 28(countArr) 30\r
80               32:      6(int) AtomicLoad 31 14 15\r
81                               Store 24(val) 32\r
82               33:      6(int) AtomicIDecrement 20(counter) 14 15\r
83                               Return\r
84                               FunctionEnd\r
85    10(func(au1;):      6(int) Function None 8\r
86             9(c):      7(ptr) FunctionParameter\r
87               11:             Label\r
88               16:      6(int) AtomicIIncrement 9(c) 14 15\r
89                               ReturnValue 16\r
90                               FunctionEnd\r
91       12(atoms():           2 Function None 3\r
92               13:             Label\r
93        35(origi):     34(ptr) Variable Function\r
94        40(origu):      7(ptr) Variable Function\r
95               39:     29(int) AtomicIAdd 37(atomi) 14 15 38\r
96                               Store 35(origi) 39\r
97               45:      6(int) Load 44(value)\r
98               46:      6(int) AtomicAnd 42(atomu) 14 15 45\r
99                               Store 40(origu) 46\r
100               48:      6(int) AtomicOr 42(atomu) 14 15 47\r
101                               Store 40(origu) 48\r
102               49:      6(int) AtomicXor 42(atomu) 14 15 47\r
103                               Store 40(origu) 49\r
104               50:      6(int) Load 44(value)\r
105               51:      6(int) AtomicUMin 42(atomu) 14 15 50\r
106                               Store 40(origu) 51\r
107               53:     29(int) AtomicSMax 37(atomi) 14 15 52\r
108                               Store 35(origi) 53\r
109               54:     29(int) Load 35(origi)\r
110               55:     29(int) AtomicExchange 37(atomi) 14 15 54\r
111                               Store 35(origi) 55\r
112               57:      6(int) Load 44(value)\r
113               58:      6(int) AtomicCompareExchange 42(atomu) 14 15 15 57 56\r
114                               Store 40(origu) 58\r
115                               Return\r
116                               FunctionEnd\r