2018-03-06 23:12:04 +00:00
|
|
|
spv.subgroupBasic.comp
|
|
|
|
// Module Version 10300
|
2018-03-07 18:24:50 +00:00
|
|
|
// Generated by (magic number): 80006
|
2018-03-06 23:12:04 +00:00
|
|
|
// Id's are bound by 40
|
|
|
|
|
|
|
|
Capability Shader
|
|
|
|
Capability GroupNonUniform
|
|
|
|
1: ExtInstImport "GLSL.std.450"
|
|
|
|
MemoryModel Logical GLSL450
|
|
|
|
EntryPoint GLCompute 4 "main" 14 19 22 25
|
|
|
|
ExecutionMode 4 LocalSize 8 8 1
|
|
|
|
Source GLSL 450
|
|
|
|
SourceExtension "GL_KHR_shader_subgroup_basic"
|
|
|
|
Name 4 "main"
|
|
|
|
Name 8 "Buffer"
|
|
|
|
MemberName 8(Buffer) 0 "a"
|
|
|
|
Name 10 "data"
|
|
|
|
Name 14 "gl_SubgroupSize"
|
|
|
|
Name 19 "gl_SubgroupInvocationID"
|
|
|
|
Name 22 "gl_NumSubgroups"
|
|
|
|
Name 25 "gl_SubgroupID"
|
|
|
|
Decorate 7 ArrayStride 4
|
|
|
|
MemberDecorate 8(Buffer) 0 Offset 0
|
|
|
|
Decorate 8(Buffer) BufferBlock
|
|
|
|
Decorate 10(data) DescriptorSet 0
|
|
|
|
Decorate 10(data) Binding 0
|
|
|
|
Decorate 14(gl_SubgroupSize) RelaxedPrecision
|
|
|
|
Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize
|
|
|
|
Decorate 15 RelaxedPrecision
|
|
|
|
Decorate 19(gl_SubgroupInvocationID) RelaxedPrecision
|
|
|
|
Decorate 19(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
|
|
|
Decorate 20 RelaxedPrecision
|
|
|
|
Decorate 22(gl_NumSubgroups) BuiltIn NumSubgroups
|
|
|
|
Decorate 25(gl_SubgroupID) BuiltIn SubgroupId
|
|
|
|
Decorate 39 BuiltIn WorkgroupSize
|
|
|
|
2: TypeVoid
|
|
|
|
3: TypeFunction 2
|
|
|
|
6: TypeInt 32 1
|
|
|
|
7: TypeRuntimeArray 6(int)
|
|
|
|
8(Buffer): TypeStruct 7
|
|
|
|
9: TypePointer Uniform 8(Buffer)
|
|
|
|
10(data): 9(ptr) Variable Uniform
|
|
|
|
11: 6(int) Constant 0
|
|
|
|
12: TypeInt 32 0
|
|
|
|
13: TypePointer Input 12(int)
|
|
|
|
14(gl_SubgroupSize): 13(ptr) Variable Input
|
|
|
|
16: 6(int) Constant 1
|
|
|
|
17: TypePointer Uniform 6(int)
|
|
|
|
19(gl_SubgroupInvocationID): 13(ptr) Variable Input
|
|
|
|
22(gl_NumSubgroups): 13(ptr) Variable Input
|
|
|
|
25(gl_SubgroupID): 13(ptr) Variable Input
|
|
|
|
27: TypeBool
|
|
|
|
28: 12(int) Constant 3
|
|
|
|
32: 12(int) Constant 3400
|
|
|
|
33: 12(int) Constant 72
|
|
|
|
34: 12(int) Constant 264
|
|
|
|
35: 12(int) Constant 2056
|
|
|
|
36: TypeVector 12(int) 3
|
|
|
|
37: 12(int) Constant 8
|
|
|
|
38: 12(int) Constant 1
|
|
|
|
39: 36(ivec3) ConstantComposite 37 37 38
|
|
|
|
4(main): 2 Function None 3
|
|
|
|
5: Label
|
|
|
|
15: 12(int) Load 14(gl_SubgroupSize)
|
|
|
|
18: 17(ptr) AccessChain 10(data) 11 15
|
|
|
|
Store 18 16
|
|
|
|
20: 12(int) Load 19(gl_SubgroupInvocationID)
|
|
|
|
21: 17(ptr) AccessChain 10(data) 11 20
|
|
|
|
Store 21 16
|
|
|
|
23: 12(int) Load 22(gl_NumSubgroups)
|
|
|
|
24: 17(ptr) AccessChain 10(data) 11 23
|
|
|
|
Store 24 16
|
|
|
|
26: 12(int) Load 25(gl_SubgroupID)
|
|
|
|
29: 27(bool) GroupNonUniformElect 28
|
|
|
|
30: 6(int) Select 29 16 11
|
|
|
|
31: 17(ptr) AccessChain 10(data) 11 26
|
|
|
|
Store 31 30
|
|
|
|
ControlBarrier 28 28 32
|
|
|
|
MemoryBarrier 28 32
|
|
|
|
MemoryBarrier 28 33
|
|
|
|
MemoryBarrier 28 34
|
|
|
|
MemoryBarrier 28 35
|
|
|
|
Return
|
|
|
|
FunctionEnd
|