spv.set.vert
// Module Version 10000
// Generated by (magic number): 80005
// Id's are bound by 22

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 9
                              Source GLSL 450
                              Name 4  "main"
                              Name 9  "color"
                              Name 10  "setBuf"
                              MemberName 10(setBuf) 0  "color"
                              Name 12  "setBufInst"
                              Name 21  "samp2D"
                              MemberDecorate 10(setBuf) 0 Offset 0
                              Decorate 10(setBuf) BufferBlock
                              Decorate 12(setBufInst) DescriptorSet 0
                              Decorate 12(setBufInst) Binding 8
                              Decorate 21(samp2D) DescriptorSet 4
                              Decorate 21(samp2D) Binding 7
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Output 7(fvec4)
        9(color):      8(ptr) Variable Output
      10(setBuf):             TypeStruct 7(fvec4)
              11:             TypePointer Uniform 10(setBuf)
  12(setBufInst):     11(ptr) Variable Uniform
              13:             TypeInt 32 1
              14:     13(int) Constant 0
              15:             TypePointer Uniform 7(fvec4)
              18:             TypeImage 6(float) 2D sampled format:Unknown
              19:             TypeSampledImage 18
              20:             TypePointer UniformConstant 19
      21(samp2D):     20(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
              16:     15(ptr) AccessChain 12(setBufInst) 14
              17:    7(fvec4) Load 16
                              Store 9(color) 17
                              Return
                              FunctionEnd
