spv.1.6.separate.frag
// Module Version 10600
// Generated by (magic number): 8000b
// Id's are bound by 27

                              Capability Shader
                              Capability SampledBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 13 18 24
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 400
                              Name 4  "main"
                              Name 9  "texBuffer"
                              Name 13  "s"
                              Name 18  "itexBuffer"
                              Name 24  "utexBuffer"
                              Decorate 9(texBuffer) DescriptorSet 0
                              Decorate 9(texBuffer) Binding 1
                              Decorate 13(s) DescriptorSet 0
                              Decorate 13(s) Binding 0
                              Decorate 18(itexBuffer) DescriptorSet 0
                              Decorate 18(itexBuffer) Binding 2
                              Decorate 24(utexBuffer) DescriptorSet 0
                              Decorate 24(utexBuffer) Binding 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeImage 6(float) Buffer sampled format:Unknown
               8:             TypePointer UniformConstant 7
    9(texBuffer):      8(ptr) Variable UniformConstant
              11:             TypeSampler
              12:             TypePointer UniformConstant 11
           13(s):     12(ptr) Variable UniformConstant
              15:             TypeInt 32 1
              16:             TypeImage 15(int) Buffer sampled format:Unknown
              17:             TypePointer UniformConstant 16
  18(itexBuffer):     17(ptr) Variable UniformConstant
              21:             TypeInt 32 0
              22:             TypeImage 21(int) Buffer sampled format:Unknown
              23:             TypePointer UniformConstant 22
  24(utexBuffer):     23(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
              10:           7 Load 9(texBuffer)
              14:          11 Load 13(s)
              19:          16 Load 18(itexBuffer)
              20:          11 Load 13(s)
              25:          22 Load 24(utexBuffer)
              26:          11 Load 13(s)
                              Return
                              FunctionEnd
