Before, it was only including explicit interface, sufficient for IO-Block-declared oriented interface, but not sufficient for all modes GLSL might be used with SPIR-V. Two things are accomplished now: 1) each id will appear exactly once 2) the OpEntryPoint list will union static use with declarations
351 lines
16 KiB
Plaintext
Executable File
351 lines
16 KiB
Plaintext
Executable File
spv.uint.frag
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 80001
|
|
// Id's are bound by 207
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 15 68 77 200
|
|
ExecutionMode 4 OriginLowerLeft
|
|
Source ESSL 300
|
|
Name 4 "main"
|
|
Name 8 "count"
|
|
Name 12 "u"
|
|
Name 15 "t"
|
|
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 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
|
|
7: TypePointer Function 6(int)
|
|
9: 6(int) Constant 1
|
|
10: TypeInt 32 0
|
|
11: TypePointer Function 10(int)
|
|
13: TypeVector 10(int) 2
|
|
14: TypePointer Input 13(ivec2)
|
|
15(t): 14(ptr) Variable Input
|
|
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
|
|
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
|
|
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
|