spv.debuginfo.const_params.glsl.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 68

                              Capability Shader
                              Extension  "SPV_KHR_non_semantic_info"
               2:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               3:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 14  "main"
                              ExecutionMode 14 LocalSize 1 1 1
               1:             String  ""
               8:             String  "uint"
              15:             String  "main"
              18:             String  "// OpModuleProcessed auto-map-locations
// OpModuleProcessed auto-map-bindings
// OpModuleProcessed client vulkan100
// OpModuleProcessed target-env vulkan1.0
// OpModuleProcessed keep-uncalled
// OpModuleProcessed entry-point main
#line 1
"
              25:             String  "float"
              40:             String  "function"
              46:             String  "f"
              50:             String  "f2"
              53:             String  "f3"
              56:             String  "f4"
                              Name 14  "main"
                              Name 39  "function(f1;vf2;vf3;vf4;"
                              Name 35  "f"
                              Name 36  "f2"
                              Name 37  "f3"
                              Name 38  "f4"
               4:             TypeVoid
               5:             TypeFunction 4
               7:             TypeInt 32 0
              10:      7(int) Constant 32
              11:      7(int) Constant 6
              12:      7(int) Constant 0
               9:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12
              13:      7(int) Constant 3
               6:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4
              17:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 1 18
              20:      7(int) Constant 1
              21:      7(int) Constant 4
              22:      7(int) Constant 2
              19:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 20 21 17 22
              16:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 15 6 17 12 12 19 15 13 12
              24:             TypeFloat 32
              26:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 25 10 13 12
              27:             TypeVector 24(float) 2
              28:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 22
              29:             TypeVector 24(float) 3
              30:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 13
              31:             TypeVector 24(float) 4
              32:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 26 21
              33:             TypeFunction 4 24(float) 27(fvec2) 29(fvec3) 31(fvec4)
              34:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 26 28 30 32
              41:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 40 34 17 12 12 19 40 13 12
              45:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 46 26 17 12 12 41 21 20
              48:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression)
              49:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 28 17 12 12 41 21 22
              52:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 30 17 12 12 41 21 13
              55:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 56 32 17 12 12 41 21 21
              62:      7(int) Constant 13
              63:   24(float) Constant 0
              64:   27(fvec2) ConstantComposite 63 63
              65:   29(fvec3) ConstantComposite 63 63 63
              66:   31(fvec4) ConstantComposite 63 63 63 63
                              Line 1 11 11
        14(main):           4 Function None 5
              23:             Label
              59:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 16 14(main)
              60:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 16
              61:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 62 62 12 12
              67:           4 FunctionCall 39(function(f1;vf2;vf3;vf4;) 63 64 65 66
                              Return
                              FunctionEnd
                              Line 1 7 18
39(function(f1;vf2;vf3;vf4;):           4 Function None 33
           35(f):   24(float) FunctionParameter
          36(f2):   27(fvec2) FunctionParameter
          37(f3):   29(fvec3) FunctionParameter
          38(f4):   31(fvec4) FunctionParameter
              42:             Label
              43:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 41
              44:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 12 12 12 12
              47:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 45 35(f) 48
              51:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 49 36(f2) 48
              54:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 37(f3) 48
              57:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 38(f4) 48
              58:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 41 39(function(f1;vf2;vf3;vf4;)
                              Return
                              FunctionEnd
