 b6b01f067b
			
		
	
	
		b6b01f067b
		
	
	
	
	
		
			
			UniformAndStorageBuffer8BitAccess capability. When using the 8-bit storage extension it basically always used the `UniformAndStorageBuffer8BitAccess` capability, even in cases where it wasn't required. For instance if we are targeting Vulkan 1.1 (SPIR-V 1.3 or higher), and we are only using 8-bit types in an SSBO, we only need the `StorageBuffer8BitAccess` capability. I fixed this by enabling storage buffer use in Vulkan 1.1 / SPIR-V 1.3 or higher, and then changing the logic to match. I also added some tests that will output different capabilities when run on Vulkan 1.0 and 1.1, thus they are added twice to the test list (one for each version). Fixes #1539
		
			
				
	
	
		
			881 lines
		
	
	
		
			46 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			881 lines
		
	
	
		
			46 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| spv.subgroupClustered.comp
 | |
| // Module Version 10300
 | |
| // Generated by (magic number): 80007
 | |
| // Id's are bound by 737
 | |
| 
 | |
|                               Capability Shader
 | |
|                               Capability Float64
 | |
|                               Capability GroupNonUniform
 | |
|                               Capability GroupNonUniformClustered
 | |
|                1:             ExtInstImport  "GLSL.std.450"
 | |
|                               MemoryModel Logical GLSL450
 | |
|                               EntryPoint GLCompute 4  "main" 10 12
 | |
|                               ExecutionMode 4 LocalSize 8 1 1
 | |
|                               Source GLSL 450
 | |
|                               SourceExtension  "GL_KHR_shader_subgroup_basic"
 | |
|                               SourceExtension  "GL_KHR_shader_subgroup_clustered"
 | |
|                               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"
 | |
|                               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
 | |
|                               Decorate 24(Buffers) Block
 | |
|                               Decorate 27(data) DescriptorSet 0
 | |
|                               Decorate 27(data) Binding 0
 | |
|                               Decorate 736 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)
 | |
|               25:             TypeArray 24(Buffers) 15
 | |
|               26:             TypePointer StorageBuffer 25
 | |
|         27(data):     26(ptr) Variable StorageBuffer
 | |
|               29:     19(int) Constant 0
 | |
|               30:      6(int) Constant 0
 | |
|               31:             TypePointer StorageBuffer 17(float)
 | |
|               34:      6(int) Constant 1
 | |
|               35:      6(int) Constant 3
 | |
|               39:     19(int) Constant 1
 | |
|               40:             TypeVector 17(float) 2
 | |
|               41:             TypePointer StorageBuffer 18(fvec4)
 | |
|               50:     19(int) Constant 2
 | |
|               51:             TypeVector 17(float) 3
 | |
|               60:     19(int) Constant 3
 | |
|               66:             TypePointer StorageBuffer 19(int)
 | |
|               72:             TypeVector 19(int) 2
 | |
|               73:             TypePointer StorageBuffer 20(ivec4)
 | |
|               82:             TypeVector 19(int) 3
 | |
|               96:             TypePointer StorageBuffer 6(int)
 | |
|              102:             TypeVector 6(int) 2
 | |
|              103:             TypePointer StorageBuffer 21(ivec4)
 | |
|              112:             TypeVector 6(int) 3
 | |
|              126:             TypePointer StorageBuffer 22(float64_t)
 | |
|              132:             TypeVector 22(float64_t) 2
 | |
|              133:             TypePointer StorageBuffer 23(f64vec4)
 | |
|              142:             TypeVector 22(float64_t) 3
 | |
|              522:             TypeBool
 | |
|              531:   72(ivec2) ConstantComposite 29 29
 | |
|              532:             TypeVector 522(bool) 2
 | |
|              535:   72(ivec2) ConstantComposite 39 39
 | |
|              544:   82(ivec3) ConstantComposite 29 29 29
 | |
|              545:             TypeVector 522(bool) 3
 | |
|              548:   82(ivec3) ConstantComposite 39 39 39
 | |
|              556:   20(ivec4) ConstantComposite 29 29 29 29
 | |
|              557:             TypeVector 522(bool) 4
 | |
|              560:   20(ivec4) ConstantComposite 39 39 39 39
 | |
|              735:      6(int) Constant 8
 | |
|              736:  112(ivec3) ConstantComposite 735 34 34
 | |
|          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)
 | |
|               32:     31(ptr) AccessChain 27(data) 29 29 30
 | |
|               33:   17(float) Load 32
 | |
|               36:   17(float) GroupNonUniformFAdd 35 ClusteredReduce 33 34
 | |
|               37:     31(ptr) AccessChain 27(data) 28 29 30
 | |
|                               Store 37 36
 | |
|               38:      6(int) Load 8(invocation)
 | |
|               42:     41(ptr) AccessChain 27(data) 39 29
 | |
|               43:   18(fvec4) Load 42
 | |
|               44:   40(fvec2) VectorShuffle 43 43 0 1
 | |
