spv.subgroup.frag
// Module Version 10300
// Generated by (magic number): 80006
// Id's are bound by 17

                              Capability Shader
                              Capability GroupNonUniform
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 9 11 13
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              Name 4  "main"
                              Name 9  "data"
                              Name 11  "gl_SubgroupSize"
                              Name 13  "gl_SubgroupInvocationID"
                              Decorate 9(data) Location 0
                              Decorate 11(gl_SubgroupSize) RelaxedPrecision
                              Decorate 11(gl_SubgroupSize) Flat
                              Decorate 11(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 12 RelaxedPrecision
                              Decorate 13(gl_SubgroupInvocationID) RelaxedPrecision
                              Decorate 13(gl_SubgroupInvocationID) Flat
                              Decorate 13(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                              Decorate 14 RelaxedPrecision
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeVector 6(int) 4
               8:             TypePointer Output 7(ivec4)
         9(data):      8(ptr) Variable Output
              10:             TypePointer Input 6(int)
11(gl_SubgroupSize):     10(ptr) Variable Input
13(gl_SubgroupInvocationID):     10(ptr) Variable Input
              15:      6(int) Constant 0
         4(main):           2 Function None 3
               5:             Label
              12:      6(int) Load 11(gl_SubgroupSize)
              14:      6(int) Load 13(gl_SubgroupInvocationID)
              16:    7(ivec4) CompositeConstruct 12 14 15 15
                              Store 9(data) 16
                              Return
                              FunctionEnd
