spv.subpass.frag
// Module Version 10000
// Generated by (magic number): 80005
// Id's are bound by 67

                              Capability Shader
                              Capability InputAttachment
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 15 27 53
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 400
                              Name 4  "main"
                              Name 11  "foo(iIPM1;"
                              Name 10  "sb"
                              Name 15  "icolor"
                              Name 27  "color"
                              Name 30  "sub"
                              Name 35  "subMS"
                              Name 42  "isub"
                              Name 45  "isubMS"
                              Name 53  "ucolor"
                              Name 56  "usub"
                              Name 61  "usubMS"
                              Decorate 30(sub) DescriptorSet 0
                              Decorate 30(sub) InputAttachmentIndex 1
                              Decorate 35(subMS) DescriptorSet 0
                              Decorate 35(subMS) InputAttachmentIndex 2
                              Decorate 42(isub) DescriptorSet 0
                              Decorate 42(isub) InputAttachmentIndex 3
                              Decorate 45(isubMS) DescriptorSet 0
                              Decorate 45(isubMS) InputAttachmentIndex 4
                              Decorate 56(usub) DescriptorSet 0
                              Decorate 56(usub) InputAttachmentIndex 5
                              Decorate 61(usubMS) DescriptorSet 0
                              Decorate 61(usubMS) InputAttachmentIndex 6
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeImage 6(int) SubpassData multi-sampled nonsampled format:Unknown
               8:             TypePointer UniformConstant 7
               9:             TypeFunction 2 8(ptr)
              13:             TypeVector 6(int) 4
              14:             TypePointer Output 13(ivec4)
      15(icolor):     14(ptr) Variable Output
              17:      6(int) Constant 3
              18:      6(int) Constant 0
              19:             TypeVector 6(int) 2
              20:   19(ivec2) ConstantComposite 18 18
              24:             TypeFloat 32
              25:             TypeVector 24(float) 4
              26:             TypePointer Output 25(fvec4)
       27(color):     26(ptr) Variable Output
              28:             TypeImage 24(float) SubpassData nonsampled format:Unknown
              29:             TypePointer UniformConstant 28
         30(sub):     29(ptr) Variable UniformConstant
              33:             TypeImage 24(float) SubpassData multi-sampled nonsampled format:Unknown
              34:             TypePointer UniformConstant 33
       35(subMS):     34(ptr) Variable UniformConstant
              40:             TypeImage 6(int) SubpassData nonsampled format:Unknown
              41:             TypePointer UniformConstant 40
        42(isub):     41(ptr) Variable UniformConstant
      45(isubMS):      8(ptr) Variable UniformConstant
              50:             TypeInt 32 0
              51:             TypeVector 50(int) 4
              52:             TypePointer Output 51(ivec4)
      53(ucolor):     52(ptr) Variable Output
              54:             TypeImage 50(int) SubpassData nonsampled format:Unknown
              55:             TypePointer UniformConstant 54
        56(usub):     55(ptr) Variable UniformConstant
              59:             TypeImage 50(int) SubpassData multi-sampled nonsampled format:Unknown
              60:             TypePointer UniformConstant 59
      61(usubMS):     60(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
              31:          28 Load 30(sub)
              32:   25(fvec4) ImageRead 31 20
                              Store 27(color) 32
              36:          33 Load 35(subMS)
              37:   25(fvec4) ImageRead 36 20 Sample 17
              38:   25(fvec4) Load 27(color)
              39:   25(fvec4) FAdd 38 37
                              Store 27(color) 39
              43:          40 Load 42(isub)
              44:   13(ivec4) ImageRead 43 20
                              Store 15(icolor) 44
              46:           7 Load 45(isubMS)
              47:   13(ivec4) ImageRead 46 20 Sample 17
              48:   13(ivec4) Load 15(icolor)
              49:   13(ivec4) IAdd 48 47
                              Store 15(icolor) 49
              57:          54 Load 56(usub)
              58:   51(ivec4) ImageRead 57 20
                              Store 53(ucolor) 58
              62:          59 Load 61(usubMS)
              63:   51(ivec4) ImageRead 62 20 Sample 17
              64:   51(ivec4) Load 53(ucolor)
              65:   51(ivec4) IAdd 64 63
                              Store 53(ucolor) 65
              66:           2 FunctionCall 11(foo(iIPM1;) 45(isubMS)
                              Return
                              FunctionEnd
  11(foo(iIPM1;):           2 Function None 9
          10(sb):      8(ptr) FunctionParameter
              12:             Label
              16:           7 Load 10(sb)
              21:   13(ivec4) ImageRead 16 20 Sample 17
              22:   13(ivec4) Load 15(icolor)
              23:   13(ivec4) IAdd 22 21
                              Store 15(icolor) 23
                              Return
                              FunctionEnd
