1spv.specConstantOperations.vert
2// Module Version 10000
3// Generated by (magic number): 8000a
4// Id's are bound by 162
5
6                              Capability Shader
7                              Capability Float64
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint Vertex 4  "main"
11                              Source GLSL 450
12                              Name 4  "main"
13                              Name 8  "non_const_array_size_from_spec_const("
14                              Name 11  "i"
15                              Name 19  "sp_int"
16                              Name 27  "array"
17                              Name 40  "sp_float"
18                              Name 42  "sp_uint"
19                              Name 43  "sp_sint"
20                              Name 45  "sp_double"
21                              Name 46  "float_from_double"
22                              Name 47  "double_from_float"
23                              Name 49  "bool_from_int"
24                              Name 50  "bool_from_uint"
25                              Name 51  "int_from_bool"
26                              Name 53  "uint_from_bool"
27                              Name 54  "sp_uint_from_sint"
28                              Name 55  "sp_sint_from_uint"
29                              Name 56  "negate_int"
30                              Name 57  "not_int"
31                              Name 58  "sp_int_add_two"
32                              Name 61  "sp_int_add_two_sub_three"
33                              Name 63  "sp_int_add_two_sub_four"
34                              Name 64  "sp_sint_mul_two"
35                              Name 66  "sp_uint_mul_two"
36                              Name 68  "sp_sint_mul_two_div_five"
37                              Name 70  "sp_uint_mul_two_div_five"
38                              Name 71  "sp_sint_rem_four"
39                              Name 73  "sp_uint_rem_four"
40                              Name 75  "sp_sint_mul_three_div_five"
41                              Name 77  "sp_sint_shift_right_arithmetic"
42                              Name 79  "sp_uint_shift_right_arithmetic"
43                              Name 80  "sp_sint_shift_left"
44                              Name 81  "sp_uint_shift_left"
45                              Name 83  "sp_sint_or_256"
46                              Name 85  "sp_uint_xor_512"
47                              Name 86  "sp_int_lt_sp_sint"
48                              Name 87  "sp_uint_equal_sp_uint"
49                              Name 88  "sp_int_gt_sp_sint"
50                              Name 91  "iv"
51                              Name 95  "uv"
52                              Name 98  "bv_from_iv"
53                              Name 99  "bv_from_uv"
54                              Name 102  "iv_from_bv"
55                              Name 104  "uv_from_bv"
56                              Name 105  "uv_from_iv"
57                              Name 106  "iv_from_uv"
58                              Name 107  "not_iv"
59                              Name 108  "negate_iv"
60                              Name 110  "iv_add_two"
61                              Name 113  "iv_add_two_sub_three"
62                              Name 115  "iv_add_two_sub_four"
63                              Name 116  "iv_mul_two"
64                              Name 118  "iv_mul_two_div_five"
65                              Name 119  "iv_rem_four"
66                              Name 121  "iv_shift_right_arithmetic"
67                              Name 122  "iv_shift_left"
68                              Name 125  "iv_or_1024"
69                              Name 128  "uv_xor_2048"
70                              Name 129  "iv_x"
71                              Name 131  "iv_yx"
72                              Name 133  "iv_zyx"
73                              Name 134  "iv_yzxw"
74                              Name 135  "a"
75                              Name 136  "b"
76                              Name 137  "c"
77                              Name 142  "ternayArray1"
78                              Name 145  "t1"
79                              Name 146  "t2"
80                              Name 148  "t3"
81                              Name 152  "t4"
82                              Name 161  "v2"
83                              Decorate 19(sp_int) SpecId 201
84                              Decorate 40(sp_float) SpecId 200
85                              Decorate 42(sp_uint) SpecId 202
86                              Decorate 43(sp_sint) SpecId 203
87                              Decorate 45(sp_double) SpecId 204
88                              Decorate 135(a) SpecId 210
89                              Decorate 136(b) SpecId 211
90                              Decorate 137(c) SpecId 212
91               2:             TypeVoid
92               3:             TypeFunction 2
93               6:             TypeInt 32 1
94               7:             TypeFunction 6(int)
95              10:             TypePointer Function 6(int)
96              12:      6(int) Constant 0
97      19(sp_int):      6(int) SpecConstant 10
98              20:      6(int) Constant 2
99              21:      6(int) SpecConstantOp 128 19(sp_int) 20
100              22:             TypeBool
101              24:      6(int) SpecConstantOp 128 19(sp_int) 20
102              25:             TypeArray 6(int) 24
103              26:             TypePointer Function 25
104              29:      6(int) Constant 1023
105              32:      6(int) Constant 1
106              34:      6(int) SpecConstantOp 128 19(sp_int) 32
107              39:             TypeFloat 32
108    40(sp_float):   39(float) SpecConstant 1078530010
109              41:             TypeInt 32 0
110     42(sp_uint):     41(int) SpecConstant 100
111     43(sp_sint):      6(int) SpecConstant 4294967286
112              44:             TypeFloat 64
113   45(sp_double):44(float64_t) SpecConstant 2333366019 1074118410
11446(float_from_double):   39(float) SpecConstantOp 115 45(sp_double)
11547(double_from_float):44(float64_t) SpecConstantOp 115 40(sp_float)
116              48:     41(int) Constant 0
11749(bool_from_int):    22(bool) SpecConstantOp 171 19(sp_int) 48
11850(bool_from_uint):    22(bool) SpecConstantOp 171 42(sp_uint) 48
11951(int_from_bool):      6(int) SpecConstantOp 169 49(bool_from_int) 32 12
120              52:     41(int) Constant 1
12153(uint_from_bool):     41(int) SpecConstantOp 169 49(bool_from_int) 52 48
12254(sp_uint_from_sint):     41(int) SpecConstantOp 128 43(sp_sint) 48
12355(sp_sint_from_uint):      6(int) SpecConstantOp 128 42(sp_uint) 48
124  56(negate_int):      6(int) SpecConstantOp 126 19(sp_int)
125     57(not_int):      6(int) SpecConstantOp 200 19(sp_int)
12658(sp_int_add_two):      6(int) SpecConstantOp 128 19(sp_int) 20
127              59:      6(int) SpecConstantOp 128 19(sp_int) 20
128              60:      6(int) Constant 3
12961(sp_int_add_two_sub_three):      6(int) SpecConstantOp 130 59 60
130              62:      6(int) Constant 4
13163(sp_int_add_two_sub_four):      6(int) SpecConstantOp 130 58(sp_int_add_two) 62
13264(sp_sint_mul_two):      6(int) SpecConstantOp 132 43(sp_sint) 20
133              65:     41(int) Constant 2
13466(sp_uint_mul_two):     41(int) SpecConstantOp 132 42(sp_uint) 65
135              67:      6(int) Constant 5
13668(sp_sint_mul_two_div_five):      6(int) SpecConstantOp 135 64(sp_sint_mul_two) 67
137              69:     41(int) Constant 5
13870(sp_uint_mul_two_div_five):     41(int) SpecConstantOp 134 66(sp_uint_mul_two) 69
13971(sp_sint_rem_four):      6(int) SpecConstantOp 139 43(sp_sint) 62
140              72:     41(int) Constant 4
14173(sp_uint_rem_four):     41(int) SpecConstantOp 137 42(sp_uint) 72
142              74:      6(int) SpecConstantOp 132 43(sp_sint) 60
14375(sp_sint_mul_three_div_five):      6(int) SpecConstantOp 135 74 67
144              76:      6(int) Constant 10
14577(sp_sint_shift_right_arithmetic):      6(int) SpecConstantOp 195 43(sp_sint) 76
146              78:      6(int) Constant 20
14779(sp_uint_shift_right_arithmetic):     41(int) SpecConstantOp 194 42(sp_uint) 78
14880(sp_sint_shift_left):      6(int) SpecConstantOp 196 43(sp_sint) 32
14981(sp_uint_shift_left):     41(int) SpecConstantOp 196 42(sp_uint) 20
150              82:      6(int) Constant 256
15183(sp_sint_or_256):      6(int) SpecConstantOp 197 43(sp_sint) 82
152              84:     41(int) Constant 512
15385(sp_uint_xor_512):     41(int) SpecConstantOp 198 42(sp_uint) 84
15486(sp_int_lt_sp_sint):    22(bool) SpecConstantOp 177 19(sp_int) 43(sp_sint)
15587(sp_uint_equal_sp_uint):    22(bool) SpecConstantOp 170 42(sp_uint) 42(sp_uint)
15688(sp_int_gt_sp_sint):    22(bool) SpecConstantOp 173 19(sp_int) 43(sp_sint)
157              89:      6(int) Constant 30
158              90:             TypeVector 6(int) 4
159          91(iv):   90(ivec4) SpecConstantComposite 78 89 19(sp_int) 19(sp_int)
160              92:     41(int) Constant 4294967295
161              93:     41(int) Constant 4294967294
162              94:             TypeVector 41(int) 4
163          95(uv):   94(ivec4) SpecConstantComposite 42(sp_uint) 42(sp_uint) 92 93
164              96:             TypeVector 22(bool) 4
165              97:   94(ivec4) ConstantComposite 48 48 48 48
166  98(bv_from_iv):   96(bvec4) SpecConstantOp 171 91(iv) 97
167  99(bv_from_uv):   96(bvec4) SpecConstantOp 171 95(uv) 97
168             100:   90(ivec4) ConstantComposite 12 12 12 12
169             101:   90(ivec4) ConstantComposite 32 32 32 32
170 102(iv_from_bv):   90(ivec4) SpecConstantOp 169 98(bv_from_iv) 101 100
171             103:   94(ivec4) ConstantComposite 52 52 52 52
172 104(uv_from_bv):   94(ivec4) SpecConstantOp 169 98(bv_from_iv) 103 97
173 105(uv_from_iv):   94(ivec4) SpecConstantOp 128 91(iv) 97
174 106(iv_from_uv):   90(ivec4) SpecConstantOp 128 95(uv) 97
175     107(not_iv):   90(ivec4) SpecConstantOp 200 91(iv)
176  108(negate_iv):   90(ivec4) SpecConstantOp 126 91(iv)
177             109:   90(ivec4) ConstantComposite 20 20 20 20
178 110(iv_add_two):   90(ivec4) SpecConstantOp 128 91(iv) 109
179             111:   90(ivec4) SpecConstantOp 128 91(iv) 109
180             112:   90(ivec4) ConstantComposite 60 60 60 60
181113(iv_add_two_sub_three):   90(ivec4) SpecConstantOp 130 111 112
182             114:   90(ivec4) ConstantComposite 62 62 62 62
183115(iv_add_two_sub_four):   90(ivec4) SpecConstantOp 130 113(iv_add_two_sub_three) 114
184 116(iv_mul_two):   90(ivec4) SpecConstantOp 132 91(iv) 109
185             117:   90(ivec4) ConstantComposite 67 67 67 67
186118(iv_mul_two_div_five):   90(ivec4) SpecConstantOp 135 116(iv_mul_two) 117
187119(iv_rem_four):   90(ivec4) SpecConstantOp 139 91(iv) 114
188             120:   90(ivec4) ConstantComposite 76 76 76 76
189121(iv_shift_right_arithmetic):   90(ivec4) SpecConstantOp 195 91(iv) 120
190122(iv_shift_left):   90(ivec4) SpecConstantOp 196 91(iv) 109
191             123:      6(int) Constant 1024
192             124:   90(ivec4) ConstantComposite 123 123 123 123
193 125(iv_or_1024):   90(ivec4) SpecConstantOp 197 91(iv) 124
194             126:     41(int) Constant 2048
195             127:   94(ivec4) ConstantComposite 126 126 126 126
196128(uv_xor_2048):   94(ivec4) SpecConstantOp 198 95(uv) 127
197       129(iv_x):      6(int) SpecConstantOp 81 91(iv) 0
198             130:             TypeVector 6(int) 2
199      131(iv_yx):  130(ivec2) SpecConstantOp 79 91(iv) 91(iv) 1(GLSL.std.450) 0
200             132:             TypeVector 6(int) 3
201     133(iv_zyx):  132(ivec3) SpecConstantOp 79 91(iv) 91(iv) 2 1(GLSL.std.450) 0
202    134(iv_yzxw):   90(ivec4) SpecConstantOp 79 91(iv) 91(iv) 1(GLSL.std.450) 2 0 3
203          135(a):      6(int) SpecConstant 4
204          136(b):      6(int) SpecConstant 6
205          137(c):    22(bool) SpecConstantTrue
206             138:    22(bool) SpecConstantOp 173 135(a) 136(b)
207             139:      6(int) SpecConstantOp 169 138 135(a) 136(b)
208             140:             TypeArray 6(int) 139
209             141:             TypePointer Private 140
210142(ternayArray1):    141(ptr) Variable Private
211             143:      6(int) Constant 13
212             144:      6(int) Constant 17
213         145(t1):      6(int) SpecConstantOp 169 137(c) 143 144
214         146(t2):      6(int) SpecConstantOp 169 137(c) 135(a) 144
215             147:    22(bool) ConstantTrue
216         148(t3):      6(int) SpecConstantOp 169 147 135(a) 144
217             149:    22(bool) SpecConstantOp 173 135(a) 136(b)
218             150:      6(int) SpecConstantOp 128 143 135(a)
219             151:      6(int) SpecConstantOp 132 144 136(b)
220         152(t4):      6(int) SpecConstantOp 169 149 150 151
221             153:    22(bool) SpecConstantOp 168 137(c)
222             154:             TypeVector 39(float) 2
223             155:   39(float) Constant 1065353216
224             156:  154(fvec2) ConstantComposite 155 155
225             157:   39(float) Constant 1073741824
226             158:  154(fvec2) ConstantComposite 157 157
227             159:             TypeVector 22(bool) 2
228             160:  159(bvec2) SpecConstantComposite 153 153
229         161(v2):  154(fvec2) SpecConstantOp 169 160 156 158
230         4(main):           2 Function None 3
231               5:             Label
232                              Return
233                              FunctionEnd
2348(non_const_array_size_from_spec_const():      6(int) Function None 7
235               9:             Label
236           11(i):     10(ptr) Variable Function
237       27(array):     26(ptr) Variable Function
238                              Store 11(i) 12
239                              Branch 13
240              13:             Label
241                              LoopMerge 15 16 None
242                              Branch 17
243              17:             Label
244              18:      6(int) Load 11(i)
245              23:    22(bool) SLessThan 18 21
246                              BranchConditional 23 14 15
247              14:               Label
248              28:      6(int)   Load 11(i)
249              30:     10(ptr)   AccessChain 27(array) 28
250                                Store 30 29
251                                Branch 16
252              16:               Label
253              31:      6(int)   Load 11(i)
254              33:      6(int)   IAdd 31 32
255                                Store 11(i) 33
256                                Branch 13
257              15:             Label
258              35:     10(ptr) AccessChain 27(array) 34
259              36:      6(int) Load 35
260                              ReturnValue 36
261                              FunctionEnd
262