1spv.subgroupBasic.comp
2// Module Version 10300
3// Generated by (magic number): 80007
4// Id's are bound by 40
5
6                              Capability Shader
7                              Capability GroupNonUniform
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint GLCompute 4  "main" 14 19 22 25
11                              ExecutionMode 4 LocalSize 8 8 1
12                              Source GLSL 450
13                              SourceExtension  "GL_KHR_shader_subgroup_basic"
14                              Name 4  "main"
15                              Name 8  "Buffer"
16                              MemberName 8(Buffer) 0  "a"
17                              Name 10  "data"
18                              Name 14  "gl_SubgroupSize"
19                              Name 19  "gl_SubgroupInvocationID"
20                              Name 22  "gl_NumSubgroups"
21                              Name 25  "gl_SubgroupID"
22                              Decorate 7 ArrayStride 4
23                              MemberDecorate 8(Buffer) 0 Offset 0
24                              Decorate 8(Buffer) BufferBlock
25                              Decorate 10(data) DescriptorSet 0
26                              Decorate 10(data) Binding 0
27                              Decorate 14(gl_SubgroupSize) RelaxedPrecision
28                              Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize
29                              Decorate 15 RelaxedPrecision
30                              Decorate 19(gl_SubgroupInvocationID) RelaxedPrecision
31                              Decorate 19(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
32                              Decorate 20 RelaxedPrecision
33                              Decorate 22(gl_NumSubgroups) BuiltIn NumSubgroups
34                              Decorate 25(gl_SubgroupID) BuiltIn SubgroupId
35                              Decorate 39 BuiltIn WorkgroupSize
36               2:             TypeVoid
37               3:             TypeFunction 2
38               6:             TypeInt 32 1
39               7:             TypeRuntimeArray 6(int)
40       8(Buffer):             TypeStruct 7
41               9:             TypePointer Uniform 8(Buffer)
42        10(data):      9(ptr) Variable Uniform
43              11:      6(int) Constant 0
44              12:             TypeInt 32 0
45              13:             TypePointer Input 12(int)
4614(gl_SubgroupSize):     13(ptr) Variable Input
47              16:      6(int) Constant 1
48              17:             TypePointer Uniform 6(int)
4919(gl_SubgroupInvocationID):     13(ptr) Variable Input
5022(gl_NumSubgroups):     13(ptr) Variable Input
5125(gl_SubgroupID):     13(ptr) Variable Input
52              27:             TypeBool
53              28:     12(int) Constant 3
54              32:     12(int) Constant 3400
55              33:     12(int) Constant 72
56              34:     12(int) Constant 264
57              35:     12(int) Constant 2056
58              36:             TypeVector 12(int) 3
59              37:     12(int) Constant 8
60              38:     12(int) Constant 1
61              39:   36(ivec3) ConstantComposite 37 37 38
62         4(main):           2 Function None 3
63               5:             Label
64              15:     12(int) Load 14(gl_SubgroupSize)
65              18:     17(ptr) AccessChain 10(data) 11 15
66                              Store 18 16
67              20:     12(int) Load 19(gl_SubgroupInvocationID)
68              21:     17(ptr) AccessChain 10(data) 11 20
69                              Store 21 16
70              23:     12(int) Load 22(gl_NumSubgroups)
71              24:     17(ptr) AccessChain 10(data) 11 23
72                              Store 24 16
73              26:     12(int) Load 25(gl_SubgroupID)
74              29:    27(bool) GroupNonUniformElect 28
75              30:      6(int) Select 29 16 11
76              31:     17(ptr) AccessChain 10(data) 11 26
77                              Store 31 30
78                              ControlBarrier 28 28 32
79                              MemoryBarrier 28 32
80                              MemoryBarrier 28 33
81                              MemoryBarrier 28 34
82                              MemoryBarrier 28 35
83                              Return
84                              FunctionEnd
85