spv.debuginfo.hlsl.geom // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 383 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" 280 289 294 301 306 311 316 332 339 344 368 371 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 "/* 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 "Normal" 35: String "Color" 39: String "VSOutput" 53: String "ViewportIndex" 57: String "PrimitiveID" 65: String "ViewVec" 69: String "LightVec" 72: String "GSOutput" 85: String "@main" 88: String "input" 94: String "outStream" 98: String "InvocationID" 108: String "int" 114: String "i" 131: String "bool" 137: String "output" 163: String "projection" 166: String "modelview" 170: String "lightPos" 174: String "UBO" 177: String "ubo" 184: String "" 214: String "pos" 223: String "worldPos" 234: String "lPos" 282: String "outStream.Pos" 291: String "outStream.ViewportIndex" 296: String "outStream.PrimitiveID" 303: String "outStream.Normal" 308: String "outStream.Color" 313: String "outStream.ViewVec" 318: 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 49 "GSOutput" MemberName 49(GSOutput) 0 "Pos" MemberName 49(GSOutput) 1 "ViewportIndex" MemberName 49(GSOutput) 2 "PrimitiveID" MemberName 49(GSOutput) 3 "Normal" MemberName 49(GSOutput) 4 "Color" MemberName 49(GSOutput) 5 "ViewVec" MemberName 49(GSOutput) 6 "LightVec" Name 83 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;" Name 79 "input" Name 80 "outStream" Name 81 "InvocationID" Name 82 "PrimitiveID" Name 112 "i" Name 135 "output" Name 161 "UBO" MemberName 161(UBO) 0 "projection" MemberName 161(UBO) 1 "modelview" MemberName 161(UBO) 2 "lightPos" Name 175 "ubo" MemberName 175(ubo) 0 "ubo" Name 182 "" Name 212 "pos" Name 221 "worldPos" Name 232 "lPos" Name 280 "outStream.Pos" Name 289 "outStream.ViewportIndex" Name 294 "outStream.PrimitiveID" Name 301 "outStream.Normal" Name 306 "outStream.Color" Name 311 "outStream.ViewVec" Name 316 "outStream.LightVec" Name 329 "input" Name 332 "input.Pos" Name 339 "input.Normal" Name 344 "input.Color" Name 366 "InvocationID" Name 368 "InvocationID" Name 370 "PrimitiveID" Name 371 "PrimitiveID" Name 373 "outStream" Name 374 "param" Name 376 "param" Name 377 "param" Name 379 "param" Decorate 157 ArrayStride 64 Decorate 159 ArrayStride 64 MemberDecorate 161(UBO) 0 RowMajor MemberDecorate 161(UBO) 0 MatrixStride 16 MemberDecorate 161(UBO) 0 Offset 0 MemberDecorate 161(UBO) 1 RowMajor MemberDecorate 161(UBO) 1 MatrixStride 16 MemberDecorate 161(UBO) 1 Offset 128 MemberDecorate 161(UBO) 2 Offset 256 Decorate 175(ubo) Block MemberDecorate 175(ubo) 0 Offset 0 Decorate 182 Binding 0 Decorate 182 DescriptorSet 0 Decorate 280(outStream.Pos) BuiltIn Position Decorate 289(outStream.ViewportIndex) BuiltIn ViewportIndex Decorate 294(outStream.PrimitiveID) BuiltIn PrimitiveId Decorate 301(outStream.Normal) Location 0 Decorate 306(outStream.Color) Location 1 Decorate 311(outStream.ViewVec) Location 2 Decorate 316(outStream.LightVec) Location 3 Decorate 332(input.Pos) BuiltIn Position Decorate 339(input.Normal) Location 0 Decorate 344(input.Color) Location 1 Decorate 368(InvocationID) BuiltIn InvocationId Decorate 371(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 38 33: 11(int) Constant 35 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17 36: 11(int) Constant 39 37: 11(int) Constant 34 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 35 22 26 36 37 16 16 17 40: 11(int) Constant 1 41: 11(int) Constant 56 43: 11(int) Constant 5 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 40 19 26 43 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 39 40 26 41 16 42 39 16 17 24 30 34 44: TypeArray 23(VSOutput) 17 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 38 17 46: TypePointer Function 44 47: 11(int) Constant 7 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 45 47 16 49(GSOutput): TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3) 51: 11(int) Constant 44 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 51 29 16 16 17 54: 11(int) Constant 45 55: 11(int) Constant 21 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 13 26 54 55 16 16 17 58: 11(int) Constant 46 59: 11(int) Constant 19 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 57 13 26 58 59 16 16 17 61: 11(int) Constant 47 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 61 33 16 16 17 63: 11(int) Constant 48 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 35 22 26 63 37 16 16 17 66: 11(int) Constant 49 67: 11(int) Constant 36 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 22 26 66 67 16 16 17 70: 11(int) Constant 50 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 69 22 26 70 28 16 16 17 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 72 40 26 41 16 42 72 16 17 50 52 56 60 62 64 68 73: TypePointer Function 49(GSOutput) 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 71 47 16 75: TypePointer Function 11(int) 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 47 16 77: TypeFunction 4 46(ptr) 73(ptr) 75(ptr) 75(ptr) 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 45 71 13 13 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 85 78 26 41 16 42 85 17 41 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 45 26 41 16 86 19 40 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 95: 11(int) Constant 2 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 94 71 26 41 16 86 19 95 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 98 13 26 41 16 86 19 17 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 57 13 26 41 16 86 19 19 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 86 105: 11(int) Constant 57 106: 11(int) Constant 10 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 105 106 103 107: TypeInt 32 1 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 108 14 19 16 110: TypePointer Function 107(int) 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 109 47 16 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 109 26 105 16 104 19 118: 107(int) Constant 0 129: 107(int) Constant 3 130: TypeBool 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 131 14 95 16 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 104 138: 11(int) Constant 59 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 137 71 26 138 16 134 19 142: 8(float) Constant 0 143: 18(fvec4) ConstantComposite 142 142 142 142 144: 21(fvec3) ConstantComposite 142 142 142 145:49(GSOutput) ConstantComposite 143 16 16 144 144 144 144 148: 11(int) Constant 60 149: 107(int) Constant 1 150: TypePointer Function 21(fvec3) 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 47 16 154: TypeMatrix 18(fvec4) 4 156: 130(bool) ConstantTrue 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 156 157: TypeArray 154 95 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 155 95 159: TypeArray 154 95 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 155 95 161(UBO): TypeStruct 157 159 18(fvec4) 164: 11(int) Constant 28 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 158 26 164 55 16 16 17 167: 11(int) Constant 29 168: 11(int) Constant 20 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 166 160 26 167 168 16 16 17 171: 11(int) Constant 30 172: 11(int) Constant 17 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 170 20 26 171 172 16 16 17 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 174 40 26 148 16 42 174 16 17 162 165 169 175(ubo): TypeStruct 161(UBO) 178: 11(int) Constant 33 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 177 173 26 178 28 16 16 17 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 40 26 148 16 42 177 16 17 176 180: TypePointer Uniform 175(ubo) 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 179 95 16 182: 180(ptr) Variable Uniform 185: 11(int) Constant 8 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 184 179 26 148 16 42 184 182 185 187: TypePointer Uniform 154 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 155 95 16 191: TypeMatrix 21(fvec3) 3 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 156 202: 107(int) Constant 4 205: 11(int) Constant 61 206: 107(int) Constant 2 210: TypePointer Function 18(fvec4) 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 47 16 215: 11(int) Constant 63 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 214 20 26 215 16 134 19 224: 11(int) Constant 64 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 20 26 224 16 134 19 235: 11(int) Constant 66 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 234 22 26 235 16 134 19 238: TypePointer Uniform 18(fvec4) 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 95 16 247: 107(int) Constant 6 250: 11(int) Constant 67 255: 107(int) Constant 5 258: 11(int) Constant 68 264: 11(int) Constant 70 272: 11(int) Constant 73 276: 11(int) Constant 74 278: TypePointer Output 18(fvec4) 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 280(outStream.Pos): 278(ptr) Variable Output 283: 11(int) Constant 75 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 282 20 26 283 16 42 282 280(outStream.Pos) 185 287: TypePointer Output 11(int) 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 289(outStream.ViewportIndex): 287(ptr) Variable Output 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 291 13 26 283 16 42 291 289(outStream.ViewportIndex) 185 294(outStream.PrimitiveID): 287(ptr) Variable Output 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 296 13 26 283 16 42 296 294(outStream.PrimitiveID) 185 299: TypePointer Output 21(fvec3) 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 301(outStream.Normal): 299(ptr) Variable Output 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 303 22 26 283 16 42 303 301(outStream.Normal) 185 306(outStream.Color): 299(ptr) Variable Output 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 308 22 26 283 16 42 308 306(outStream.Color) 185 311(outStream.ViewVec): 299(ptr) Variable Output 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 313 22 26 283 16 42 313 311(outStream.ViewVec) 185 316(outStream.LightVec): 299(ptr) Variable Output 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 318 22 26 283 16 42 318 316(outStream.LightVec) 185 327: 11(int) Constant 78 330: TypeArray 18(fvec4) 17 331: TypePointer Input 330 332(input.Pos): 331(ptr) Variable Input 333: TypePointer Input 18(fvec4) 337: TypeArray 21(fvec3) 17 338: TypePointer Input 337 339(input.Normal): 338(ptr) Variable Input 340: TypePointer Input 21(fvec3) 344(input.Color): 338(ptr) Variable Input 367: TypePointer Input 11(int) 368(InvocationID): 367(ptr) Variable Input 371(PrimitiveID): 367(ptr) Variable Input 6(main): 4 Function None 5 7: Label 329(input): 46(ptr) Variable Function 366(InvocationID): 75(ptr) Variable Function 370(PrimitiveID): 75(ptr) Variable Function 373(outStream): 73(ptr) Variable Function 374(param): 46(ptr) Variable Function 376(param): 73(ptr) Variable Function 377(param): 75(ptr) Variable Function 379(param): 75(ptr) Variable Function 334: 333(ptr) AccessChain 332(input.Pos) 118 335: 18(fvec4) Load 334 336: 210(ptr) AccessChain 329(input) 118 118 Store 336 335 341: 340(ptr) AccessChain 339(input.Normal) 118 342: 21(fvec3) Load 341 343: 150(ptr) AccessChain 329(input) 118 149 Store 343 342 345: 340(ptr) AccessChain 344(input.Color) 118 346: 21(fvec3) Load 345 347: 150(ptr) AccessChain 329(input) 118 206 Store 347 346 348: 333(ptr) AccessChain 332(input.Pos) 149 349: 18(fvec4) Load 348 350: 210(ptr) AccessChain 329(input) 149 118 Store 350 349 351: 340(ptr) AccessChain 339(input.Normal) 149 352: 21(fvec3) Load 351 353: 150(ptr) AccessChain 329(input) 149 149 Store 353 352 354: 340(ptr) AccessChain 344(input.Color) 149 355: 21(fvec3) Load 354 356: 150(ptr) AccessChain 329(input) 149 206 Store 356 355 357: 333(ptr) AccessChain 332(input.Pos) 206 358: 18(fvec4) Load 357 359: 210(ptr) AccessChain 329(input) 206 118 Store 359 358 360: 340(ptr) AccessChain 339(input.Normal) 206 361: 21(fvec3) Load 360 362: 150(ptr) AccessChain 329(input) 206 149 Store 362 361 363: 340(ptr) AccessChain 344(input.Color) 206 364: 21(fvec3) Load 363 365: 150(ptr) AccessChain 329(input) 206 206 Store 365 364 369: 11(int) Load 368(InvocationID) Store 366(InvocationID) 369 372: 11(int) Load 371(PrimitiveID) Store 370(PrimitiveID) 372 375: 44 Load 329(input) Store 374(param) 375 378: 11(int) Load 366(InvocationID) Store 377(param) 378 380: 11(int) Load 370(PrimitiveID) Store 379(param) 380 381: 4 FunctionCall 83(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 374(param) 376(param) 377(param) 379(param) 382:49(GSOutput) Load 376(param) Store 373(outStream) 382 Return FunctionEnd 83(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 77 79(input): 46(ptr) FunctionParameter 80(outStream): 73(ptr) FunctionParameter 81(InvocationID): 75(ptr) FunctionParameter 82(PrimitiveID): 75(ptr) FunctionParameter 84: Label 112(i): 110(ptr) Variable Function 135(output): 73(ptr) Variable Function 212(pos): 210(ptr) Variable Function 221(worldPos): 210(ptr) Variable Function 232(lPos): 150(ptr) Variable Function 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 86 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 41 41 16 16 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 79(input) 90 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 93 80(outStream) 90 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 97 81(InvocationID) 90 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 100 82(PrimitiveID) 90 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 86 83(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 104 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 105 105 16 16 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 112(i) 90 Store 112(i) 118 Branch 119 119: Label 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 104 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 105 105 16 16 LoopMerge 121 122 None Branch 125 125: Label 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 104 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 105 105 16 16 126: 107(int) Load 112(i) 133: 130(bool) SLessThan 126 129 BranchConditional 133 120 121 120: Label 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 134 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 138 138 16 16 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 136 135(output) 90 Store 135(output) 145 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 148 148 16 16 146: 107(int) Load 112(i) 152: 150(ptr) AccessChain 79(input) 146 149 153: 21(fvec3) Load 152 186: 11(int) Load 81(InvocationID) 189: 187(ptr) AccessChain 182 118 149 186 190: 154 Load 189 193: 18(fvec4) CompositeExtract 190 0 194: 21(fvec3) VectorShuffle 193 193 0 1 2 195: 18(fvec4) CompositeExtract 190 1 196: 21(fvec3) VectorShuffle 195 195 0 1 2 197: 18(fvec4) CompositeExtract 190 2 198: 21(fvec3) VectorShuffle 197 197 0 1 2 199: 191 CompositeConstruct 194 196 198 200: 21(fvec3) VectorTimesMatrix 153 199 201: 150(ptr) AccessChain 135(output) 129 Store 201 200 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 205 205 16 16 203: 107(int) Load 112(i) 207: 150(ptr) AccessChain 79(input) 203 206 208: 21(fvec3) Load 207 209: 150(ptr) AccessChain 135(output) 202 Store 209 208 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 215 215 16 16 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 213 212(pos) 90 218: 107(int) Load 112(i) 219: 210(ptr) AccessChain 79(input) 218 118 220: 18(fvec4) Load 219 Store 212(pos) 220 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 224 224 16 16 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 222 221(worldPos) 90 227: 18(fvec4) Load 212(pos) 228: 11(int) Load 81(InvocationID) 229: 187(ptr) AccessChain 182 118 149 228 230: 154 Load 229 231: 18(fvec4) VectorTimesMatrix 227 230 Store 221(worldPos) 231 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 235 235 16 16 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 233 232(lPos) 90 240: 238(ptr) AccessChain 182 118 206 241: 18(fvec4) Load 240 242: 11(int) Load 81(InvocationID) 243: 187(ptr) AccessChain 182 118 149 242 244: 154 Load 243 245: 18(fvec4) VectorTimesMatrix 241 244 246: 21(fvec3) VectorShuffle 245 245 0 1 2 Store 232(lPos) 246 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 250 250 16 16 248: 21(fvec3) Load 232(lPos) 251: 18(fvec4) Load 221(worldPos) 252: 21(fvec3) VectorShuffle 251 251 0 1 2 253: 21(fvec3) FSub 248 252 254: 150(ptr) AccessChain 135(output) 247 Store 254 253 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 258 258 16 16 256: 18(fvec4) Load 221(worldPos) 259: 21(fvec3) VectorShuffle 256 256 0 1 2 260: 21(fvec3) FNegate 259 261: 150(ptr) AccessChain 135(output) 255 Store 261 260 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 264 264 16 16 262: 18(fvec4) Load 221(worldPos) 265: 11(int) Load 81(InvocationID) 266: 187(ptr) AccessChain 182 118 118 265 267: 154 Load 266 268: 18(fvec4) VectorTimesMatrix 262 267 269: 210(ptr) AccessChain 135(output) 118 Store 269 268 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 272 272 16 16 270: 11(int) Load 81(InvocationID) 273: 75(ptr) AccessChain 135(output) 149 Store 273 270 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 276 276 16 16 274: 11(int) Load 82(PrimitiveID) 277: 75(ptr) AccessChain 135(output) 206 Store 277 274 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 283 283 16 16 284: 210(ptr) AccessChain 135(output) 118 286: 18(fvec4) Load 284 Store 280(outStream.Pos) 286 292: 75(ptr) AccessChain 135(output) 149 293: 11(int) Load 292 Store 289(outStream.ViewportIndex) 293 297: 75(ptr) AccessChain 135(output) 206 298: 11(int) Load 297 Store 294(outStream.PrimitiveID) 298 304: 150(ptr) AccessChain 135(output) 129 305: 21(fvec3) Load 304 Store 301(outStream.Normal) 305 309: 150(ptr) AccessChain 135(output) 202 310: 21(fvec3) Load 309 Store 306(outStream.Color) 310 314: 150(ptr) AccessChain 135(output) 255 315: 21(fvec3) Load 314 Store 311(outStream.ViewVec) 315 319: 150(ptr) AccessChain 135(output) 247 320: 21(fvec3) Load 319 Store 316(outStream.LightVec) 320 EmitVertex Branch 122 122: Label 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 104 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 105 105 16 16 321: 107(int) Load 112(i) 324: 107(int) IAdd 321 149 Store 112(i) 324 Branch 119 121: Label 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 103 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 327 327 16 16 EndPrimitive 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 86 Return FunctionEnd