Generate separate stores for partially swizzled memory stores
Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to. Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector. While this change generates more SPIR-V instructions, it is necessary for correctness. Fixes #2518.
This commit is contained in:
parent
9158061398
commit
6d5b40f051
50 changed files with 31343 additions and 26594 deletions
|
|
@ -1,7 +1,7 @@
|
|||
spv.subgroupShuffle.comp
|
||||
// Module Version 10300
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 379
|
||||
// Id's are bound by 420
|
||||
|
||||
Capability Shader
|
||||
Capability Float64
|
||||
|
|
@ -39,7 +39,7 @@ spv.subgroupShuffle.comp
|
|||
Decorate 24(Buffers) Block
|
||||
Decorate 27(data) DescriptorSet 0
|
||||
Decorate 27(data) Binding 0
|
||||
Decorate 378 BuiltIn WorkgroupSize
|
||||
Decorate 419 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
|
|
@ -66,34 +66,35 @@ spv.subgroupShuffle.comp
|
|||
39: 19(int) Constant 1
|
||||
40: TypeVector 17(float) 2
|
||||
41: TypePointer StorageBuffer 18(fvec4)
|
||||
51: 19(int) Constant 2
|
||||
52: TypeVector 17(float) 3
|
||||
62: 19(int) Constant 3
|
||||
69: TypePointer StorageBuffer 19(int)
|
||||
76: TypeVector 19(int) 2
|
||||
77: TypePointer StorageBuffer 20(ivec4)
|
||||
87: TypeVector 19(int) 3
|
||||
103: TypePointer StorageBuffer 6(int)
|
||||
110: TypeVector 6(int) 2
|
||||
111: TypePointer StorageBuffer 21(ivec4)
|
||||
121: TypeVector 6(int) 3
|
||||
137: TypePointer StorageBuffer 22(float64_t)
|
||||
144: TypeVector 22(float64_t) 2
|
||||
145: TypePointer StorageBuffer 23(f64vec4)
|
||||
155: TypeVector 22(float64_t) 3
|
||||
173: TypeBool
|
||||
183: 76(ivec2) ConstantComposite 29 29
|
||||
184: TypeVector 173(bool) 2
|
||||
188: 76(ivec2) ConstantComposite 39 39
|
||||
197: 87(ivec3) ConstantComposite 29 29 29
|
||||
198: TypeVector 173(bool) 3
|
||||
202: 87(ivec3) ConstantComposite 39 39 39
|
||||
210: 20(ivec4) ConstantComposite 29 29 29 29
|
||||
211: TypeVector 173(bool) 4
|
||||
215: 20(ivec4) ConstantComposite 39 39 39 39
|
||||
376: 6(int) Constant 8
|
||||
377: 6(int) Constant 1
|
||||
378: 121(ivec3) ConstantComposite 376 376 377
|
||||
49: 6(int) Constant 1
|
||||
53: 19(int) Constant 2
|
||||
54: TypeVector 17(float) 3
|
||||
64: 6(int) Constant 2
|
||||
68: 19(int) Constant 3
|
||||
75: TypePointer StorageBuffer 19(int)
|
||||
82: TypeVector 19(int) 2
|
||||
83: TypePointer StorageBuffer 20(ivec4)
|
||||
94: TypeVector 19(int) 3
|
||||
113: TypePointer StorageBuffer 6(int)
|
||||
120: TypeVector 6(int) 2
|
||||
121: TypePointer StorageBuffer 21(ivec4)
|
||||
132: TypeVector 6(int) 3
|
||||
151: TypePointer StorageBuffer 22(float64_t)
|
||||
158: TypeVector 22(float64_t) 2
|
||||
159: TypePointer StorageBuffer 23(f64vec4)
|
||||
170: TypeVector 22(float64_t) 3
|
||||
191: TypeBool
|
||||
201: 82(ivec2) ConstantComposite 29 29
|
||||
202: TypeVector 191(bool) 2
|
||||
206: 82(ivec2) ConstantComposite 39 39
|
||||
216: 94(ivec3) ConstantComposite 29 29 29
|
||||
217: TypeVector 191(bool) 3
|
||||
221: 94(ivec3) ConstantComposite 39 39 39
|
||||
232: 20(ivec4) ConstantComposite 29 29 29 29
|
||||
233: TypeVector 191(bool) 4
|
||||
237: 20(ivec4) ConstantComposite 39 39 39 39
|
||||
418: 6(int) Constant 8
|
||||
419: 132(ivec3) ConstantComposite 418 418 49
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(invocation): 7(ptr) Variable Function
|
||||
|
|
@ -115,348 +116,418 @@ spv.subgroupShuffle.comp
|
|||
44: 40(fvec2) VectorShuffle 43 43 0 1
|
||||
45: 6(int) Load 8(invocation)
|
||||
46: 40(fvec2) GroupNonUniformShuffle 35 44 45
|
||||
47: 41(ptr) AccessChain 27(data) 38 29
|
||||
48: 18(fvec4) Load 47
|
||||
49: 18(fvec4) VectorShuffle 48 46 4 5 2 3
|
||||
Store 47 49
|
||||
50: 6(int) Load 8(invocation)
|
||||
53: 41(ptr) AccessChain 27(data) 51 29
|
||||
54: 18(fvec4) Load 53
|
||||
55: 52(fvec3) VectorShuffle 54 54 0 1 2
|
||||
56: 6(int) Load 8(invocation)
|
||||
57: 52(fvec3) GroupNonUniformShuffle 35 55 56
|
||||
58: 41(ptr) AccessChain 27(data) 50 29
|
||||
59: 18(fvec4) Load 58
|
||||
60: 18(fvec4) VectorShuffle 59 57 4 5 6 3
|
||||
Store 58 60
|
||||
61: 6(int) Load 8(invocation)
|
||||
63: 41(ptr) AccessChain 27(data) 62 29
|
||||
64: 18(fvec4) Load 63
|
||||
65: 6(int) Load 8(invocation)
|
||||
66: 18(fvec4) GroupNonUniformShuffle 35 64 65
|
||||
67: 41(ptr) AccessChain 27(data) 61 29
|
||||
Store 67 66
|
||||
68: 6(int) Load 8(invocation)
|
||||
70: 69(ptr) AccessChain 27(data) 29 39 30
|
||||
71: 19(int) Load 70
|
||||
72: 6(int) Load 8(invocation)
|
||||
73: 19(int) GroupNonUniformShuffle 35 71 72
|
||||
74: 69(ptr) AccessChain 27(data) 68 39 30
|
||||
Store 74 73
|
||||
75: 6(int) Load 8(invocation)
|
||||
78: 77(ptr) AccessChain 27(data) 39 39
|
||||
79: 20(ivec4) Load 78
|
||||
80: 76(ivec2) VectorShuffle 79 79 0 1
|
||||
47: 31(ptr) AccessChain 27(data) 38 29 30
|
||||
48: 17(float) CompositeExtract 46 0
|
||||
Store 47 48
|
||||
50: 31(ptr) AccessChain 27(data) 38 29 49
|
||||
51: 17(float) CompositeExtract 46 1
|
||||
Store 50 51
|
||||
52: 6(int) Load 8(invocation)
|
||||
55: 41(ptr) AccessChain 27(data) 53 29
|
||||
56: 18(fvec4) Load 55
|
||||
57: 54(fvec3) VectorShuffle 56 56 0 1 2
|
||||
58: 6(int) Load 8(invocation)
|
||||
59: 54(fvec3) GroupNonUniformShuffle 35 57 58
|
||||
60: 31(ptr) AccessChain 27(data) 52 29 30
|
||||
61: 17(float) CompositeExtract 59 0
|
||||
Store 60 61
|
||||
62: 31(ptr) AccessChain 27(data) 52 29 49
|
||||
63: 17(float) CompositeExtract 59 1
|
||||
Store 62 63
|
||||
65: 31(ptr) AccessChain 27(data) 52 29 64
|
||||
66: 17(float) CompositeExtract 59 2
|
||||
Store 65 66
|
||||
67: 6(int) Load 8(invocation)
|
||||
69: 41(ptr) AccessChain 27(data) 68 29
|
||||
70: 18(fvec4) Load 69
|
||||
71: 6(int) Load 8(invocation)
|
||||
72: 18(fvec4) GroupNonUniformShuffle 35 70 71
|
||||
73: 41(ptr) AccessChain 27(data) 67 29
|
||||
Store 73 72
|
||||
74: 6(int) Load 8(invocation)
|
||||
76: 75(ptr) AccessChain 27(data) 29 39 30
|
||||
77: 19(int) Load 76
|
||||
78: 6(int) Load 8(invocation)
|
||||
79: 19(int) GroupNonUniformShuffle 35 77 78
|
||||
80: 75(ptr) AccessChain 27(data) 74 39 30
|
||||
Store 80 79
|
||||
81: 6(int) Load 8(invocation)
|
||||
82: 76(ivec2) GroupNonUniformShuffle 35 80 81
|
||||
83: 77(ptr) AccessChain 27(data) 75 39
|
||||
84: 20(ivec4) Load 83
|
||||
85: 20(ivec4) VectorShuffle 84 82 4 5 2 3
|
||||
Store 83 85
|
||||
86: 6(int) Load 8(invocation)
|
||||
88: 77(ptr) AccessChain 27(data) 51 39
|
||||
89: 20(ivec4) Load 88
|
||||
90: 87(ivec3) VectorShuffle 89 89 0 1 2
|
||||
91: 6(int) Load 8(invocation)
|
||||
92: 87(ivec3) GroupNonUniformShuffle 35 90 91
|
||||
93: 77(ptr) AccessChain 27(data) 86 39
|
||||
94: 20(ivec4) Load 93
|
||||
95: 20(ivec4) VectorShuffle 94 92 4 5 6 3
|
||||
Store 93 95
|
||||
96: 6(int) Load 8(invocation)
|
||||
97: 77(ptr) AccessChain 27(data) 62 39
|
||||
98: 20(ivec4) Load 97
|
||||
99: 6(int) Load 8(invocation)
|
||||
100: 20(ivec4) GroupNonUniformShuffle 35 98 99
|
||||
101: 77(ptr) AccessChain 27(data) 96 39
|
||||
Store 101 100
|
||||
102: 6(int) Load 8(invocation)
|
||||
104: 103(ptr) AccessChain 27(data) 29 51 30
|
||||
105: 6(int) Load 104
|
||||
84: 83(ptr) AccessChain 27(data) 39 39
|
||||
85: 20(ivec4) Load 84
|
||||
86: 82(ivec2) VectorShuffle 85 85 0 1
|
||||
87: 6(int) Load 8(invocation)
|
||||
88: 82(ivec2) GroupNonUniformShuffle 35 86 87
|
||||
89: 75(ptr) AccessChain 27(data) 81 39 30
|
||||
90: 19(int) CompositeExtract 88 0
|
||||
Store 89 90
|
||||
91: 75(ptr) AccessChain 27(data) 81 39 49
|
||||
92: 19(int) CompositeExtract 88 1
|
||||
Store 91 92
|
||||
93: 6(int) Load 8(invocation)
|
||||
95: 83(ptr) AccessChain 27(data) 53 39
|
||||
96: 20(ivec4) Load 95
|
||||
97: 94(ivec3) VectorShuffle 96 96 0 1 2
|
||||
98: 6(int) Load 8(invocation)
|
||||
99: 94(ivec3) GroupNonUniformShuffle 35 97 98
|
||||
100: 75(ptr) AccessChain 27(data) 93 39 30
|
||||
101: 19(int) CompositeExtract 99 0
|
||||
Store 100 101
|
||||
102: 75(ptr) AccessChain 27(data) 93 39 49
|
||||
103: 19(int) CompositeExtract 99 1
|
||||
Store 102 103
|
||||
104: 75(ptr) AccessChain 27(data) 93 39 64
|
||||
105: 19(int) CompositeExtract 99 2
|
||||
Store 104 105
|
||||
106: 6(int) Load 8(invocation)
|
||||
107: 6(int) GroupNonUniformShuffle 35 105 106
|
||||
108: 103(ptr) AccessChain 27(data) 102 51 30
|
||||
Store 108 107
|
||||
107: 83(ptr) AccessChain 27(data) 68 39
|
||||
108: 20(ivec4) Load 107
|
||||
109: 6(int) Load 8(invocation)
|
||||
112: 111(ptr) AccessChain 27(data) 39 51
|
||||
113: 21(ivec4) Load 112
|
||||
114: 110(ivec2) VectorShuffle 113 113 0 1
|
||||
115: 6(int) Load 8(invocation)
|
||||
116: 110(ivec2) GroupNonUniformShuffle 35 114 115
|
||||
117: 111(ptr) AccessChain 27(data) 109 51
|
||||
118: 21(ivec4) Load 117
|
||||
119: 21(ivec4) VectorShuffle 118 116 4 5 2 3
|
||||
Store 117 119
|
||||
120: 6(int) Load 8(invocation)
|
||||
122: 111(ptr) AccessChain 27(data) 51 51
|
||||
110: 20(ivec4) GroupNonUniformShuffle 35 108 109
|
||||
111: 83(ptr) AccessChain 27(data) 106 39
|
||||
Store 111 110
|
||||
112: 6(int) Load 8(invocation)
|
||||
114: 113(ptr) AccessChain 27(data) 29 53 30
|
||||
115: 6(int) Load 114
|
||||
116: 6(int) Load 8(invocation)
|
||||
117: 6(int) GroupNonUniformShuffle 35 115 116
|
||||
118: 113(ptr) AccessChain 27(data) 112 53 30
|
||||
Store 118 117
|
||||
119: 6(int) Load 8(invocation)
|
||||
122: 121(ptr) AccessChain 27(data) 39 53
|
||||
123: 21(ivec4) Load 122
|
||||
124: 121(ivec3) VectorShuffle 123 123 0 1 2
|
||||
124: 120(ivec2) VectorShuffle 123 123 0 1
|
||||
125: 6(int) Load 8(invocation)
|
||||
126: 121(ivec3) GroupNonUniformShuffle 35 124 125
|
||||
127: 111(ptr) AccessChain 27(data) 120 51
|
||||
128: 21(ivec4) Load 127
|
||||
129: 21(ivec4) VectorShuffle 128 126 4 5 6 3
|
||||
Store 127 129
|
||||
130: 6(int) Load 8(invocation)
|
||||
131: 111(ptr) AccessChain 27(data) 62 51
|
||||
132: 21(ivec4) Load 131
|
||||
133: 6(int) Load 8(invocation)
|
||||
134: 21(ivec4) GroupNonUniformShuffle 35 132 133
|
||||
135: 111(ptr) AccessChain 27(data) 130 51
|
||||
Store 135 134
|
||||
126: 120(ivec2) GroupNonUniformShuffle 35 124 125
|
||||
127: 113(ptr) AccessChain 27(data) 119 53 30
|
||||
128: 6(int) CompositeExtract 126 0
|
||||
Store 127 128
|
||||
129: 113(ptr) AccessChain 27(data) 119 53 49
|
||||
130: 6(int) CompositeExtract 126 1
|
||||
Store 129 130
|
||||
131: 6(int) Load 8(invocation)
|
||||
133: 121(ptr) AccessChain 27(data) 53 53
|
||||
134: 21(ivec4) Load 133
|
||||
135: 132(ivec3) VectorShuffle 134 134 0 1 2
|
||||
136: 6(int) Load 8(invocation)
|
||||
138: 137(ptr) AccessChain 27(data) 29 62 30
|
||||
139:22(float64_t) Load 138
|
||||
140: 6(int) Load 8(invocation)
|
||||
141:22(float64_t) GroupNonUniformShuffle 35 139 140
|
||||
142: 137(ptr) AccessChain 27(data) 136 62 30
|
||||
Store 142 141
|
||||
143: 6(int) Load 8(invocation)
|
||||
146: 145(ptr) AccessChain 27(data) 39 62
|
||||
147: 23(f64vec4) Load 146
|
||||
148:144(f64vec2) VectorShuffle 147 147 0 1
|
||||
149: 6(int) Load 8(invocation)
|
||||
150:144(f64vec2) GroupNonUniformShuffle 35 148 149
|
||||
151: 145(ptr) AccessChain 27(data) 143 62
|
||||
152: 23(f64vec4) Load 151
|
||||
153: 23(f64vec4) VectorShuffle 152 150 4 5 2 3
|
||||
Store 151 153
|
||||
137: 132(ivec3) GroupNonUniformShuffle 35 135 136
|
||||
138: 113(ptr) AccessChain 27(data) 131 53 30
|
||||
139: 6(int) CompositeExtract 137 0
|
||||
Store 138 139
|
||||
140: 113(ptr) AccessChain 27(data) 131 53 49
|
||||
141: 6(int) CompositeExtract 137 1
|
||||
Store 140 141
|
||||
142: 113(ptr) AccessChain 27(data) 131 53 64
|
||||
143: 6(int) CompositeExtract 137 2
|
||||
Store 142 143
|
||||
144: 6(int) Load 8(invocation)
|
||||
145: 121(ptr) AccessChain 27(data) 68 53
|
||||
146: 21(ivec4) Load 145
|
||||
147: 6(int) Load 8(invocation)
|
||||
148: 21(ivec4) GroupNonUniformShuffle 35 146 147
|
||||
149: 121(ptr) AccessChain 27(data) 144 53
|
||||
Store 149 148
|
||||
150: 6(int) Load 8(invocation)
|
||||
152: 151(ptr) AccessChain 27(data) 29 68 30
|
||||
153:22(float64_t) Load 152
|
||||
154: 6(int) Load 8(invocation)
|
||||
156: 145(ptr) AccessChain 27(data) 51 62
|
||||
157: 23(f64vec4) Load 156
|
||||
158:155(f64vec3) VectorShuffle 157 157 0 1 2
|
||||
159: 6(int) Load 8(invocation)
|
||||
160:155(f64vec3) GroupNonUniformShuffle 35 158 159
|
||||
161: 145(ptr) AccessChain 27(data) 154 62
|
||||
162: 23(f64vec4) Load 161
|
||||
163: 23(f64vec4) VectorShuffle 162 160 4 5 6 3
|
||||
Store 161 163
|
||||
164: 6(int) Load 8(invocation)
|
||||
165: 145(ptr) AccessChain 27(data) 62 62
|
||||
166: 23(f64vec4) Load 165
|
||||
167: 6(int) Load 8(invocation)
|
||||
168: 23(f64vec4) GroupNonUniformShuffle 35 166 167
|
||||
169: 145(ptr) AccessChain 27(data) 164 62
|
||||
Store 169 168
|
||||
170: 6(int) Load 8(invocation)
|
||||
171: 69(ptr) AccessChain 27(data) 29 39 30
|
||||
172: 19(int) Load 171
|
||||
174: 173(bool) SLessThan 172 29
|
||||
175: 6(int) Load 8(invocation)
|
||||
176: 173(bool) GroupNonUniformShuffle 35 174 175
|
||||
177: 19(int) Select 176 39 29
|
||||
178: 69(ptr) AccessChain 27(data) 170 39 30
|
||||
Store 178 177
|
||||
179: 6(int) Load 8(invocation)
|
||||
180: 77(ptr) AccessChain 27(data) 39 39
|
||||
181: 20(ivec4) Load 180
|
||||
182: 76(ivec2) VectorShuffle 181 181 0 1
|
||||
185: 184(bvec2) SLessThan 182 183
|
||||
186: 6(int) Load 8(invocation)
|
||||
187: 184(bvec2) GroupNonUniformShuffle 35 185 186
|
||||
189: 76(ivec2) Select 187 188 183
|
||||
190: 77(ptr) AccessChain 27(data) 179 39
|
||||
191: 20(ivec4) Load 190
|
||||
192: 20(ivec4) VectorShuffle 191 189 4 5 2 3
|
||||
Store 190 192
|
||||
155:22(float64_t) GroupNonUniformShuffle 35 153 154
|
||||
156: 151(ptr) AccessChain 27(data) 150 68 30
|
||||
Store 156 155
|
||||
157: 6(int) Load 8(invocation)
|
||||
160: 159(ptr) AccessChain 27(data) 39 68
|
||||
161: 23(f64vec4) Load 160
|
||||
162:158(f64vec2) VectorShuffle 161 161 0 1
|
||||
163: 6(int) Load 8(invocation)
|
||||
164:158(f64vec2) GroupNonUniformShuffle 35 162 163
|
||||
165: 151(ptr) AccessChain 27(data) 157 68 30
|
||||
166:22(float64_t) CompositeExtract 164 0
|
||||
Store 165 166
|
||||
167: 151(ptr) AccessChain 27(data) 157 68 49
|
||||
168:22(float64_t) CompositeExtract 164 1
|
||||
Store 167 168
|
||||
169: 6(int) Load 8(invocation)
|
||||
171: 159(ptr) AccessChain 27(data) 53 68
|
||||
172: 23(f64vec4) Load 171
|
||||
173:170(f64vec3) VectorShuffle 172 172 0 1 2
|
||||
174: 6(int) Load 8(invocation)
|
||||
175:170(f64vec3) GroupNonUniformShuffle 35 173 174
|
||||
176: 151(ptr) AccessChain 27(data) 169 68 30
|
||||
177:22(float64_t) CompositeExtract 175 0
|
||||
Store 176 177
|
||||
178: 151(ptr) AccessChain 27(data) 169 68 49
|
||||
179:22(float64_t) CompositeExtract 175 1
|
||||
Store 178 179
|
||||
180: 151(ptr) AccessChain 27(data) 169 68 64
|
||||
181:22(float64_t) CompositeExtract 175 2
|
||||
Store 180 181
|
||||
182: 6(int) Load 8(invocation)
|
||||
183: 159(ptr) AccessChain 27(data) 68 68
|
||||
184: 23(f64vec4) Load 183
|
||||
185: 6(int) Load 8(invocation)
|
||||
186: 23(f64vec4) GroupNonUniformShuffle 35 184 185
|
||||
187: 159(ptr) AccessChain 27(data) 182 68
|
||||
Store 187 186
|
||||
188: 6(int) Load 8(invocation)
|
||||
189: 75(ptr) AccessChain 27(data) 29 39 30
|
||||
190: 19(int) Load 189
|
||||
192: 191(bool) SLessThan 190 29
|
||||
193: 6(int) Load 8(invocation)
|
||||
194: 77(ptr) AccessChain 27(data) 39 39
|
||||
195: 20(ivec4) Load 194
|
||||
196: 87(ivec3) VectorShuffle 195 195 0 1 2
|
||||
199: 198(bvec3) SLessThan 196 197
|
||||
200: 6(int) Load 8(invocation)
|
||||
201: 198(bvec3) GroupNonUniformShuffle 35 199 200
|
||||
203: 87(ivec3) Select 201 202 197
|
||||
204: 77(ptr) AccessChain 27(data) 193 39
|
||||
205: 20(ivec4) Load 204
|
||||
206: 20(ivec4) VectorShuffle 205 203 4 5 6 3
|
||||
Store 204 206
|
||||
207: 6(int) Load 8(invocation)
|
||||
208: 77(ptr) AccessChain 27(data) 39 39
|
||||
209: 20(ivec4) Load 208
|
||||
212: 211(bvec4) SLessThan 209 210
|
||||
213: 6(int) Load 8(invocation)
|
||||
214: 211(bvec4) GroupNonUniformShuffle 35 212 213
|
||||
216: 20(ivec4) Select 214 215 210
|
||||
217: 77(ptr) AccessChain 27(data) 207 39
|
||||
Store 217 216
|
||||
218: 6(int) Load 8(invocation)
|
||||
219: 31(ptr) AccessChain 27(data) 29 29 30
|
||||
220: 17(float) Load 219
|
||||
221: 6(int) Load 8(invocation)
|
||||
222: 17(float) GroupNonUniformShuffleXor 35 220 221
|
||||
223: 31(ptr) AccessChain 27(data) 218 29 30
|
||||
Store 223 222
|
||||
224: 6(int) Load 8(invocation)
|
||||
225: 41(ptr) AccessChain 27(data) 39 29
|
||||
226: 18(fvec4) Load 225
|
||||
227: 40(fvec2) VectorShuffle 226 226 0 1
|
||||
228: 6(int) Load 8(invocation)
|
||||
229: 40(fvec2) GroupNonUniformShuffleXor 35 227 228
|
||||
230: 41(ptr) AccessChain 27(data) 224 29
|
||||
231: 18(fvec4) Load 230
|
||||
232: 18(fvec4) VectorShuffle 231 229 4 5 2 3
|
||||
Store 230 232
|
||||
233: 6(int) Load 8(invocation)
|
||||
234: 41(ptr) AccessChain 27(data) 51 29
|
||||
235: 18(fvec4) Load 234
|
||||
236: 52(fvec3) VectorShuffle 235 235 0 1 2
|
||||
237: 6(int) Load 8(invocation)
|
||||
238: 52(fvec3) GroupNonUniformShuffleXor 35 236 237
|
||||
239: 41(ptr) AccessChain 27(data) 233 29
|
||||
240: 18(fvec4) Load 239
|
||||
241: 18(fvec4) VectorShuffle 240 238 4 5 6 3
|
||||
Store 239 241
|
||||
242: 6(int) Load 8(invocation)
|
||||
243: 41(ptr) AccessChain 27(data) 62 29
|
||||
244: 18(fvec4) Load 243
|
||||
245: 6(int) Load 8(invocation)
|
||||
246: 18(fvec4) GroupNonUniformShuffleXor 35 244 245
|
||||
247: 41(ptr) AccessChain 27(data) 242 29
|
||||
Store 247 246
|
||||
248: 6(int) Load 8(invocation)
|
||||
249: 69(ptr) AccessChain 27(data) 29 39 30
|
||||
250: 19(int) Load 249
|
||||
251: 6(int) Load 8(invocation)
|
||||
252: 19(int) GroupNonUniformShuffleXor 35 250 251
|
||||
253: 69(ptr) AccessChain 27(data) 248 39 30
|
||||
Store 253 252
|
||||
254: 6(int) Load 8(invocation)
|
||||
255: 77(ptr) AccessChain 27(data) 39 39
|
||||
256: 20(ivec4) Load 255
|
||||
257: 76(ivec2) VectorShuffle 256 256 0 1
|
||||
258: 6(int) Load 8(invocation)
|
||||
259: 76(ivec2) GroupNonUniformShuffleXor 35 257 258
|
||||
260: 77(ptr) AccessChain 27(data) 254 39
|
||||
261: 20(ivec4) Load 260
|
||||
262: 20(ivec4) VectorShuffle 261 259 4 5 2 3
|
||||
Store 260 262
|
||||
263: 6(int) Load 8(invocation)
|
||||
264: 77(ptr) AccessChain 27(data) 51 39
|
||||
265: 20(ivec4) Load 264
|
||||
266: 87(ivec3) VectorShuffle 265 265 0 1 2
|
||||
267: 6(int) Load 8(invocation)
|
||||
268: 87(ivec3) GroupNonUniformShuffleXor 35 266 267
|
||||
269: 77(ptr) AccessChain 27(data) 263 39
|
||||
270: 20(ivec4) Load 269
|
||||
271: 20(ivec4) VectorShuffle 270 268 4 5 6 3
|
||||
Store 269 271
|
||||
272: 6(int) Load 8(invocation)
|
||||
273: 77(ptr) AccessChain 27(data) 62 39
|
||||
274: 20(ivec4) Load 273
|
||||
275: 6(int) Load 8(invocation)
|
||||
276: 20(ivec4) GroupNonUniformShuffleXor 35 274 275
|
||||
277: 77(ptr) AccessChain 27(data) 272 39
|
||||
Store 277 276
|
||||
278: 6(int) Load 8(invocation)
|
||||
279: 103(ptr) AccessChain 27(data) 29 51 30
|
||||
280: 6(int) Load 279
|
||||
281: 6(int) Load 8(invocation)
|
||||
282: 6(int) GroupNonUniformShuffleXor 35 280 281
|
||||
283: 103(ptr) AccessChain 27(data) 278 51 30
|
||||
Store 283 282
|
||||
194: 191(bool) GroupNonUniformShuffle 35 192 193
|
||||
195: 19(int) Select 194 39 29
|
||||
196: 75(ptr) AccessChain 27(data) 188 39 30
|
||||
Store 196 195
|
||||
197: 6(int) Load 8(invocation)
|
||||
198: 83(ptr) AccessChain 27(data) 39 39
|
||||
199: 20(ivec4) Load 198
|
||||
200: 82(ivec2) VectorShuffle 199 199 0 1
|
||||
203: 202(bvec2) SLessThan 200 201
|
||||
204: 6(int) Load 8(invocation)
|
||||
205: 202(bvec2) GroupNonUniformShuffle 35 203 204
|
||||
207: 82(ivec2) Select 205 206 201
|
||||
208: 75(ptr) AccessChain 27(data) 197 39 30
|
||||
209: 19(int) CompositeExtract 207 0
|
||||
Store 208 209
|
||||
210: 75(ptr) AccessChain 27(data) 197 39 49
|
||||
211: 19(int) CompositeExtract 207 1
|
||||
Store 210 211
|
||||
212: 6(int) Load 8(invocation)
|
||||
213: 83(ptr) AccessChain 27(data) 39 39
|
||||
214: 20(ivec4) Load 213
|
||||
215: 94(ivec3) VectorShuffle 214 214 0 1 2
|
||||
218: 217(bvec3) SLessThan 215 216
|
||||
219: 6(int) Load 8(invocation)
|
||||
220: 217(bvec3) GroupNonUniformShuffle 35 218 219
|
||||
222: 94(ivec3) Select 220 221 216
|
||||
223: 75(ptr) AccessChain 27(data) 212 39 30
|
||||
224: 19(int) CompositeExtract 222 0
|
||||
Store 223 224
|
||||
225: 75(ptr) AccessChain 27(data) 212 39 49
|
||||
226: 19(int) CompositeExtract 222 1
|
||||
Store 225 226
|
||||
227: 75(ptr) AccessChain 27(data) 212 39 64
|
||||
228: 19(int) CompositeExtract 222 2
|
||||
Store 227 228
|
||||
229: 6(int) Load 8(invocation)
|
||||
230: 83(ptr) AccessChain 27(data) 39 39
|
||||
231: 20(ivec4) Load 230
|
||||
234: 233(bvec4) SLessThan 231 232
|
||||
235: 6(int) Load 8(invocation)
|
||||
236: 233(bvec4) GroupNonUniformShuffle 35 234 235
|
||||
238: 20(ivec4) Select 236 237 232
|
||||
239: 83(ptr) AccessChain 27(data) 229 39
|
||||
Store 239 238
|
||||
240: 6(int) Load 8(invocation)
|
||||
241: 31(ptr) AccessChain 27(data) 29 29 30
|
||||
242: 17(float) Load 241
|
||||
243: 6(int) Load 8(invocation)
|
||||
244: 17(float) GroupNonUniformShuffleXor 35 242 243
|
||||
245: 31(ptr) AccessChain 27(data) 240 29 30
|
||||
Store 245 244
|
||||
246: 6(int) Load 8(invocation)
|
||||
247: 41(ptr) AccessChain 27(data) 39 29
|
||||
248: 18(fvec4) Load 247
|
||||
249: 40(fvec2) VectorShuffle 248 248 0 1
|
||||
250: 6(int) Load 8(invocation)
|
||||
251: 40(fvec2) GroupNonUniformShuffleXor 35 249 250
|
||||
252: 31(ptr) AccessChain 27(data) 246 29 30
|
||||
253: 17(float) CompositeExtract 251 0
|
||||
Store 252 253
|
||||
254: 31(ptr) AccessChain 27(data) 246 29 49
|
||||
255: 17(float) CompositeExtract 251 1
|
||||
Store 254 255
|
||||
256: 6(int) Load 8(invocation)
|
||||
257: 41(ptr) AccessChain 27(data) 53 29
|
||||
258: 18(fvec4) Load 257
|
||||
259: 54(fvec3) VectorShuffle 258 258 0 1 2
|
||||
260: 6(int) Load 8(invocation)
|
||||
261: 54(fvec3) GroupNonUniformShuffleXor 35 259 260
|
||||
262: 31(ptr) AccessChain 27(data) 256 29 30
|
||||
263: 17(float) CompositeExtract 261 0
|
||||
Store 262 263
|
||||
264: 31(ptr) AccessChain 27(data) 256 29 49
|
||||
265: 17(float) CompositeExtract 261 1
|
||||
Store 264 265
|
||||
266: 31(ptr) AccessChain 27(data) 256 29 64
|
||||
267: 17(float) CompositeExtract 261 2
|
||||
Store 266 267
|
||||
268: 6(int) Load 8(invocation)
|
||||
269: 41(ptr) AccessChain 27(data) 68 29
|
||||
270: 18(fvec4) Load 269
|
||||
271: 6(int) Load 8(invocation)
|
||||
272: 18(fvec4) GroupNonUniformShuffleXor 35 270 271
|
||||
273: 41(ptr) AccessChain 27(data) 268 29
|
||||
Store 273 272
|
||||
274: 6(int) Load 8(invocation)
|
||||
275: 75(ptr) AccessChain 27(data) 29 39 30
|
||||
276: 19(int) Load 275
|
||||
277: 6(int) Load 8(invocation)
|
||||
278: 19(int) GroupNonUniformShuffleXor 35 276 277
|
||||
279: 75(ptr) AccessChain 27(data) 274 39 30
|
||||
Store 279 278
|
||||
280: 6(int) Load 8(invocation)
|
||||
281: 83(ptr) AccessChain 27(data) 39 39
|
||||
282: 20(ivec4) Load 281
|
||||
283: 82(ivec2) VectorShuffle 282 282 0 1
|
||||
284: 6(int) Load 8(invocation)
|
||||
285: 111(ptr) AccessChain 27(data) 39 51
|
||||
286: 21(ivec4) Load 285
|
||||
287: 110(ivec2) VectorShuffle 286 286 0 1
|
||||
288: 6(int) Load 8(invocation)
|
||||
289: 110(ivec2) GroupNonUniformShuffleXor 35 287 288
|
||||
290: 111(ptr) AccessChain 27(data) 284 51
|
||||
291: 21(ivec4) Load 290
|
||||
292: 21(ivec4) VectorShuffle 291 289 4 5 2 3
|
||||
Store 290 292
|
||||
293: 6(int) Load 8(invocation)
|
||||
294: 111(ptr) AccessChain 27(data) 51 51
|
||||
295: 21(ivec4) Load 294
|
||||
296: 121(ivec3) VectorShuffle 295 295 0 1 2
|
||||
297: 6(int) Load 8(invocation)
|
||||
298: 121(ivec3) GroupNonUniformShuffleXor 35 296 297
|
||||
299: 111(ptr) AccessChain 27(data) 293 51
|
||||
300: 21(ivec4) Load 299
|
||||
301: 21(ivec4) VectorShuffle 300 298 4 5 6 3
|
||||
Store 299 301
|
||||
285: 82(ivec2) GroupNonUniformShuffleXor 35 283 284
|
||||
286: 75(ptr) AccessChain 27(data) 280 39 30
|
||||
287: 19(int) CompositeExtract 285 0
|
||||
Store 286 287
|
||||
288: 75(ptr) AccessChain 27(data) 280 39 49
|
||||
289: 19(int) CompositeExtract 285 1
|
||||
Store 288 289
|
||||
290: 6(int) Load 8(invocation)
|
||||
291: 83(ptr) AccessChain 27(data) 53 39
|
||||
292: 20(ivec4) Load 291
|
||||
293: 94(ivec3) VectorShuffle 292 292 0 1 2
|
||||
294: 6(int) Load 8(invocation)
|
||||
295: 94(ivec3) GroupNonUniformShuffleXor 35 293 294
|
||||
296: 75(ptr) AccessChain 27(data) 290 39 30
|
||||
297: 19(int) CompositeExtract 295 0
|
||||
Store 296 297
|
||||
298: 75(ptr) AccessChain 27(data) 290 39 49
|
||||
299: 19(int) CompositeExtract 295 1
|
||||
Store 298 299
|
||||
300: 75(ptr) AccessChain 27(data) 290 39 64
|
||||
301: 19(int) CompositeExtract 295 2
|
||||
Store 300 301
|
||||
302: 6(int) Load 8(invocation)
|
||||
303: 111(ptr) AccessChain 27(data) 62 51
|
||||
304: 21(ivec4) Load 303
|
||||
303: 83(ptr) AccessChain 27(data) 68 39
|
||||
304: 20(ivec4) Load 303
|
||||
305: 6(int) Load 8(invocation)
|
||||
306: 21(ivec4) GroupNonUniformShuffleXor 35 304 305
|
||||
307: 111(ptr) AccessChain 27(data) 302 51
|
||||
306: 20(ivec4) GroupNonUniformShuffleXor 35 304 305
|
||||
307: 83(ptr) AccessChain 27(data) 302 39
|
||||
Store 307 306
|
||||
308: 6(int) Load 8(invocation)
|
||||
309: 137(ptr) AccessChain 27(data) 29 62 30
|
||||
310:22(float64_t) Load 309
|
||||
309: 113(ptr) AccessChain 27(data) 29 53 30
|
||||
310: 6(int) Load 309
|
||||
311: 6(int) Load 8(invocation)
|
||||
312:22(float64_t) GroupNonUniformShuffleXor 35 310 311
|
||||
313: 137(ptr) AccessChain 27(data) 308 62 30
|
||||
312: 6(int) GroupNonUniformShuffleXor 35 310 311
|
||||
313: 113(ptr) AccessChain 27(data) 308 53 30
|
||||
Store 313 312
|
||||
314: 6(int) Load 8(invocation)
|
||||
315: 145(ptr) AccessChain 27(data) 39 62
|
||||
316: 23(f64vec4) Load 315
|
||||
317:144(f64vec2) VectorShuffle 316 316 0 1
|
||||
315: 121(ptr) AccessChain 27(data) 39 53
|
||||
316: 21(ivec4) Load 315
|
||||
317: 120(ivec2) VectorShuffle 316 316 0 1
|
||||
318: 6(int) Load 8(invocation)
|
||||
319:144(f64vec2) GroupNonUniformShuffleXor 35 317 318
|
||||
320: 145(ptr) AccessChain 27(data) 314 62
|
||||
321: 23(f64vec4) Load 320
|
||||
322: 23(f64vec4) VectorShuffle 321 319 4 5 2 3
|
||||
Store 320 322
|
||||
323: 6(int) Load 8(invocation)
|
||||
324: 145(ptr) AccessChain 27(data) 51 62
|
||||
325: 23(f64vec4) Load 324
|
||||
326:155(f64vec3) VectorShuffle 325 325 0 1 2
|
||||
327: 6(int) Load 8(invocation)
|
||||
328:155(f64vec3) GroupNonUniformShuffleXor 35 326 327
|
||||
329: 145(ptr) AccessChain 27(data) 323 62
|
||||
330: 23(f64vec4) Load 329
|
||||
331: 23(f64vec4) VectorShuffle 330 328 4 5 6 3
|
||||
Store 329 331
|
||||
332: 6(int) Load 8(invocation)
|
||||
333: 145(ptr) AccessChain 27(data) 62 62
|
||||
334: 23(f64vec4) Load 333
|
||||
335: 6(int) Load 8(invocation)
|
||||
336: 23(f64vec4) GroupNonUniformShuffleXor 35 334 335
|
||||
337: 145(ptr) AccessChain 27(data) 332 62
|
||||
Store 337 336
|
||||
338: 6(int) Load 8(invocation)
|
||||
339: 69(ptr) AccessChain 27(data) 29 39 30
|
||||
340: 19(int) Load 339
|
||||
341: 173(bool) SLessThan 340 29
|
||||
319: 120(ivec2) GroupNonUniformShuffleXor 35 317 318
|
||||
320: 113(ptr) AccessChain 27(data) 314 53 30
|
||||
321: 6(int) CompositeExtract 319 0
|
||||
Store 320 321
|
||||
322: 113(ptr) AccessChain 27(data) 314 53 49
|
||||
323: 6(int) CompositeExtract 319 1
|
||||
Store 322 323
|
||||
324: 6(int) Load 8(invocation)
|
||||
325: 121(ptr) AccessChain 27(data) 53 53
|
||||
326: 21(ivec4) Load 325
|
||||
327: 132(ivec3) VectorShuffle 326 326 0 1 2
|
||||
328: 6(int) Load 8(invocation)
|
||||
329: 132(ivec3) GroupNonUniformShuffleXor 35 327 328
|
||||
330: 113(ptr) AccessChain 27(data) 324 53 30
|
||||
331: 6(int) CompositeExtract 329 0
|
||||
Store 330 331
|
||||
332: 113(ptr) AccessChain 27(data) 324 53 49
|
||||
333: 6(int) CompositeExtract 329 1
|
||||
Store 332 333
|
||||
334: 113(ptr) AccessChain 27(data) 324 53 64
|
||||
335: 6(int) CompositeExtract 329 2
|
||||
Store 334 335
|
||||
336: 6(int) Load 8(invocation)
|
||||
337: 121(ptr) AccessChain 27(data) 68 53
|
||||
338: 21(ivec4) Load 337
|
||||
339: 6(int) Load 8(invocation)
|
||||
340: 21(ivec4) GroupNonUniformShuffleXor 35 338 339
|
||||
341: 121(ptr) AccessChain 27(data) 336 53
|
||||
Store 341 340
|
||||
342: 6(int) Load 8(invocation)
|
||||
343: 173(bool) GroupNonUniformShuffleXor 35 341 342
|
||||
344: 19(int) Select 343 39 29
|
||||
345: 69(ptr) AccessChain 27(data) 338 39 30
|
||||
Store 345 344
|
||||
346: 6(int) Load 8(invocation)
|
||||
347: 77(ptr) AccessChain 27(data) 39 39
|
||||
348: 20(ivec4) Load 347
|
||||
349: 76(ivec2) VectorShuffle 348 348 0 1
|
||||
350: 184(bvec2) SLessThan 349 183
|
||||
351: 6(int) Load 8(invocation)
|
||||
352: 184(bvec2) GroupNonUniformShuffleXor 35 350 351
|
||||
353: 76(ivec2) Select 352 188 183
|
||||
354: 77(ptr) AccessChain 27(data) 346 39
|
||||
355: 20(ivec4) Load 354
|
||||
356: 20(ivec4) VectorShuffle 355 353 4 5 2 3
|
||||
Store 354 356
|
||||
357: 6(int) Load 8(invocation)
|
||||
358: 77(ptr) AccessChain 27(data) 39 39
|
||||
359: 20(ivec4) Load 358
|
||||
360: 87(ivec3) VectorShuffle 359 359 0 1 2
|
||||
361: 198(bvec3) SLessThan 360 197
|
||||
343: 151(ptr) AccessChain 27(data) 29 68 30
|
||||
344:22(float64_t) Load 343
|
||||
345: 6(int) Load 8(invocation)
|
||||
346:22(float64_t) GroupNonUniformShuffleXor 35 344 345
|
||||
347: 151(ptr) AccessChain 27(data) 342 68 30
|
||||
Store 347 346
|
||||
348: 6(int) Load 8(invocation)
|
||||
349: 159(ptr) AccessChain 27(data) 39 68
|
||||
350: 23(f64vec4) Load 349
|
||||
351:158(f64vec2) VectorShuffle 350 350 0 1
|
||||
352: 6(int) Load 8(invocation)
|
||||
353:158(f64vec2) GroupNonUniformShuffleXor 35 351 352
|
||||
354: 151(ptr) AccessChain 27(data) 348 68 30
|
||||
355:22(float64_t) CompositeExtract 353 0
|
||||
Store 354 355
|
||||
356: 151(ptr) AccessChain 27(data) 348 68 49
|
||||
357:22(float64_t) CompositeExtract 353 1
|
||||
Store 356 357
|
||||
358: 6(int) Load 8(invocation)
|
||||
359: 159(ptr) AccessChain 27(data) 53 68
|
||||
360: 23(f64vec4) Load 359
|
||||
361:170(f64vec3) VectorShuffle 360 360 0 1 2
|
||||
362: 6(int) Load 8(invocation)
|
||||
363: 198(bvec3) GroupNonUniformShuffleXor 35 361 362
|
||||
364: 87(ivec3) Select 363 202 197
|
||||
365: 77(ptr) AccessChain 27(data) 357 39
|
||||
366: 20(ivec4) Load 365
|
||||
367: 20(ivec4) VectorShuffle 366 364 4 5 6 3
|
||||
Store 365 367
|
||||
368: 6(int) Load 8(invocation)
|
||||
369: 77(ptr) AccessChain 27(data) 39 39
|
||||
370: 20(ivec4) Load 369
|
||||
371: 211(bvec4) SLessThan 370 210
|
||||
372: 6(int) Load 8(invocation)
|
||||
373: 211(bvec4) GroupNonUniformShuffleXor 35 371 372
|
||||
374: 20(ivec4) Select 373 215 210
|
||||
375: 77(ptr) AccessChain 27(data) 368 39
|
||||
363:170(f64vec3) GroupNonUniformShuffleXor 35 361 362
|
||||
364: 151(ptr) AccessChain 27(data) 358 68 30
|
||||
365:22(float64_t) CompositeExtract 363 0
|
||||
Store 364 365
|
||||
366: 151(ptr) AccessChain 27(data) 358 68 49
|
||||
367:22(float64_t) CompositeExtract 363 1
|
||||
Store 366 367
|
||||
368: 151(ptr) AccessChain 27(data) 358 68 64
|
||||
369:22(float64_t) CompositeExtract 363 2
|
||||
Store 368 369
|
||||
370: 6(int) Load 8(invocation)
|
||||
371: 159(ptr) AccessChain 27(data) 68 68
|
||||
372: 23(f64vec4) Load 371
|
||||
373: 6(int) Load 8(invocation)
|
||||
374: 23(f64vec4) GroupNonUniformShuffleXor 35 372 373
|
||||
375: 159(ptr) AccessChain 27(data) 370 68
|
||||
Store 375 374
|
||||
376: 6(int) Load 8(invocation)
|
||||
377: 75(ptr) AccessChain 27(data) 29 39 30
|
||||
378: 19(int) Load 377
|
||||
379: 191(bool) SLessThan 378 29
|
||||
380: 6(int) Load 8(invocation)
|
||||
381: 191(bool) GroupNonUniformShuffleXor 35 379 380
|
||||
382: 19(int) Select 381 39 29
|
||||
383: 75(ptr) AccessChain 27(data) 376 39 30
|
||||
Store 383 382
|
||||
384: 6(int) Load 8(invocation)
|
||||
385: 83(ptr) AccessChain 27(data) 39 39
|
||||
386: 20(ivec4) Load 385
|
||||
387: 82(ivec2) VectorShuffle 386 386 0 1
|
||||
388: 202(bvec2) SLessThan 387 201
|
||||
389: 6(int) Load 8(invocation)
|
||||
390: 202(bvec2) GroupNonUniformShuffleXor 35 388 389
|
||||
391: 82(ivec2) Select 390 206 201
|
||||
392: 75(ptr) AccessChain 27(data) 384 39 30
|
||||
393: 19(int) CompositeExtract 391 0
|
||||
Store 392 393
|
||||
394: 75(ptr) AccessChain 27(data) 384 39 49
|
||||
395: 19(int) CompositeExtract 391 1
|
||||
Store 394 395
|
||||
396: 6(int) Load 8(invocation)
|
||||
397: 83(ptr) AccessChain 27(data) 39 39
|
||||
398: 20(ivec4) Load 397
|
||||
399: 94(ivec3) VectorShuffle 398 398 0 1 2
|
||||
400: 217(bvec3) SLessThan 399 216
|
||||
401: 6(int) Load 8(invocation)
|
||||
402: 217(bvec3) GroupNonUniformShuffleXor 35 400 401
|
||||
403: 94(ivec3) Select 402 221 216
|
||||
404: 75(ptr) AccessChain 27(data) 396 39 30
|
||||
405: 19(int) CompositeExtract 403 0
|
||||
Store 404 405
|
||||
406: 75(ptr) AccessChain 27(data) 396 39 49
|
||||
407: 19(int) CompositeExtract 403 1
|
||||
Store 406 407
|
||||
408: 75(ptr) AccessChain 27(data) 396 39 64
|
||||
409: 19(int) CompositeExtract 403 2
|
||||
Store 408 409
|
||||
410: 6(int) Load 8(invocation)
|
||||
411: 83(ptr) AccessChain 27(data) 39 39
|
||||
412: 20(ivec4) Load 411
|
||||
413: 233(bvec4) SLessThan 412 232
|
||||
414: 6(int) Load 8(invocation)
|
||||
415: 233(bvec4) GroupNonUniformShuffleXor 35 413 414
|
||||
416: 20(ivec4) Select 415 237 232
|
||||
417: 83(ptr) AccessChain 27(data) 410 39
|
||||
Store 417 416
|
||||
Return
|
||||
FunctionEnd
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue