glslang/Test/baseResults/spv.debuginfo.hlsl.geom.out

460 lines
27 KiB
Plaintext

spv.debuginfo.hlsl.geom
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 323
Capability Geometry
Capability MultiViewport
Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
2: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 5 "main" 228 235 240 246 251 256 261 272 279 284 308 311
ExecutionMode 5 Triangles
ExecutionMode 5 Invocations 2
ExecutionMode 5 OutputTriangleStrip
ExecutionMode 5 OutputVertices 3
9: String "float"
12: String "uint"
24: String "Pos"
26: String ""
30: String "Color"
35: String "VSOutput"
46: String "PrimitiveID"
51: String "LightVec"
57: String "GSOutput"
67: String "@main"
73: String "input"
77: String "outStream"
81: String "InvocationID"
87: String "int"
92: String "i"
104: String "bool"
109: String "output"
130: String "projection"
134: String "modelview"
138: String "lightPos"
142: String "UBO"
146: String "ubo"
177: String "pos"
185: String "worldPos"
195: String "lPos"
230: String "outStream.Pos"
237: String "outStream.ViewportIndex"
242: String "outStream.PrimitiveID"
248: String "outStream.Normal"
253: String "outStream.Color"
258: String "outStream.ViewVec"
263: String "outStream.LightVec"
Name 5 "main"
Name 22 "VSOutput"
MemberName 22(VSOutput) 0 "Pos"
MemberName 22(VSOutput) 1 "Normal"
MemberName 22(VSOutput) 2 "Color"
Name 42 "GSOutput"
MemberName 42(GSOutput) 0 "Pos"
MemberName 42(GSOutput) 1 "ViewportIndex"
MemberName 42(GSOutput) 2 "PrimitiveID"
MemberName 42(GSOutput) 3 "Normal"
MemberName 42(GSOutput) 4 "Color"
MemberName 42(GSOutput) 5 "ViewVec"
MemberName 42(GSOutput) 6 "LightVec"
Name 66 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;"
Name 62 "input"
Name 63 "outStream"
Name 64 "InvocationID"
Name 65 "PrimitiveID"
Name 90 "i"
Name 107 "output"
Name 128 "UBO"
MemberName 128(UBO) 0 "projection"
MemberName 128(UBO) 1 "modelview"
MemberName 128(UBO) 2 "lightPos"
Name 144 "ubo"
MemberName 144(ubo) 0 "ubo"
Name 150 ""
Name 175 "pos"
Name 183 "worldPos"
Name 193 "lPos"
Name 228 "outStream.Pos"
Name 235 "outStream.ViewportIndex"
Name 240 "outStream.PrimitiveID"
Name 246 "outStream.Normal"
Name 251 "outStream.Color"
Name 256 "outStream.ViewVec"
Name 261 "outStream.LightVec"
Name 269 "input"
Name 272 "input.Pos"
Name 279 "input.Normal"
Name 284 "input.Color"
Name 306 "InvocationID"
Name 308 "InvocationID"
Name 310 "PrimitiveID"
Name 311 "PrimitiveID"
Name 313 "outStream"
Name 314 "param"
Name 316 "param"
Name 317 "param"
Name 319 "param"
Decorate 124 ArrayStride 64
Decorate 126 ArrayStride 64
MemberDecorate 128(UBO) 0 RowMajor
MemberDecorate 128(UBO) 0 Offset 0
MemberDecorate 128(UBO) 0 MatrixStride 16
MemberDecorate 128(UBO) 1 RowMajor
MemberDecorate 128(UBO) 1 Offset 128
MemberDecorate 128(UBO) 1 MatrixStride 16
MemberDecorate 128(UBO) 2 Offset 256
MemberDecorate 144(ubo) 0 Offset 0
Decorate 144(ubo) Block
Decorate 150 DescriptorSet 0
Decorate 150 Binding 0
Decorate 228(outStream.Pos) BuiltIn Position
Decorate 235(outStream.ViewportIndex) BuiltIn ViewportIndex
Decorate 240(outStream.PrimitiveID) BuiltIn PrimitiveId
Decorate 246(outStream.Normal) Location 0
Decorate 251(outStream.Color) Location 1
Decorate 256(outStream.ViewVec) Location 2
Decorate 261(outStream.LightVec) Location 3
Decorate 272(input.Pos) BuiltIn Position
Decorate 279(input.Normal) Location 0
Decorate 284(input.Color) Location 1
Decorate 308(InvocationID) BuiltIn InvocationId
Decorate 311(PrimitiveID) BuiltIn PrimitiveId
3: TypeVoid
4: TypeFunction 3
7: TypeFloat 32
10: TypeInt 32 0
13: 10(int) Constant 32
14: 10(int) Constant 6
15: 10(int) Constant 0
11: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 12 13 14 15
16: 10(int) Constant 3
8: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 9 13 16 15
17: TypeVector 7(float) 4
18: 10(int) Constant 4
19: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 18
20: TypeVector 7(float) 3
21: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(FSign) 8 16
22(VSOutput): TypeStruct 17(fvec4) 20(fvec3) 20(fvec3)
25: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(Modf) 0 26
27: 10(int) Constant 37
28: 10(int) Constant 13
23: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 24 19 25 27 28 15 15 16
31: 10(int) Constant 39
32: 10(int) Constant 34
29: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 30 21 25 31 32 15 15 16
33: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 30 21 25 31 32 15 15 16
36: 10(int) Constant 1
38: 10(int) Constant 5
37: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(Round) 36 18 25 38
34: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 35 36 25 15 15 37 35 15 16 23 29 33
39: TypeArray 22(VSOutput) 16
40: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 34 16
41: TypePointer Function 39
42(GSOutput): TypeStruct 17(fvec4) 10(int) 10(int) 20(fvec3) 20(fvec3) 20(fvec3) 20(fvec3)
44: 10(int) Constant 44
43: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 24 19 25 44 28 15 15 16
47: 10(int) Constant 46
48: 10(int) Constant 19
45: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 46 11 25 47 48 15 15 16
49: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 46 11 25 47 48 15 15 16
52: 10(int) Constant 50
50: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
53: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
54: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
55: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 51 21 25 52 27 15 15 16
56: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 57 36 25 15 15 37 57 15 16 43 45 49 50 53 54 55
58: TypePointer Function 42(GSOutput)
59: TypePointer Function 10(int)
60: TypeFunction 3 41(ptr) 58(ptr) 59(ptr) 59(ptr)
61: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(Floor) 16 3 40 56 11 11
68: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(Cosh) 67 61 25 15 15 37 67 16 15
72: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 73 40 25 15 15 68 18 36
75: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(Sqrt)
78: 10(int) Constant 2
76: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 77 56 25 15 15 68 18 78
80: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 81 11 25 15 15 68 18 16
83: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 46 11 25 15 15 68 18 18
86: TypeInt 32 1
88: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 87 13 18 15
89: TypePointer Function 86(int)
93: 10(int) Constant 57
91: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 92 88 25 93 15 68 18
94: 86(int) Constant 0
102: 86(int) Constant 3
103: TypeBool
105: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(RoundEven) 104 13 78 15
110: 10(int) Constant 59
108: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 109 56 25 110 15 68 18
111: 7(float) Constant 0
112: 17(fvec4) ConstantComposite 111 111 111 111
113: 20(fvec3) ConstantComposite 111 111 111
114:42(GSOutput) ConstantComposite 112 15 15 113 113 113 113
117: 86(int) Constant 1
118: TypePointer Function 20(fvec3)
121: TypeMatrix 17(fvec4) 4
123: 103(bool) ConstantTrue
122: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 19 18 123
124: TypeArray 121 78
125: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 122 78
126: TypeArray 121 78
127: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(SAbs) 122 78
128(UBO): TypeStruct 124 126 17(fvec4)
131: 10(int) Constant 28
132: 10(int) Constant 21
129: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 130 125 25 131 132 15 15 16
135: 10(int) Constant 29
136: 10(int) Constant 20
133: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 134 127 25 135 136 15 15 16
139: 10(int) Constant 30
140: 10(int) Constant 17
137: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 138 19 25 139 140 15 15 16
143: 10(int) Constant 60
141: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 142 36 25 143 15 37 142 15 16 129 133 137
144(ubo): TypeStruct 128(UBO)
147: 10(int) Constant 33
145: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(Radians) 146 141 25 147 27 15 15 16
148: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(Fract) 146 36 25 143 15 37 146 15 16 145
149: TypePointer Uniform 144(ubo)
150: 149(ptr) Variable Uniform
152: 10(int) Constant 8
151: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 26 148 25 143 15 37 26 150 152
154: TypePointer Uniform 121
157: TypeMatrix 20(fvec3) 3
158: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108 21 16 123
168: 86(int) Constant 4
170: 86(int) Constant 2
174: TypePointer Function 17(fvec4)
178: 10(int) Constant 63
176: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 177 19 25 178 15 68 18
186: 10(int) Constant 64
184: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 185 19 25 186 15 68 18
196: 10(int) Constant 66
194: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(Pow) 195 21 25 196 15 68 18
197: TypePointer Uniform 17(fvec4)
206: 86(int) Constant 6
212: 86(int) Constant 5
227: TypePointer Output 17(fvec4)
228(outStream.Pos): 227(ptr) Variable Output
231: 10(int) Constant 75
229: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 230 19 25 231 15 37 230 228(outStream.Pos) 152
234: TypePointer Output 10(int)
235(outStream.ViewportIndex): 234(ptr) Variable Output
236: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 237 11 25 231 15 37 237 235(outStream.ViewportIndex) 152
240(outStream.PrimitiveID): 234(ptr) Variable Output
241: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 242 11 25 231 15 37 242 240(outStream.PrimitiveID) 152
245: TypePointer Output 20(fvec3)
246(outStream.Normal): 245(ptr) Variable Output
247: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 248 21 25 231 15 37 248 246(outStream.Normal) 152
251(outStream.Color): 245(ptr) Variable Output
252: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 253 21 25 231 15 37 253 251(outStream.Color) 152
256(outStream.ViewVec): 245(ptr) Variable Output
257: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 258 21 25 231 15 37 258 256(outStream.ViewVec) 152
261(outStream.LightVec): 245(ptr) Variable Output
262: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(Atan) 263 21 25 231 15 37 263 261(outStream.LightVec) 152
270: TypeArray 17(fvec4) 16
271: TypePointer Input 270
272(input.Pos): 271(ptr) Variable Input
273: TypePointer Input 17(fvec4)
277: TypeArray 20(fvec3) 16
278: TypePointer Input 277
279(input.Normal): 278(ptr) Variable Input
280: TypePointer Input 20(fvec3)
284(input.Color): 278(ptr) Variable Input
307: TypePointer Input 10(int)
308(InvocationID): 307(ptr) Variable Input
311(PrimitiveID): 307(ptr) Variable Input
5(main): 3 Function None 4
6: Label
269(input): 41(ptr) Variable Function
306(InvocationID): 59(ptr) Variable Function
310(PrimitiveID): 59(ptr) Variable Function
313(outStream): 58(ptr) Variable Function
314(param): 41(ptr) Variable Function
316(param): 58(ptr) Variable Function
317(param): 59(ptr) Variable Function
319(param): 59(ptr) Variable Function
274: 273(ptr) AccessChain 272(input.Pos) 94
275: 17(fvec4) Load 274
276: 174(ptr) AccessChain 269(input) 94 94
Store 276 275
281: 280(ptr) AccessChain 279(input.Normal) 94
282: 20(fvec3) Load 281
283: 118(ptr) AccessChain 269(input) 94 117
Store 283 282
285: 280(ptr) AccessChain 284(input.Color) 94
286: 20(fvec3) Load 285
287: 118(ptr) AccessChain 269(input) 94 170
Store 287 286
288: 273(ptr) AccessChain 272(input.Pos) 117
289: 17(fvec4) Load 288
290: 174(ptr) AccessChain 269(input) 117 94
Store 290 289
291: 280(ptr) AccessChain 279(input.Normal) 117
292: 20(fvec3) Load 291
293: 118(ptr) AccessChain 269(input) 117 117
Store 293 292
294: 280(ptr) AccessChain 284(input.Color) 117
295: 20(fvec3) Load 294
296: 118(ptr) AccessChain 269(input) 117 170
Store 296 295
297: 273(ptr) AccessChain 272(input.Pos) 170
298: 17(fvec4) Load 297
299: 174(ptr) AccessChain 269(input) 170 94
Store 299 298
300: 280(ptr) AccessChain 279(input.Normal) 170
301: 20(fvec3) Load 300
302: 118(ptr) AccessChain 269(input) 170 117
Store 302 301
303: 280(ptr) AccessChain 284(input.Color) 170
304: 20(fvec3) Load 303
305: 118(ptr) AccessChain 269(input) 170 170
Store 305 304
309: 10(int) Load 308(InvocationID)
Store 306(InvocationID) 309
312: 10(int) Load 311(PrimitiveID)
Store 310(PrimitiveID) 312
315: 39 Load 269(input)
Store 314(param) 315
318: 10(int) Load 306(InvocationID)
Store 317(param) 318
320: 10(int) Load 310(PrimitiveID)
Store 319(param) 320
321: 3 FunctionCall 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 314(param) 316(param) 317(param) 319(param)
322:42(GSOutput) Load 316(param)
Store 313(outStream) 322
Return
FunctionEnd
66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 3 Function None 60
62(input): 41(ptr) FunctionParameter
63(outStream): 58(ptr) FunctionParameter
64(InvocationID): 59(ptr) FunctionParameter
65(PrimitiveID): 59(ptr) FunctionParameter
69: Label
90(i): 89(ptr) Variable Function
107(output): 58(ptr) Variable Function
175(pos): 174(ptr) Variable Function
183(worldPos): 174(ptr) Variable Function
193(lPos): 118(ptr) Variable Function
70: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(Acosh) 68
71: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103 25 15 15 15 15
74: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 72 62(input) 75
79: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 76 63(outStream) 75
82: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 80 64(InvocationID) 75
84: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(Log) 83 65(PrimitiveID) 75
85: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101 68 66(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
Store 90(i) 94
95: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 91 94 75
Branch 96
96: Label
LoopMerge 98 99 None
Branch 100
100: Label
101: 86(int) Load 90(i)
106: 103(bool) SLessThan 101 102
BranchConditional 106 97 98
97: Label
Store 107(output) 114
115: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 108 114 75
116: 86(int) Load 90(i)
119: 118(ptr) AccessChain 62(input) 116 117
120: 20(fvec3) Load 119
153: 10(int) Load 64(InvocationID)
155: 154(ptr) AccessChain 150 94 117 153
156: 121 Load 155
159: 17(fvec4) CompositeExtract 156 0
160: 20(fvec3) VectorShuffle 159 159 0 1 2
161: 17(fvec4) CompositeExtract 156 1
162: 20(fvec3) VectorShuffle 161 161 0 1 2
163: 17(fvec4) CompositeExtract 156 2
164: 20(fvec3) VectorShuffle 163 163 0 1 2
165: 157 CompositeConstruct 160 162 164
166: 20(fvec3) VectorTimesMatrix 120 165
167: 118(ptr) AccessChain 107(output) 102
Store 167 166
169: 86(int) Load 90(i)
171: 118(ptr) AccessChain 62(input) 169 170
172: 20(fvec3) Load 171
173: 118(ptr) AccessChain 107(output) 168
Store 173 172
179: 86(int) Load 90(i)
180: 174(ptr) AccessChain 62(input) 179 94
181: 17(fvec4) Load 180
Store 175(pos) 181
182: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 176 181 75
187: 17(fvec4) Load 175(pos)
188: 10(int) Load 64(InvocationID)
189: 154(ptr) AccessChain 150 94 117 188
190: 121 Load 189
191: 17(fvec4) VectorTimesMatrix 187 190
Store 183(worldPos) 191
192: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 184 191 75
198: 197(ptr) AccessChain 150 94 170
199: 17(fvec4) Load 198
200: 10(int) Load 64(InvocationID)
201: 154(ptr) AccessChain 150 94 117 200
202: 121 Load 201
203: 17(fvec4) VectorTimesMatrix 199 202
204: 20(fvec3) VectorShuffle 203 203 0 1 2
Store 193(lPos) 204
205: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 194 204 75
207: 20(fvec3) Load 193(lPos)
208: 17(fvec4) Load 183(worldPos)
209: 20(fvec3) VectorShuffle 208 208 0 1 2
210: 20(fvec3) FSub 207 209
211: 118(ptr) AccessChain 107(output) 206
Store 211 210
213: 17(fvec4) Load 183(worldPos)
214: 20(fvec3) VectorShuffle 213 213 0 1 2
215: 20(fvec3) FNegate 214
216: 118(ptr) AccessChain 107(output) 212
Store 216 215
217: 17(fvec4) Load 183(worldPos)
218: 10(int) Load 64(InvocationID)
219: 154(ptr) AccessChain 150 94 94 218
220: 121 Load 219
221: 17(fvec4) VectorTimesMatrix 217 220
222: 174(ptr) AccessChain 107(output) 94
Store 222 221
223: 10(int) Load 64(InvocationID)
224: 59(ptr) AccessChain 107(output) 117
Store 224 223
225: 10(int) Load 65(PrimitiveID)
226: 59(ptr) AccessChain 107(output) 170
Store 226 225
232: 174(ptr) AccessChain 107(output) 94
233: 17(fvec4) Load 232
Store 228(outStream.Pos) 233
238: 59(ptr) AccessChain 107(output) 117
239: 10(int) Load 238
Store 235(outStream.ViewportIndex) 239
243: 59(ptr) AccessChain 107(output) 170
244: 10(int) Load 243
Store 240(outStream.PrimitiveID) 244
249: 118(ptr) AccessChain 107(output) 102
250: 20(fvec3) Load 249
Store 246(outStream.Normal) 250
254: 118(ptr) AccessChain 107(output) 168
255: 20(fvec3) Load 254
Store 251(outStream.Color) 255
259: 118(ptr) AccessChain 107(output) 212
260: 20(fvec3) Load 259
Store 256(outStream.ViewVec) 260
264: 118(ptr) AccessChain 107(output) 206
265: 20(fvec3) Load 264
Store 261(outStream.LightVec) 265
EmitVertex
Branch 99
99: Label
266: 86(int) Load 90(i)
267: 86(int) IAdd 266 117
Store 90(i) 267
268: 3 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 29(Exp2) 91 267 75
Branch 96
98: Label
EndPrimitive
Return
FunctionEnd