spv.glsl.register.noautoassign.frag
// Module Version 10000
// Generated by (magic number): 80002
// Id's are bound by 142

                              Capability Shader
                              Capability Sampled1D
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 137
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "Func1("
                              Name 11  "Func2("
                              Name 13  "Func2_unused("
                              Name 17  "g_tTex1"
                              Name 21  "g_sSamp1"
                              Name 27  "g_tTex2"
                              Name 29  "g_sSamp2"
                              Name 39  "g_tTex3"
                              Name 46  "g_sSamp3"
                              Name 64  "g_tTex4"
                              Name 69  "g_sSamp4"
                              Name 84  "g_tTex5"
                              Name 86  "g_sSamp5"
                              Name 93  "MyStruct_t"
                              MemberName 93(MyStruct_t) 0  "a"
                              MemberName 93(MyStruct_t) 1  "b"
                              MemberName 93(MyStruct_t) 2  "c"
                              Name 95  "myblock"
                              MemberName 95(myblock) 0  "mystruct"
                              MemberName 95(myblock) 1  "myvec4_a"
                              MemberName 95(myblock) 2  "myvec4_b"
                              MemberName 95(myblock) 3  "myint4_a"
                              Name 97  ""
                              Name 119  "g_tTex_unused1"
                              Name 121  "g_sSamp_unused1"
                              Name 126  "g_tTex_unused2"
                              Name 128  "g_sSamp_unused2"
                              Name 137  "FragColor"
                              Name 141  "g_tTex_unused3"
                              Decorate 17(g_tTex1) DescriptorSet 0
                              Decorate 17(g_tTex1) Binding 11
                              Decorate 21(g_sSamp1) DescriptorSet 0
                              Decorate 21(g_sSamp1) Binding 5
                              Decorate 27(g_tTex2) DescriptorSet 0
                              Decorate 29(g_sSamp2) DescriptorSet 0
                              Decorate 39(g_tTex3) DescriptorSet 0
                              Decorate 39(g_tTex3) Binding 13
                              Decorate 46(g_sSamp3) DescriptorSet 0
                              Decorate 46(g_sSamp3) Binding 7
                              Decorate 64(g_tTex4) DescriptorSet 0
                              Decorate 69(g_sSamp4) DescriptorSet 0
                              Decorate 84(g_tTex5) DescriptorSet 0
                              Decorate 86(g_sSamp5) DescriptorSet 0
                              MemberDecorate 93(MyStruct_t) 0 Offset 0
                              MemberDecorate 93(MyStruct_t) 1 Offset 4
                              MemberDecorate 93(MyStruct_t) 2 Offset 16
                              MemberDecorate 95(myblock) 0 Offset 0
                              MemberDecorate 95(myblock) 1 Offset 32
                              MemberDecorate 95(myblock) 2 Offset 48
                              MemberDecorate 95(myblock) 3 Offset 64
                              Decorate 95(myblock) Block
                              Decorate 97 DescriptorSet 0
                              Decorate 97 Binding 19
                              Decorate 119(g_tTex_unused1) DescriptorSet 0
                              Decorate 119(g_tTex_unused1) Binding 10
                              Decorate 121(g_sSamp_unused1) DescriptorSet 0
                              Decorate 126(g_tTex_unused2) DescriptorSet 0
                              Decorate 126(g_tTex_unused2) Binding 12
                              Decorate 128(g_sSamp_unused2) DescriptorSet 0
                              Decorate 137(FragColor) Location 0
                              Decorate 141(g_tTex_unused3) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              15:             TypeImage 6(float) 1D sampled format:Unknown
              16:             TypePointer UniformConstant 15
     17(g_tTex1):     16(ptr) Variable UniformConstant
              19:             TypeSampler
              20:             TypePointer UniformConstant 19
    21(g_sSamp1):     20(ptr) Variable UniformConstant
              23:             TypeSampledImage 15
              25:    6(float) Constant 1036831949
     27(g_tTex2):     16(ptr) Variable UniformConstant
    29(g_sSamp2):     20(ptr) Variable UniformConstant
              32:    6(float) Constant 1045220557
              35:             TypeInt 32 0
              36:     35(int) Constant 2
              37:             TypeArray 15 36
              38:             TypePointer UniformConstant 37
     39(g_tTex3):     38(ptr) Variable UniformConstant
              40:             TypeInt 32 1
              41:     40(int) Constant 0
              44:             TypeArray 19 36
              45:             TypePointer UniformConstant 44
    46(g_sSamp3):     45(ptr) Variable UniformConstant
              50:    6(float) Constant 1050253722
              53:     40(int) Constant 1
              61:     35(int) Constant 3
              62:             TypeArray 15 61
              63:             TypePointer UniformConstant 62
     64(g_tTex4):     63(ptr) Variable UniformConstant
              67:             TypeArray 19 61
              68:             TypePointer UniformConstant 67
    69(g_sSamp4):     68(ptr) Variable UniformConstant
              73:    6(float) Constant 1053609165
              76:     40(int) Constant 2
     84(g_tTex5):     16(ptr) Variable UniformConstant
    86(g_sSamp5):     20(ptr) Variable UniformConstant
              89:    6(float) Constant 1056964608
              92:             TypeVector 6(float) 3
  93(MyStruct_t):             TypeStruct 40(int) 6(float) 92(fvec3)
              94:             TypeVector 40(int) 4
     95(myblock):             TypeStruct 93(MyStruct_t) 7(fvec4) 7(fvec4) 94(ivec4)
              96:             TypePointer Uniform 95(myblock)
              97:     96(ptr) Variable Uniform
              98:     35(int) Constant 1
              99:             TypePointer Uniform 6(float)
