spv.hlslDebugInfo.vert
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 19

                              Capability Shader
               2:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 5  "newMain" 17
               1:             String  "spv.hlslDebugInfo.vert"
                              Source HLSL 500 1  "// OpModuleProcessed entry-point newMain
// OpModuleProcessed shift-sampler-binding 2
// OpModuleProcessed shift-texture-binding 4
// OpModuleProcessed shift-image-binding 1
// OpModuleProcessed shift-UBO-binding 6
// OpModuleProcessed shift-ssbo-binding 3
// OpModuleProcessed shift-uav-binding 5
// OpModuleProcessed no-storage-format
// OpModuleProcessed resource-set-binding t0 0 0
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed auto-map-locations
// OpModuleProcessed flatten-uniform-arrays
// OpModuleProcessed hlsl-iomap
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed source-entrypoint origMain
// OpModuleProcessed hlsl-offsets
#line 1
float4 origMain() : SV_Position
{
    return (float4)0;
}
"
                              Name 5  "newMain"
                              Name 10  "@newMain("
                              Name 17  "@entryPointOutput"
                              Decorate 17(@entryPointOutput) BuiltIn Position
               3:             TypeVoid
               4:             TypeFunction 3
               7:             TypeFloat 32
               8:             TypeVector 7(float) 4
               9:             TypeFunction 8(fvec4)
              12:    7(float) Constant 0
              13:    8(fvec4) ConstantComposite 12 12 12 12
              16:             TypePointer Output 8(fvec4)
17(@entryPointOutput):     16(ptr) Variable Output
      5(newMain):           3 Function None 4
               6:             Label
                              Line 1 2 0
              18:    8(fvec4) FunctionCall 10(@newMain()
                              Store 17(@entryPointOutput) 18
                              Return
                              FunctionEnd
   10(@newMain():    8(fvec4) Function None 9
              11:             Label
                              Line 1 3 0
                              ReturnValue 13
                              FunctionEnd
