spv.offsets.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 15

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 7  "n1"
                              MemberName 7(n1) 0  "a"
                              MemberName 7(n1) 1  "b"
                              MemberName 7(n1) 2  "c"
                              MemberName 7(n1) 3  "d"
                              Name 9  "i1"
                              Name 12  "n2"
                              MemberName 12(n2) 0  "e"
                              MemberName 12(n2) 1  "f"
                              MemberName 12(n2) 2  "g"
                              MemberName 12(n2) 3  "h"
                              Name 14  "i2"
                              MemberDecorate 7(n1) 0 Offset 8
                              MemberDecorate 7(n1) 1 Offset 4
                              MemberDecorate 7(n1) 2 Offset 0
                              MemberDecorate 7(n1) 3 Offset 12
                              Decorate 7(n1) Block
                              Decorate 9(i1) DescriptorSet 0
                              Decorate 9(i1) Binding 0
                              MemberDecorate 12(n2) 0 Offset 32
                              MemberDecorate 12(n2) 1 Offset 48
                              MemberDecorate 12(n2) 2 Offset 16
                              MemberDecorate 12(n2) 3 Offset 0
                              Decorate 12(n2) BufferBlock
                              Decorate 14(i2) DescriptorSet 0
                              Decorate 14(i2) Binding 1
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
           7(n1):             TypeStruct 6(int) 6(int) 6(int) 6(int)
               8:             TypePointer Uniform 7(n1)
           9(i1):      8(ptr) Variable Uniform
              10:             TypeFloat 32
              11:             TypeVector 10(float) 3
          12(n2):             TypeStruct 11(fvec3) 11(fvec3) 11(fvec3) 11(fvec3)
              13:             TypePointer Uniform 12(n2)
          14(i2):     13(ptr) Variable Uniform
         4(main):           2 Function None 3
               5:             Label
                              Return
                              FunctionEnd
