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.subgroupShuffleRelative.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.subgroupShuffleRelative.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.subgroupShuffleRelative.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.subgroupShuffleRelative.comp
|
|||
44: 40(fvec2) VectorShuffle 43 43 0 1
|
||||
45: 6(int) Load 8(invocation)
|
||||
46: 40(fvec2) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 35 77 78
|
||||
80: 75(ptr) AccessChain 27(data) 74 39 30
|
||||
Store 80 79
|
||||
81: 6(int) Load 8(invocation)
|
||||
82: 76(ivec2) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 35 132 133
|
||||
135: 111(ptr) AccessChain 27(data) 130 51
|
||||
Store 135 134
|
||||
126: 120(ivec2) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 35 280 281
|
||||
283: 103(ptr) AccessChain 27(data) 278 51 30
|
||||
Store 283 282
|
||||
194: 191(bool) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleUp 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 35 304 305
|
||||
307: 111(ptr) AccessChain 27(data) 302 51
|
||||
306: 20(ivec4) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 35 310 311
|
||||
313: 137(ptr) AccessChain 27(data) 308 62 30
|
||||
312: 6(int) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 35 338 339
|
||||
341: 121(ptr) AccessChain 27(data) 336 53
|
||||
Store 341 340
|
||||
342: 6(int) Load 8(invocation)
|
||||
343: 173(bool) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 35 371 372
|
||||
374: 20(ivec4) Select 373 215 210
|
||||
375: 77(ptr) AccessChain 27(data) 368 39
|
||||
363:170(f64vec3) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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) GroupNonUniformShuffleDown 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