119(g_tTex_unused1):     16(ptr) Variable UniformConstant
121(g_sSamp_unused1):     20(ptr) Variable UniformConstant
             124:    6(float) Constant 1066192077
126(g_tTex_unused2):     16(ptr) Variable UniformConstant
128(g_sSamp_unused2):     20(ptr) Variable UniformConstant
             131:    6(float) Constant 1067030938
             136:             TypePointer Output 7(fvec4)
  137(FragColor):    136(ptr) Variable Output
141(g_tTex_unused3):     16(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
             138:    7(fvec4) FunctionCall 9(Func1()
             139:    7(fvec4) FunctionCall 11(Func2()
             140:    7(fvec4) FAdd 138 139
                              Store 137(FragColor) 140
                              Return
                              FunctionEnd
       9(Func1():    7(fvec4) Function None 8
              10:             Label
              18:          15 Load 17(g_tTex1)
              22:          19 Load 21(g_sSamp1)
              24:          23 SampledImage 18 22
              26:    7(fvec4) ImageSampleImplicitLod 24 25
              28:          15 Load 27(g_tTex2)
              30:          19 Load 29(g_sSamp2)
              31:          23 SampledImage 28 30
              33:    7(fvec4) ImageSampleImplicitLod 31 32
              34:    7(fvec4) FAdd 26 33
              42:     16(ptr) AccessChain 39(g_tTex3) 41
              43:          15 Load 42
              47:     20(ptr) AccessChain 46(g_sSamp3) 41
              48:          19 Load 47
              49:          23 SampledImage 43 48
              51:    7(fvec4) ImageSampleImplicitLod 49 50
              52:    7(fvec4) FAdd 34 51
              54:     16(ptr) AccessChain 39(g_tTex3) 53
              55:          15 Load 54
              56:     20(ptr) AccessChain 46(g_sSamp3) 53
              57:          19 Load 56
              58:          23 SampledImage 55 57
              59:    7(fvec4) ImageSampleImplicitLod 58 50
              60:    7(fvec4) FAdd 52 59
              65:     16(ptr) AccessChain 64(g_tTex4) 53
              66:          15 Load 65
              70:     20(ptr) AccessChain 69(g_sSamp4) 53
              71:          19 Load 70
              72:          23 SampledImage 66 71
              74:    7(fvec4) ImageSampleImplicitLod 72 73
              75:    7(fvec4) FAdd 60 74
              77:     16(ptr) AccessChain 64(g_tTex4) 76
              78:          15 Load 77
              79:     20(ptr) AccessChain 69(g_sSamp4) 76
              80:          19 Load 79
              81:          23 SampledImage 78 80
              82:    7(fvec4) ImageSampleImplicitLod 81 73
              83:    7(fvec4) FAdd 75 82
              85:          15 Load 84(g_tTex5)
              87:          19 Load 86(g_sSamp5)
              88:          23 SampledImage 85 87
              90:    7(fvec4) ImageSampleImplicitLod 88 89
              91:    7(fvec4) FAdd 83 90
             100:     99(ptr) AccessChain 97 41 76 98
             101:    6(float) Load 100
             102:    7(fvec4) CompositeConstruct 101 101 101 101
             103:    7(fvec4) FAdd 91 102
                              ReturnValue 103
                              FunctionEnd
      11(Func2():    7(fvec4) Function None 8
              12:             Label
             106:          15 Load 17(g_tTex1)
             107:          19 Load 21(g_sSamp1)
             108:          23 SampledImage 106 107
             109:    7(fvec4) ImageSampleImplicitLod 108 25
             110:     16(ptr) AccessChain 39(g_tTex3) 53
             111:          15 Load 110
             112:     20(ptr) AccessChain 46(g_sSamp3) 53
             113:          19 Load 112
             114:          23 SampledImage 111 113
             115:    7(fvec4) ImageSampleImplicitLod 114 50
             116:    7(fvec4) FAdd 109 115
                              ReturnValue 116
                              FunctionEnd
13(Func2_unused():    7(fvec4) Function None 8
              14:             Label
             120:          15 Load 119(g_tTex_unused1)
             122:          19 Load 121(g_sSamp_unused1)
             123:          23 SampledImage 120 122
             125:    7(fvec4) ImageSampleImplicitLod 123 124
             127:          15 Load 126(g_tTex_unused2)
             129:          19 Load 128(g_sSamp_unused2)
             130:          23 SampledImage 127 129
             132:    7(fvec4) ImageSampleImplicitLod 130 131
             133:    7(fvec4) FAdd 125 132
                              ReturnValue 133
                              FunctionEnd
