spv.WorkgroupMemoryExplicitLayout.std140.comp
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 29

                              Capability Shader
                              Capability CapabilityWorkgroupMemoryExplicitLayoutKHR
                              Extension  "SPV_KHR_workgroup_memory_explicit_layout"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 28
                              ExecutionMode 4 LocalSize 8 1 1
                              Source GLSL 430
                              SourceExtension  "GL_EXT_shared_memory_block"
                              Name 4  "main"
                              Name 17  "T"
                              MemberName 17(T) 0  "t"
                              Name 24  "S"
                              MemberName 24(S) 0  "f"
                              MemberName 24(S) 1  "v2"
                              MemberName 24(S) 2  "v3"
                              MemberName 24(S) 3  "v4"
                              MemberName 24(S) 4  "t"
                              MemberName 24(S) 5  "f_array"
                              MemberName 24(S) 6  "v2_array"
                              MemberName 24(S) 7  "v3_array"
                              MemberName 24(S) 8  "v4_array"
                              MemberName 24(S) 9  "t_array"
                              Name 26  "Block"
                              MemberName 26(Block) 0  "s"
                              MemberName 26(Block) 1  "s_array"
                              Name 28  ""
                              Decorate 10 BuiltIn WorkgroupSize
                              Decorate 16 ArrayStride 16
                              MemberDecorate 17(T) 0 Offset 0
                              Decorate 19 ArrayStride 16
                              Decorate 20 ArrayStride 16
                              Decorate 21 ArrayStride 16
                              Decorate 22 ArrayStride 16
                              Decorate 23 ArrayStride 48
                              MemberDecorate 24(S) 0 Offset 0
                              MemberDecorate 24(S) 1 Offset 8
                              MemberDecorate 24(S) 2 Offset 16
                              MemberDecorate 24(S) 3 Offset 32
                              MemberDecorate 24(S) 4 Offset 48
                              MemberDecorate 24(S) 5 Offset 96
                              MemberDecorate 24(S) 6 Offset 192
                              MemberDecorate 24(S) 7 Offset 288
                              MemberDecorate 24(S) 8 Offset 384
                              MemberDecorate 24(S) 9 Offset 480
                              Decorate 25 ArrayStride 768
                              MemberDecorate 26(Block) 0 Offset 0
                              MemberDecorate 26(Block) 1 Offset 768
                              Decorate 26(Block) Block
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeVector 6(int) 3
               8:      6(int) Constant 8
               9:      6(int) Constant 1
              10:    7(ivec3) ConstantComposite 8 9 9
              11:             TypeFloat 32
              12:             TypeVector 11(float) 2
              13:             TypeVector 11(float) 3
              14:             TypeVector 11(float) 4
              15:      6(int) Constant 3
              16:             TypeArray 11(float) 15
           17(T):             TypeStruct 16
              18:      6(int) Constant 6
              19:             TypeArray 11(float) 18
              20:             TypeArray 12(fvec2) 18
              21:             TypeArray 13(fvec3) 18
              22:             TypeArray 14(fvec4) 18
              23:             TypeArray 17(T) 18
           24(S):             TypeStruct 11(float) 12(fvec2) 13(fvec3) 14(fvec4) 17(T) 19 20 21 22 23
              25:             TypeArray 24(S) 18
       26(Block):             TypeStruct 24(S) 25
              27:             TypePointer Workgroup 26(Block)
              28:     27(ptr) Variable Workgroup
         4(main):           2 Function None 3
               5:             Label
                              Return
                              FunctionEnd
