mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-23 11:19:40 +00:00
289 lines
15 KiB
Plaintext
289 lines
15 KiB
Plaintext
spv.subgroupVote.comp
|
|
// Module Version 10300
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 216
|
|
|
|
Capability Shader
|
|
Capability Float64
|
|
Capability GroupNonUniform
|
|
Capability GroupNonUniformVote
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "main" 10 12
|
|
ExecutionMode 4 LocalSize 8 8 1
|
|
Source GLSL 450
|
|
SourceExtension "GL_KHR_shader_subgroup_basic"
|
|
SourceExtension "GL_KHR_shader_subgroup_vote"
|
|
Name 4 "main"
|
|
Name 8 "invocation"
|
|
Name 10 "gl_SubgroupInvocationID"
|
|
Name 12 "gl_SubgroupSize"
|
|
Name 24 "Buffers"
|
|
MemberName 24(Buffers) 0 "f4"
|
|
MemberName 24(Buffers) 1 "i4"
|
|
MemberName 24(Buffers) 2 "u4"
|
|
MemberName 24(Buffers) 3 "d4"
|
|
MemberName 24(Buffers) 4 "r"
|
|
Name 27 "data"
|
|
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
|
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
|
Decorate 11 RelaxedPrecision
|
|
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
|
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
|
Decorate 13 RelaxedPrecision
|
|
Decorate 14 RelaxedPrecision
|
|
Decorate 16 RelaxedPrecision
|
|
MemberDecorate 24(Buffers) 0 Offset 0
|
|
MemberDecorate 24(Buffers) 1 Offset 16
|
|
MemberDecorate 24(Buffers) 2 Offset 32
|
|
MemberDecorate 24(Buffers) 3 Offset 64
|
|
MemberDecorate 24(Buffers) 4 Offset 96
|
|
Decorate 24(Buffers) Block
|
|
Decorate 27(data) DescriptorSet 0
|
|
Decorate 27(data) Binding 0
|
|
Decorate 215 BuiltIn WorkgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypePointer Function 6(int)
|
|
9: TypePointer Input 6(int)
|
|
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
|
12(gl_SubgroupSize): 9(ptr) Variable Input
|
|
15: 6(int) Constant 4
|
|
17: TypeFloat 32
|
|
18: TypeVector 17(float) 4
|
|
19: TypeInt 32 1
|
|
20: TypeVector 19(int) 4
|
|
21: TypeVector 6(int) 4
|
|
22: TypeFloat 64
|
|
23: TypeVector 22(float64_t) 4
|
|
24(Buffers): TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4) 19(int)
|
|
25: TypeArray 24(Buffers) 15
|
|
26: TypePointer StorageBuffer 25
|
|
27(data): 26(ptr) Variable StorageBuffer
|
|
29: 19(int) Constant 4
|
|
30: TypePointer StorageBuffer 19(int)
|
|
33: 19(int) Constant 0
|
|
34: TypeBool
|
|
36: 6(int) Constant 3
|
|
41: 6(int) Constant 0
|
|
42: TypePointer StorageBuffer 17(float)
|
|
46: 19(int) Constant 1
|
|
50: TypeVector 17(float) 2
|
|
51: TypePointer StorageBuffer 18(fvec4)
|
|
59: 19(int) Constant 2
|
|
60: TypeVector 17(float) 3
|
|
68: 19(int) Constant 3
|
|
81: TypeVector 19(int) 2
|
|
82: TypePointer StorageBuffer 20(ivec4)
|
|
90: TypeVector 19(int) 3
|
|
104: TypePointer StorageBuffer 6(int)
|
|
111: TypeVector 6(int) 2
|
|
112: TypePointer StorageBuffer 21(ivec4)
|
|
120: TypeVector 6(int) 3
|
|
142: TypePointer StorageBuffer 22(float64_t)
|
|
149: TypeVector 22(float64_t) 2
|
|
150: TypePointer StorageBuffer 23(f64vec4)
|
|
158: TypeVector 22(float64_t) 3
|
|
182: 81(ivec2) ConstantComposite 33 33
|
|
183: TypeVector 34(bool) 2
|
|
194: 90(ivec3) ConstantComposite 33 33 33
|
|
195: TypeVector 34(bool) 3
|
|
205: 20(ivec4) ConstantComposite 33 33 33 33
|
|
206: TypeVector 34(bool) 4
|
|
213: 6(int) Constant 8
|
|
214: 6(int) Constant 1
|
|
215: 120(ivec3) ConstantComposite 213 213 214
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(invocation): 7(ptr) Variable Function
|
|
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
|
13: 6(int) Load 12(gl_SubgroupSize)
|
|
14: 6(int) IAdd 11 13
|
|
16: 6(int) UMod 14 15
|
|
Store 8(invocation) 16
|
|
28: 6(int) Load 8(invocation)
|
|
31: 30(ptr) AccessChain 27(data) 28 29
|
|
32: 19(int) Load 31
|
|
35: 34(bool) SLessThan 32 33
|
|
37: 34(bool) GroupNonUniformAll 36 35
|
|
SelectionMerge 39 None
|
|
BranchConditional 37 38 133
|
|
38: Label
|
|
40: 6(int) Load 8(invocation)
|
|
43: 42(ptr) AccessChain 27(data) 33 33 41
|
|
44: 17(float) Load 43
|
|
45: 34(bool) GroupNonUniformAllEqual 36 44
|
|
47: 19(int) Select 45 46 33
|
|
48: 30(ptr) AccessChain 27(data) 40 29
|
|
Store 48 47
|
|
49: 6(int) Load 8(invocation)
|
|
52: 51(ptr) AccessChain 27(data) 46 33
|
|
53: 18(fvec4) Load 52
|
|
54: 50(fvec2) VectorShuffle 53 53 0 1
|
|
55: 34(bool) GroupNonUniformAllEqual 36 54
|
|
56: 19(int) Select 55 46 33
|
|
57: 30(ptr) AccessChain 27(data) 49 29
|
|
Store 57 56
|
|
58: 6(int) Load 8(invocation)
|
|
61: 51(ptr) AccessChain 27(data) 59 33
|
|
62: 18(fvec4) Load 61
|
|
63: 60(fvec3) VectorShuffle 62 62 0 1 2
|
|
64: 34(bool) GroupNonUniformAllEqual 36 63
|
|
65: 19(int) Select 64 46 33
|
|
66: 30(ptr) AccessChain 27(data) 58 29
|
|
Store 66 65
|
|
67: 6(int) Load 8(invocation)
|
|
69: 51(ptr) AccessChain 27(data) 68 33
|
|
70: 18(fvec4) Load 69
|
|
71: 34(bool) GroupNonUniformAllEqual 36 70
|
|
72: 19(int) Select 71 46 33
|
|
73: 30(ptr) AccessChain 27(data) 67 29
|
|
Store 73 72
|
|
74: 6(int) Load 8(invocation)
|
|
75: 30(ptr) AccessChain 27(data) 33 46 41
|
|
76: 19(int) Load 75
|
|
77: 34(bool) GroupNonUniformAllEqual 36 76
|
|
78: 19(int) Select 77 46 33
|
|
79: 30(ptr) AccessChain 27(data) 74 29
|
|
Store 79 78
|
|
80: 6(int) Load 8(invocation)
|
|
83: 82(ptr) AccessChain 27(data) 46 46
|
|
84: 20(ivec4) Load 83
|
|
85: 81(ivec2) VectorShuffle 84 84 0 1
|
|
86: 34(bool) GroupNonUniformAllEqual 36 85
|
|
87: 19(int) Select 86 46 33
|
|
88: 30(ptr) AccessChain 27(data) 80 29
|
|
Store 88 87
|
|
89: 6(int) Load 8(invocation)
|
|
91: 82(ptr) AccessChain 27(data) 59 46
|
|
92: 20(ivec4) Load 91
|
|
93: 90(ivec3) VectorShuffle 92 92 0 1 2
|
|
94: 34(bool) GroupNonUniformAllEqual 36 93
|
|
95: 19(int) Select 94 46 33
|
|
96: 30(ptr) AccessChain 27(data) 89 29
|
|
Store 96 95
|
|
97: 6(int) Load 8(invocation)
|
|
98: 82(ptr) AccessChain 27(data) 68 46
|
|
99: 20(ivec4) Load 98
|
|
100: 34(bool) GroupNonUniformAllEqual 36 99
|
|
101: 19(int) Select 100 46 33
|
|
102: 30(ptr) AccessChain 27(data) 97 29
|
|
Store 102 101
|
|
103: 6(int) Load 8(invocation)
|
|
105: 104(ptr) AccessChain 27(data) 33 59 41
|
|
106: 6(int) Load 105
|
|
107: 34(bool) GroupNonUniformAllEqual 36 106
|
|
108: 19(int) Select 107 46 33
|
|
109: 30(ptr) AccessChain 27(data) 103 29
|
|
Store 109 108
|
|
110: 6(int) Load 8(invocation)
|
|
113: 112(ptr) AccessChain 27(data) 46 59
|
|
114: 21(ivec4) Load 113
|
|
115: 111(ivec2) VectorShuffle 114 114 0 1
|
|
116: 34(bool) GroupNonUniformAllEqual 36 115
|
|
117: 19(int) Select 116 46 33
|
|
118: 30(ptr) AccessChain 27(data) 110 29
|
|
Store 118 117
|
|
119: 6(int) Load 8(invocation)
|
|
121: 112(ptr) AccessChain 27(data) 59 59
|
|
122: 21(ivec4) Load 121
|
|
123: 120(ivec3) VectorShuffle 122 122 0 1 2
|
|
124: 34(bool) GroupNonUniformAllEqual 36 123
|
|
125: 19(int) Select 124 46 33
|
|
126: 30(ptr) AccessChain 27(data) 119 29
|
|
Store 126 125
|
|
127: 6(int) Load 8(invocation)
|
|
128: 112(ptr) AccessChain 27(data) 68 59
|
|
129: 21(ivec4) Load 128
|
|
130: 34(bool) GroupNonUniformAllEqual 36 129
|
|
131: 19(int) Select 130 46 33
|
|
132: 30(ptr) AccessChain 27(data) 127 29
|
|
Store 132 131
|
|
Branch 39
|
|
133: Label
|
|
134: 6(int) Load 8(invocation)
|
|
135: 30(ptr) AccessChain 27(data) 134 29
|
|
136: 19(int) Load 135
|
|
137: 34(bool) SLessThan 136 33
|
|
138: 34(bool) GroupNonUniformAny 36 137
|
|
SelectionMerge 140 None
|
|
BranchConditional 138 139 140
|
|
139: Label
|
|
141: 6(int) Load 8(invocation)
|
|
143: 142(ptr) AccessChain 27(data) 33 68 41
|
|
144:22(float64_t) Load 143
|
|
145: 34(bool) GroupNonUniformAllEqual 36 144
|
|
146: 19(int) Select 145 46 33
|
|
147: 30(ptr) AccessChain 27(data) 141 29
|
|
Store 147 146
|
|
148: 6(int) Load 8(invocation)
|
|
151: 150(ptr) AccessChain 27(data) 46 68
|
|
152: 23(f64vec4) Load 151
|
|
153:149(f64vec2) VectorShuffle 152 152 0 1
|
|
154: 34(bool) GroupNonUniformAllEqual 36 153
|
|
155: 19(int) Select 154 46 33
|
|
156: 30(ptr) AccessChain 27(data) 148 29
|
|
Store 156 155
|
|
157: 6(int) Load 8(invocation)
|
|
159: 150(ptr) AccessChain 27(data) 59 68
|
|
160: 23(f64vec4) Load 159
|
|
161:158(f64vec3) VectorShuffle 160 160 0 1 2
|
|
162: 34(bool) GroupNonUniformAllEqual 36 161
|
|
163: 19(int) Select 162 46 33
|
|
164: 30(ptr) AccessChain 27(data) 157 29
|
|
Store 164 163
|
|
165: 6(int) Load 8(invocation)
|
|
166: 150(ptr) AccessChain 27(data) 68 68
|
|
167: 23(f64vec4) Load 166
|
|
168: 34(bool) GroupNonUniformAllEqual 36 167
|
|
169: 19(int) Select 168 46 33
|
|
170: 30(ptr) AccessChain 27(data) 165 29
|
|
Store 170 169
|
|
171: 6(int) Load 8(invocation)
|
|
172: 30(ptr) AccessChain 27(data) 33 46 41
|
|
173: 19(int) Load 172
|
|
174: 34(bool) SLessThan 173 33
|
|
175: 34(bool) GroupNonUniformAllEqual 36 174
|
|
176: 19(int) Select 175 46 33
|
|
177: 30(ptr) AccessChain 27(data) 171 29
|
|
Store 177 176
|
|
178: 6(int) Load 8(invocation)
|
|
179: 82(ptr) AccessChain 27(data) 46 46
|
|
180: 20(ivec4) Load 179
|
|
181: 81(ivec2) VectorShuffle 180 180 0 1
|
|
184: 183(bvec2) SLessThan 181 182
|
|
185: 34(bool) GroupNonUniformAllEqual 36 184
|
|
186: 19(int) Select 185 46 33
|
|
187: 81(ivec2) CompositeConstruct 186 186
|
|
188: 19(int) CompositeExtract 187 0
|
|
189: 30(ptr) AccessChain 27(data) 178 29
|
|
Store 189 188
|
|
190: 6(int) Load 8(invocation)
|
|
191: 82(ptr) AccessChain 27(data) 46 46
|
|
192: 20(ivec4) Load 191
|
|
193: 90(ivec3) VectorShuffle 192 192 0 1 2
|
|
196: 195(bvec3) SLessThan 193 194
|
|
197: 34(bool) GroupNonUniformAllEqual 36 196
|
|
198: 19(int) Select 197 46 33
|
|
199: 90(ivec3) CompositeConstruct 198 198 198
|
|
200: 19(int) CompositeExtract 199 0
|
|
201: 30(ptr) AccessChain 27(data) 190 29
|
|
Store 201 200
|
|
202: 6(int) Load 8(invocation)
|
|
203: 82(ptr) AccessChain 27(data) 46 46
|
|
204: 20(ivec4) Load 203
|
|
207: 206(bvec4) SLessThan 204 205
|
|
208: 34(bool) GroupNonUniformAllEqual 36 207
|
|
209: 19(int) Select 208 46 33
|
|
210: 20(ivec4) CompositeConstruct 209 209 209 209
|
|
211: 19(int) CompositeExtract 210 0
|
|
212: 30(ptr) AccessChain 27(data) 202 29
|
|
Store 212 211
|
|
Branch 140
|
|
140: Label
|
|
Branch 39
|
|
39: Label
|
|
Return
|
|
FunctionEnd
|