yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Arcady Goldmints-OrlovCheck for invalid usage of gl_WorkGroupSize components9c4f12c5

main
6.6 KiB134 linesraw
1spv.atomic.comp
2// Module Version 10000
3// Generated by (magic number): 8000b
4// Id's are bound by 76
5
6                              Capability Shader
7                              Capability AtomicStorage
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint GLCompute 4  "main"
11                              ExecutionMode 4 LocalSize 1 1 1
12                              Source GLSL 450
13                              Name 4  "main"
14                              Name 10  "func(au1;"
15                              Name 9  "c"
16                              Name 12  "atoms("
17                              Name 20  "counter"
18                              Name 23  "val"
19                              Name 27  "countArr"
20                              Name 37  "origi"
21                              Name 39  "atomi"
22                              Name 42  "origu"
23                              Name 44  "atomu"
24                              Name 45  "value"
25                              Name 62  "dataSSB"
26                              MemberName 62(dataSSB) 0  "f"
27                              MemberName 62(dataSSB) 1  "n_frames_rendered"
28                              Name 64  "result"
29                              Name 73  "arrX"
30                              Name 74  "arrY"
31                              Name 75  "arrZ"
32                              Decorate 20(counter) Binding 0
33                              Decorate 20(counter) DescriptorSet 0
34                              Decorate 20(counter) Offset 0
35                              Decorate 27(countArr) Binding 0
36                              Decorate 27(countArr) DescriptorSet 0
37                              Decorate 27(countArr) Offset 4
38                              Decorate 62(dataSSB) BufferBlock
39                              MemberDecorate 62(dataSSB) 0 Restrict
40                              MemberDecorate 62(dataSSB) 0 Offset 0
41                              MemberDecorate 62(dataSSB) 1 Restrict
42                              MemberDecorate 62(dataSSB) 1 Offset 16
43                              Decorate 64(result) Restrict
44                              Decorate 64(result) Binding 0
45                              Decorate 64(result) DescriptorSet 0
46                              Decorate 70 BuiltIn WorkgroupSize
47               2:             TypeVoid
48               3:             TypeFunction 2
49               6:             TypeInt 32 0
50               7:             TypePointer AtomicCounter 6(int)
51               8:             TypeFunction 6(int) 7(ptr)
52              14:      6(int) Constant 1
53              15:      6(int) Constant 0
54              19:      6(int) Constant 1032
55     20(counter):      7(ptr) Variable AtomicCounter
56              22:             TypePointer Function 6(int)
57              24:      6(int) Constant 4
58              25:             TypeArray 6(int) 24
59              26:             TypePointer AtomicCounter 25
60    27(countArr):     26(ptr) Variable AtomicCounter
61              28:             TypeInt 32 1
62              29:     28(int) Constant 2
63              33:     28(int) Constant 1
64              36:             TypePointer Function 28(int)
65              38:             TypePointer Workgroup 28(int)
66       39(atomi):     38(ptr) Variable Workgroup
67              40:     28(int) Constant 3
68              43:             TypePointer Workgroup 6(int)
69       44(atomu):     43(ptr) Variable Workgroup
70       45(value):     43(ptr) Variable Workgroup
71              48:      6(int) Constant 7
72              53:     28(int) Constant 7
73              57:      6(int) Constant 10
74              60:             TypeFloat 32
75              61:             TypeVector 28(int) 4
76     62(dataSSB):             TypeStruct 60(float) 61(ivec4)
77              63:             TypePointer Uniform 62(dataSSB)
78      64(result):     63(ptr) Variable Uniform
79              65:      6(int) Constant 2
80              66:             TypePointer Uniform 28(int)
81              69:             TypeVector 6(int) 3
82              70:   69(ivec3) ConstantComposite 14 14 14
83              71:             TypeArray 28(int) 14
84              72:             TypePointer Private 71
85        73(arrX):     72(ptr) Variable Private
86        74(arrY):     72(ptr) Variable Private
87        75(arrZ):     72(ptr) Variable Private
88         4(main):           2 Function None 3
89               5:             Label
90         23(val):     22(ptr) Variable Function
91                              MemoryBarrier 14 19
92              21:      6(int) FunctionCall 10(func(au1;) 20(counter)
93              30:      7(ptr) AccessChain 27(countArr) 29
94              31:      6(int) AtomicLoad 30 14 15
95                              Store 23(val) 31
96              32:      6(int) AtomicIDecrement 20(counter) 14 15
97              34:      6(int) ISub 32 33
98              35:      6(int) AtomicIIncrement 20(counter) 14 15
99                              Return
100                              FunctionEnd
101   10(func(au1;):      6(int) Function None 8
102            9(c):      7(ptr) FunctionParameter
103              11:             Label
104              16:      6(int) AtomicIIncrement 9(c) 14 15
105                              ReturnValue 16
106                              FunctionEnd
107      12(atoms():           2 Function None 3
108              13:             Label
109       37(origi):     36(ptr) Variable Function
110       42(origu):     22(ptr) Variable Function
111              41:     28(int) AtomicIAdd 39(atomi) 14 15 40
112                              Store 37(origi) 41
113              46:      6(int) Load 45(value)
114              47:      6(int) AtomicAnd 44(atomu) 14 15 46
115                              Store 42(origu) 47
116              49:      6(int) AtomicOr 44(atomu) 14 15 48
117                              Store 42(origu) 49
118              50:      6(int) AtomicXor 44(atomu) 14 15 48
119                              Store 42(origu) 50
120              51:      6(int) Load 45(value)
121              52:      6(int) AtomicUMin 44(atomu) 14 15 51
122                              Store 42(origu) 52
123              54:     28(int) AtomicSMax 39(atomi) 14 15 53
124                              Store 37(origi) 54
125              55:     28(int) Load 37(origi)
126              56:     28(int) AtomicExchange 39(atomi) 14 15 55
127                              Store 37(origi) 56
128              58:      6(int) Load 45(value)
129              59:      6(int) AtomicCompareExchange 44(atomu) 14 15 15 58 57
130                              Store 42(origu) 59
131              67:     66(ptr) AccessChain 64(result) 33 65
132              68:     28(int) AtomicIAdd 67 14 15 33
133                              Return
134                              FunctionEnd