SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2.

This commit is contained in:
John Kessenich 2015-11-15 21:33:39 -07:00
parent 1c77f3a8d2
commit 55e7d11ce8
117 changed files with 6740 additions and 5997 deletions

View file

@ -3,64 +3,58 @@ spv.uint.frag
Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 206
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 207
Source ESSL 300
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
EntryPoint Fragment 4 "main" 15 200 77 68
ExecutionMode 4 OriginLowerLeft
Source ESSL 300
Name 4 "main"
Name 8 "count"
Name 12 "u"
Name 15 "t"
Name 53 "shiftedii"
Name 55 "shiftedui"
Name 57 "shiftediu"
Name 58 "shifteduu"
Name 66 "c"
Name 70 "usampler"
Name 75 "tc"
Name 108 "af"
Name 112 "ab"
Name 116 "ai"
Name 151 "mask1"
Name 153 "mask2"
Name 155 "mask3"
Name 159 "mask4"
Name 199 "f"
Name 201 "v"
Name 203 "i"
Name 205 "b"
Name 55 "shiftedii"
Name 57 "shiftedui"
Name 59 "shiftediu"
Name 60 "shifteduu"
Name 68 "c"
Name 72 "usampler"
Name 77 "tc"
Name 111 "af"
Name 115 "ab"
Name 118 "ai"
Name 152 "mask1"
Name 154 "mask2"
Name 156 "mask3"
Name 160 "mask4"
Name 200 "f"
Name 202 "v"
Name 204 "i"
Name 206 "b"
Decorate 8(count) RelaxedPrecision
Decorate 12(u) RelaxedPrecision
Decorate 15(t) RelaxedPrecision
Decorate 15(t) Flat
Decorate 53(shiftedii) RelaxedPrecision
Decorate 55(shiftedui) RelaxedPrecision
Decorate 57(shiftediu) RelaxedPrecision
Decorate 58(shifteduu) RelaxedPrecision
Decorate 66(c) RelaxedPrecision
Decorate 70(usampler) RelaxedPrecision
Decorate 75(tc) RelaxedPrecision
Decorate 75(tc) Smooth
Decorate 108(af) RelaxedPrecision
Decorate 116(ai) RelaxedPrecision
Decorate 151(mask1) RelaxedPrecision
Decorate 153(mask2) RelaxedPrecision
Decorate 155(mask3) RelaxedPrecision
Decorate 159(mask4) RelaxedPrecision
Decorate 199(f) RelaxedPrecision
Decorate 199(f) Smooth
Decorate 199(f) NoStaticUse
Decorate 201(v) RelaxedPrecision
Decorate 201(v) NoStaticUse
Decorate 203(i) RelaxedPrecision
Decorate 203(i) NoStaticUse
Decorate 205(b) NoStaticUse
Decorate 55(shiftedii) RelaxedPrecision
Decorate 57(shiftedui) RelaxedPrecision
Decorate 59(shiftediu) RelaxedPrecision
Decorate 60(shifteduu) RelaxedPrecision
Decorate 68(c) RelaxedPrecision
Decorate 72(usampler) RelaxedPrecision
Decorate 77(tc) RelaxedPrecision
Decorate 111(af) RelaxedPrecision
Decorate 118(ai) RelaxedPrecision
Decorate 152(mask1) RelaxedPrecision
Decorate 154(mask2) RelaxedPrecision
Decorate 156(mask3) RelaxedPrecision
Decorate 160(mask4) RelaxedPrecision
Decorate 200(f) RelaxedPrecision
Decorate 202(v) RelaxedPrecision
Decorate 204(i) RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@ -71,285 +65,286 @@ Linked fragment stage:
13: TypeVector 10(int) 2
14: TypePointer Input 13(ivec2)
15(t): 14(ptr) Variable Input
18: 10(int) Constant 3
20: TypeBool
21: 20(bool) ConstantTrue
24: 6(int) Constant 2
29: 6(int) Constant 3
32: 20(bool) ConstantFalse
35: 6(int) Constant 5
40: 6(int) Constant 7
45: 6(int) Constant 11
50: 6(int) Constant 13
54: 6(int) Constant 4294967295
56: 10(int) Constant 4194303
64: TypeVector 10(int) 4
65: TypePointer Output 64(ivec4)
66(c): 65(ptr) Variable Output
67: TypeImage 10(int) 2D sampled format:Unknown
68: TypeSampledImage 67
69: TypePointer UniformConstant 68
70(usampler): 69(ptr) Variable UniformConstant
72: TypeFloat 32
73: TypeVector 72(float) 2
74: TypePointer Input 73(fvec2)
75(tc): 74(ptr) Variable Input
85: 72(float) Constant 1065353216
97: 72(float) Constant 1073741824
98: 73(fvec2) ConstantComposite 97 97
103: 10(int) Constant 4
107: TypePointer Function 72(float)
111: TypePointer Function 20(bool)
114: 10(int) Constant 0
122: 10(int) Constant 1
133: 6(int) Constant 17
138: 6(int) Constant 19
143: 6(int) Constant 23
148: 6(int) Constant 27
152: 10(int) Constant 161
154: 10(int) Constant 2576
157: 6(int) Constant 4
160: 10(int) Constant 2737
198: TypePointer Input 72(float)
199(f): 198(ptr) Variable Input
200: TypePointer UniformConstant 64(ivec4)
201(v): 200(ptr) Variable UniformConstant
202: TypePointer UniformConstant 6(int)
203(i): 202(ptr) Variable UniformConstant
204: TypePointer UniformConstant 20(bool)
205(b): 204(ptr) Variable UniformConstant
16: 10(int) Constant 1
17: TypePointer Input 10(int)
20: 10(int) Constant 3
22: TypeBool
23: 22(bool) ConstantTrue
26: 6(int) Constant 2
31: 6(int) Constant 3
34: 22(bool) ConstantFalse
37: 6(int) Constant 5
42: 6(int) Constant 7
47: 6(int) Constant 11
52: 6(int) Constant 13
56: 6(int) Constant 4294967295
58: 10(int) Constant 4194303
66: TypeVector 10(int) 4
67: TypePointer Output 66(ivec4)
68(c): 67(ptr) Variable Output
69: TypeImage 10(int) 2D sampled format:Unknown
70: TypeSampledImage 69
71: TypePointer UniformConstant 70
72(usampler): 71(ptr) Variable UniformConstant
74: TypeFloat 32
75: TypeVector 74(float) 2
76: TypePointer Input 75(fvec2)
77(tc): 76(ptr) Variable Input
87: 74(float) Constant 1065353216
99: 74(float) Constant 1073741824
100: 75(fvec2) ConstantComposite 99 99
103: 10(int) Constant 0
106: 10(int) Constant 4
110: TypePointer Function 74(float)
114: TypePointer Function 22(bool)
134: 6(int) Constant 17
139: 6(int) Constant 19
144: 6(int) Constant 23
149: 6(int) Constant 27
153: 10(int) Constant 161
155: 10(int) Constant 2576
158: 6(int) Constant 4
161: 10(int) Constant 2737
199: TypePointer Input 74(float)
200(f): 199(ptr) Variable Input
201: TypePointer UniformConstant 66(ivec4)
202(v): 201(ptr) Variable UniformConstant
203: TypePointer UniformConstant 6(int)
204(i): 203(ptr) Variable UniformConstant
205: TypePointer UniformConstant 22(bool)
206(b): 205(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(count): 7(ptr) Variable Function
12(u): 11(ptr) Variable Function
53(shiftedii): 7(ptr) Variable Function
55(shiftedui): 11(ptr) Variable Function
57(shiftediu): 7(ptr) Variable Function
58(shifteduu): 11(ptr) Variable Function
108(af): 107(ptr) Variable Function
112(ab): 111(ptr) Variable Function
116(ai): 7(ptr) Variable Function
151(mask1): 11(ptr) Variable Function
153(mask2): 11(ptr) Variable Function
155(mask3): 11(ptr) Variable Function
159(mask4): 11(ptr) Variable Function
55(shiftedii): 7(ptr) Variable Function
57(shiftedui): 11(ptr) Variable Function
59(shiftediu): 7(ptr) Variable Function
60(shifteduu): 11(ptr) Variable Function
111(af): 110(ptr) Variable Function
115(ab): 114(ptr) Variable Function
118(ai): 7(ptr) Variable Function
152(mask1): 11(ptr) Variable Function
154(mask2): 11(ptr) Variable Function
156(mask3): 11(ptr) Variable Function
160(mask4): 11(ptr) Variable Function
Store 8(count) 9
16: 13(ivec2) Load 15(t)
17: 10(int) CompositeExtract 16 1
19: 10(int) IAdd 17 18
Store 12(u) 19
SelectionMerge 23 None
BranchConditional 21 22 23
22: Label
25: 6(int) Load 8(count)
26: 6(int) IMul 25 24
Store 8(count) 26
Branch 23
23: Label
SelectionMerge 28 None
BranchConditional 21 27 28
27: Label
30: 6(int) Load 8(count)
31: 6(int) IMul 30 29
Store 8(count) 31
Branch 28
28: Label
SelectionMerge 34 None
BranchConditional 32 33 34
33: Label
36: 6(int) Load 8(count)
37: 6(int) IMul 36 35
Store 8(count) 37
Branch 34
34: Label
SelectionMerge 39 None
BranchConditional 21 38 39
38: Label
41: 6(int) Load 8(count)
42: 6(int) IMul 41 40
Store 8(count) 42
Branch 39
39: Label
SelectionMerge 44 None
BranchConditional 21 43 44
43: Label
46: 6(int) Load 8(count)
47: 6(int) IMul 46 45
Store 8(count) 47
Branch 44
44: Label
SelectionMerge 49 None
BranchConditional 32 48 49
48: Label
51: 6(int) Load 8(count)
52: 6(int) IMul 51 50
Store 8(count) 52
Branch 49
49: Label
Store 53(shiftedii) 54
Store 55(shiftedui) 56
Store 57(shiftediu) 54
Store 58(shifteduu) 56
59: 6(int) Load 53(shiftedii)
60: 6(int) Load 57(shiftediu)
61: 20(bool) IEqual 59 60
SelectionMerge 63 None
BranchConditional 61 62 63
62: Label
71: 68 Load 70(usampler)
76: 73(fvec2) Load 75(tc)
77: 64(ivec4) ImageSampleImplicitLod 71 76
Store 66(c) 77
Branch 63
63: Label
78: 10(int) Load 55(shiftedui)
79: 10(int) Load 58(shifteduu)
80: 20(bool) IEqual 78 79
SelectionMerge 82 None
BranchConditional 80 81 82
81: Label
83: 68 Load 70(usampler)
84: 73(fvec2) Load 75(tc)
86: 73(fvec2) CompositeConstruct 85 85
87: 73(fvec2) FAdd 84 86
88: 64(ivec4) ImageSampleImplicitLod 83 87
Store 66(c) 88
Branch 82
82: Label
89: 6(int) Load 53(shiftedii)
90: 10(int) Load 55(shiftedui)
91: 6(int) Bitcast 90
92: 20(bool) IEqual 89 91
SelectionMerge 94 None
BranchConditional 92 93 94
93: Label
95: 68 Load 70(usampler)
96: 73(fvec2) Load 75(tc)
99: 73(fvec2) FSub 96 98
100: 64(ivec4) ImageSampleImplicitLod 95 99
Store 66(c) 100
Branch 94
94: Label
101: 13(ivec2) Load 15(t)
102: 10(int) CompositeExtract 101 0
104: 20(bool) UGreaterThan 102 103
SelectionMerge 106 None
BranchConditional 104 105 106
105: Label
109: 10(int) Load 12(u)
110: 72(float) ConvertUToF 109
Store 108(af) 110
113: 10(int) Load 12(u)
115: 20(bool) INotEqual 113 114
Store 112(ab) 115
117: 10(int) Load 12(u)
118: 6(int) Bitcast 117
Store 116(ai) 118
119: 72(float) Load 108(af)
120: 10(int) ConvertFToU 119
121: 20(bool) Load 112(ab)
123: 10(int) Select 121 122 114
124: 6(int) Load 116(ai)
125: 10(int) Bitcast 124
126: 6(int) Load 8(count)
127: 10(int) Bitcast 126
128: 64(ivec4) CompositeConstruct 120 123 125 127
129: 64(ivec4) Load 66(c)
130: 64(ivec4) IAdd 129 128
Store 66(c) 130
Branch 106
106: Label
SelectionMerge 132 None
BranchConditional 21 131 132
131: Label
134: 6(int) Load 8(count)
135: 6(int) IMul 134 133
Store 8(count) 135
Branch 132
132: Label
SelectionMerge 137 None
BranchConditional 32 136 137
136: Label
139: 6(int) Load 8(count)
140: 6(int) IMul 139 138
Store 8(count) 140
Branch 137
137: Label
SelectionMerge 142 None
BranchConditional 21 141 142
141: Label
144: 6(int) Load 8(count)
145: 6(int) IMul 144 143
Store 8(count) 145
Branch 142
142: Label
SelectionMerge 147 None
BranchConditional 21 146 147
146: Label
149: 6(int) Load 8(count)
150: 6(int) IMul 149 148
Store 8(count) 150
Branch 147
147: Label
Store 151(mask1) 152
Store 153(mask2) 154
156: 10(int) Load 151(mask1)
158: 10(int) ShiftLeftLogical 156 157
Store 155(mask3) 158
Store 159(mask4) 160
161: 10(int) Load 155(mask3)
162: 10(int) Load 153(mask2)
163: 20(bool) IEqual 161 162
SelectionMerge 165 None
BranchConditional 163 164 165
164: Label
166: 6(int) Load 8(count)
167: 6(int) IMul 166 24
Store 8(count) 167
Branch 165
165: Label
168: 10(int) Load 155(mask3)
169: 10(int) Load 151(mask1)
170: 10(int) BitwiseAnd 168 169
171: 20(bool) INotEqual 170 114
SelectionMerge 173 None
BranchConditional 171 172 173
172: Label
174: 6(int) Load 8(count)
175: 6(int) IMul 174 29
Store 8(count) 175
Branch 173
173: Label
176: 10(int) Load 151(mask1)
177: 10(int) Load 155(mask3)
178: 10(int) BitwiseOr 176 177
179: 10(int) Load 159(mask4)
180: 20(bool) IEqual 178 179
SelectionMerge 182 None
BranchConditional 180 181 182
181: Label
183: 6(int) Load 8(count)
184: 6(int) IMul 183 35
Store 8(count) 184
Branch 182
182: Label
185: 10(int) Load 151(mask1)
186: 10(int) Load 159(mask4)
187: 10(int) BitwiseXor 185 186
188: 20(bool) IEqual 187 154
SelectionMerge 190 None
BranchConditional 188 189 190
189: Label
191: 6(int) Load 8(count)
192: 6(int) IMul 191 40
Store 8(count) 192
Branch 190
190: Label
193: 6(int) Load 8(count)
194: 10(int) Bitcast 193
195: 64(ivec4) CompositeConstruct 194 194 194 194
196: 64(ivec4) Load 66(c)
197: 64(ivec4) IAdd 196 195
Store 66(c) 197
18: 17(ptr) AccessChain 15(t) 16
19: 10(int) Load 18
21: 10(int) IAdd 19 20
Store 12(u) 21
SelectionMerge 25 None
BranchConditional 23 24 25
24: Label
27: 6(int) Load 8(count)
28: 6(int) IMul 27 26
Store 8(count) 28
Branch 25
25: Label
SelectionMerge 30 None
BranchConditional 23 29 30
29: Label
32: 6(int) Load 8(count)
33: 6(int) IMul 32 31
Store 8(count) 33
Branch 30
30: Label
SelectionMerge 36 None
BranchConditional 34 35 36
35: Label
38: 6(int) Load 8(count)
39: 6(int) IMul 38 37
Store 8(count) 39
Branch 36
36: Label
SelectionMerge 41 None
BranchConditional 23 40 41
40: Label
43: 6(int) Load 8(count)
44: 6(int) IMul 43 42
Store 8(count) 44
Branch 41
41: Label
SelectionMerge 46 None
BranchConditional 23 45 46
45: Label
48: 6(int) Load 8(count)
49: 6(int) IMul 48 47
Store 8(count) 49
Branch 46
46: Label
SelectionMerge 51 None
BranchConditional 34 50 51
50: Label
53: 6(int) Load 8(count)
54: 6(int) IMul 53 52
Store 8(count) 54
Branch 51
51: Label
Store 55(shiftedii) 56
Store 57(shiftedui) 58
Store 59(shiftediu) 56
Store 60(shifteduu) 58
61: 6(int) Load 55(shiftedii)
62: 6(int) Load 59(shiftediu)
63: 22(bool) IEqual 61 62
SelectionMerge 65 None
BranchConditional 63 64 65
64: Label
73: 70 Load 72(usampler)
78: 75(fvec2) Load 77(tc)
79: 66(ivec4) ImageSampleImplicitLod 73 78
Store 68(c) 79
Branch 65
65: Label
80: 10(int) Load 57(shiftedui)
81: 10(int) Load 60(shifteduu)
82: 22(bool) IEqual 80 81
SelectionMerge 84 None
BranchConditional 82 83 84
83: Label
85: 70 Load 72(usampler)
86: 75(fvec2) Load 77(tc)
88: 75(fvec2) CompositeConstruct 87 87
89: 75(fvec2) FAdd 86 88
90: 66(ivec4) ImageSampleImplicitLod 85 89
Store 68(c) 90
Branch 84
84: Label
91: 6(int) Load 55(shiftedii)
92: 10(int) Load 57(shiftedui)
93: 6(int) Bitcast 92
94: 22(bool) IEqual 91 93
SelectionMerge 96 None
BranchConditional 94 95 96
95: Label
97: 70 Load 72(usampler)
98: 75(fvec2) Load 77(tc)
101: 75(fvec2) FSub 98 100
102: 66(ivec4) ImageSampleImplicitLod 97 101
Store 68(c) 102
Branch 96
96: Label
104: 17(ptr) AccessChain 15(t) 103
105: 10(int) Load 104
107: 22(bool) UGreaterThan 105 106
SelectionMerge 109 None
BranchConditional 107 108 109
108: Label
112: 10(int) Load 12(u)
113: 74(float) ConvertUToF 112
Store 111(af) 113
116: 10(int) Load 12(u)
117: 22(bool) INotEqual 116 103
Store 115(ab) 117
119: 10(int) Load 12(u)
120: 6(int) Bitcast 119
Store 118(ai) 120
121: 74(float) Load 111(af)
122: 10(int) ConvertFToU 121
123: 22(bool) Load 115(ab)
124: 10(int) Select 123 16 103
125: 6(int) Load 118(ai)
126: 10(int) Bitcast 125
127: 6(int) Load 8(count)
128: 10(int) Bitcast 127
129: 66(ivec4) CompositeConstruct 122 124 126 128
130: 66(ivec4) Load 68(c)
131: 66(ivec4) IAdd 130 129
Store 68(c) 131
Branch 109
109: Label
SelectionMerge 133 None
BranchConditional 23 132 133
132: Label
135: 6(int) Load 8(count)
136: 6(int) IMul 135 134
Store 8(count) 136
Branch 133
133: Label
SelectionMerge 138 None
BranchConditional 34 137 138
137: Label
140: 6(int) Load 8(count)
141: 6(int) IMul 140 139
Store 8(count) 141
Branch 138
138: Label
SelectionMerge 143 None
BranchConditional 23 142 143
142: Label
145: 6(int) Load 8(count)
146: 6(int) IMul 145 144
Store 8(count) 146
Branch 143
143: Label
SelectionMerge 148 None
BranchConditional 23 147 148
147: Label
150: 6(int) Load 8(count)
151: 6(int) IMul 150 149
Store 8(count) 151
Branch 148
148: Label
Store 152(mask1) 153
Store 154(mask2) 155
157: 10(int) Load 152(mask1)
159: 10(int) ShiftLeftLogical 157 158
Store 156(mask3) 159
Store 160(mask4) 161
162: 10(int) Load 156(mask3)
163: 10(int) Load 154(mask2)
164: 22(bool) IEqual 162 163
SelectionMerge 166 None
BranchConditional 164 165 166
165: Label
167: 6(int) Load 8(count)
168: 6(int) IMul 167 26
Store 8(count) 168
Branch 166
166: Label
169: 10(int) Load 156(mask3)
170: 10(int) Load 152(mask1)
171: 10(int) BitwiseAnd 169 170
172: 22(bool) INotEqual 171 103
SelectionMerge 174 None
BranchConditional 172 173 174
173: Label
175: 6(int) Load 8(count)
176: 6(int) IMul 175 31
Store 8(count) 176
Branch 174
174: Label
177: 10(int) Load 152(mask1)
178: 10(int) Load 156(mask3)
179: 10(int) BitwiseOr 177 178
180: 10(int) Load 160(mask4)
181: 22(bool) IEqual 179 180
SelectionMerge 183 None
BranchConditional 181 182 183
182: Label
184: 6(int) Load 8(count)
185: 6(int) IMul 184 37
Store 8(count) 185
Branch 183
183: Label
186: 10(int) Load 152(mask1)
187: 10(int) Load 160(mask4)
188: 10(int) BitwiseXor 186 187
189: 22(bool) IEqual 188 155
SelectionMerge 191 None
BranchConditional 189 190 191
190: Label
192: 6(int) Load 8(count)
193: 6(int) IMul 192 42
Store 8(count) 193
Branch 191
191: Label
194: 6(int) Load 8(count)
195: 10(int) Bitcast 194
196: 66(ivec4) CompositeConstruct 195 195 195 195
197: 66(ivec4) Load 68(c)
198: 66(ivec4) IAdd 197 196
Store 68(c) 198
Return
FunctionEnd