|               45:   40(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 44 34
 | |
|               46:     41(ptr) AccessChain 27(data) 38 29
 | |
|               47:   18(fvec4) Load 46
 | |
|               48:   18(fvec4) VectorShuffle 47 45 4 5 2 3
 | |
|                               Store 46 48
 | |
|               49:      6(int) Load 8(invocation)
 | |
|               52:     41(ptr) AccessChain 27(data) 50 29
 | |
|               53:   18(fvec4) Load 52
 | |
|               54:   51(fvec3) VectorShuffle 53 53 0 1 2
 | |
|               55:   51(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 54 34
 | |
|               56:     41(ptr) AccessChain 27(data) 49 29
 | |
|               57:   18(fvec4) Load 56
 | |
|               58:   18(fvec4) VectorShuffle 57 55 4 5 6 3
 | |
|                               Store 56 58
 | |
|               59:      6(int) Load 8(invocation)
 | |
|               61:     41(ptr) AccessChain 27(data) 60 29
 | |
|               62:   18(fvec4) Load 61
 | |
|               63:   18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 62 34
 | |
|               64:     41(ptr) AccessChain 27(data) 59 29
 | |
|                               Store 64 63
 | |
|               65:      6(int) Load 8(invocation)
 | |
|               67:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|               68:     19(int) Load 67
 | |
|               69:     19(int) GroupNonUniformIAdd 35 ClusteredReduce 68 34
 | |
|               70:     66(ptr) AccessChain 27(data) 65 39 30
 | |
|                               Store 70 69
 | |
|               71:      6(int) Load 8(invocation)
 | |
|               74:     73(ptr) AccessChain 27(data) 39 39
 | |
|               75:   20(ivec4) Load 74
 | |
|               76:   72(ivec2) VectorShuffle 75 75 0 1
 | |
|               77:   72(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 76 34
 | |
|               78:     73(ptr) AccessChain 27(data) 71 39
 | |
|               79:   20(ivec4) Load 78
 | |
|               80:   20(ivec4) VectorShuffle 79 77 4 5 2 3
 | |
|                               Store 78 80
 | |
|               81:      6(int) Load 8(invocation)
 | |
|               83:     73(ptr) AccessChain 27(data) 50 39
 | |
|               84:   20(ivec4) Load 83
 | |
|               85:   82(ivec3) VectorShuffle 84 84 0 1 2
 | |
|               86:   82(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 85 34
 | |
|               87:     73(ptr) AccessChain 27(data) 81 39
 | |
|               88:   20(ivec4) Load 87
 | |
|               89:   20(ivec4) VectorShuffle 88 86 4 5 6 3
 | |
|                               Store 87 89
 | |
|               90:      6(int) Load 8(invocation)
 | |
|               91:     73(ptr) AccessChain 27(data) 60 39
 | |
|               92:   20(ivec4) Load 91
 | |
|               93:   20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 92 34
 | |
|               94:     73(ptr) AccessChain 27(data) 90 39
 | |
|                               Store 94 93
 | |
|               95:      6(int) Load 8(invocation)
 | |
|               97:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|               98:      6(int) Load 97
 | |
|               99:      6(int) GroupNonUniformIAdd 35 ClusteredReduce 98 34
 | |
|              100:     96(ptr) AccessChain 27(data) 95 50 30
 | |
|                               Store 100 99
 | |
|              101:      6(int) Load 8(invocation)
 | |
|              104:    103(ptr) AccessChain 27(data) 39 50
 | |
|              105:   21(ivec4) Load 104
 | |
|              106:  102(ivec2) VectorShuffle 105 105 0 1
 | |
|              107:  102(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 106 34
 | |
|              108:    103(ptr) AccessChain 27(data) 101 50
 | |
|              109:   21(ivec4) Load 108
 | |
|              110:   21(ivec4) VectorShuffle 109 107 4 5 2 3
 | |
|                               Store 108 110
 | |
|              111:      6(int) Load 8(invocation)
 | |
|              113:    103(ptr) AccessChain 27(data) 50 50
 | |
|              114:   21(ivec4) Load 113
 | |
|              115:  112(ivec3) VectorShuffle 114 114 0 1 2
 | |
|              116:  112(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 115 34
 | |
|              117:    103(ptr) AccessChain 27(data) 111 50
 | |
|              118:   21(ivec4) Load 117
 | |
|              119:   21(ivec4) VectorShuffle 118 116 4 5 6 3
 | |
|                               Store 117 119
 | |
|              120:      6(int) Load 8(invocation)
 | |
|              121:    103(ptr) AccessChain 27(data) 60 50
 | |
|              122:   21(ivec4) Load 121
 | |
|              123:   21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 122 34
 | |
|              124:    103(ptr) AccessChain 27(data) 120 50
 | |
|                               Store 124 123
 | |
|              125:      6(int) Load 8(invocation)
 | |
|              127:    126(ptr) AccessChain 27(data) 29 60 30
 | |
|              128:22(float64_t) Load 127
 | |
|              129:22(float64_t) GroupNonUniformFAdd 35 ClusteredReduce 128 34
 | |
|              130:    126(ptr) AccessChain 27(data) 125 60 30
 | |
|                               Store 130 129
 | |
|              131:      6(int) Load 8(invocation)
 | |
|              134:    133(ptr) AccessChain 27(data) 39 60
 | |
|              135: 23(f64vec4) Load 134
 | |
|              136:132(f64vec2) VectorShuffle 135 135 0 1
 | |
|              137:132(f64vec2) GroupNonUniformFAdd 35 ClusteredReduce 136 34
 | |
|              138:    133(ptr) AccessChain 27(data) 131 60
 | |
|              139: 23(f64vec4) Load 138
 | |
|              140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3
 | |
|                               Store 138 140
 | |
|              141:      6(int) Load 8(invocation)
 | |
|              143:    133(ptr) AccessChain 27(data) 50 60
 | |
|              144: 23(f64vec4) Load 143
 | |
|              145:142(f64vec3) VectorShuffle 144 144 0 1 2
 | |
|              146:142(f64vec3) GroupNonUniformFAdd 35 ClusteredReduce 145 34
 | |
|              147:    133(ptr) AccessChain 27(data) 141 60
 | |
|              148: 23(f64vec4) Load 147
 | |
|              149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3
 | |
|                               Store 147 149
 | |
|              150:      6(int) Load 8(invocation)
 | |
|              151:    133(ptr) AccessChain 27(data) 60 60
 | |
|              152: 23(f64vec4) Load 151
 | |
|              153: 23(f64vec4) GroupNonUniformFAdd 35 ClusteredReduce 152 34
 | |
|              154:    133(ptr) AccessChain 27(data) 150 60
 | |
|                               Store 154 153
 | |
|              155:      6(int) Load 8(invocation)
 | |
|              156:     31(ptr) AccessChain 27(data) 29 29 30
 | |
|              157:   17(float) Load 156
 | |
|              158:   17(float) GroupNonUniformFMul 35 ClusteredReduce 157 34
 | |
|              159:     31(ptr) AccessChain 27(data) 155 29 30
 | |
|                               Store 159 158
 | |
|              160:      6(int) Load 8(invocation)
 | |
|              161:     41(ptr) AccessChain 27(data) 39 29
 | |
|              162:   18(fvec4) Load 161
 | |
|              163:   40(fvec2) VectorShuffle 162 162 0 1
 | |
|              164:   40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 163 34
 | |
|              165:     41(ptr) AccessChain 27(data) 160 29
 | |
|              166:   18(fvec4) Load 165
 | |
|              167:   18(fvec4) VectorShuffle 166 164 4 5 2 3
 | |
|                               Store 165 167
 | |
|              168:      6(int) Load 8(invocation)
 | |
|              169:     41(ptr) AccessChain 27(data) 50 29
 | |
|              170:   18(fvec4) Load 169
 | |
|              171:   51(fvec3) VectorShuffle 170 170 0 1 2
 | |
|              172:   51(fvec3) GroupNonUniformFMul 35 ClusteredReduce 171 34
 | |
|              173:     41(ptr) AccessChain 27(data) 168 29
 | |
|              174:   18(fvec4) Load 173
 | |
|              175:   18(fvec4) VectorShuffle 174 172 4 5 6 3
 | |
|                               Store 173 175
 | |
|              176:      6(int) Load 8(invocation)
 | |
|              177:     41(ptr) AccessChain 27(data) 60 29
 | |
|              178:   18(fvec4) Load 177
 | |
|              179:   18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 178 34
 | |
|              180:     41(ptr) AccessChain 27(data) 176 29
 | |
|                               Store 180 179
 | |
|              181:      6(int) Load 8(invocation)
 | |
|              182:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              183:     19(int) Load 182
 | |
|              184:     19(int) GroupNonUniformIMul 35 ClusteredReduce 183 34
 | |
|              185:     66(ptr) AccessChain 27(data) 181 39 30
 | |
|                               Store 185 184
 | |
|              186:      6(int) Load 8(invocation)
 | |
|              187:     73(ptr) AccessChain 27(data) 39 39
 | |
|              188:   20(ivec4) Load 187
 | |
|              189:   72(ivec2) VectorShuffle 188 188 0 1
 | |
|              190:   72(ivec2) GroupNonUniformIMul 35 ClusteredReduce 189 34
 | |
|              191:     73(ptr) AccessChain 27(data) 186 39
 | |
|              192:   20(ivec4) Load 191
 | |
|              193:   20(ivec4) VectorShuffle 192 190 4 5 2 3
 | |
|                               Store 191 193
 | |
|              194:      6(int) Load 8(invocation)
 | |
|              195:     73(ptr) AccessChain 27(data) 50 39
 | |
|              196:   20(ivec4) Load 195
 | |
|              197:   82(ivec3) VectorShuffle 196 196 0 1 2
 | |
|              198:   82(ivec3) GroupNonUniformIMul 35 ClusteredReduce 197 34
 | |
|              199:     73(ptr) AccessChain 27(data) 194 39
 | |
|              200:   20(ivec4) Load 199
 | |
|              201:   20(ivec4) VectorShuffle 200 198 4 5 6 3
 | |
|                               Store 199 201
 | |
|              202:      6(int) Load 8(invocation)
 | |
|              203:     73(ptr) AccessChain 27(data) 60 39
 | |
|              204:   20(ivec4) Load 203
 | |
|              205:   20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 204 34
 | |
|              206:     73(ptr) AccessChain 27(data) 202 39
 | |
|                               Store 206 205
 | |
|              207:      6(int) Load 8(invocation)
 | |
|              208:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|              209:      6(int) Load 208
 | |
|              210:      6(int) GroupNonUniformIMul 35 ClusteredReduce 209 34
 | |
|              211:     96(ptr) AccessChain 27(data) 207 50 30
 | |
|                               Store 211 210
 | |
|              212:      6(int) Load 8(invocation)
 | |
|              213:    103(ptr) AccessChain 27(data) 39 50
 | |
|              214:   21(ivec4) Load 213
 | |
|              215:  102(ivec2) VectorShuffle 214 214 0 1
 | |
|              216:  102(ivec2) GroupNonUniformIMul 35 ClusteredReduce 215 34
 | |
|              217:    103(ptr) AccessChain 27(data) 212 50
 | |
|              218:   21(ivec4) Load 217
 | |
|              219:   21(ivec4) VectorShuffle 218 216 4 5 2 3
 | |
|                               Store 217 219
 | |
|              220:      6(int) Load 8(invocation)
 | |
|              221:    103(ptr) AccessChain 27(data) 50 50
 | |
|              222:   21(ivec4) Load 221
 | |
|              223:  112(ivec3) VectorShuffle 222 222 0 1 2
 | |
|              224:  112(ivec3) GroupNonUniformIMul 35 ClusteredReduce 223 34
 | |
|              225:    103(ptr) AccessChain 27(data) 220 50
 | |
|              226:   21(ivec4) Load 225
 | |
|              227:   21(ivec4) VectorShuffle 226 224 4 5 6 3
 | |
|                               Store 225 227
 | |
|              228:      6(int) Load 8(invocation)
 | |
|              229:    103(ptr) AccessChain 27(data) 60 50
 | |
|              230:   21(ivec4) Load 229
 | |
|              231:   21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 230 34
 | |
|              232:    103(ptr) AccessChain 27(data) 228 50
 | |
|                               Store 232 231
 | |
|              233:      6(int) Load 8(invocation)
 | |
|              234:    126(ptr) AccessChain 27(data) 29 60 30
 | |
|              235:22(float64_t) Load 234
 | |
|              236:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 235 34
 | |
|              237:    126(ptr) AccessChain 27(data) 233 60 30
 | |
|                               Store 237 236
 | |
|              238:      6(int) Load 8(invocation)
 | |
|              239:    133(ptr) AccessChain 27(data) 39 60
 | |
|              240: 23(f64vec4) Load 239
 | |
|              241:132(f64vec2) VectorShuffle 240 240 0 1
 | |
|              242:132(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 241 34
 | |
|              243:    133(ptr) AccessChain 27(data) 238 60
 | |
|              244: 23(f64vec4) Load 243
 | |
|              245: 23(f64vec4) VectorShuffle 244 242 4 5 2 3
 | |
|                               Store 243 245
 | |
|              246:      6(int) Load 8(invocation)
 | |
|              247:    133(ptr) AccessChain 27(data) 50 60
 | |
|              248: 23(f64vec4) Load 247
 | |
|              249:142(f64vec3) VectorShuffle 248 248 0 1 2
 | |
|              250:142(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 249 34
 | |
|              251:    133(ptr) AccessChain 27(data) 246 60
 | |
|              252: 23(f64vec4) Load 251
 | |
|              253: 23(f64vec4) VectorShuffle 252 250 4 5 6 3
 | |
|                               Store 251 253
 | |
|              254:      6(int) Load 8(invocation)
 | |
|              255:    133(ptr) AccessChain 27(data) 60 60
 | |
|              256: 23(f64vec4) Load 255
 | |
|              257: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 256 34
 | |
|              258:    133(ptr) AccessChain 27(data) 254 60
 | |
|                               Store 258 257
 | |
|              259:      6(int) Load 8(invocation)
 | |
|              260:     31(ptr) AccessChain 27(data) 29 29 30
 | |
|              261:   17(float) Load 260
 | |
|              262:   17(float) GroupNonUniformFMin 35 ClusteredReduce 261 34
 | |
|              263:     31(ptr) AccessChain 27(data) 259 29 30
 | |
|                               Store 263 262
 | |
|              264:      6(int) Load 8(invocation)
 | |
|              265:     41(ptr) AccessChain 27(data) 39 29
 | |
|              266:   18(fvec4) Load 265
 | |
|              267:   40(fvec2) VectorShuffle 266 266 0 1
 | |
|              268:   40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 267 34
 | |
|              269:     41(ptr) AccessChain 27(data) 264 29
 | |
|              270:   18(fvec4) Load 269
 | |
|              271:   18(fvec4) VectorShuffle 270 268 4 5 2 3
 | |
|                               Store 269 271
 | |
|              272:      6(int) Load 8(invocation)
 | |
|              273:     41(ptr) AccessChain 27(data) 50 29
 | |
|              274:   18(fvec4) Load 273
 | |
|              275:   51(fvec3) VectorShuffle 274 274 0 1 2
 | |
|              276:   51(fvec3) GroupNonUniformFMin 35 ClusteredReduce 275 34
 | |
|              277:     41(ptr) AccessChain 27(data) 272 29
 | |
|              278:   18(fvec4) Load 277
 | |
|              279:   18(fvec4) VectorShuffle 278 276 4 5 6 3
 | |
|                               Store 277 279
 | |
|              280:      6(int) Load 8(invocation)
 | |
|              281:     41(ptr) AccessChain 27(data) 60 29
 | |
|              282:   18(fvec4) Load 281
 | |
|              283:   18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 282 34
 | |
|              284:     41(ptr) AccessChain 27(data) 280 29
 | |
|                               Store 284 283
 | |
|              285:      6(int) Load 8(invocation)
 | |
|              286:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              287:     19(int) Load 286
 | |
|              288:     19(int) GroupNonUniformSMin 35 ClusteredReduce 287 34
 | |
|              289:     66(ptr) AccessChain 27(data) 285 39 30
 | |
|                               Store 289 288
 | |
|              290:      6(int) Load 8(invocation)
 | |
|              291:     73(ptr) AccessChain 27(data) 39 39
 | |
|              292:   20(ivec4) Load 291
 | |
|              293:   72(ivec2) VectorShuffle 292 292 0 1
 | |
|              294:   72(ivec2) GroupNonUniformSMin 35 ClusteredReduce 293 34
 | |
|              295:     73(ptr) AccessChain 27(data) 290 39
 | |
|              296:   20(ivec4) Load 295
 | |
|              297:   20(ivec4) VectorShuffle 296 294 4 5 2 3
 | |
|                               Store 295 297
 | |
|              298:      6(int) Load 8(invocation)
 | |
|              299:     73(ptr) AccessChain 27(data) 50 39
 | |
|              300:   20(ivec4) Load 299
 | |
|              301:   82(ivec3) VectorShuffle 300 300 0 1 2
 | |
|              302:   82(ivec3) GroupNonUniformSMin 35 ClusteredReduce 301 34
 | |
|              303:     73(ptr) AccessChain 27(data) 298 39
 | |
|              304:   20(ivec4) Load 303
 | |
|              305:   20(ivec4) VectorShuffle 304 302 4 5 6 3
 | |
|                               Store 303 305
 | |
|              306:      6(int) Load 8(invocation)
 | |
|              307:     73(ptr) AccessChain 27(data) 60 39
 | |
|              308:   20(ivec4) Load 307
 | |
|              309:   20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 308 34
 | |
|              310:     73(ptr) AccessChain 27(data) 306 39
 | |
|                               Store 310 309
 | |
|              311:      6(int) Load 8(invocation)
 | |
|              312:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|              313:      6(int) Load 312
 | |
|              314:      6(int) GroupNonUniformUMin 35 ClusteredReduce 313 34
 | |
|              315:     96(ptr) AccessChain 27(data) 311 50 30
 | |
|                               Store 315 314
 | |
|              316:      6(int) Load 8(invocation)
 | |
|              317:    103(ptr) AccessChain 27(data) 39 50
 | |
|              318:   21(ivec4) Load 317
 | |
|              319:  102(ivec2) VectorShuffle 318 318 0 1
 | |
|              320:  102(ivec2) GroupNonUniformUMin 35 ClusteredReduce 319 34
 | |
|              321:    103(ptr) AccessChain 27(data) 316 50
 | |
|              322:   21(ivec4) Load 321
 | |
|              323:   21(ivec4) VectorShuffle 322 320 4 5 2 3
 | |
|                               Store 321 323
 | |
|              324:      6(int) Load 8(invocation)
 | |
|              325:    103(ptr) AccessChain 27(data) 50 50
 | |
|              326:   21(ivec4) Load 325
 | |
|              327:  112(ivec3) VectorShuffle 326 326 0 1 2
 | |
|              328:  112(ivec3) GroupNonUniformUMin 35 ClusteredReduce 327 34
 | |
|              329:    103(ptr) AccessChain 27(data) 324 50
 | |
|              330:   21(ivec4) Load 329
 | |
|              331:   21(ivec4) VectorShuffle 330 328 4 5 6 3
 | |
|                               Store 329 331
 | |
|              332:      6(int) Load 8(invocation)
 | |
|              333:    103(ptr) AccessChain 27(data) 60 50
 | |
|              334:   21(ivec4) Load 333
 | |
|              335:   21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 334 34
 | |
|              336:    103(ptr) AccessChain 27(data) 332 50
 | |
|                               Store 336 335
 | |
|              337:      6(int) Load 8(invocation)
 | |
|              338:    126(ptr) AccessChain 27(data) 29 60 30
 | |
|              339:22(float64_t) Load 338
 | |
|              340:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 339 34
 | |
|              341:    126(ptr) AccessChain 27(data) 337 60 30
 | |
|                               Store 341 340
 | |
|              342:      6(int) Load 8(invocation)
 | |
|              343:    133(ptr) AccessChain 27(data) 39 60
 | |
|              344: 23(f64vec4) Load 343
 | |
|              345:132(f64vec2) VectorShuffle 344 344 0 1
 | |
|              346:132(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 345 34
 | |
|              347:    133(ptr) AccessChain 27(data) 342 60
 | |
|              348: 23(f64vec4) Load 347
 | |
|              349: 23(f64vec4) VectorShuffle 348 346 4 5 2 3
 | |
|                               Store 347 349
 | |
|              350:      6(int) Load 8(invocation)
 | |
|              351:    133(ptr) AccessChain 27(data) 50 60
 | |
|              352: 23(f64vec4) Load 351
 | |
|              353:142(f64vec3) VectorShuffle 352 352 0 1 2
 | |
|              354:142(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 353 34
 | |
|              355:    133(ptr) AccessChain 27(data) 350 60
 | |
|              356: 23(f64vec4) Load 355
 | |
|              357: 23(f64vec4) VectorShuffle 356 354 4 5 6 3
 | |
|                               Store 355 357
 | |
|              358:      6(int) Load 8(invocation)
 | |
|              359:    133(ptr) AccessChain 27(data) 60 60
 | |
|              360: 23(f64vec4) Load 359
 | |
|              361: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 360 34
 | |
|              362:    133(ptr) AccessChain 27(data) 358 60
 | |
|                               Store 362 361
 | |
|              363:      6(int) Load 8(invocation)
 | |
|              364:     31(ptr) AccessChain 27(data) 29 29 30
 | |
|              365:   17(float) Load 364
 | |
|              366:   17(float) GroupNonUniformFMax 35 ClusteredReduce 365 34
 | |
|              367:     31(ptr) AccessChain 27(data) 363 29 30
 | |
|                               Store 367 366
 | |
|              368:      6(int) Load 8(invocation)
 | |
|              369:     41(ptr) AccessChain 27(data) 39 29
 | |
|              370:   18(fvec4) Load 369
 | |
|              371:   40(fvec2) VectorShuffle 370 370 0 1
 | |
|              372:   40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 371 34
 | |
|              373:     41(ptr) AccessChain 27(data) 368 29
 | |
|              374:   18(fvec4) Load 373
 | |
|              375:   18(fvec4) VectorShuffle 374 372 4 5 2 3
 | |
|                               Store 373 375
 | |
|              376:      6(int) Load 8(invocation)
 | |
|              377:     41(ptr) AccessChain 27(data) 50 29
 | |
|              378:   18(fvec4) Load 377
 | |
|              379:   51(fvec3) VectorShuffle 378 378 0 1 2
 | |
|              380:   51(fvec3) GroupNonUniformFMax 35 ClusteredReduce 379 34
 | |
|              381:     41(ptr) AccessChain 27(data) 376 29
 | |
|              382:   18(fvec4) Load 381
 | |
|              383:   18(fvec4) VectorShuffle 382 380 4 5 6 3
 | |
|                               Store 381 383
 | |
|              384:      6(int) Load 8(invocation)
 | |
|              385:     41(ptr) AccessChain 27(data) 60 29
 | |
|              386:   18(fvec4) Load 385
 | |
|              387:   18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 386 34
 | |
|              388:     41(ptr) AccessChain 27(data) 384 29
 | |
|                               Store 388 387
 | |
|              389:      6(int) Load 8(invocation)
 | |
|              390:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              391:     19(int) Load 390
 | |
|              392:     19(int) GroupNonUniformSMax 35 ClusteredReduce 391 34
 | |
|              393:     66(ptr) AccessChain 27(data) 389 39 30
 | |
|                               Store 393 392
 | |
|              394:      6(int) Load 8(invocation)
 | |
|              395:     73(ptr) AccessChain 27(data) 39 39
 | |
|              396:   20(ivec4) Load 395
 | |
|              397:   72(ivec2) VectorShuffle 396 396 0 1
 | |
|              398:   72(ivec2) GroupNonUniformSMax 35 ClusteredReduce 397 34
 | |
|              399:     73(ptr) AccessChain 27(data) 394 39
 | |
|              400:   20(ivec4) Load 399
 | |
|              401:   20(ivec4) VectorShuffle 400 398 4 5 2 3
 | |
|                               Store 399 401
 | |
|              402:      6(int) Load 8(invocation)
 | |
|              403:     73(ptr) AccessChain 27(data) 50 39
 | |
|              404:   20(ivec4) Load 403
 | |
|              405:   82(ivec3) VectorShuffle 404 404 0 1 2
 | |
|              406:   82(ivec3) GroupNonUniformSMax 35 ClusteredReduce 405 34
 | |
|              407:     73(ptr) AccessChain 27(data) 402 39
 | |
|              408:   20(ivec4) Load 407
 | |
|              409:   20(ivec4) VectorShuffle 408 406 4 5 6 3
 | |
|                               Store 407 409
 | |
|              410:      6(int) Load 8(invocation)
 | |
|              411:     73(ptr) AccessChain 27(data) 60 39
 | |
|              412:   20(ivec4) Load 411
 | |
|              413:   20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 412 34
 | |
|              414:     73(ptr) AccessChain 27(data) 410 39
 | |
|                               Store 414 413
 | |
|              415:      6(int) Load 8(invocation)
 | |
|              416:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|              417:      6(int) Load 416
 | |
|              418:      6(int) GroupNonUniformUMax 35 ClusteredReduce 417 34
 | |
|              419:     96(ptr) AccessChain 27(data) 415 50 30
 | |
|                               Store 419 418
 | |
|              420:      6(int) Load 8(invocation)
 | |
|              421:    103(ptr) AccessChain 27(data) 39 50
 | |
|              422:   21(ivec4) Load 421
 | |
|              423:  102(ivec2) VectorShuffle 422 422 0 1
 | |
|              424:  102(ivec2) GroupNonUniformUMax 35 ClusteredReduce 423 34
 | |
|              425:    103(ptr) AccessChain 27(data) 420 50
 | |
|              426:   21(ivec4) Load 425
 | |
|              427:   21(ivec4) VectorShuffle 426 424 4 5 2 3
 | |
|                               Store 425 427
 | |
|              428:      6(int) Load 8(invocation)
 | |
|              429:    103(ptr) AccessChain 27(data) 50 50
 | |
|              430:   21(ivec4) Load 429
 | |
|              431:  112(ivec3) VectorShuffle 430 430 0 1 2
 | |
|              432:  112(ivec3) GroupNonUniformUMax 35 ClusteredReduce 431 34
 | |
|              433:    103(ptr) AccessChain 27(data) 428 50
 | |
|              434:   21(ivec4) Load 433
 | |
|              435:   21(ivec4) VectorShuffle 434 432 4 5 6 3
 | |
|                               Store 433 435
 | |
|              436:      6(int) Load 8(invocation)
 | |
|              437:    103(ptr) AccessChain 27(data) 60 50
 | |
|              438:   21(ivec4) Load 437
 | |
|              439:   21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 438 34
 | |
|              440:    103(ptr) AccessChain 27(data) 436 50
 | |
|                               Store 440 439
 | |
|              441:      6(int) Load 8(invocation)
 | |
|              442:    126(ptr) AccessChain 27(data) 29 60 30
 | |
|              443:22(float64_t) Load 442
 | |
|              444:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 443 34
 | |
|              445:    126(ptr) AccessChain 27(data) 441 60 30
 | |
|                               Store 445 444
 | |
|              446:      6(int) Load 8(invocation)
 | |
|              447:    133(ptr) AccessChain 27(data) 39 60
 | |
|              448: 23(f64vec4) Load 447
 | |
|              449:132(f64vec2) VectorShuffle 448 448 0 1
 | |
|              450:132(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 449 34
 | |
|              451:    133(ptr) AccessChain 27(data) 446 60
 | |
|              452: 23(f64vec4) Load 451
 | |
|              453: 23(f64vec4) VectorShuffle 452 450 4 5 2 3
 | |
|                               Store 451 453
 | |
|              454:      6(int) Load 8(invocation)
 | |
|              455:    133(ptr) AccessChain 27(data) 50 60
 | |
|              456: 23(f64vec4) Load 455
 | |
|              457:142(f64vec3) VectorShuffle 456 456 0 1 2
 | |
|              458:142(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 457 34
 | |
|              459:    133(ptr) AccessChain 27(data) 454 60
 | |
|              460: 23(f64vec4) Load 459
 | |
|              461: 23(f64vec4) VectorShuffle 460 458 4 5 6 3
 | |
|                               Store 459 461
 | |
|              462:      6(int) Load 8(invocation)
 | |
|              463:    133(ptr) AccessChain 27(data) 60 60
 | |
|              464: 23(f64vec4) Load 463
 | |
|              465: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 464 34
 | |
|              466:    133(ptr) AccessChain 27(data) 462 60
 | |
|                               Store 466 465
 | |
|              467:      6(int) Load 8(invocation)
 | |
|              468:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              469:     19(int) Load 468
 | |
|              470:     19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 469 34
 | |
|              471:     66(ptr) AccessChain 27(data) 467 39 30
 | |
|                               Store 471 470
 | |
|              472:      6(int) Load 8(invocation)
 | |
|              473:     73(ptr) AccessChain 27(data) 39 39
 | |
|              474:   20(ivec4) Load 473
 | |
|              475:   72(ivec2) VectorShuffle 474 474 0 1
 | |
|              476:   72(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 475 34
 | |
|              477:     73(ptr) AccessChain 27(data) 472 39
 | |
|              478:   20(ivec4) Load 477
 | |
|              479:   20(ivec4) VectorShuffle 478 476 4 5 2 3
 | |
|                               Store 477 479
 | |
|              480:      6(int) Load 8(invocation)
 | |
|              481:     73(ptr) AccessChain 27(data) 50 39
 | |
|              482:   20(ivec4) Load 481
 | |
|              483:   82(ivec3) VectorShuffle 482 482 0 1 2
 | |
|              484:   82(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 483 34
 | |
|              485:     73(ptr) AccessChain 27(data) 480 39
 | |
|              486:   20(ivec4) Load 485
 | |
|              487:   20(ivec4) VectorShuffle 486 484 4 5 6 3
 | |
|                               Store 485 487
 | |
|              488:      6(int) Load 8(invocation)
 | |
|              489:     73(ptr) AccessChain 27(data) 60 39
 | |
|              490:   20(ivec4) Load 489
 | |
|              491:   20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 490 34
 | |
|              492:     73(ptr) AccessChain 27(data) 488 39
 | |
|                               Store 492 491
 | |
|              493:      6(int) Load 8(invocation)
 | |
|              494:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|              495:      6(int) Load 494
 | |
|              496:      6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 495 34
 | |
|              497:     96(ptr) AccessChain 27(data) 493 50 30
 | |
|                               Store 497 496
 | |
|              498:      6(int) Load 8(invocation)
 | |
|              499:    103(ptr) AccessChain 27(data) 39 50
 | |
|              500:   21(ivec4) Load 499
 | |
|              501:  102(ivec2) VectorShuffle 500 500 0 1
 | |
|              502:  102(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 501 34
 | |
|              503:    103(ptr) AccessChain 27(data) 498 50
 | |
|              504:   21(ivec4) Load 503
 | |
|              505:   21(ivec4) VectorShuffle 504 502 4 5 2 3
 | |
|                               Store 503 505
 | |
|              506:      6(int) Load 8(invocation)
 | |
|              507:    103(ptr) AccessChain 27(data) 50 50
 | |
|              508:   21(ivec4) Load 507
 | |
|              509:  112(ivec3) VectorShuffle 508 508 0 1 2
 | |
|              510:  112(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 509 34
 | |
|              511:    103(ptr) AccessChain 27(data) 506 50
 | |
|              512:   21(ivec4) Load 511
 | |
|              513:   21(ivec4) VectorShuffle 512 510 4 5 6 3
 | |
|                               Store 511 513
 | |
|              514:      6(int) Load 8(invocation)
 | |
|              515:    103(ptr) AccessChain 27(data) 60 50
 | |
|              516:   21(ivec4) Load 515
 | |
|              517:   21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 516 34
 | |
|              518:    103(ptr) AccessChain 27(data) 514 50
 | |
|                               Store 518 517
 | |
|              519:      6(int) Load 8(invocation)
 | |
|              520:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              521:     19(int) Load 520
 | |
|              523:   522(bool) SLessThan 521 29
 | |
|              524:   522(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 523 34
 | |
|              525:     19(int) Select 524 39 29
 | |
|              526:     66(ptr) AccessChain 27(data) 519 39 30
 | |
|                               Store 526 525
 | |
|              527:      6(int) Load 8(invocation)
 | |
|              528:     73(ptr) AccessChain 27(data) 39 39
 | |
|              529:   20(ivec4) Load 528
 | |
|              530:   72(ivec2) VectorShuffle 529 529 0 1
 | |
|              533:  532(bvec2) SLessThan 530 531
 | |
|              534:  532(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 533 34
 | |
|              536:   72(ivec2) Select 534 535 531
 | |
|              537:     73(ptr) AccessChain 27(data) 527 39
 | |
|              538:   20(ivec4) Load 537
 | |
|              539:   20(ivec4) VectorShuffle 538 536 4 5 2 3
 | |
|                               Store 537 539
 | |
|              540:      6(int) Load 8(invocation)
 | |
|              541:     73(ptr) AccessChain 27(data) 39 39
 | |
|              542:   20(ivec4) Load 541
 | |
|              543:   82(ivec3) VectorShuffle 542 542 0 1 2
 | |
|              546:  545(bvec3) SLessThan 543 544
 | |
|              547:  545(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 546 34
 | |
|              549:   82(ivec3) Select 547 548 544
 | |
|              550:     73(ptr) AccessChain 27(data) 540 39
 | |
|              551:   20(ivec4) Load 550
 | |
|              552:   20(ivec4) VectorShuffle 551 549 4 5 6 3
 | |
|                               Store 550 552
 | |
|              553:      6(int) Load 8(invocation)
 | |
|              554:     73(ptr) AccessChain 27(data) 39 39
 | |
|              555:   20(ivec4) Load 554
 | |
|              558:  557(bvec4) SLessThan 555 556
 | |
|              559:  557(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 558 34
 | |
|              561:   20(ivec4) Select 559 560 556
 | |
|              562:     73(ptr) AccessChain 27(data) 553 39
 | |
|                               Store 562 561
 | |
|              563:      6(int) Load 8(invocation)
 | |
|              564:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              565:     19(int) Load 564
 | |
|              566:     19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 565 34
 | |
|              567:     66(ptr) AccessChain 27(data) 563 39 30
 | |
|                               Store 567 566
 | |
|              568:      6(int) Load 8(invocation)
 | |
|              569:     73(ptr) AccessChain 27(data) 39 39
 | |
|              570:   20(ivec4) Load 569
 | |
|              571:   72(ivec2) VectorShuffle 570 570 0 1
 | |
|              572:   72(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 571 34
 | |
|              573:     73(ptr) AccessChain 27(data) 568 39
 | |
|              574:   20(ivec4) Load 573
 | |
|              575:   20(ivec4) VectorShuffle 574 572 4 5 2 3
 | |
|                               Store 573 575
 | |
|              576:      6(int) Load 8(invocation)
 | |
|              577:     73(ptr) AccessChain 27(data) 50 39
 | |
|              578:   20(ivec4) Load 577
 | |
|              579:   82(ivec3) VectorShuffle 578 578 0 1 2
 | |
|              580:   82(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 579 34
 | |
|              581:     73(ptr) AccessChain 27(data) 576 39
 | |
|              582:   20(ivec4) Load 581
 | |
|              583:   20(ivec4) VectorShuffle 582 580 4 5 6 3
 | |
|                               Store 581 583
 | |
|              584:      6(int) Load 8(invocation)
 | |
|              585:     73(ptr) AccessChain 27(data) 60 39
 | |
|              586:   20(ivec4) Load 585
 | |
|              587:   20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 586 34
 | |
|              588:     73(ptr) AccessChain 27(data) 584 39
 | |
|                               Store 588 587
 | |
|              589:      6(int) Load 8(invocation)
 | |
|              590:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|              591:      6(int) Load 590
 | |
|              592:      6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 591 34
 | |
|              593:     96(ptr) AccessChain 27(data) 589 50 30
 | |
|                               Store 593 592
 | |
|              594:      6(int) Load 8(invocation)
 | |
|              595:    103(ptr) AccessChain 27(data) 39 50
 | |
|              596:   21(ivec4) Load 595
 | |
|              597:  102(ivec2) VectorShuffle 596 596 0 1
 | |
|              598:  102(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 597 34
 | |
|              599:    103(ptr) AccessChain 27(data) 594 50
 | |
|              600:   21(ivec4) Load 599
 | |
|              601:   21(ivec4) VectorShuffle 600 598 4 5 2 3
 | |
|                               Store 599 601
 | |
|              602:      6(int) Load 8(invocation)
 | |
|              603:    103(ptr) AccessChain 27(data) 50 50
 | |
|              604:   21(ivec4) Load 603
 | |
|              605:  112(ivec3) VectorShuffle 604 604 0 1 2
 | |
|              606:  112(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 605 34
 | |
|              607:    103(ptr) AccessChain 27(data) 602 50
 | |
|              608:   21(ivec4) Load 607
 | |
|              609:   21(ivec4) VectorShuffle 608 606 4 5 6 3
 | |
|                               Store 607 609
 | |
|              610:      6(int) Load 8(invocation)
 | |
|              611:    103(ptr) AccessChain 27(data) 60 50
 | |
|              612:   21(ivec4) Load 611
 | |
|              613:   21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 612 34
 | |
|              614:    103(ptr) AccessChain 27(data) 610 50
 | |
|                               Store 614 613
 | |
|              615:      6(int) Load 8(invocation)
 | |
|              616:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              617:     19(int) Load 616
 | |
|              618:   522(bool) SLessThan 617 29
 | |
|              619:   522(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 618 34
 | |
|              620:     19(int) Select 619 39 29
 | |
|              621:     66(ptr) AccessChain 27(data) 615 39 30
 | |
|                               Store 621 620
 | |
|              622:      6(int) Load 8(invocation)
 | |
|              623:     73(ptr) AccessChain 27(data) 39 39
 | |
|              624:   20(ivec4) Load 623
 | |
|              625:   72(ivec2) VectorShuffle 624 624 0 1
 | |
|              626:  532(bvec2) SLessThan 625 531
 | |
|              627:  532(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 626 34
 | |
|              628:   72(ivec2) Select 627 535 531
 | |
|              629:     73(ptr) AccessChain 27(data) 622 39
 | |
|              630:   20(ivec4) Load 629
 | |
|              631:   20(ivec4) VectorShuffle 630 628 4 5 2 3
 | |
|                               Store 629 631
 | |
|              632:      6(int) Load 8(invocation)
 | |
|              633:     73(ptr) AccessChain 27(data) 39 39
 | |
|              634:   20(ivec4) Load 633
 | |
|              635:   82(ivec3) VectorShuffle 634 634 0 1 2
 | |
|              636:  545(bvec3) SLessThan 635 544
 | |
|              637:  545(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 636 34
 | |
|              638:   82(ivec3) Select 637 548 544
 | |
|              639:     73(ptr) AccessChain 27(data) 632 39
 | |
|              640:   20(ivec4) Load 639
 | |
|              641:   20(ivec4) VectorShuffle 640 638 4 5 6 3
 | |
|                               Store 639 641
 | |
|              642:      6(int) Load 8(invocation)
 | |
|              643:     73(ptr) AccessChain 27(data) 39 39
 | |
|              644:   20(ivec4) Load 643
 | |
|              645:  557(bvec4) SLessThan 644 556
 | |
|              646:  557(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 645 34
 | |
|              647:   20(ivec4) Select 646 560 556
 | |
|              648:     73(ptr) AccessChain 27(data) 642 39
 | |
|                               Store 648 647
 | |
|              649:      6(int) Load 8(invocation)
 | |
|              650:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              651:     19(int) Load 650
 | |
|              652:     19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 651 34
 | |
|              653:     66(ptr) AccessChain 27(data) 649 39 30
 | |
|                               Store 653 652
 | |
|              654:      6(int) Load 8(invocation)
 | |
|              655:     73(ptr) AccessChain 27(data) 39 39
 | |
|              656:   20(ivec4) Load 655
 | |
|              657:   72(ivec2) VectorShuffle 656 656 0 1
 | |
|              658:   72(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 657 34
 | |
|              659:     73(ptr) AccessChain 27(data) 654 39
 | |
|              660:   20(ivec4) Load 659
 | |
|              661:   20(ivec4) VectorShuffle 660 658 4 5 2 3
 | |
|                               Store 659 661
 | |
|              662:      6(int) Load 8(invocation)
 | |
|              663:     73(ptr) AccessChain 27(data) 50 39
 | |
|              664:   20(ivec4) Load 663
 | |
|              665:   82(ivec3) VectorShuffle 664 664 0 1 2
 | |
|              666:   82(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 665 34
 | |
|              667:     73(ptr) AccessChain 27(data) 662 39
 | |
|              668:   20(ivec4) Load 667
 | |
|              669:   20(ivec4) VectorShuffle 668 666 4 5 6 3
 | |
|                               Store 667 669
 | |
|              670:      6(int) Load 8(invocation)
 | |
|              671:     73(ptr) AccessChain 27(data) 60 39
 | |
|              672:   20(ivec4) Load 671
 | |
|              673:   20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 672 34
 | |
|              674:     73(ptr) AccessChain 27(data) 670 39
 | |
|                               Store 674 673
 | |
|              675:      6(int) Load 8(invocation)
 | |
|              676:     96(ptr) AccessChain 27(data) 29 50 30
 | |
|              677:      6(int) Load 676
 | |
|              678:      6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 677 34
 | |
|              679:     96(ptr) AccessChain 27(data) 675 50 30
 | |
|                               Store 679 678
 | |
|              680:      6(int) Load 8(invocation)
 | |
|              681:    103(ptr) AccessChain 27(data) 39 50
 | |
|              682:   21(ivec4) Load 681
 | |
|              683:  102(ivec2) VectorShuffle 682 682 0 1
 | |
|              684:  102(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 683 34
 | |
|              685:    103(ptr) AccessChain 27(data) 680 50
 | |
|              686:   21(ivec4) Load 685
 | |
|              687:   21(ivec4) VectorShuffle 686 684 4 5 2 3
 | |
|                               Store 685 687
 | |
|              688:      6(int) Load 8(invocation)
 | |
|              689:    103(ptr) AccessChain 27(data) 50 50
 | |
|              690:   21(ivec4) Load 689
 | |
|              691:  112(ivec3) VectorShuffle 690 690 0 1 2
 | |
|              692:  112(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 691 34
 | |
|              693:    103(ptr) AccessChain 27(data) 688 50
 | |
|              694:   21(ivec4) Load 693
 | |
|              695:   21(ivec4) VectorShuffle 694 692 4 5 6 3
 | |
|                               Store 693 695
 | |
|              696:      6(int) Load 8(invocation)
 | |
|              697:    103(ptr) AccessChain 27(data) 60 50
 | |
|              698:   21(ivec4) Load 697
 | |
|              699:   21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 698 34
 | |
|              700:    103(ptr) AccessChain 27(data) 696 50
 | |
|                               Store 700 699
 | |
|              701:      6(int) Load 8(invocation)
 | |
|              702:     66(ptr) AccessChain 27(data) 29 39 30
 | |
|              703:     19(int) Load 702
 | |
|              704:   522(bool) SLessThan 703 29
 | |
|              705:   522(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 704 34
 | |
|              706:     19(int) Select 705 39 29
 | |
|              707:     66(ptr) AccessChain 27(data) 701 39 30
 | |
|                               Store 707 706
 | |
|              708:      6(int) Load 8(invocation)
 | |
|              709:     73(ptr) AccessChain 27(data) 39 39
 | |
|              710:   20(ivec4) Load 709
 | |
|              711:   72(ivec2) VectorShuffle 710 710 0 1
 | |
|              712:  532(bvec2) SLessThan 711 531
 | |
|              713:  532(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 712 34
 | |
|              714:   72(ivec2) Select 713 535 531
 | |
|              715:     73(ptr) AccessChain 27(data) 708 39
 | |
|              716:   20(ivec4) Load 715
 | |
|              717:   20(ivec4) VectorShuffle 716 714 4 5 2 3
 | |
|                               Store 715 717
 | |
|              718:      6(int) Load 8(invocation)
 | |
|              719:     73(ptr) AccessChain 27(data) 39 39
 | |
|              720:   20(ivec4) Load 719
 | |
|              721:   82(ivec3) VectorShuffle 720 720 0 1 2
 | |
|              722:  545(bvec3) SLessThan 721 544
 | |
|              723:  545(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 722 34
 | |
|              724:   82(ivec3) Select 723 548 544
 | |
|              725:     73(ptr) AccessChain 27(data) 718 39
 | |
|              726:   20(ivec4) Load 725
 | |
|              727:   20(ivec4) VectorShuffle 726 724 4 5 6 3
 | |
|                               Store 725 727
 | |
|              728:      6(int) Load 8(invocation)
 | |
|              729:     73(ptr) AccessChain 27(data) 39 39
 | |
|              730:   20(ivec4) Load 729
 | |
|              731:  557(bvec4) SLessThan 730 556
 | |
|              732:  557(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 731 34
 | |
|              733:   20(ivec4) Select 732 560 556
 | |
|              734:     73(ptr) AccessChain 27(data) 728 39
 | |
|                               Store 734 733
 | |
|                               Return
 | |
|                               FunctionEnd
 |