ae3ee49b574ead5364ab9d8592829f440fbe221b
[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 10000\r
10 // Generated by (magic number): 80001\r
11 // Id's are bound by 74\r
12 \r
13                               Capability Shader\r
14                1:             ExtInstImport  "GLSL.std.450"\r
15                               MemoryModel Logical GLSL450\r
16                               EntryPoint GLCompute 4  "main"\r
17                               ExecutionMode 4 LocalSize 1 1 1\r
18                               Source ESSL 310\r
19                               Name 4  "main"\r
20                               Name 10  "func(au1;"\r
21                               Name 9  "c"\r
22                               Name 12  "atoms("\r
23                               Name 20  "counter"\r
24                               Name 21  "param"\r
25                               Name 24  "val"\r
26                               Name 28  "countArr"\r
27                               Name 35  "origi"\r
28                               Name 37  "atomi"\r
29                               Name 40  "origu"\r
30                               Name 42  "atomu"\r
31                               Name 44  "value"\r
32                               Name 61  "dataSSB"\r
33                               MemberName 61(dataSSB) 0  "f"\r
34                               MemberName 61(dataSSB) 1  "n_frames_rendered"\r
35                               Name 63  "result"\r
36                               Name 71  "arrX"\r
37                               Name 72  "arrY"\r
38                               Name 73  "arrZ"\r
39                               Decorate 20(counter) Binding 0\r
40                               Decorate 28(countArr) Binding 0\r
41                               MemberDecorate 61(dataSSB) 0 Offset 0\r
42                               MemberDecorate 61(dataSSB) 1 Offset 16\r
43                               Decorate 61(dataSSB) BufferBlock\r
44                               Decorate 63(result) Binding 0\r
45                2:             TypeVoid\r
46                3:             TypeFunction 2\r
47                6:             TypeInt 32 0\r
48                7:             TypePointer Function 6(int)\r
49                8:             TypeFunction 6(int) 7(ptr)\r
50               14:      6(int) Constant 1\r
51               15:      6(int) Constant 0\r
52               18:      6(int) Constant 1024\r
53               19:             TypePointer AtomicCounter 6(int)\r
54      20(counter):     19(ptr) Variable AtomicCounter\r
55               25:      6(int) Constant 4\r
56               26:             TypeArray 6(int) 25\r
57               27:             TypePointer AtomicCounter 26\r
58     28(countArr):     27(ptr) Variable AtomicCounter\r
59               29:             TypeInt 32 1\r
60               30:     29(int) Constant 2\r
61               34:             TypePointer Function 29(int)\r
62               36:             TypePointer Workgroup 29(int)\r
63        37(atomi):     36(ptr) Variable Workgroup\r
64               38:     29(int) Constant 3\r
65               41:             TypePointer Workgroup 6(int)\r
66        42(atomu):     41(ptr) Variable Workgroup\r
67               43:             TypePointer UniformConstant 6(int)\r
68        44(value):     43(ptr) Variable UniformConstant\r
69               47:      6(int) Constant 7\r
70               52:     29(int) Constant 7\r
71               56:      6(int) Constant 10\r
72               59:             TypeFloat 32\r
73               60:             TypeVector 29(int) 4\r
74      61(dataSSB):             TypeStruct 59(float) 60(ivec4)\r
75               62:             TypePointer Uniform 61(dataSSB)\r
76       63(result):     62(ptr) Variable Uniform\r
77               64:     29(int) Constant 1\r
78               65:      6(int) Constant 2\r
79               66:             TypePointer Uniform 29(int)\r
80               69:             TypeArray 29(int) 14\r
81               70:             TypePointer Private 69\r
82         71(arrX):     70(ptr) Variable Private\r
83         72(arrY):     70(ptr) Variable Private\r
84         73(arrZ):     70(ptr) Variable Private\r
85          4(main):           2 Function None 3\r
86                5:             Label\r
87        21(param):      7(ptr) Variable Function\r
88          24(val):      7(ptr) Variable Function\r
89                               MemoryBarrier 14 18\r
90               22:      6(int) Load 20(counter)\r
91                               Store 21(param) 22\r
92               23:      6(int) FunctionCall 10(func(au1;) 21(param)\r
93               31:     19(ptr) AccessChain 28(countArr) 30\r
94               32:      6(int) AtomicLoad 31 14 15\r
95                               Store 24(val) 32\r
96               33:      6(int) AtomicIDecrement 20(counter) 14 15\r
97                               Return\r
98                               FunctionEnd\r
99    10(func(au1;):      6(int) Function None 8\r
100             9(c):      7(ptr) FunctionParameter\r
101               11:             Label\r
102               16:      6(int) AtomicIIncrement 9(c) 14 15\r
103                               ReturnValue 16\r
104                               FunctionEnd\r
105       12(atoms():           2 Function None 3\r
106               13:             Label\r
107        35(origi):     34(ptr) Variable Function\r
108        40(origu):      7(ptr) Variable Function\r
109               39:     29(int) AtomicIAdd 37(atomi) 14 15 38\r
110                               Store 35(origi) 39\r
111               45:      6(int) Load 44(value)\r
112               46:      6(int) AtomicAnd 42(atomu) 14 15 45\r
113                               Store 40(origu) 46\r
114               48:      6(int) AtomicOr 42(atomu) 14 15 47\r
115                               Store 40(origu) 48\r
116               49:      6(int) AtomicXor 42(atomu) 14 15 47\r
117                               Store 40(origu) 49\r
118               50:      6(int) Load 44(value)\r
119               51:      6(int) AtomicUMin 42(atomu) 14 15 50\r
120                               Store 40(origu) 51\r
121               53:     29(int) AtomicSMax 37(atomi) 14 15 52\r
122                               Store 35(origi) 53\r
123               54:     29(int) Load 35(origi)\r
124               55:     29(int) AtomicExchange 37(atomi) 14 15 54\r
125                               Store 35(origi) 55\r
126               57:      6(int) Load 44(value)\r
127               58:      6(int) AtomicCompareExchange 42(atomu) 14 15 15 57 56\r
128                               Store 40(origu) 58\r
129               67:     66(ptr) AccessChain 63(result) 64 65\r
130               68:     29(int) AtomicIAdd 67 14 15 64\r
131                               Return\r
132                               FunctionEnd\r