143 lines
7.1 KiB
Plaintext
143 lines
7.1 KiB
Plaintext
spv.structCopy.comp
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 81
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "main" 24
|
|
ExecutionMode 4 LocalSize 512 1 1
|
|
Source GLSL 460
|
|
Name 4 "main"
|
|
Name 7 "MyStruct"
|
|
MemberName 7(MyStruct) 0 "a"
|
|
MemberName 7(MyStruct) 1 "b"
|
|
MemberName 7(MyStruct) 2 "c"
|
|
Name 11 "s"
|
|
Name 21 "id"
|
|
Name 24 "gl_GlobalInvocationID"
|
|
Name 30 "ms"
|
|
Name 32 "MyStruct"
|
|
MemberName 32(MyStruct) 0 "a"
|
|
MemberName 32(MyStruct) 1 "b"
|
|
MemberName 32(MyStruct) 2 "c"
|
|
Name 34 "MyStructs"
|
|
MemberName 34(MyStructs) 0 "count"
|
|
MemberName 34(MyStructs) 1 "data"
|
|
Name 36 "my_structs"
|
|
Name 65 "Output"
|
|
MemberName 65(Output) 0 "a"
|
|
MemberName 65(Output) 1 "b"
|
|
MemberName 65(Output) 2 "c"
|
|
Name 67 "o"
|
|
Decorate 24(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
|
|
MemberDecorate 32(MyStruct) 0 Offset 0
|
|
MemberDecorate 32(MyStruct) 1 Offset 4
|
|
MemberDecorate 32(MyStruct) 2 Offset 8
|
|
Decorate 33 ArrayStride 12
|
|
Decorate 34(MyStructs) BufferBlock
|
|
MemberDecorate 34(MyStructs) 0 Offset 0
|
|
MemberDecorate 34(MyStructs) 1 Offset 4
|
|
Decorate 36(my_structs) Binding 0
|
|
Decorate 36(my_structs) DescriptorSet 0
|
|
Decorate 65(Output) BufferBlock
|
|
MemberDecorate 65(Output) 0 Offset 0
|
|
MemberDecorate 65(Output) 1 Offset 4
|
|
MemberDecorate 65(Output) 2 Offset 8
|
|
Decorate 67(o) Binding 1
|
|
Decorate 67(o) DescriptorSet 0
|
|
Decorate 80 BuiltIn WorkgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7(MyStruct): TypeStruct 6(int) 6(int) 6(int)
|
|
8: 6(int) Constant 512
|
|
9: TypeArray 7(MyStruct) 8
|
|
10: TypePointer Workgroup 9
|
|
11(s): 10(ptr) Variable Workgroup
|
|
12: TypeInt 32 1
|
|
13: 12(int) Constant 0
|
|
14: 6(int) Constant 1
|
|
15: 6(int) Constant 2
|
|
16: 6(int) Constant 3
|
|
17: 7(MyStruct) ConstantComposite 14 15 16
|
|
18: TypePointer Workgroup 7(MyStruct)
|
|
20: TypePointer Function 6(int)
|
|
22: TypeVector 6(int) 3
|
|
23: TypePointer Input 22(ivec3)
|
|
24(gl_GlobalInvocationID): 23(ptr) Variable Input
|
|
25: 6(int) Constant 0
|
|
26: TypePointer Input 6(int)
|
|
29: TypePointer Function 7(MyStruct)
|
|
32(MyStruct): TypeStruct 6(int) 6(int) 6(int)
|
|
33: TypeRuntimeArray 32(MyStruct)
|
|
34(MyStructs): TypeStruct 6(int) 33
|
|
35: TypePointer Uniform 34(MyStructs)
|
|
36(my_structs): 35(ptr) Variable Uniform
|
|
37: TypePointer Uniform 6(int)
|
|
40: TypeBool
|
|
52: 12(int) Constant 1
|
|
54: TypePointer Uniform 32(MyStruct)
|
|
62: 12(int) Constant 2
|
|
65(Output): TypeStruct 6(int) 6(int) 6(int)
|
|
66: TypePointer Uniform 65(Output)
|
|
67(o): 66(ptr) Variable Uniform
|
|
80: 22(ivec3) ConstantComposite 8 14 14
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
21(id): 20(ptr) Variable Function
|
|
30(ms): 29(ptr) Variable Function
|
|
42: 29(ptr) Variable Function
|
|
19: 18(ptr) AccessChain 11(s) 13
|
|
Store 19 17
|
|
27: 26(ptr) AccessChain 24(gl_GlobalInvocationID) 25
|
|
28: 6(int) Load 27
|
|
Store 21(id) 28
|
|
31: 6(int) Load 21(id)
|
|
38: 37(ptr) AccessChain 36(my_structs) 13
|
|
39: 6(int) Load 38
|
|
41: 40(bool) UGreaterThan 31 39
|
|
SelectionMerge 44 None
|
|
BranchConditional 41 43 51
|
|
43: Label
|
|
45: 6(int) Load 21(id)
|
|
46: 37(ptr) AccessChain 36(my_structs) 13
|
|
47: 6(int) Load 46
|
|
48: 6(int) ISub 45 47
|
|
49: 18(ptr) AccessChain 11(s) 48
|
|
50: 7(MyStruct) Load 49
|
|
Store 42 50
|
|
Branch 44
|
|
51: Label
|
|
53: 6(int) Load 21(id)
|
|
55: 54(ptr) AccessChain 36(my_structs) 52 53
|
|
56:32(MyStruct) Load 55
|
|
57: 6(int) CompositeExtract 56 0
|
|
58: 20(ptr) AccessChain 42 13
|
|
Store 58 57
|
|
59: 6(int) CompositeExtract 56 1
|
|
60: 20(ptr) AccessChain 42 52
|
|
Store 60 59
|
|
61: 6(int) CompositeExtract 56 2
|
|
63: 20(ptr) AccessChain 42 62
|
|
Store 63 61
|
|
Branch 44
|
|
44: Label
|
|
64: 7(MyStruct) Load 42
|
|
Store 30(ms) 64
|
|
68: 37(ptr) AccessChain 67(o) 13
|
|
69: 20(ptr) AccessChain 30(ms) 13
|
|
70: 6(int) Load 69
|
|
71: 6(int) AtomicIAdd 68 14 25 70
|
|
72: 37(ptr) AccessChain 67(o) 52
|
|
73: 20(ptr) AccessChain 30(ms) 52
|
|
74: 6(int) Load 73
|
|
75: 6(int) AtomicIAdd 72 14 25 74
|
|
76: 37(ptr) AccessChain 67(o) 62
|
|
77: 20(ptr) AccessChain 30(ms) 62
|
|
78: 6(int) Load 77
|
|
79: 6(int) AtomicIAdd 76 14 25 78
|
|
Return
|
|
FunctionEnd
|