1617a3babSopenharmony_cispv.subgroupBasic.comp
2617a3babSopenharmony_ci// Module Version 10300
3617a3babSopenharmony_ci// Generated by (magic number): 8000b
4617a3babSopenharmony_ci// Id's are bound by 40
5617a3babSopenharmony_ci
6617a3babSopenharmony_ci                              Capability Shader
7617a3babSopenharmony_ci                              Capability GroupNonUniform
8617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
9617a3babSopenharmony_ci                              MemoryModel Logical GLSL450
10617a3babSopenharmony_ci                              EntryPoint GLCompute 4  "main" 14 19 22 25
11617a3babSopenharmony_ci                              ExecutionMode 4 LocalSize 8 8 1
12617a3babSopenharmony_ci                              Source GLSL 450
13617a3babSopenharmony_ci                              SourceExtension  "GL_KHR_shader_subgroup_basic"
14617a3babSopenharmony_ci                              Name 4  "main"
15617a3babSopenharmony_ci                              Name 8  "Buffer"
16617a3babSopenharmony_ci                              MemberName 8(Buffer) 0  "a"
17617a3babSopenharmony_ci                              Name 10  "data"
18617a3babSopenharmony_ci                              Name 14  "gl_SubgroupSize"
19617a3babSopenharmony_ci                              Name 19  "gl_SubgroupInvocationID"
20617a3babSopenharmony_ci                              Name 22  "gl_NumSubgroups"
21617a3babSopenharmony_ci                              Name 25  "gl_SubgroupID"
22617a3babSopenharmony_ci                              Decorate 7 ArrayStride 4
23617a3babSopenharmony_ci                              MemberDecorate 8(Buffer) 0 Offset 0
24617a3babSopenharmony_ci                              Decorate 8(Buffer) Block
25617a3babSopenharmony_ci                              Decorate 10(data) DescriptorSet 0
26617a3babSopenharmony_ci                              Decorate 10(data) Binding 0
27617a3babSopenharmony_ci                              Decorate 14(gl_SubgroupSize) RelaxedPrecision
28617a3babSopenharmony_ci                              Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize
29617a3babSopenharmony_ci                              Decorate 15 RelaxedPrecision
30617a3babSopenharmony_ci                              Decorate 19(gl_SubgroupInvocationID) RelaxedPrecision
31617a3babSopenharmony_ci                              Decorate 19(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
32617a3babSopenharmony_ci                              Decorate 20 RelaxedPrecision
33617a3babSopenharmony_ci                              Decorate 22(gl_NumSubgroups) BuiltIn NumSubgroups
34617a3babSopenharmony_ci                              Decorate 25(gl_SubgroupID) BuiltIn SubgroupId
35617a3babSopenharmony_ci                              Decorate 39 BuiltIn WorkgroupSize
36617a3babSopenharmony_ci               2:             TypeVoid
37617a3babSopenharmony_ci               3:             TypeFunction 2
38617a3babSopenharmony_ci               6:             TypeInt 32 1
39617a3babSopenharmony_ci               7:             TypeRuntimeArray 6(int)
40617a3babSopenharmony_ci       8(Buffer):             TypeStruct 7
41617a3babSopenharmony_ci               9:             TypePointer StorageBuffer 8(Buffer)
42617a3babSopenharmony_ci        10(data):      9(ptr) Variable StorageBuffer
43617a3babSopenharmony_ci              11:      6(int) Constant 0
44617a3babSopenharmony_ci              12:             TypeInt 32 0
45617a3babSopenharmony_ci              13:             TypePointer Input 12(int)
46617a3babSopenharmony_ci14(gl_SubgroupSize):     13(ptr) Variable Input
47617a3babSopenharmony_ci              16:      6(int) Constant 1
48617a3babSopenharmony_ci              17:             TypePointer StorageBuffer 6(int)
49617a3babSopenharmony_ci19(gl_SubgroupInvocationID):     13(ptr) Variable Input
50617a3babSopenharmony_ci22(gl_NumSubgroups):     13(ptr) Variable Input
51617a3babSopenharmony_ci25(gl_SubgroupID):     13(ptr) Variable Input
52617a3babSopenharmony_ci              27:             TypeBool
53617a3babSopenharmony_ci              28:     12(int) Constant 3
54617a3babSopenharmony_ci              32:     12(int) Constant 3400
55617a3babSopenharmony_ci              33:     12(int) Constant 72
56617a3babSopenharmony_ci              34:     12(int) Constant 264
57617a3babSopenharmony_ci              35:     12(int) Constant 2056
58617a3babSopenharmony_ci              36:             TypeVector 12(int) 3
59617a3babSopenharmony_ci              37:     12(int) Constant 8
60617a3babSopenharmony_ci              38:     12(int) Constant 1
61617a3babSopenharmony_ci              39:   36(ivec3) ConstantComposite 37 37 38
62617a3babSopenharmony_ci         4(main):           2 Function None 3
63617a3babSopenharmony_ci               5:             Label
64617a3babSopenharmony_ci              15:     12(int) Load 14(gl_SubgroupSize)
65617a3babSopenharmony_ci              18:     17(ptr) AccessChain 10(data) 11 15
66617a3babSopenharmony_ci                              Store 18 16
67617a3babSopenharmony_ci              20:     12(int) Load 19(gl_SubgroupInvocationID)
68617a3babSopenharmony_ci              21:     17(ptr) AccessChain 10(data) 11 20
69617a3babSopenharmony_ci                              Store 21 16
70617a3babSopenharmony_ci              23:     12(int) Load 22(gl_NumSubgroups)
71617a3babSopenharmony_ci              24:     17(ptr) AccessChain 10(data) 11 23
72617a3babSopenharmony_ci                              Store 24 16
73617a3babSopenharmony_ci              26:     12(int) Load 25(gl_SubgroupID)
74617a3babSopenharmony_ci              29:    27(bool) GroupNonUniformElect 28
75617a3babSopenharmony_ci              30:      6(int) Select 29 16 11
76617a3babSopenharmony_ci              31:     17(ptr) AccessChain 10(data) 11 26
77617a3babSopenharmony_ci                              Store 31 30
78617a3babSopenharmony_ci                              ControlBarrier 28 28 32
79617a3babSopenharmony_ci                              MemoryBarrier 28 32
80617a3babSopenharmony_ci                              MemoryBarrier 28 33
81617a3babSopenharmony_ci                              MemoryBarrier 28 34
82617a3babSopenharmony_ci                              MemoryBarrier 28 35
83617a3babSopenharmony_ci                              Return
84617a3babSopenharmony_ci                              FunctionEnd
85