blob: f4503bad82e415bf9cf811411eda577324f7327c [file] [log] [blame]
spv.debuginfo.hlsl.geom
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 373
Capability Geometry
Capability MultiViewport
Extension "SPV_KHR_non_semantic_info"
1: ExtInstImport "NonSemantic.Shader.DebugInfo.100"
3: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 6 "main" 270 279 284 291 296 301 306 322 329 334 358 361
ExecutionMode 6 Triangles
ExecutionMode 6 Invocations 2
ExecutionMode 6 OutputTriangleStrip
ExecutionMode 6 OutputVertices 3
2: String "spv.debuginfo.hlsl.geom"
9: String "float"
12: String "uint"
25: String "Pos"
27: String "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed entry-point main
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed keep-uncalled
// OpModuleProcessed hlsl-offsets
#line 1
/*
The MIT License (MIT)
Copyright (c) 2022 Google LLC
Copyright (c) 2022 Sascha Willems
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
struct UBO
{
float4x4 projection[2];
float4x4 modelview[2];
float4 lightPos;
};
cbuffer ubo : register(b0) { UBO ubo; }
struct VSOutput
{
float4 Pos : SV_POSITION;
[[vk::location(0)]] float3 Normal : NORMAL0;
[[vk::location(1)]] float3 Color : COLOR0;
};
struct GSOutput
{
float4 Pos : SV_POSITION;
uint ViewportIndex : SV_ViewportArrayIndex;
uint PrimitiveID : SV_PrimitiveID;
[[vk::location(0)]] float3 Normal : NORMAL0;
[[vk::location(1)]] float3 Color : COLOR0;
[[vk::location(2)]] float3 ViewVec : TEXCOOR1;
[[vk::location(3)]] float3 LightVec : TEXCOOR2;
};
[maxvertexcount(3)]
[instance(2)]
void main(triangle VSOutput input[3], inout TriangleStream<GSOutput> outStream, uint InvocationID : SV_GSInstanceID, uint PrimitiveID : SV_PrimitiveID)
{
for(int i = 0; i < 3; i++)
{
GSOutput output = (GSOutput)0;
output.Normal = mul((float3x3)ubo.modelview[InvocationID], input[i].Normal);
output.Color = input[i].Color;
float4 pos = input[i].Pos;
float4 worldPos = mul(ubo.modelview[InvocationID], pos);
float3 lPos = mul(ubo.modelview[InvocationID], ubo.lightPos).xyz;
output.LightVec = lPos - worldPos.xyz;
output.ViewVec = -worldPos.xyz;
output.Pos = mul(ubo.projection[InvocationID], worldPos);
// Set the viewport index that the vertex will be emitted to
output.ViewportIndex = InvocationID;
output.PrimitiveID = PrimitiveID;
outStream.Append( output );
}
outStream.RestartStrip();
}
"
31: String "Color"
36: String "VSOutput"
50: String "PrimitiveID"
55: String "LightVec"
61: String "GSOutput"
74: String "@main"
77: String "input"
83: String "outStream"
87: String "InvocationID"
97: String "int"
103: String "i"
120: String "bool"
126: String "output"
152: String "projection"
156: String "modelview"
160: String "lightPos"
164: String "UBO"
167: String "ubo"
174: String ""
204: String "pos"
213: String "worldPos"
224: String "lPos"
272: String "outStream.Pos"
281: String "outStream.ViewportIndex"
286: String "outStream.PrimitiveID"
293: String "outStream.Normal"
298: String "outStream.Color"
303: String "outStream.ViewVec"
308: String "outStream.LightVec"
Name 6 "main"
Name 23 "VSOutput"
MemberName 23(VSOutput) 0 "Pos"
MemberName 23(VSOutput) 1 "Normal"
MemberName 23(VSOutput) 2 "Color"
Name 46 "GSOutput"
MemberName 46(GSOutput) 0 "Pos"
MemberName 46(GSOutput) 1 "ViewportIndex"
MemberName 46(GSOutput) 2 "PrimitiveID"
MemberName 46(GSOutput) 3 "Normal"
MemberName 46(GSOutput) 4 "Color"
MemberName 46(GSOutput) 5 "ViewVec"
MemberName 46(GSOutput) 6 "LightVec"
Name 72 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;"
Name 68 "input"
Name 69 "outStream"
Name 70 "InvocationID"
Name 71 "PrimitiveID"
Name 101 "i"
Name 124 "output"
Name 150 "UBO"
MemberName 150(UBO) 0 "projection"
MemberName 150(UBO) 1 "modelview"
MemberName 150(UBO) 2 "lightPos"
Name 165 "ubo"
MemberName 165(ubo) 0 "ubo"
Name 172 ""
Name 202 "pos"
Name 211 "worldPos"
Name 222 "lPos"
Name 270 "outStream.Pos"
Name 279 "outStream.ViewportIndex"
Name 284 "outStream.PrimitiveID"
Name 291 "outStream.Normal"
Name 296 "outStream.Color"
Name 301 "outStream.ViewVec"
Name 306 "outStream.LightVec"
Name 319 "input"
Name 322 "input.Pos"
Name 329 "input.Normal"
Name 334 "input.Color"
Name 356 "InvocationID"
Name 358 "InvocationID"
Name 360 "PrimitiveID"
Name 361 "PrimitiveID"
Name 363 "outStream"
Name 364 "param"
Name 366 "param"
Name 367 "param"
Name 369 "param"
Decorate 146 ArrayStride 64
Decorate 148 ArrayStride 64
MemberDecorate 150(UBO) 0 RowMajor
MemberDecorate 150(UBO) 0 MatrixStride 16
MemberDecorate 150(UBO) 0 Offset 0
MemberDecorate 150(UBO) 1 RowMajor
MemberDecorate 150(UBO) 1 MatrixStride 16
MemberDecorate 150(UBO) 1 Offset 128
MemberDecorate 150(UBO) 2 Offset 256
Decorate 165(ubo) Block
MemberDecorate 165(ubo) 0 Offset 0
Decorate 172 Binding 0
Decorate 172 DescriptorSet 0
Decorate 270(outStream.Pos) BuiltIn Position
Decorate 279(outStream.ViewportIndex) BuiltIn ViewportIndex
Decorate 284(outStream.PrimitiveID) BuiltIn PrimitiveId
Decorate 291(outStream.Normal) Location 0
Decorate 296(outStream.Color) Location 1
Decorate 301(outStream.ViewVec) Location 2
Decorate 306(outStream.LightVec) Location 3
Decorate 322(input.Pos) BuiltIn Position
Decorate 329(input.Normal) Location 0
Decorate 334(input.Color) Location 1
Decorate 358(InvocationID) BuiltIn InvocationId
Decorate 361(PrimitiveID) BuiltIn PrimitiveId
4: TypeVoid
5: TypeFunction 4
8: TypeFloat 32
11: TypeInt 32 0
14: 11(int) Constant 32
15: 11(int) Constant 6
16: 11(int) Constant 0
13: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 12 14 15 16
17: 11(int) Constant 3
10: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 9 14 17 16
18: TypeVector 8(float) 4
19: 11(int) Constant 4
20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 19
21: TypeVector 8(float) 3
22: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17
23(VSOutput): TypeStruct 18(fvec4) 21(fvec3) 21(fvec3)
26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 27
28: 11(int) Constant 37
29: 11(int) Constant 13
24: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 28 29 16 16 17
32: 11(int) Constant 39
33: 11(int) Constant 34
30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17
34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17
37: 11(int) Constant 1
38: 11(int) Constant 56
40: 11(int) Constant 5
39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 19 26 40
35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 36 37 26 38 16 39 36 16 17 24 30 34
41: TypeArray 23(VSOutput) 17
42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 35 17
43: TypePointer Function 41
44: 11(int) Constant 7
45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 42 44 16
46(GSOutput): TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3)
48: 11(int) Constant 44
47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 48 29 16 16 17
51: 11(int) Constant 46
52: 11(int) Constant 19
49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 50 13 26 51 52 16 16 17
53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 50 13 26 51 52 16 16 17
56: 11(int) Constant 50
54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17
57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17
58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17
59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17
60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 61 37 26 38 16 39 61 16 17 47 49 53 54 57 58 59
62: TypePointer Function 46(GSOutput)
63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 44 16
64: TypePointer Function 11(int)
65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 44 16
66: TypeFunction 4 43(ptr) 62(ptr) 64(ptr) 64(ptr)
67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 42 60 13 13
75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 74 67 26 38 16 39 74 17 38
76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 42 26 38 16 75 19 37
79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
84: 11(int) Constant 2
82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 60 26 38 16 75 19 84
86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 38 16 75 19 17
89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 13 26 38 16 75 19 19
92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 75
94: 11(int) Constant 57
95: 11(int) Constant 10
93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 94 95 92
96: TypeInt 32 1
98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 14 19 16
99: TypePointer Function 96(int)
100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 44 16
102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 103 98 26 94 16 93 19
107: 96(int) Constant 0
118: 96(int) Constant 3
119: TypeBool
121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 120 14 84 16
123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 93
127: 11(int) Constant 59
125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 126 60 26 127 16 123 19
131: 8(float) Constant 0
132: 18(fvec4) ConstantComposite 131 131 131 131
133: 21(fvec3) ConstantComposite 131 131 131
134:46(GSOutput) ConstantComposite 132 16 16 133 133 133 133
137: 11(int) Constant 60
138: 96(int) Constant 1
139: TypePointer Function 21(fvec3)
140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16
143: TypeMatrix 18(fvec4) 4
145: 119(bool) ConstantTrue
144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 145
146: TypeArray 143 84
147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84
148: TypeArray 143 84
149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84
150(UBO): TypeStruct 146 148 18(fvec4)
153: 11(int) Constant 28
154: 11(int) Constant 21
151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 147 26 153 154 16 16 17
157: 11(int) Constant 29
158: 11(int) Constant 20
155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 149 26 157 158 16 16 17
161: 11(int) Constant 30
162: 11(int) Constant 17
159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 160 20 26 161 162 16 16 17
163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 164 37 26 137 16 39 164 16 17 151 155 159
165(ubo): TypeStruct 150(UBO)
168: 11(int) Constant 33
166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 167 163 26 168 28 16 16 17
169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 167 37 26 137 16 39 167 16 17 166
170: TypePointer Uniform 165(ubo)
171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 169 84 16
172: 170(ptr) Variable Uniform
175: 11(int) Constant 8
173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 174 169 26 137 16 39 174 172 175
177: TypePointer Uniform 143
178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 144 84 16
181: TypeMatrix 21(fvec3) 3
182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 145
192: 96(int) Constant 4
195: 11(int) Constant 61
196: 96(int) Constant 2
200: TypePointer Function 18(fvec4)
201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16
205: 11(int) Constant 63
203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 204 20 26 205 16 123 19
214: 11(int) Constant 64
212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 20 26 214 16 123 19
225: 11(int) Constant 66
223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 224 22 26 225 16 123 19
228: TypePointer Uniform 18(fvec4)
229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16
237: 96(int) Constant 6
240: 11(int) Constant 67
245: 96(int) Constant 5
248: 11(int) Constant 68
254: 11(int) Constant 70
262: 11(int) Constant 73
266: 11(int) Constant 74
268: TypePointer Output 18(fvec4)
269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16
270(outStream.Pos): 268(ptr) Variable Output
273: 11(int) Constant 75
271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 272 20 26 273 16 39 272 270(outStream.Pos) 175
277: TypePointer Output 11(int)
278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16
279(outStream.ViewportIndex): 277(ptr) Variable Output
280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 281 13 26 273 16 39 281 279(outStream.ViewportIndex) 175
284(outStream.PrimitiveID): 277(ptr) Variable Output
285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 286 13 26 273 16 39 286 284(outStream.PrimitiveID) 175
289: TypePointer Output 21(fvec3)
290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16
291(outStream.Normal): 289(ptr) Variable Output
292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 293 22 26 273 16 39 293 291(outStream.Normal) 175
296(outStream.Color): 289(ptr) Variable Output
297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 22 26 273 16 39 298 296(outStream.Color) 175
301(outStream.ViewVec): 289(ptr) Variable Output
302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 303 22 26 273 16 39 303 301(outStream.ViewVec) 175
306(outStream.LightVec): 289(ptr) Variable Output
307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 308 22 26 273 16 39 308 306(outStream.LightVec) 175
317: 11(int) Constant 78
320: TypeArray 18(fvec4) 17
321: TypePointer Input 320
322(input.Pos): 321(ptr) Variable Input
323: TypePointer Input 18(fvec4)
327: TypeArray 21(fvec3) 17
328: TypePointer Input 327
329(input.Normal): 328(ptr) Variable Input
330: TypePointer Input 21(fvec3)
334(input.Color): 328(ptr) Variable Input
357: TypePointer Input 11(int)
358(InvocationID): 357(ptr) Variable Input
361(PrimitiveID): 357(ptr) Variable Input
6(main): 4 Function None 5
7: Label
319(input): 43(ptr) Variable Function
356(InvocationID): 64(ptr) Variable Function
360(PrimitiveID): 64(ptr) Variable Function
363(outStream): 62(ptr) Variable Function
364(param): 43(ptr) Variable Function
366(param): 62(ptr) Variable Function
367(param): 64(ptr) Variable Function
369(param): 64(ptr) Variable Function
324: 323(ptr) AccessChain 322(input.Pos) 107
325: 18(fvec4) Load 324
326: 200(ptr) AccessChain 319(input) 107 107
Store 326 325
331: 330(ptr) AccessChain 329(input.Normal) 107
332: 21(fvec3) Load 331
333: 139(ptr) AccessChain 319(input) 107 138
Store 333 332
335: 330(ptr) AccessChain 334(input.Color) 107
336: 21(fvec3) Load 335
337: 139(ptr) AccessChain 319(input) 107 196
Store 337 336
338: 323(ptr) AccessChain 322(input.Pos) 138
339: 18(fvec4) Load 338
340: 200(ptr) AccessChain 319(input) 138 107
Store 340 339
341: 330(ptr) AccessChain 329(input.Normal) 138
342: 21(fvec3) Load 341
343: 139(ptr) AccessChain 319(input) 138 138
Store 343 342
344: 330(ptr) AccessChain 334(input.Color) 138
345: 21(fvec3) Load 344
346: 139(ptr) AccessChain 319(input) 138 196
Store 346 345
347: 323(ptr) AccessChain 322(input.Pos) 196
348: 18(fvec4) Load 347
349: 200(ptr) AccessChain 319(input) 196 107
Store 349 348
350: 330(ptr) AccessChain 329(input.Normal) 196
351: 21(fvec3) Load 350
352: 139(ptr) AccessChain 319(input) 196 138
Store 352 351
353: 330(ptr) AccessChain 334(input.Color) 196
354: 21(fvec3) Load 353
355: 139(ptr) AccessChain 319(input) 196 196
Store 355 354
359: 11(int) Load 358(InvocationID)
Store 356(InvocationID) 359
362: 11(int) Load 361(PrimitiveID)
Store 360(PrimitiveID) 362
365: 41 Load 319(input)
Store 364(param) 365
368: 11(int) Load 356(InvocationID)
Store 367(param) 368
370: 11(int) Load 360(PrimitiveID)
Store 369(param) 370
371: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 364(param) 366(param) 367(param) 369(param)
372:46(GSOutput) Load 366(param)
Store 363(outStream) 372
Return
FunctionEnd
72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 66
68(input): 43(ptr) FunctionParameter
69(outStream): 62(ptr) FunctionParameter
70(InvocationID): 64(ptr) FunctionParameter
71(PrimitiveID): 64(ptr) FunctionParameter
73: Label
101(i): 99(ptr) Variable Function
124(output): 62(ptr) Variable Function
202(pos): 200(ptr) Variable Function
211(worldPos): 200(ptr) Variable Function
222(lPos): 139(ptr) Variable Function
80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75
81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 38 38 16 16
78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 68(input) 79
85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 69(outStream) 79
88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 70(InvocationID) 79
90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 71(PrimitiveID) 79
91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 75 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;)
105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 102 101(i) 79
Store 101(i) 107
Branch 108
108: Label
112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
LoopMerge 110 111 None
Branch 114
114: Label
116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
115: 96(int) Load 101(i)
122: 119(bool) SLessThan 115 118
BranchConditional 122 109 110
109: Label
129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 123
130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 127 127 16 16
128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 125 124(output) 79
Store 124(output) 134
136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 137 137 16 16
135: 96(int) Load 101(i)
141: 139(ptr) AccessChain 68(input) 135 138
142: 21(fvec3) Load 141
176: 11(int) Load 70(InvocationID)
179: 177(ptr) AccessChain 172 107 138 176
180: 143 Load 179
183: 18(fvec4) CompositeExtract 180 0
184: 21(fvec3) VectorShuffle 183 183 0 1 2
185: 18(fvec4) CompositeExtract 180 1
186: 21(fvec3) VectorShuffle 185 185 0 1 2
187: 18(fvec4) CompositeExtract 180 2
188: 21(fvec3) VectorShuffle 187 187 0 1 2
189: 181 CompositeConstruct 184 186 188
190: 21(fvec3) VectorTimesMatrix 142 189
191: 139(ptr) AccessChain 124(output) 118
Store 191 190
194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 195 195 16 16
193: 96(int) Load 101(i)
197: 139(ptr) AccessChain 68(input) 193 196
198: 21(fvec3) Load 197
199: 139(ptr) AccessChain 124(output) 192
Store 199 198
207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 205 205 16 16
206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 203 202(pos) 79
208: 96(int) Load 101(i)
209: 200(ptr) AccessChain 68(input) 208 107
210: 18(fvec4) Load 209
Store 202(pos) 210
216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 214 214 16 16
215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(worldPos) 79
217: 18(fvec4) Load 202(pos)
218: 11(int) Load 70(InvocationID)
219: 177(ptr) AccessChain 172 107 138 218
220: 143 Load 219
221: 18(fvec4) VectorTimesMatrix 217 220
Store 211(worldPos) 221
227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 225 225 16 16
226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 223 222(lPos) 79
230: 228(ptr) AccessChain 172 107 196
231: 18(fvec4) Load 230
232: 11(int) Load 70(InvocationID)
233: 177(ptr) AccessChain 172 107 138 232
234: 143 Load 233
235: 18(fvec4) VectorTimesMatrix 231 234
236: 21(fvec3) VectorShuffle 235 235 0 1 2
Store 222(lPos) 236
239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 240 240 16 16
238: 21(fvec3) Load 222(lPos)
241: 18(fvec4) Load 211(worldPos)
242: 21(fvec3) VectorShuffle 241 241 0 1 2
243: 21(fvec3) FSub 238 242
244: 139(ptr) AccessChain 124(output) 237
Store 244 243
247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16
246: 18(fvec4) Load 211(worldPos)
249: 21(fvec3) VectorShuffle 246 246 0 1 2
250: 21(fvec3) FNegate 249
251: 139(ptr) AccessChain 124(output) 245
Store 251 250
253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 254 254 16 16
252: 18(fvec4) Load 211(worldPos)
255: 11(int) Load 70(InvocationID)
256: 177(ptr) AccessChain 172 107 107 255
257: 143 Load 256
258: 18(fvec4) VectorTimesMatrix 252 257
259: 200(ptr) AccessChain 124(output) 107
Store 259 258
261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 262 262 16 16
260: 11(int) Load 70(InvocationID)
263: 64(ptr) AccessChain 124(output) 138
Store 263 260
265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 266 266 16 16
264: 11(int) Load 71(PrimitiveID)
267: 64(ptr) AccessChain 124(output) 196
Store 267 264
275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 273 273 16 16
274: 200(ptr) AccessChain 124(output) 107
276: 18(fvec4) Load 274
Store 270(outStream.Pos) 276
282: 64(ptr) AccessChain 124(output) 138
283: 11(int) Load 282
Store 279(outStream.ViewportIndex) 283
287: 64(ptr) AccessChain 124(output) 196
288: 11(int) Load 287
Store 284(outStream.PrimitiveID) 288
294: 139(ptr) AccessChain 124(output) 118
295: 21(fvec3) Load 294
Store 291(outStream.Normal) 295
299: 139(ptr) AccessChain 124(output) 192
300: 21(fvec3) Load 299
Store 296(outStream.Color) 300
304: 139(ptr) AccessChain 124(output) 245
305: 21(fvec3) Load 304
Store 301(outStream.ViewVec) 305
309: 139(ptr) AccessChain 124(output) 237
310: 21(fvec3) Load 309
Store 306(outStream.LightVec) 310
EmitVertex
Branch 111
111: Label
312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93
313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16
311: 96(int) Load 101(i)
314: 96(int) IAdd 311 138
Store 101(i) 314
Branch 108
110: Label
315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92
316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 317 317 16 16
EndPrimitive
318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75
Return
FunctionEnd