spv.noWorkgroup.comp
// Module Version 10000
// Generated by (magic number): 80006
// Id's are bound by 12

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main"
                              ExecutionMode 4 LocalSize 1 1 1
                              Source GLSL 450
                              Name 4  "main"
                              Decorate 7 SpecId 18
                              Decorate 8 SpecId 10
                              Decorate 9 SpecId 19
                              Decorate 11 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:      6(int) SpecConstant 1
               8:      6(int) SpecConstant 1
               9:      6(int) SpecConstant 1
              10:             TypeVector 6(int) 3
              11:   10(ivec3) SpecConstantComposite 7 8 9
         4(main):           2 Function None 3
               5:             Label
                              Return
                              FunctionEnd
