spv.debuginfo.scalar_types.glsl.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 146

                              Capability Shader
                              Capability Float16
                              Capability Float64
                              Capability Int64
                              Capability Int16
                              Capability Int8
                              Extension  "SPV_KHR_non_semantic_info"
               2:             ExtInstImport  "NonSemantic.Shader.DebugInfo.100"
               3:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 14  "main"
                              ExecutionMode 14 OriginUpperLeft
               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
"
              29:             String  "bool"
              34:             String  "VAR_bool"
              41:             String  "int"
              46:             String  "VAR_int"
              53:             String  "VAR_uint"
              57:             String  "float"
              62:             String  "VAR_float"
              67:             String  "double"
              73:             String  "VAR_double"
              78:             String  "int8_t"
              83:             String  "VAR_int8_t"
              88:             String  "uint8_t"
              93:             String  "VAR_uint8_t"
              98:             String  "int16_t"
             104:             String  "VAR_int16_t"
             109:             String  "uint16_t"
             114:             String  "VAR_uint16_t"
             119:             String  "int64_t"
             124:             String  "VAR_int64_t"
             129:             String  "uint64_t"
             134:             String  "VAR_uint64_t"
             139:             String  "float16_t"
             144:             String  "VAR_float16_t"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
                              Name 14  "main"
                              Name 32  "VAR_bool"
                              Name 44  "VAR_int"
                              Name 51  "VAR_uint"
                              Name 60  "VAR_float"
                              Name 71  "VAR_double"
                              Name 81  "VAR_int8_t"
                              Name 91  "VAR_uint8_t"
                              Name 102  "VAR_int16_t"
                              Name 112  "VAR_uint16_t"
                              Name 122  "VAR_int64_t"
                              Name 132  "VAR_uint64_t"
                              Name 142  "VAR_float16_t"
               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
              27:      7(int) Constant 43
              28:             TypeBool
              30:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 29 10 22 12
              31:             TypePointer Private 28(bool)
    32(VAR_bool):     31(ptr) Variable Private
              35:      7(int) Constant 8
              33:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 34 30 17 27 12 19 34 32(VAR_bool) 35
              36:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 29 10 22 12
              37:    28(bool) ConstantFalse
              39:      7(int) Constant 44
              40:             TypeInt 32 1
              42:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 41 10 21 12
              43:             TypePointer Private 40(int)
     44(VAR_int):     43(ptr) Variable Private
              45:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 46 42 17 39 12 19 46 44(VAR_int) 35
              47:     40(int) Constant 0
              49:      7(int) Constant 45
              50:             TypePointer Private 7(int)
    51(VAR_uint):     50(ptr) Variable Private
              52:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 53 9 17 49 12 19 53 51(VAR_uint) 35
              55:      7(int) Constant 46
              56:             TypeFloat 32
              58:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 57 10 13 12
              59:             TypePointer Private 56(float)
   60(VAR_float):     59(ptr) Variable Private
              61:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 62 58 17 55 12 19 62 60(VAR_float) 35
              63:   56(float) Constant 0
              65:      7(int) Constant 47
              66:             TypeFloat 64
              69:      7(int) Constant 64
              68:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 67 69 13 12
              70:             TypePointer Private 66(float64_t)
  71(VAR_double):     70(ptr) Variable Private
              72:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 73 68 17 65 12 19 73 71(VAR_double) 35
              74:66(float64_t) Constant 0 0
              76:      7(int) Constant 48
              77:             TypeInt 8 1
              79:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 78 35 21 12
              80:             TypePointer Private 77(int8_t)
  81(VAR_int8_t):     80(ptr) Variable Private
              82:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 83 79 17 76 12 19 83 81(VAR_int8_t) 35
              84:  77(int8_t) Constant 0
              86:      7(int) Constant 49
              87:             TypeInt 8 0
              89:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 88 35 11 12
              90:             TypePointer Private 87(int8_t)
 91(VAR_uint8_t):     90(ptr) Variable Private
              92:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 93 89 17 86 12 19 93 91(VAR_uint8_t) 35
              94:  87(int8_t) Constant 0
              96:      7(int) Constant 50
              97:             TypeInt 16 1
             100:      7(int) Constant 16
              99:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 98 100 21 12
             101:             TypePointer Private 97(int16_t)
102(VAR_int16_t):    101(ptr) Variable Private
             103:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 104 99 17 96 12 19 104 102(VAR_int16_t) 35
             105: 97(int16_t) Constant 0
             107:      7(int) Constant 51
             108:             TypeInt 16 0
             110:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 109 100 11 12
             111:             TypePointer Private 108(int16_t)
112(VAR_uint16_t):    111(ptr) Variable Private
             113:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 114 110 17 107 12 19 114 112(VAR_uint16_t) 35
             115:108(int16_t) Constant 0
             117:      7(int) Constant 52
             118:             TypeInt 64 1
             120:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 119 69 21 12
             121:             TypePointer Private 118(int64_t)
122(VAR_int64_t):    121(ptr) Variable Private
             123:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 124 120 17 117 12 19 124 122(VAR_int64_t) 35
             125:118(int64_t) Constant 0 0
             127:      7(int) Constant 53
             128:             TypeInt 64 0
             130:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 129 69 11 12
             131:             TypePointer Private 128(int64_t)
132(VAR_uint64_t):    131(ptr) Variable Private
             133:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 134 130 17 127 12 19 134 132(VAR_uint64_t) 35
             135:128(int64_t) Constant 0 0
             137:      7(int) Constant 54
             138:             TypeFloat 16
             140:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 139 100 13 12
             141:             TypePointer Private 138(float16_t)
142(VAR_float16_t):    141(ptr) Variable Private
             143:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 144 140 17 137 12 19 144 142(VAR_float16_t) 35
             145:138(float16_t) Constant 0
                              Line 1 42 11
        14(main):           4 Function None 5
              23:             Label
              24:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 16 14(main)
              25:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 16
              26:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 27 27 12 12
                              Store 32(VAR_bool) 37
              38:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 39 39 12 12
                              Store 44(VAR_int) 47
              48:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 49 49 12 12
                              Store 51(VAR_uint) 12
              54:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 55 55 12 12
                              Store 60(VAR_float) 63
              64:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 65 65 12 12
                              Store 71(VAR_double) 74
              75:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 76 76 12 12
                              Store 81(VAR_int8_t) 84
              85:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 86 86 12 12
                              Store 91(VAR_uint8_t) 94
              95:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 96 96 12 12
                              Store 102(VAR_int16_t) 105
             106:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 107 107 12 12
                              Store 112(VAR_uint16_t) 115
             116:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 117 117 12 12
                              Store 122(VAR_int64_t) 125
             126:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 127 127 12 12
                              Store 132(VAR_uint64_t) 135
             136:           4 ExtInst 2(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 17 137 137 12 12
                              Store 142(VAR_float16_t) 145
                              Return
                              FunctionEnd
