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 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