Add conversion folding when the source is a constant.
[platform/upstream/glslang.git] / Test / baseResults / spv.8bitstorage-uint.frag.out
1 spv.8bitstorage-uint.frag
2 // Module Version 10000
3 // Generated by (magic number): 80007
4 // Id's are bound by 173
5
6                               Capability Shader
7                               Capability CapabilityUniformAndStorageBuffer8BitAccess
8                               Extension  "SPV_KHR_8bit_storage"
9                1:             ExtInstImport  "GLSL.std.450"
10                               MemoryModel Logical GLSL450
11                               EntryPoint Fragment 4  "main"
12                               ExecutionMode 4 OriginUpperLeft
13                               Source GLSL 450
14                               SourceExtension  "GL_EXT_shader_8bit_storage"
15                               Name 4  "main"
16                               Name 12  "S"
17                               MemberName 12(S) 0  "x"
18                               MemberName 12(S) 1  "y"
19                               MemberName 12(S) 2  "z"
20                               Name 17  "B2"
21                               MemberName 17(B2) 0  "o"
22                               MemberName 17(B2) 1  "p"
23                               MemberName 17(B2) 2  "q"
24                               MemberName 17(B2) 3  "r"
25                               MemberName 17(B2) 4  "u"
26                               MemberName 17(B2) 5  "v"
27                               MemberName 17(B2) 6  "x"
28                               MemberName 17(B2) 7  "w"
29                               Name 19  "b2"
30                               Name 23  "S"
31                               MemberName 23(S) 0  "x"
32                               MemberName 23(S) 1  "y"
33                               MemberName 23(S) 2  "z"
34                               Name 25  "B1"
35                               MemberName 25(B1) 0  "a"
36                               MemberName 25(B1) 1  "b"
37                               MemberName 25(B1) 2  "c"
38                               MemberName 25(B1) 3  "d"
39                               MemberName 25(B1) 4  "g"
40                               MemberName 25(B1) 5  "h"
41                               MemberName 25(B1) 6  "j"
42                               Name 27  "b1"
43                               Name 45  "S"
44                               MemberName 45(S) 0  "x"
45                               MemberName 45(S) 1  "y"
46                               MemberName 45(S) 2  "z"
47                               Name 49  "B5"
48                               MemberName 49(B5) 0  "o"
49                               MemberName 49(B5) 1  "p"
50                               MemberName 49(B5) 2  "q"
51                               MemberName 49(B5) 3  "r"
52                               MemberName 49(B5) 4  "u"
53                               MemberName 49(B5) 5  "v"
54                               MemberName 49(B5) 6  "x"
55                               MemberName 49(B5) 7  "w"
56                               Name 51  "b5"
57                               Name 69  "x0"
58                               Name 75  "x1"
59                               Name 89  "S2"
60                               MemberName 89(S2) 0  "x"
61                               MemberName 89(S2) 1  "y"
62                               MemberName 89(S2) 2  "z"
63                               Name 90  "S3"
64                               MemberName 90(S3) 0  "x"
65                               Name 91  "B4"
66                               MemberName 91(B4) 0  "x"
67                               MemberName 91(B4) 1  "y"
68                               Name 93  "b4"
69                               Name 94  "S2"
70                               MemberName 94(S2) 0  "x"
71                               MemberName 94(S2) 1  "y"
72                               MemberName 94(S2) 2  "z"
73                               Name 95  "B3"
74                               MemberName 95(B3) 0  "x"
75                               Name 97  "b3"
76                               Name 114  "v3"
77                               Name 136  "u3"
78                               Decorate 11 ArrayStride 1
79                               MemberDecorate 12(S) 0 Offset 0
80                               MemberDecorate 12(S) 1 Offset 2
81                               MemberDecorate 12(S) 2 Offset 4
82                               Decorate 13 ArrayStride 8
83                               Decorate 15 ArrayStride 2
84                               Decorate 16 ArrayStride 1
85                               MemberDecorate 17(B2) 0 Offset 0
86                               MemberDecorate 17(B2) 1 Offset 2
87                               MemberDecorate 17(B2) 2 Offset 4
88                               MemberDecorate 17(B2) 3 Offset 7
89                               MemberDecorate 17(B2) 4 Offset 12
90                               MemberDecorate 17(B2) 5 Offset 20
91                               MemberDecorate 17(B2) 6 Offset 36
92                               MemberDecorate 17(B2) 7 Offset 236
93                               Decorate 17(B2) BufferBlock
94                               Decorate 19(b2) DescriptorSet 0
95                               Decorate 22 ArrayStride 16
96                               MemberDecorate 23(S) 0 Offset 0
97                               MemberDecorate 23(S) 1 Offset 2
98                               MemberDecorate 23(S) 2 Offset 4
99                               Decorate 24 ArrayStride 16
100                               MemberDecorate 25(B1) 0 Offset 0
101                               MemberDecorate 25(B1) 1 Offset 2
102                               MemberDecorate 25(B1) 2 Offset 4
103                               MemberDecorate 25(B1) 3 Offset 16
104                               MemberDecorate 25(B1) 4 Offset 48
105                               MemberDecorate 25(B1) 5 Offset 64
106                               MemberDecorate 25(B1) 6 Offset 96
107                               Decorate 25(B1) Block
108                               Decorate 27(b1) DescriptorSet 0
109                               Decorate 44 ArrayStride 16
110                               MemberDecorate 45(S) 0 Offset 0
111                               MemberDecorate 45(S) 1 Offset 2
112                               MemberDecorate 45(S) 2 Offset 4
113                               Decorate 46 ArrayStride 16
114                               Decorate 47 ArrayStride 16
115                               Decorate 48 ArrayStride 16
116                               MemberDecorate 49(B5) 0 Offset 0
117                               MemberDecorate 49(B5) 1 Offset 2
118                               MemberDecorate 49(B5) 2 Offset 4
119                               MemberDecorate 49(B5) 3 Offset 16
120                               MemberDecorate 49(B5) 4 Offset 48
121                               MemberDecorate 49(B5) 5 Offset 64
122                               MemberDecorate 49(B5) 6 Offset 96
123                               MemberDecorate 49(B5) 7 Offset 1696
124                               Decorate 49(B5) Block
125                               Decorate 51(b5) DescriptorSet 0
126                               MemberDecorate 89(S2) 0 ColMajor
127                               MemberDecorate 89(S2) 0 Offset 0
128                               MemberDecorate 89(S2) 0 MatrixStride 16
129                               MemberDecorate 89(S2) 1 Offset 64
130                               MemberDecorate 89(S2) 2 Offset 68
131                               MemberDecorate 90(S3) 0 Offset 0
132                               MemberDecorate 91(B4) 0 Offset 0
133                               MemberDecorate 91(B4) 1 Offset 80
134                               Decorate 91(B4) BufferBlock
135                               Decorate 93(b4) DescriptorSet 0
136                               MemberDecorate 94(S2) 0 RowMajor
137                               MemberDecorate 94(S2) 0 Offset 0
138                               MemberDecorate 94(S2) 0 MatrixStride 16
139                               MemberDecorate 94(S2) 1 Offset 64
140                               MemberDecorate 94(S2) 2 Offset 68
141                               MemberDecorate 95(B3) 0 Offset 0
142                               Decorate 95(B3) BufferBlock
143                               Decorate 97(b3) DescriptorSet 0
144                2:             TypeVoid
145                3:             TypeFunction 2
146                6:             TypeInt 8 0
147                7:             TypeVector 6(int8_t) 2
148                8:             TypeVector 6(int8_t) 3
149                9:             TypeInt 32 0
150               10:      9(int) Constant 2
151               11:             TypeArray 6(int8_t) 10
152            12(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
153               13:             TypeArray 12(S) 10
154               14:      9(int) Constant 100
155               15:             TypeArray 7(i8vec2) 14
156               16:             TypeRuntimeArray 6(int8_t)
157           17(B2):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 11 12(S) 13 15 16
158               18:             TypePointer Uniform 17(B2)
159           19(b2):     18(ptr) Variable Uniform
160               20:             TypeInt 32 1
161               21:     20(int) Constant 0
162               22:             TypeArray 6(int8_t) 10
163            23(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
164               24:             TypeArray 23(S) 10
165           25(B1):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 22 23(S) 24 9(int)
166               26:             TypePointer Uniform 25(B1)
167           27(b1):     26(ptr) Variable Uniform
168               28:             TypePointer Uniform 6(int8_t)
169               32:     20(int) Constant 1
170               33:     20(int) Constant 2
171               34:             TypePointer Uniform 8(i8vec3)
172               37:             TypeVector 9(int) 3
173               39:             TypeVector 9(int) 2
174               42:             TypePointer Uniform 7(i8vec2)
175               44:             TypeArray 6(int8_t) 10
176            45(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
177               46:             TypeArray 45(S) 10
178               47:             TypeArray 7(i8vec2) 14
179               48:             TypeArray 6(int8_t) 14
180           49(B5):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 44 45(S) 46 47 48
181               50:             TypePointer Uniform 49(B5)
182           51(b5):     50(ptr) Variable Uniform
183               58:     20(int) Constant 3
184               68:             TypePointer Function 9(int)
185               73:             TypeVector 9(int) 4
186               74:             TypePointer Function 73(ivec4)
187               82:      9(int) Constant 1
188               86:             TypeFloat 32
189               87:             TypeVector 86(float) 4
190               88:             TypeMatrix 87(fvec4) 4
191           89(S2):             TypeStruct 88 6(int8_t) 9(int)
192           90(S3):             TypeStruct 89(S2)
193           91(B4):             TypeStruct 89(S2) 90(S3)
194               92:             TypePointer Uniform 91(B4)
195           93(b4):     92(ptr) Variable Uniform
196           94(S2):             TypeStruct 88 6(int8_t) 9(int)
197           95(B3):             TypeStruct 94(S2)
198               96:             TypePointer Uniform 95(B3)
199           97(b3):     96(ptr) Variable Uniform
200               98:             TypePointer Uniform 88
201              105:      9(int) Constant 0
202              109:     20(int) Constant 5
203              113:             TypePointer Function 37(ivec3)
204              115:     20(int) Constant 7
205              116:     20(int) Constant 6
206              117:             TypePointer Uniform 9(int)
207              167:   6(int8_t) Constant 1
208              168:   6(int8_t) Constant 2
209              169:   7(i8vec2) ConstantComposite 167 168
210              171:   6(int8_t) Constant 3
211          4(main):           2 Function None 3
212                5:             Label
213           69(x0):     68(ptr) Variable Function
214           75(x1):     74(ptr) Variable Function
215          114(v3):    113(ptr) Variable Function
216          136(u3):    113(ptr) Variable Function
217               29:     28(ptr) AccessChain 27(b1) 21
218               30:   6(int8_t) Load 29
219               31:     28(ptr) AccessChain 19(b2) 21
220                               Store 31 30
221               35:     34(ptr) AccessChain 19(b2) 33
222               36:   8(i8vec3) Load 35
223               38:   37(ivec3) UConvert 36
224               40:   39(ivec2) VectorShuffle 38 38 0 1
225               41:   7(i8vec2) UConvert 40
226               43:     42(ptr) AccessChain 19(b2) 32
227                               Store 43 41
228               52:     34(ptr) AccessChain 51(b5) 33
229               53:   8(i8vec3) Load 52
230               54:   37(ivec3) UConvert 53
231               55:   39(ivec2) VectorShuffle 54 54 0 1
232               56:   7(i8vec2) UConvert 55
233               57:     42(ptr) AccessChain 19(b2) 32
234                               Store 57 56
235               59:     28(ptr) AccessChain 19(b2) 58 21
236               60:   6(int8_t) Load 59
237               61:     28(ptr) AccessChain 19(b2) 58 21
238                               Store 61 60
239               62:     28(ptr) AccessChain 51(b5) 58 32
240               63:   6(int8_t) Load 62
241               64:     28(ptr) AccessChain 19(b2) 58 32
242                               Store 64 63
243               65:     42(ptr) AccessChain 19(b2) 32
244               66:   7(i8vec2) Load 65
245               67:     42(ptr) AccessChain 19(b2) 32
246                               Store 67 66
247               70:     28(ptr) AccessChain 27(b1) 21
248               71:   6(int8_t) Load 70
249               72:      9(int) UConvert 71
250                               Store 69(x0) 72
251               76:     28(ptr) AccessChain 27(b1) 21
252               77:   6(int8_t) Load 76
253               78:      9(int) UConvert 77
254               79:     42(ptr) AccessChain 19(b2) 32
255               80:   7(i8vec2) Load 79
256               81:   39(ivec2) UConvert 80
257               83:      9(int) CompositeExtract 81 0
258               84:      9(int) CompositeExtract 81 1
259               85:   73(ivec4) CompositeConstruct 78 83 84 82
260                               Store 75(x1) 85
261               99:     98(ptr) AccessChain 97(b3) 21 21
262              100:          88 Load 99
263              101:     98(ptr) AccessChain 93(b4) 21 21
264                               Store 101 100
265              102:     42(ptr) AccessChain 19(b2) 32
266              103:   7(i8vec2) Load 102
267              104:   39(ivec2) UConvert 103
268              106:      9(int) CompositeExtract 104 0
269              107:   6(int8_t) UConvert 106
270              108:     28(ptr) AccessChain 19(b2) 21
271                               Store 108 107
272              110:     42(ptr) AccessChain 19(b2) 109 32 32
273              111:   7(i8vec2) Load 110
274              112:     42(ptr) AccessChain 19(b2) 32
275                               Store 112 111
276              118:    117(ptr) AccessChain 27(b1) 116
277              119:      9(int) Load 118
278              120:     28(ptr) AccessChain 19(b2) 115 119
279              121:   6(int8_t) Load 120
280              122:      9(int) UConvert 121
281              123:    117(ptr) AccessChain 27(b1) 116
282              124:      9(int) Load 123
283              125:      9(int) IAdd 124 82
284              126:     28(ptr) AccessChain 19(b2) 115 125
285              127:   6(int8_t) Load 126
286              128:      9(int) UConvert 127
287              129:    117(ptr) AccessChain 27(b1) 116
288              130:      9(int) Load 129
289              131:      9(int) IAdd 130 10
290              132:     28(ptr) AccessChain 19(b2) 115 131
291              133:   6(int8_t) Load 132
292              134:      9(int) UConvert 133
293              135:   37(ivec3) CompositeConstruct 122 128 134
294                               Store 114(v3) 135
295              137:    117(ptr) AccessChain 27(b1) 116
296              138:      9(int) Load 137
297              139:     28(ptr) AccessChain 51(b5) 115 138
298              140:   6(int8_t) Load 139
299              141:      9(int) UConvert 140
300              142:    117(ptr) AccessChain 27(b1) 116
301              143:      9(int) Load 142
302              144:      9(int) IAdd 143 82
303              145:     28(ptr) AccessChain 51(b5) 115 144
304              146:   6(int8_t) Load 145
305              147:      9(int) UConvert 146
306              148:    117(ptr) AccessChain 27(b1) 116
307              149:      9(int) Load 148
308              150:      9(int) IAdd 149 10
309              151:     28(ptr) AccessChain 51(b5) 115 150
310              152:   6(int8_t) Load 151
311              153:      9(int) UConvert 152
312              154:   37(ivec3) CompositeConstruct 141 147 153
313                               Store 136(u3) 154
314              155:     42(ptr) AccessChain 19(b2) 116 21
315              156:   7(i8vec2) Load 155
316              157:     42(ptr) AccessChain 19(b2) 116 21
317                               Store 157 156
318              158:     42(ptr) AccessChain 51(b5) 116 32
319              159:   7(i8vec2) Load 158
320              160:     42(ptr) AccessChain 19(b2) 116 32
321                               Store 160 159
322              161:     28(ptr) AccessChain 27(b1) 21
323              162:   6(int8_t) Load 161
324              163:     28(ptr) AccessChain 19(b2) 32 105
325                               Store 163 162
326              164:     28(ptr) AccessChain 19(b2) 32 105
327              165:   6(int8_t) Load 164
328              166:     28(ptr) AccessChain 19(b2) 21
329                               Store 166 165
330              170:     42(ptr) AccessChain 19(b2) 32
331                               Store 170 169
332              172:     28(ptr) AccessChain 19(b2) 21
333                               Store 172 171
334                               Return
335                               FunctionEnd