From ae06d1fe94d86376524ba0239b636877d5e5bbd3 Mon Sep 17 00:00:00 2001 From: Rex Xu Date: Wed, 28 Mar 2018 16:33:01 +0800 Subject: [PATCH] Add int16 support to AMD_trinary_minmax and AMD_shader_ballot --- Test/baseResults/spv.shaderBallotAMD.comp.out | 2692 ++++++++++------- Test/spv.shaderBallotAMD.comp | 41 +- glslang/MachineIndependent/Initialize.cpp | 210 ++ 3 files changed, 1765 insertions(+), 1178 deletions(-) diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out index 14a627ea..9aba3c59 100644 --- a/Test/baseResults/spv.shaderBallotAMD.comp.out +++ b/Test/baseResults/spv.shaderBallotAMD.comp.out @@ -1,16 +1,18 @@ spv.shaderBallotAMD.comp // Module Version 10000 // Generated by (magic number): 80006 -// Id's are bound by 1048 +// Id's are bound by 1343 Capability Shader Capability Float16 Capability Float64 Capability Int64 Capability Groups + Capability Int16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_AMD_gpu_shader_half_float" + Extension "SPV_AMD_gpu_shader_int16" Extension "SPV_AMD_shader_ballot" Extension "SPV_KHR_16bit_storage" 1: ExtInstImport "GLSL.std.450" @@ -19,29 +21,34 @@ spv.shaderBallotAMD.comp ExecutionMode 4 LocalSize 8 8 1 Source GLSL 450 SourceExtension "GL_AMD_gpu_shader_half_float" + SourceExtension "GL_AMD_gpu_shader_int16" SourceExtension "GL_AMD_shader_ballot" SourceExtension "GL_ARB_gpu_shader_int64" Name 4 "main" - Name 18 "Buffers" - MemberName 18(Buffers) 0 "i" - MemberName 18(Buffers) 1 "uv" - MemberName 18(Buffers) 2 "fv" - MemberName 18(Buffers) 3 "dv" - MemberName 18(Buffers) 4 "i64" - MemberName 18(Buffers) 5 "u64v" - MemberName 18(Buffers) 6 "f16v" - Name 20 "" - MemberDecorate 18(Buffers) 0 Offset 0 - MemberDecorate 18(Buffers) 1 Offset 8 - MemberDecorate 18(Buffers) 2 Offset 16 - MemberDecorate 18(Buffers) 3 Offset 32 - MemberDecorate 18(Buffers) 4 Offset 64 - MemberDecorate 18(Buffers) 5 Offset 80 - MemberDecorate 18(Buffers) 6 Offset 96 - Decorate 18(Buffers) BufferBlock - Decorate 20 DescriptorSet 0 - Decorate 20 Binding 0 - Decorate 1047 BuiltIn WorkgroupSize + Name 21 "Buffers" + MemberName 21(Buffers) 0 "i" + MemberName 21(Buffers) 1 "uv" + MemberName 21(Buffers) 2 "fv" + MemberName 21(Buffers) 3 "dv" + MemberName 21(Buffers) 4 "i64" + MemberName 21(Buffers) 5 "u64v" + MemberName 21(Buffers) 6 "f16v" + MemberName 21(Buffers) 7 "i16v" + MemberName 21(Buffers) 8 "u16" + Name 23 "" + MemberDecorate 21(Buffers) 0 Offset 0 + MemberDecorate 21(Buffers) 1 Offset 8 + MemberDecorate 21(Buffers) 2 Offset 16 + MemberDecorate 21(Buffers) 3 Offset 32 + MemberDecorate 21(Buffers) 4 Offset 64 + MemberDecorate 21(Buffers) 5 Offset 80 + MemberDecorate 21(Buffers) 6 Offset 96 + MemberDecorate 21(Buffers) 7 Offset 104 + MemberDecorate 21(Buffers) 8 Offset 112 + Decorate 21(Buffers) BufferBlock + Decorate 23 DescriptorSet 0 + Decorate 23 Binding 0 + Decorate 1342 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -56,1163 +63,1494 @@ spv.shaderBallotAMD.comp 15: TypeVector 14(int) 2 16: TypeFloat 16 17: TypeVector 16(float) 3 - 18(Buffers): TypeStruct 6(int) 8(ivec2) 10(fvec3) 12(fvec4) 13(int) 15(ivec2) 17(fvec3) - 19: TypePointer Uniform 18(Buffers) - 20: 19(ptr) Variable Uniform - 21: 6(int) Constant 0 - 22: TypePointer Uniform 6(int) - 25: 7(int) Constant 3 - 28: 6(int) Constant 1 - 29: TypePointer Uniform 8(ivec2) - 38: 6(int) Constant 2 - 39: TypePointer Uniform 10(fvec3) - 50: 6(int) Constant 3 - 51: TypePointer Uniform 12(fvec4) - 64: 6(int) Constant 4 - 65: TypePointer Uniform 13(int) - 70: 6(int) Constant 5 - 71: TypePointer Uniform 15(ivec2) - 80: 6(int) Constant 6 - 81: TypePointer Uniform 17(fvec3) - 1044: TypeVector 7(int) 3 - 1045: 7(int) Constant 8 - 1046: 7(int) Constant 1 - 1047: 1044(ivec3) ConstantComposite 1045 1045 1046 + 18: TypeInt 16 1 + 19: TypeVector 18(int) 4 + 20: TypeInt 16 0 + 21(Buffers): TypeStruct 6(int) 8(ivec2) 10(fvec3) 12(fvec4) 13(int) 15(ivec2) 17(fvec3) 19(ivec4) 20(int) + 22: TypePointer Uniform 21(Buffers) + 23: 22(ptr) Variable Uniform + 24: 6(int) Constant 0 + 25: TypePointer Uniform 6(int) + 28: 7(int) Constant 3 + 31: 6(int) Constant 1 + 32: TypePointer Uniform 8(ivec2) + 41: 6(int) Constant 2 + 42: TypePointer Uniform 10(fvec3) + 53: 6(int) Constant 3 + 54: TypePointer Uniform 12(fvec4) + 67: 6(int) Constant 4 + 68: TypePointer Uniform 13(int) + 73: 6(int) Constant 5 + 74: TypePointer Uniform 15(ivec2) + 83: 6(int) Constant 6 + 84: TypePointer Uniform 17(fvec3) + 95: 6(int) Constant 7 + 96: TypePointer Uniform 19(ivec4) + 109: 6(int) Constant 8 + 110: TypePointer Uniform 20(int) + 1339: TypeVector 7(int) 3 + 1340: 7(int) Constant 8 + 1341: 7(int) Constant 1 + 1342: 1339(ivec3) ConstantComposite 1340 1340 1341 4(main): 2 Function None 3 5: Label - 23: 22(ptr) AccessChain 20 21 - 24: 6(int) Load 23 - 26: 6(int) GroupSMin 25 Reduce 24 - 27: 22(ptr) AccessChain 20 21 - Store 27 26 - 30: 29(ptr) AccessChain 20 28 - 31: 8(ivec2) Load 30 - 32: 7(int) CompositeExtract 31 0 - 33: 7(int) GroupUMin 25 Reduce 32 - 34: 7(int) CompositeExtract 31 1 - 35: 7(int) GroupUMin 25 Reduce 34 - 36: 8(ivec2) CompositeConstruct 33 35 - 37: 29(ptr) AccessChain 20 28 - Store 37 36 - 40: 39(ptr) AccessChain 20 38 - 41: 10(fvec3) Load 40 - 42: 9(float) CompositeExtract 41 0 - 43: 9(float) GroupFMin 25 Reduce 42 - 44: 9(float) CompositeExtract 41 1 - 45: 9(float) GroupFMin 25 Reduce 44 - 46: 9(float) CompositeExtract 41 2 - 47: 9(float) GroupFMin 25 Reduce 46 - 48: 10(fvec3) CompositeConstruct 43 45 47 - 49: 39(ptr) AccessChain 20 38 - Store 49 48 - 52: 51(ptr) AccessChain 20 50 - 53: 12(fvec4) Load 52 - 54: 11(float) CompositeExtract 53 0 - 55: 11(float) GroupFMin 25 Reduce 54 - 56: 11(float) CompositeExtract 53 1 - 57: 11(float) GroupFMin 25 Reduce 56 - 58: 11(float) CompositeExtract 53 2 - 59: 11(float) GroupFMin 25 Reduce 58 - 60: 11(float) CompositeExtract 53 3 - 61: 11(float) GroupFMin 25 Reduce 60 - 62: 12(fvec4) CompositeConstruct 55 57 59 61 - 63: 51(ptr) AccessChain 20 50 - Store 63 62 - 66: 65(ptr) AccessChain 20 64 - 67: 13(int) Load 66 - 68: 13(int) GroupSMin 25 Reduce 67 - 69: 65(ptr) AccessChain 20 64 - Store 69 68 - 72: 71(ptr) AccessChain 20 70 - 73: 15(ivec2) Load 72 - 74: 14(int) CompositeExtract 73 0 - 75: 14(int) GroupUMin 25 Reduce 74 - 76: 14(int) CompositeExtract 73 1 - 77: 14(int) GroupUMin 25 Reduce 76 - 78: 15(ivec2) CompositeConstruct 75 77 - 79: 71(ptr) AccessChain 20 70 - Store 79 78 - 82: 81(ptr) AccessChain 20 80 - 83: 17(fvec3) Load 82 - 84: 16(float) CompositeExtract 83 0 - 85: 16(float) GroupFMin 25 Reduce 84 - 86: 16(float) CompositeExtract 83 1 - 87: 16(float) GroupFMin 25 Reduce 86 - 88: 16(float) CompositeExtract 83 2 - 89: 16(float) GroupFMin 25 Reduce 88 - 90: 17(fvec3) CompositeConstruct 85 87 89 - 91: 81(ptr) AccessChain 20 80 - Store 91 90 - 92: 22(ptr) AccessChain 20 21 - 93: 6(int) Load 92 - 94: 6(int) GroupSMax 25 Reduce 93 - 95: 22(ptr) AccessChain 20 21 - Store 95 94 - 96: 29(ptr) AccessChain 20 28 - 97: 8(ivec2) Load 96 - 98: 7(int) CompositeExtract 97 0 - 99: 7(int) GroupUMax 25 Reduce 98 - 100: 7(int) CompositeExtract 97 1 - 101: 7(int) GroupUMax 25 Reduce 100 - 102: 8(ivec2) CompositeConstruct 99 101 - 103: 29(ptr) AccessChain 20 28 - Store 103 102 - 104: 39(ptr) AccessChain 20 38 - 105: 10(fvec3) Load 104 - 106: 9(float) CompositeExtract 105 0 - 107: 9(float) GroupFMax 25 Reduce 106 - 108: 9(float) CompositeExtract 105 1 - 109: 9(float) GroupFMax 25 Reduce 108 - 110: 9(float) CompositeExtract 105 2 - 111: 9(float) GroupFMax 25 Reduce 110 - 112: 10(fvec3) CompositeConstruct 107 109 111 - 113: 39(ptr) AccessChain 20 38 - Store 113 112 - 114: 51(ptr) AccessChain 20 50 - 115: 12(fvec4) Load 114 - 116: 11(float) CompositeExtract 115 0 - 117: 11(float) GroupFMax 25 Reduce 116 - 118: 11(float) CompositeExtract 115 1 - 119: 11(float) GroupFMax 25 Reduce 118 - 120: 11(float) CompositeExtract 115 2 - 121: 11(float) GroupFMax 25 Reduce 120 - 122: 11(float) CompositeExtract 115 3 - 123: 11(float) GroupFMax 25 Reduce 122 - 124: 12(fvec4) CompositeConstruct 117 119 121 123 - 125: 51(ptr) AccessChain 20 50 - Store 125 124 - 126: 65(ptr) AccessChain 20 64 - 127: 13(int) Load 126 - 128: 13(int) GroupSMax 25 Reduce 127 - 129: 65(ptr) AccessChain 20 64 - Store 129 128 - 130: 71(ptr) AccessChain 20 70 - 131: 15(ivec2) Load 130 - 132: 14(int) CompositeExtract 131 0 - 133: 14(int) GroupUMax 25 Reduce 132 - 134: 14(int) CompositeExtract 131 1 - 135: 14(int) GroupUMax 25 Reduce 134 - 136: 15(ivec2) CompositeConstruct 133 135 - 137: 71(ptr) AccessChain 20 70 - Store 137 136 - 138: 81(ptr) AccessChain 20 80 - 139: 17(fvec3) Load 138 - 140: 16(float) CompositeExtract 139 0 - 141: 16(float) GroupFMax 25 Reduce 140 - 142: 16(float) CompositeExtract 139 1 - 143: 16(float) GroupFMax 25 Reduce 142 - 144: 16(float) CompositeExtract 139 2 - 145: 16(float) GroupFMax 25 Reduce 144 - 146: 17(fvec3) CompositeConstruct 141 143 145 - 147: 81(ptr) AccessChain 20 80 - Store 147 146 - 148: 22(ptr) AccessChain 20 21 - 149: 6(int) Load 148 - 150: 6(int) GroupIAdd 25 Reduce 149 - 151: 22(ptr) AccessChain 20 21 - Store 151 150 - 152: 29(ptr) AccessChain 20 28 - 153: 8(ivec2) Load 152 - 154: 7(int) CompositeExtract 153 0 - 155: 7(int) GroupIAdd 25 Reduce 154 - 156: 7(int) CompositeExtract 153 1 - 157: 7(int) GroupIAdd 25 Reduce 156 - 158: 8(ivec2) CompositeConstruct 155 157 - 159: 29(ptr) AccessChain 20 28 - Store 159 158 - 160: 39(ptr) AccessChain 20 38 - 161: 10(fvec3) Load 160 - 162: 9(float) CompositeExtract 161 0 - 163: 9(float) GroupFAdd 25 Reduce 162 - 164: 9(float) CompositeExtract 161 1 - 165: 9(float) GroupFAdd 25 Reduce 164 - 166: 9(float) CompositeExtract 161 2 - 167: 9(float) GroupFAdd 25 Reduce 166 - 168: 10(fvec3) CompositeConstruct 163 165 167 - 169: 39(ptr) AccessChain 20 38 - Store 169 168 - 170: 51(ptr) AccessChain 20 50 - 171: 12(fvec4) Load 170 - 172: 11(float) CompositeExtract 171 0 - 173: 11(float) GroupFAdd 25 Reduce 172 - 174: 11(float) CompositeExtract 171 1 - 175: 11(float) GroupFAdd 25 Reduce 174 - 176: 11(float) CompositeExtract 171 2 - 177: 11(float) GroupFAdd 25 Reduce 176 - 178: 11(float) CompositeExtract 171 3 - 179: 11(float) GroupFAdd 25 Reduce 178 - 180: 12(fvec4) CompositeConstruct 173 175 177 179 - 181: 51(ptr) AccessChain 20 50 - Store 181 180 - 182: 65(ptr) AccessChain 20 64 - 183: 13(int) Load 182 - 184: 13(int) GroupIAdd 25 Reduce 183 - 185: 65(ptr) AccessChain 20 64 - Store 185 184 - 186: 71(ptr) AccessChain 20 70 - 187: 15(ivec2) Load 186 - 188: 14(int) CompositeExtract 187 0 - 189: 14(int) GroupIAdd 25 Reduce 188 - 190: 14(int) CompositeExtract 187 1 - 191: 14(int) GroupIAdd 25 Reduce 190 - 192: 15(ivec2) CompositeConstruct 189 191 - 193: 71(ptr) AccessChain 20 70 - Store 193 192 - 194: 81(ptr) AccessChain 20 80 - 195: 17(fvec3) Load 194 - 196: 16(float) CompositeExtract 195 0 - 197: 16(float) GroupFAdd 25 Reduce 196 - 198: 16(float) CompositeExtract 195 1 - 199: 16(float) GroupFAdd 25 Reduce 198 - 200: 16(float) CompositeExtract 195 2 - 201: 16(float) GroupFAdd 25 Reduce 200 - 202: 17(fvec3) CompositeConstruct 197 199 201 - 203: 81(ptr) AccessChain 20 80 - Store 203 202 - 204: 22(ptr) AccessChain 20 21 - 205: 6(int) Load 204 - 206: 6(int) GroupSMinNonUniformAMD 25 Reduce 205 - 207: 22(ptr) AccessChain 20 21 - Store 207 206 - 208: 29(ptr) AccessChain 20 28 - 209: 8(ivec2) Load 208 - 210: 7(int) CompositeExtract 209 0 - 211: 7(int) GroupUMinNonUniformAMD 25 Reduce 210 - 212: 7(int) CompositeExtract 209 1 - 213: 7(int) GroupUMinNonUniformAMD 25 Reduce 212 - 214: 8(ivec2) CompositeConstruct 211 213 - 215: 29(ptr) AccessChain 20 28 - Store 215 214 - 216: 39(ptr) AccessChain 20 38 - 217: 10(fvec3) Load 216 - 218: 9(float) CompositeExtract 217 0 - 219: 9(float) GroupFMinNonUniformAMD 25 Reduce 218 - 220: 9(float) CompositeExtract 217 1 - 221: 9(float) GroupFMinNonUniformAMD 25 Reduce 220 - 222: 9(float) CompositeExtract 217 2 - 223: 9(float) GroupFMinNonUniformAMD 25 Reduce 222 - 224: 10(fvec3) CompositeConstruct 219 221 223 - 225: 39(ptr) AccessChain 20 38 - Store 225 224 - 226: 51(ptr) AccessChain 20 50 - 227: 12(fvec4) Load 226 - 228: 11(float) CompositeExtract 227 0 - 229: 11(float) GroupFMinNonUniformAMD 25 Reduce 228 - 230: 11(float) CompositeExtract 227 1 - 231: 11(float) GroupFMinNonUniformAMD 25 Reduce 230 - 232: 11(float) CompositeExtract 227 2 - 233: 11(float) GroupFMinNonUniformAMD 25 Reduce 232 - 234: 11(float) CompositeExtract 227 3 - 235: 11(float) GroupFMinNonUniformAMD 25 Reduce 234 - 236: 12(fvec4) CompositeConstruct 229 231 233 235 - 237: 51(ptr) AccessChain 20 50 - Store 237 236 - 238: 65(ptr) AccessChain 20 64 - 239: 13(int) Load 238 - 240: 13(int) GroupSMinNonUniformAMD 25 Reduce 239 - 241: 65(ptr) AccessChain 20 64 - Store 241 240 - 242: 71(ptr) AccessChain 20 70 - 243: 15(ivec2) Load 242 - 244: 14(int) CompositeExtract 243 0 - 245: 14(int) GroupUMinNonUniformAMD 25 Reduce 244 - 246: 14(int) CompositeExtract 243 1 - 247: 14(int) GroupUMinNonUniformAMD 25 Reduce 246 - 248: 15(ivec2) CompositeConstruct 245 247 - 249: 71(ptr) AccessChain 20 70 - Store 249 248 - 250: 81(ptr) AccessChain 20 80 - 251: 17(fvec3) Load 250 - 252: 16(float) CompositeExtract 251 0 - 253: 16(float) GroupFMinNonUniformAMD 25 Reduce 252 - 254: 16(float) CompositeExtract 251 1 - 255: 16(float) GroupFMinNonUniformAMD 25 Reduce 254 - 256: 16(float) CompositeExtract 251 2 - 257: 16(float) GroupFMinNonUniformAMD 25 Reduce 256 - 258: 17(fvec3) CompositeConstruct 253 255 257 - 259: 81(ptr) AccessChain 20 80 - Store 259 258 - 260: 22(ptr) AccessChain 20 21 - 261: 6(int) Load 260 - 262: 6(int) GroupSMaxNonUniformAMD 25 Reduce 261 - 263: 22(ptr) AccessChain 20 21 - Store 263 262 - 264: 29(ptr) AccessChain 20 28 - 265: 8(ivec2) Load 264 - 266: 7(int) CompositeExtract 265 0 - 267: 7(int) GroupUMaxNonUniformAMD 25 Reduce 266 - 268: 7(int) CompositeExtract 265 1 - 269: 7(int) GroupUMaxNonUniformAMD 25 Reduce 268 - 270: 8(ivec2) CompositeConstruct 267 269 - 271: 29(ptr) AccessChain 20 28 - Store 271 270 - 272: 39(ptr) AccessChain 20 38 - 273: 10(fvec3) Load 272 - 274: 9(float) CompositeExtract 273 0 - 275: 9(float) GroupFMaxNonUniformAMD 25 Reduce 274 - 276: 9(float) CompositeExtract 273 1 - 277: 9(float) GroupFMaxNonUniformAMD 25 Reduce 276 - 278: 9(float) CompositeExtract 273 2 - 279: 9(float) GroupFMaxNonUniformAMD 25 Reduce 278 - 280: 10(fvec3) CompositeConstruct 275 277 279 - 281: 39(ptr) AccessChain 20 38 - Store 281 280 - 282: 51(ptr) AccessChain 20 50 - 283: 12(fvec4) Load 282 - 284: 11(float) CompositeExtract 283 0 - 285: 11(float) GroupFMaxNonUniformAMD 25 Reduce 284 - 286: 11(float) CompositeExtract 283 1 - 287: 11(float) GroupFMaxNonUniformAMD 25 Reduce 286 - 288: 11(float) CompositeExtract 283 2 - 289: 11(float) GroupFMaxNonUniformAMD 25 Reduce 288 - 290: 11(float) CompositeExtract 283 3 - 291: 11(float) GroupFMaxNonUniformAMD 25 Reduce 290 - 292: 12(fvec4) CompositeConstruct 285 287 289 291 - 293: 51(ptr) AccessChain 20 50 - Store 293 292 - 294: 65(ptr) AccessChain 20 64 - 295: 13(int) Load 294 - 296: 13(int) GroupSMaxNonUniformAMD 25 Reduce 295 - 297: 65(ptr) AccessChain 20 64 - Store 297 296 - 298: 71(ptr) AccessChain 20 70 - 299: 15(ivec2) Load 298 - 300: 14(int) CompositeExtract 299 0 - 301: 14(int) GroupUMaxNonUniformAMD 25 Reduce 300 - 302: 14(int) CompositeExtract 299 1 - 303: 14(int) GroupUMaxNonUniformAMD 25 Reduce 302 - 304: 15(ivec2) CompositeConstruct 301 303 - 305: 71(ptr) AccessChain 20 70 - Store 305 304 - 306: 81(ptr) AccessChain 20 80 - 307: 17(fvec3) Load 306 - 308: 16(float) CompositeExtract 307 0 - 309: 16(float) GroupFMaxNonUniformAMD 25 Reduce 308 - 310: 16(float) CompositeExtract 307 1 - 311: 16(float) GroupFMaxNonUniformAMD 25 Reduce 310 - 312: 16(float) CompositeExtract 307 2 - 313: 16(float) GroupFMaxNonUniformAMD 25 Reduce 312 - 314: 17(fvec3) CompositeConstruct 309 311 313 - 315: 81(ptr) AccessChain 20 80 - Store 315 314 - 316: 22(ptr) AccessChain 20 21 - 317: 6(int) Load 316 - 318: 6(int) GroupIAddNonUniformAMD 25 Reduce 317 - 319: 22(ptr) AccessChain 20 21 - Store 319 318 - 320: 29(ptr) AccessChain 20 28 - 321: 8(ivec2) Load 320 - 322: 7(int) CompositeExtract 321 0 - 323: 7(int) GroupIAddNonUniformAMD 25 Reduce 322 - 324: 7(int) CompositeExtract 321 1 - 325: 7(int) GroupIAddNonUniformAMD 25 Reduce 324 - 326: 8(ivec2) CompositeConstruct 323 325 - 327: 29(ptr) AccessChain 20 28 - Store 327 326 - 328: 39(ptr) AccessChain 20 38 - 329: 10(fvec3) Load 328 - 330: 9(float) CompositeExtract 329 0 - 331: 9(float) GroupFAddNonUniformAMD 25 Reduce 330 - 332: 9(float) CompositeExtract 329 1 - 333: 9(float) GroupFAddNonUniformAMD 25 Reduce 332 - 334: 9(float) CompositeExtract 329 2 - 335: 9(float) GroupFAddNonUniformAMD 25 Reduce 334 - 336: 10(fvec3) CompositeConstruct 331 333 335 - 337: 39(ptr) AccessChain 20 38 - Store 337 336 - 338: 51(ptr) AccessChain 20 50 - 339: 12(fvec4) Load 338 - 340: 11(float) CompositeExtract 339 0 - 341: 11(float) GroupFAddNonUniformAMD 25 Reduce 340 - 342: 11(float) CompositeExtract 339 1 - 343: 11(float) GroupFAddNonUniformAMD 25 Reduce 342 - 344: 11(float) CompositeExtract 339 2 - 345: 11(float) GroupFAddNonUniformAMD 25 Reduce 344 - 346: 11(float) CompositeExtract 339 3 - 347: 11(float) GroupFAddNonUniformAMD 25 Reduce 346 - 348: 12(fvec4) CompositeConstruct 341 343 345 347 - 349: 51(ptr) AccessChain 20 50 - Store 349 348 - 350: 65(ptr) AccessChain 20 64 - 351: 13(int) Load 350 - 352: 13(int) GroupIAddNonUniformAMD 25 Reduce 351 - 353: 65(ptr) AccessChain 20 64 - Store 353 352 - 354: 71(ptr) AccessChain 20 70 - 355: 15(ivec2) Load 354 - 356: 14(int) CompositeExtract 355 0 - 357: 14(int) GroupIAddNonUniformAMD 25 Reduce 356 - 358: 14(int) CompositeExtract 355 1 - 359: 14(int) GroupIAddNonUniformAMD 25 Reduce 358 - 360: 15(ivec2) CompositeConstruct 357 359 - 361: 71(ptr) AccessChain 20 70 - Store 361 360 - 362: 81(ptr) AccessChain 20 80 - 363: 17(fvec3) Load 362 - 364: 16(float) CompositeExtract 363 0 - 365: 16(float) GroupFAddNonUniformAMD 25 Reduce 364 - 366: 16(float) CompositeExtract 363 1 - 367: 16(float) GroupFAddNonUniformAMD 25 Reduce 366 - 368: 16(float) CompositeExtract 363 2 - 369: 16(float) GroupFAddNonUniformAMD 25 Reduce 368 - 370: 17(fvec3) CompositeConstruct 365 367 369 - 371: 81(ptr) AccessChain 20 80 - Store 371 370 - 372: 22(ptr) AccessChain 20 21 - 373: 6(int) Load 372 - 374: 6(int) GroupSMin 25 InclusiveScan 373 - 375: 22(ptr) AccessChain 20 21 - Store 375 374 - 376: 29(ptr) AccessChain 20 28 - 377: 8(ivec2) Load 376 - 378: 7(int) CompositeExtract 377 0 - 379: 7(int) GroupUMin 25 InclusiveScan 378 - 380: 7(int) CompositeExtract 377 1 - 381: 7(int) GroupUMin 25 InclusiveScan 380 - 382: 8(ivec2) CompositeConstruct 379 381 - 383: 29(ptr) AccessChain 20 28 - Store 383 382 - 384: 39(ptr) AccessChain 20 38 - 385: 10(fvec3) Load 384 - 386: 9(float) CompositeExtract 385 0 - 387: 9(float) GroupFMin 25 InclusiveScan 386 - 388: 9(float) CompositeExtract 385 1 - 389: 9(float) GroupFMin 25 InclusiveScan 388 - 390: 9(float) CompositeExtract 385 2 - 391: 9(float) GroupFMin 25 InclusiveScan 390 - 392: 10(fvec3) CompositeConstruct 387 389 391 - 393: 39(ptr) AccessChain 20 38 - Store 393 392 - 394: 51(ptr) AccessChain 20 50 - 395: 12(fvec4) Load 394 - 396: 11(float) CompositeExtract 395 0 - 397: 11(float) GroupFMin 25 InclusiveScan 396 - 398: 11(float) CompositeExtract 395 1 - 399: 11(float) GroupFMin 25 InclusiveScan 398 - 400: 11(float) CompositeExtract 395 2 - 401: 11(float) GroupFMin 25 InclusiveScan 400 - 402: 11(float) CompositeExtract 395 3 - 403: 11(float) GroupFMin 25 InclusiveScan 402 - 404: 12(fvec4) CompositeConstruct 397 399 401 403 - 405: 51(ptr) AccessChain 20 50 - Store 405 404 - 406: 65(ptr) AccessChain 20 64 - 407: 13(int) Load 406 - 408: 13(int) GroupSMin 25 InclusiveScan 407 - 409: 65(ptr) AccessChain 20 64 - Store 409 408 - 410: 71(ptr) AccessChain 20 70 - 411: 15(ivec2) Load 410 - 412: 14(int) CompositeExtract 411 0 - 413: 14(int) GroupUMin 25 InclusiveScan 412 - 414: 14(int) CompositeExtract 411 1 - 415: 14(int) GroupUMin 25 InclusiveScan 414 - 416: 15(ivec2) CompositeConstruct 413 415 - 417: 71(ptr) AccessChain 20 70 - Store 417 416 - 418: 81(ptr) AccessChain 20 80 - 419: 17(fvec3) Load 418 - 420: 16(float) CompositeExtract 419 0 - 421: 16(float) GroupFMin 25 InclusiveScan 420 - 422: 16(float) CompositeExtract 419 1 - 423: 16(float) GroupFMin 25 InclusiveScan 422 - 424: 16(float) CompositeExtract 419 2 - 425: 16(float) GroupFMin 25 InclusiveScan 424 - 426: 17(fvec3) CompositeConstruct 421 423 425 - 427: 81(ptr) AccessChain 20 80 - Store 427 426 - 428: 22(ptr) AccessChain 20 21 - 429: 6(int) Load 428 - 430: 6(int) GroupSMax 25 InclusiveScan 429 - 431: 22(ptr) AccessChain 20 21 - Store 431 430 - 432: 29(ptr) AccessChain 20 28 - 433: 8(ivec2) Load 432 - 434: 7(int) CompositeExtract 433 0 - 435: 7(int) GroupUMax 25 InclusiveScan 434 - 436: 7(int) CompositeExtract 433 1 - 437: 7(int) GroupUMax 25 InclusiveScan 436 - 438: 8(ivec2) CompositeConstruct 435 437 - 439: 29(ptr) AccessChain 20 28 - Store 439 438 - 440: 39(ptr) AccessChain 20 38 - 441: 10(fvec3) Load 440 - 442: 9(float) CompositeExtract 441 0 - 443: 9(float) GroupFMax 25 InclusiveScan 442 - 444: 9(float) CompositeExtract 441 1 - 445: 9(float) GroupFMax 25 InclusiveScan 444 - 446: 9(float) CompositeExtract 441 2 - 447: 9(float) GroupFMax 25 InclusiveScan 446 - 448: 10(fvec3) CompositeConstruct 443 445 447 - 449: 39(ptr) AccessChain 20 38 - Store 449 448 - 450: 51(ptr) AccessChain 20 50 - 451: 12(fvec4) Load 450 - 452: 11(float) CompositeExtract 451 0 - 453: 11(float) GroupFMax 25 InclusiveScan 452 - 454: 11(float) CompositeExtract 451 1 - 455: 11(float) GroupFMax 25 InclusiveScan 454 - 456: 11(float) CompositeExtract 451 2 - 457: 11(float) GroupFMax 25 InclusiveScan 456 - 458: 11(float) CompositeExtract 451 3 - 459: 11(float) GroupFMax 25 InclusiveScan 458 - 460: 12(fvec4) CompositeConstruct 453 455 457 459 - 461: 51(ptr) AccessChain 20 50 - Store 461 460 - 462: 65(ptr) AccessChain 20 64 - 463: 13(int) Load 462 - 464: 13(int) GroupSMax 25 InclusiveScan 463 - 465: 65(ptr) AccessChain 20 64 - Store 465 464 - 466: 71(ptr) AccessChain 20 70 - 467: 15(ivec2) Load 466 - 468: 14(int) CompositeExtract 467 0 - 469: 14(int) GroupUMax 25 InclusiveScan 468 - 470: 14(int) CompositeExtract 467 1 - 471: 14(int) GroupUMax 25 InclusiveScan 470 - 472: 15(ivec2) CompositeConstruct 469 471 - 473: 71(ptr) AccessChain 20 70 - Store 473 472 - 474: 81(ptr) AccessChain 20 80 - 475: 17(fvec3) Load 474 - 476: 16(float) CompositeExtract 475 0 - 477: 16(float) GroupFMax 25 InclusiveScan 476 - 478: 16(float) CompositeExtract 475 1 - 479: 16(float) GroupFMax 25 InclusiveScan 478 - 480: 16(float) CompositeExtract 475 2 - 481: 16(float) GroupFMax 25 InclusiveScan 480 - 482: 17(fvec3) CompositeConstruct 477 479 481 - 483: 81(ptr) AccessChain 20 80 - Store 483 482 - 484: 22(ptr) AccessChain 20 21 - 485: 6(int) Load 484 - 486: 6(int) GroupIAdd 25 InclusiveScan 485 - 487: 22(ptr) AccessChain 20 21 - Store 487 486 - 488: 29(ptr) AccessChain 20 28 - 489: 8(ivec2) Load 488 - 490: 7(int) CompositeExtract 489 0 - 491: 7(int) GroupIAdd 25 InclusiveScan 490 - 492: 7(int) CompositeExtract 489 1 - 493: 7(int) GroupIAdd 25 InclusiveScan 492 - 494: 8(ivec2) CompositeConstruct 491 493 - 495: 29(ptr) AccessChain 20 28 - Store 495 494 - 496: 39(ptr) AccessChain 20 38 - 497: 10(fvec3) Load 496 - 498: 9(float) CompositeExtract 497 0 - 499: 9(float) GroupFAdd 25 InclusiveScan 498 - 500: 9(float) CompositeExtract 497 1 - 501: 9(float) GroupFAdd 25 InclusiveScan 500 - 502: 9(float) CompositeExtract 497 2 - 503: 9(float) GroupFAdd 25 InclusiveScan 502 - 504: 10(fvec3) CompositeConstruct 499 501 503 - 505: 39(ptr) AccessChain 20 38 - Store 505 504 - 506: 51(ptr) AccessChain 20 50 - 507: 12(fvec4) Load 506 - 508: 11(float) CompositeExtract 507 0 - 509: 11(float) GroupFAdd 25 InclusiveScan 508 - 510: 11(float) CompositeExtract 507 1 - 511: 11(float) GroupFAdd 25 InclusiveScan 510 - 512: 11(float) CompositeExtract 507 2 - 513: 11(float) GroupFAdd 25 InclusiveScan 512 - 514: 11(float) CompositeExtract 507 3 - 515: 11(float) GroupFAdd 25 InclusiveScan 514 - 516: 12(fvec4) CompositeConstruct 509 511 513 515 - 517: 51(ptr) AccessChain 20 50 - Store 517 516 - 518: 65(ptr) AccessChain 20 64 - 519: 13(int) Load 518 - 520: 13(int) GroupIAdd 25 InclusiveScan 519 - 521: 65(ptr) AccessChain 20 64 - Store 521 520 - 522: 71(ptr) AccessChain 20 70 - 523: 15(ivec2) Load 522 - 524: 14(int) CompositeExtract 523 0 - 525: 14(int) GroupIAdd 25 InclusiveScan 524 - 526: 14(int) CompositeExtract 523 1 - 527: 14(int) GroupIAdd 25 InclusiveScan 526 - 528: 15(ivec2) CompositeConstruct 525 527 - 529: 71(ptr) AccessChain 20 70 - Store 529 528 - 530: 81(ptr) AccessChain 20 80 - 531: 17(fvec3) Load 530 - 532: 16(float) CompositeExtract 531 0 - 533: 16(float) GroupFAdd 25 InclusiveScan 532 - 534: 16(float) CompositeExtract 531 1 - 535: 16(float) GroupFAdd 25 InclusiveScan 534 - 536: 16(float) CompositeExtract 531 2 - 537: 16(float) GroupFAdd 25 InclusiveScan 536 - 538: 17(fvec3) CompositeConstruct 533 535 537 - 539: 81(ptr) AccessChain 20 80 - Store 539 538 - 540: 22(ptr) AccessChain 20 21 - 541: 6(int) Load 540 - 542: 6(int) GroupSMin 25 ExclusiveScan 541 - 543: 22(ptr) AccessChain 20 21 - Store 543 542 - 544: 29(ptr) AccessChain 20 28 - 545: 8(ivec2) Load 544 - 546: 7(int) CompositeExtract 545 0 - 547: 7(int) GroupUMin 25 ExclusiveScan 546 - 548: 7(int) CompositeExtract 545 1 - 549: 7(int) GroupUMin 25 ExclusiveScan 548 - 550: 8(ivec2) CompositeConstruct 547 549 - 551: 29(ptr) AccessChain 20 28 - Store 551 550 - 552: 39(ptr) AccessChain 20 38 - 553: 10(fvec3) Load 552 - 554: 9(float) CompositeExtract 553 0 - 555: 9(float) GroupFMin 25 ExclusiveScan 554 - 556: 9(float) CompositeExtract 553 1 - 557: 9(float) GroupFMin 25 ExclusiveScan 556 - 558: 9(float) CompositeExtract 553 2 - 559: 9(float) GroupFMin 25 ExclusiveScan 558 - 560: 10(fvec3) CompositeConstruct 555 557 559 - 561: 39(ptr) AccessChain 20 38 - Store 561 560 - 562: 51(ptr) AccessChain 20 50 - 563: 12(fvec4) Load 562 - 564: 11(float) CompositeExtract 563 0 - 565: 11(float) GroupFMin 25 ExclusiveScan 564 - 566: 11(float) CompositeExtract 563 1 - 567: 11(float) GroupFMin 25 ExclusiveScan 566 - 568: 11(float) CompositeExtract 563 2 - 569: 11(float) GroupFMin 25 ExclusiveScan 568 - 570: 11(float) CompositeExtract 563 3 - 571: 11(float) GroupFMin 25 ExclusiveScan 570 - 572: 12(fvec4) CompositeConstruct 565 567 569 571 - 573: 51(ptr) AccessChain 20 50 - Store 573 572 - 574: 65(ptr) AccessChain 20 64 - 575: 13(int) Load 574 - 576: 13(int) GroupSMin 25 ExclusiveScan 575 - 577: 65(ptr) AccessChain 20 64 - Store 577 576 - 578: 71(ptr) AccessChain 20 70 - 579: 15(ivec2) Load 578 - 580: 14(int) CompositeExtract 579 0 - 581: 14(int) GroupUMin 25 ExclusiveScan 580 - 582: 14(int) CompositeExtract 579 1 - 583: 14(int) GroupUMin 25 ExclusiveScan 582 - 584: 15(ivec2) CompositeConstruct 581 583 - 585: 71(ptr) AccessChain 20 70 - Store 585 584 - 586: 81(ptr) AccessChain 20 80 - 587: 17(fvec3) Load 586 - 588: 16(float) CompositeExtract 587 0 - 589: 16(float) GroupFMin 25 ExclusiveScan 588 - 590: 16(float) CompositeExtract 587 1 - 591: 16(float) GroupFMin 25 ExclusiveScan 590 - 592: 16(float) CompositeExtract 587 2 - 593: 16(float) GroupFMin 25 ExclusiveScan 592 - 594: 17(fvec3) CompositeConstruct 589 591 593 - 595: 81(ptr) AccessChain 20 80 - Store 595 594 - 596: 22(ptr) AccessChain 20 21 - 597: 6(int) Load 596 - 598: 6(int) GroupSMax 25 ExclusiveScan 597 - 599: 22(ptr) AccessChain 20 21 - Store 599 598 - 600: 29(ptr) AccessChain 20 28 - 601: 8(ivec2) Load 600 - 602: 7(int) CompositeExtract 601 0 - 603: 7(int) GroupUMax 25 ExclusiveScan 602 - 604: 7(int) CompositeExtract 601 1 - 605: 7(int) GroupUMax 25 ExclusiveScan 604 - 606: 8(ivec2) CompositeConstruct 603 605 - 607: 29(ptr) AccessChain 20 28 - Store 607 606 - 608: 39(ptr) AccessChain 20 38 - 609: 10(fvec3) Load 608 - 610: 9(float) CompositeExtract 609 0 - 611: 9(float) GroupFMax 25 ExclusiveScan 610 - 612: 9(float) CompositeExtract 609 1 - 613: 9(float) GroupFMax 25 ExclusiveScan 612 - 614: 9(float) CompositeExtract 609 2 - 615: 9(float) GroupFMax 25 ExclusiveScan 614 - 616: 10(fvec3) CompositeConstruct 611 613 615 - 617: 39(ptr) AccessChain 20 38 - Store 617 616 - 618: 51(ptr) AccessChain 20 50 - 619: 12(fvec4) Load 618 - 620: 11(float) CompositeExtract 619 0 - 621: 11(float) GroupFMax 25 ExclusiveScan 620 - 622: 11(float) CompositeExtract 619 1 - 623: 11(float) GroupFMax 25 ExclusiveScan 622 - 624: 11(float) CompositeExtract 619 2 - 625: 11(float) GroupFMax 25 ExclusiveScan 624 - 626: 11(float) CompositeExtract 619 3 - 627: 11(float) GroupFMax 25 ExclusiveScan 626 - 628: 12(fvec4) CompositeConstruct 621 623 625 627 - 629: 51(ptr) AccessChain 20 50 - Store 629 628 - 630: 65(ptr) AccessChain 20 64 - 631: 13(int) Load 630 - 632: 13(int) GroupSMax 25 ExclusiveScan 631 - 633: 65(ptr) AccessChain 20 64 - Store 633 632 - 634: 71(ptr) AccessChain 20 70 - 635: 15(ivec2) Load 634 - 636: 14(int) CompositeExtract 635 0 - 637: 14(int) GroupUMax 25 ExclusiveScan 636 - 638: 14(int) CompositeExtract 635 1 - 639: 14(int) GroupUMax 25 ExclusiveScan 638 - 640: 15(ivec2) CompositeConstruct 637 639 - 641: 71(ptr) AccessChain 20 70 - Store 641 640 - 642: 81(ptr) AccessChain 20 80 - 643: 17(fvec3) Load 642 - 644: 16(float) CompositeExtract 643 0 - 645: 16(float) GroupFMax 25 ExclusiveScan 644 - 646: 16(float) CompositeExtract 643 1 - 647: 16(float) GroupFMax 25 ExclusiveScan 646 - 648: 16(float) CompositeExtract 643 2 - 649: 16(float) GroupFMax 25 ExclusiveScan 648 - 650: 17(fvec3) CompositeConstruct 645 647 649 - 651: 81(ptr) AccessChain 20 80 - Store 651 650 - 652: 22(ptr) AccessChain 20 21 - 653: 6(int) Load 652 - 654: 6(int) GroupIAdd 25 ExclusiveScan 653 - 655: 22(ptr) AccessChain 20 21 - Store 655 654 - 656: 29(ptr) AccessChain 20 28 - 657: 8(ivec2) Load 656 - 658: 7(int) CompositeExtract 657 0 - 659: 7(int) GroupIAdd 25 ExclusiveScan 658 - 660: 7(int) CompositeExtract 657 1 - 661: 7(int) GroupIAdd 25 ExclusiveScan 660 - 662: 8(ivec2) CompositeConstruct 659 661 - 663: 29(ptr) AccessChain 20 28 - Store 663 662 - 664: 39(ptr) AccessChain 20 38 - 665: 10(fvec3) Load 664 - 666: 9(float) CompositeExtract 665 0 - 667: 9(float) GroupFAdd 25 ExclusiveScan 666 - 668: 9(float) CompositeExtract 665 1 - 669: 9(float) GroupFAdd 25 ExclusiveScan 668 - 670: 9(float) CompositeExtract 665 2 - 671: 9(float) GroupFAdd 25 ExclusiveScan 670 - 672: 10(fvec3) CompositeConstruct 667 669 671 - 673: 39(ptr) AccessChain 20 38 - Store 673 672 - 674: 51(ptr) AccessChain 20 50 - 675: 12(fvec4) Load 674 - 676: 11(float) CompositeExtract 675 0 - 677: 11(float) GroupFAdd 25 ExclusiveScan 676 - 678: 11(float) CompositeExtract 675 1 - 679: 11(float) GroupFAdd 25 ExclusiveScan 678 - 680: 11(float) CompositeExtract 675 2 - 681: 11(float) GroupFAdd 25 ExclusiveScan 680 - 682: 11(float) CompositeExtract 675 3 - 683: 11(float) GroupFAdd 25 ExclusiveScan 682 - 684: 12(fvec4) CompositeConstruct 677 679 681 683 - 685: 51(ptr) AccessChain 20 50 - Store 685 684 - 686: 65(ptr) AccessChain 20 64 - 687: 13(int) Load 686 - 688: 13(int) GroupIAdd 25 ExclusiveScan 687 - 689: 65(ptr) AccessChain 20 64 - Store 689 688 - 690: 71(ptr) AccessChain 20 70 - 691: 15(ivec2) Load 690 - 692: 14(int) CompositeExtract 691 0 - 693: 14(int) GroupIAdd 25 ExclusiveScan 692 - 694: 14(int) CompositeExtract 691 1 - 695: 14(int) GroupIAdd 25 ExclusiveScan 694 - 696: 15(ivec2) CompositeConstruct 693 695 - 697: 71(ptr) AccessChain 20 70 - Store 697 696 - 698: 81(ptr) AccessChain 20 80 - 699: 17(fvec3) Load 698 - 700: 16(float) CompositeExtract 699 0 - 701: 16(float) GroupFAdd 25 ExclusiveScan 700 - 702: 16(float) CompositeExtract 699 1 - 703: 16(float) GroupFAdd 25 ExclusiveScan 702 - 704: 16(float) CompositeExtract 699 2 - 705: 16(float) GroupFAdd 25 ExclusiveScan 704 - 706: 17(fvec3) CompositeConstruct 701 703 705 - 707: 81(ptr) AccessChain 20 80 - Store 707 706 - 708: 22(ptr) AccessChain 20 21 - 709: 6(int) Load 708 - 710: 6(int) GroupSMinNonUniformAMD 25 InclusiveScan 709 - 711: 22(ptr) AccessChain 20 21 - Store 711 710 - 712: 29(ptr) AccessChain 20 28 - 713: 8(ivec2) Load 712 - 714: 7(int) CompositeExtract 713 0 - 715: 7(int) GroupUMinNonUniformAMD 25 InclusiveScan 714 - 716: 7(int) CompositeExtract 713 1 - 717: 7(int) GroupUMinNonUniformAMD 25 InclusiveScan 716 - 718: 8(ivec2) CompositeConstruct 715 717 - 719: 29(ptr) AccessChain 20 28 - Store 719 718 - 720: 39(ptr) AccessChain 20 38 - 721: 10(fvec3) Load 720 - 722: 9(float) CompositeExtract 721 0 - 723: 9(float) GroupFMinNonUniformAMD 25 InclusiveScan 722 - 724: 9(float) CompositeExtract 721 1 - 725: 9(float) GroupFMinNonUniformAMD 25 InclusiveScan 724 - 726: 9(float) CompositeExtract 721 2 - 727: 9(float) GroupFMinNonUniformAMD 25 InclusiveScan 726 - 728: 10(fvec3) CompositeConstruct 723 725 727 - 729: 39(ptr) AccessChain 20 38 - Store 729 728 - 730: 51(ptr) AccessChain 20 50 - 731: 12(fvec4) Load 730 - 732: 11(float) CompositeExtract 731 0 - 733: 11(float) GroupFMinNonUniformAMD 25 InclusiveScan 732 - 734: 11(float) CompositeExtract 731 1 - 735: 11(float) GroupFMinNonUniformAMD 25 InclusiveScan 734 - 736: 11(float) CompositeExtract 731 2 - 737: 11(float) GroupFMinNonUniformAMD 25 InclusiveScan 736 - 738: 11(float) CompositeExtract 731 3 - 739: 11(float) GroupFMinNonUniformAMD 25 InclusiveScan 738 - 740: 12(fvec4) CompositeConstruct 733 735 737 739 - 741: 51(ptr) AccessChain 20 50 - Store 741 740 - 742: 65(ptr) AccessChain 20 64 - 743: 13(int) Load 742 - 744: 13(int) GroupSMinNonUniformAMD 25 InclusiveScan 743 - 745: 65(ptr) AccessChain 20 64 - Store 745 744 - 746: 71(ptr) AccessChain 20 70 - 747: 15(ivec2) Load 746 - 748: 14(int) CompositeExtract 747 0 - 749: 14(int) GroupUMinNonUniformAMD 25 InclusiveScan 748 - 750: 14(int) CompositeExtract 747 1 - 751: 14(int) GroupUMinNonUniformAMD 25 InclusiveScan 750 - 752: 15(ivec2) CompositeConstruct 749 751 - 753: 71(ptr) AccessChain 20 70 - Store 753 752 - 754: 81(ptr) AccessChain 20 80 - 755: 17(fvec3) Load 754 - 756: 16(float) CompositeExtract 755 0 - 757: 16(float) GroupFMinNonUniformAMD 25 InclusiveScan 756 - 758: 16(float) CompositeExtract 755 1 - 759: 16(float) GroupFMinNonUniformAMD 25 InclusiveScan 758 - 760: 16(float) CompositeExtract 755 2 - 761: 16(float) GroupFMinNonUniformAMD 25 InclusiveScan 760 - 762: 17(fvec3) CompositeConstruct 757 759 761 - 763: 81(ptr) AccessChain 20 80 - Store 763 762 - 764: 22(ptr) AccessChain 20 21 - 765: 6(int) Load 764 - 766: 6(int) GroupSMaxNonUniformAMD 25 InclusiveScan 765 - 767: 22(ptr) AccessChain 20 21 - Store 767 766 - 768: 29(ptr) AccessChain 20 28 - 769: 8(ivec2) Load 768 - 770: 7(int) CompositeExtract 769 0 - 771: 7(int) GroupUMaxNonUniformAMD 25 InclusiveScan 770 - 772: 7(int) CompositeExtract 769 1 - 773: 7(int) GroupUMaxNonUniformAMD 25 InclusiveScan 772 - 774: 8(ivec2) CompositeConstruct 771 773 - 775: 29(ptr) AccessChain 20 28 - Store 775 774 - 776: 39(ptr) AccessChain 20 38 - 777: 10(fvec3) Load 776 - 778: 9(float) CompositeExtract 777 0 - 779: 9(float) GroupFMaxNonUniformAMD 25 InclusiveScan 778 - 780: 9(float) CompositeExtract 777 1 - 781: 9(float) GroupFMaxNonUniformAMD 25 InclusiveScan 780 - 782: 9(float) CompositeExtract 777 2 - 783: 9(float) GroupFMaxNonUniformAMD 25 InclusiveScan 782 - 784: 10(fvec3) CompositeConstruct 779 781 783 - 785: 39(ptr) AccessChain 20 38 - Store 785 784 - 786: 51(ptr) AccessChain 20 50 - 787: 12(fvec4) Load 786 - 788: 11(float) CompositeExtract 787 0 - 789: 11(float) GroupFMaxNonUniformAMD 25 InclusiveScan 788 - 790: 11(float) CompositeExtract 787 1 - 791: 11(float) GroupFMaxNonUniformAMD 25 InclusiveScan 790 - 792: 11(float) CompositeExtract 787 2 - 793: 11(float) GroupFMaxNonUniformAMD 25 InclusiveScan 792 - 794: 11(float) CompositeExtract 787 3 - 795: 11(float) GroupFMaxNonUniformAMD 25 InclusiveScan 794 - 796: 12(fvec4) CompositeConstruct 789 791 793 795 - 797: 51(ptr) AccessChain 20 50 - Store 797 796 - 798: 65(ptr) AccessChain 20 64 - 799: 13(int) Load 798 - 800: 13(int) GroupSMaxNonUniformAMD 25 InclusiveScan 799 - 801: 65(ptr) AccessChain 20 64 - Store 801 800 - 802: 71(ptr) AccessChain 20 70 - 803: 15(ivec2) Load 802 - 804: 14(int) CompositeExtract 803 0 - 805: 14(int) GroupUMaxNonUniformAMD 25 InclusiveScan 804 - 806: 14(int) CompositeExtract 803 1 - 807: 14(int) GroupUMaxNonUniformAMD 25 InclusiveScan 806 - 808: 15(ivec2) CompositeConstruct 805 807 - 809: 71(ptr) AccessChain 20 70 - Store 809 808 - 810: 81(ptr) AccessChain 20 80 - 811: 17(fvec3) Load 810 - 812: 16(float) CompositeExtract 811 0 - 813: 16(float) GroupFMaxNonUniformAMD 25 InclusiveScan 812 - 814: 16(float) CompositeExtract 811 1 - 815: 16(float) GroupFMaxNonUniformAMD 25 InclusiveScan 814 - 816: 16(float) CompositeExtract 811 2 - 817: 16(float) GroupFMaxNonUniformAMD 25 InclusiveScan 816 - 818: 17(fvec3) CompositeConstruct 813 815 817 - 819: 81(ptr) AccessChain 20 80 - Store 819 818 - 820: 22(ptr) AccessChain 20 21 - 821: 6(int) Load 820 - 822: 6(int) GroupIAddNonUniformAMD 25 InclusiveScan 821 - 823: 22(ptr) AccessChain 20 21 - Store 823 822 - 824: 29(ptr) AccessChain 20 28 - 825: 8(ivec2) Load 824 - 826: 7(int) CompositeExtract 825 0 - 827: 7(int) GroupIAddNonUniformAMD 25 InclusiveScan 826 - 828: 7(int) CompositeExtract 825 1 - 829: 7(int) GroupIAddNonUniformAMD 25 InclusiveScan 828 - 830: 8(ivec2) CompositeConstruct 827 829 - 831: 29(ptr) AccessChain 20 28 - Store 831 830 - 832: 39(ptr) AccessChain 20 38 - 833: 10(fvec3) Load 832 - 834: 9(float) CompositeExtract 833 0 - 835: 9(float) GroupFAddNonUniformAMD 25 InclusiveScan 834 - 836: 9(float) CompositeExtract 833 1 - 837: 9(float) GroupFAddNonUniformAMD 25 InclusiveScan 836 - 838: 9(float) CompositeExtract 833 2 - 839: 9(float) GroupFAddNonUniformAMD 25 InclusiveScan 838 - 840: 10(fvec3) CompositeConstruct 835 837 839 - 841: 39(ptr) AccessChain 20 38 - Store 841 840 - 842: 51(ptr) AccessChain 20 50 - 843: 12(fvec4) Load 842 - 844: 11(float) CompositeExtract 843 0 - 845: 11(float) GroupFAddNonUniformAMD 25 InclusiveScan 844 - 846: 11(float) CompositeExtract 843 1 - 847: 11(float) GroupFAddNonUniformAMD 25 InclusiveScan 846 - 848: 11(float) CompositeExtract 843 2 - 849: 11(float) GroupFAddNonUniformAMD 25 InclusiveScan 848 - 850: 11(float) CompositeExtract 843 3 - 851: 11(float) GroupFAddNonUniformAMD 25 InclusiveScan 850 - 852: 12(fvec4) CompositeConstruct 845 847 849 851 - 853: 51(ptr) AccessChain 20 50 - Store 853 852 - 854: 65(ptr) AccessChain 20 64 - 855: 13(int) Load 854 - 856: 13(int) GroupIAddNonUniformAMD 25 InclusiveScan 855 - 857: 65(ptr) AccessChain 20 64 - Store 857 856 - 858: 71(ptr) AccessChain 20 70 - 859: 15(ivec2) Load 858 - 860: 14(int) CompositeExtract 859 0 - 861: 14(int) GroupIAddNonUniformAMD 25 InclusiveScan 860 - 862: 14(int) CompositeExtract 859 1 - 863: 14(int) GroupIAddNonUniformAMD 25 InclusiveScan 862 - 864: 15(ivec2) CompositeConstruct 861 863 - 865: 71(ptr) AccessChain 20 70 - Store 865 864 - 866: 81(ptr) AccessChain 20 80 - 867: 17(fvec3) Load 866 - 868: 16(float) CompositeExtract 867 0 - 869: 16(float) GroupFAddNonUniformAMD 25 InclusiveScan 868 - 870: 16(float) CompositeExtract 867 1 - 871: 16(float) GroupFAddNonUniformAMD 25 InclusiveScan 870 - 872: 16(float) CompositeExtract 867 2 - 873: 16(float) GroupFAddNonUniformAMD 25 InclusiveScan 872 - 874: 17(fvec3) CompositeConstruct 869 871 873 - 875: 81(ptr) AccessChain 20 80 - Store 875 874 - 876: 22(ptr) AccessChain 20 21 - 877: 6(int) Load 876 - 878: 6(int) GroupSMinNonUniformAMD 25 ExclusiveScan 877 - 879: 22(ptr) AccessChain 20 21 - Store 879 878 - 880: 29(ptr) AccessChain 20 28 - 881: 8(ivec2) Load 880 - 882: 7(int) CompositeExtract 881 0 - 883: 7(int) GroupUMinNonUniformAMD 25 ExclusiveScan 882 - 884: 7(int) CompositeExtract 881 1 - 885: 7(int) GroupUMinNonUniformAMD 25 ExclusiveScan 884 - 886: 8(ivec2) CompositeConstruct 883 885 - 887: 29(ptr) AccessChain 20 28 - Store 887 886 - 888: 39(ptr) AccessChain 20 38 - 889: 10(fvec3) Load 888 - 890: 9(float) CompositeExtract 889 0 - 891: 9(float) GroupFMinNonUniformAMD 25 ExclusiveScan 890 - 892: 9(float) CompositeExtract 889 1 - 893: 9(float) GroupFMinNonUniformAMD 25 ExclusiveScan 892 - 894: 9(float) CompositeExtract 889 2 - 895: 9(float) GroupFMinNonUniformAMD 25 ExclusiveScan 894 - 896: 10(fvec3) CompositeConstruct 891 893 895 - 897: 39(ptr) AccessChain 20 38 - Store 897 896 - 898: 51(ptr) AccessChain 20 50 - 899: 12(fvec4) Load 898 - 900: 11(float) CompositeExtract 899 0 - 901: 11(float) GroupFMinNonUniformAMD 25 ExclusiveScan 900 - 902: 11(float) CompositeExtract 899 1 - 903: 11(float) GroupFMinNonUniformAMD 25 ExclusiveScan 902 - 904: 11(float) CompositeExtract 899 2 - 905: 11(float) GroupFMinNonUniformAMD 25 ExclusiveScan 904 - 906: 11(float) CompositeExtract 899 3 - 907: 11(float) GroupFMinNonUniformAMD 25 ExclusiveScan 906 - 908: 12(fvec4) CompositeConstruct 901 903 905 907 - 909: 51(ptr) AccessChain 20 50 - Store 909 908 - 910: 65(ptr) AccessChain 20 64 - 911: 13(int) Load 910 - 912: 13(int) GroupSMinNonUniformAMD 25 ExclusiveScan 911 - 913: 65(ptr) AccessChain 20 64 - Store 913 912 - 914: 71(ptr) AccessChain 20 70 - 915: 15(ivec2) Load 914 - 916: 14(int) CompositeExtract 915 0 - 917: 14(int) GroupUMinNonUniformAMD 25 ExclusiveScan 916 - 918: 14(int) CompositeExtract 915 1 - 919: 14(int) GroupUMinNonUniformAMD 25 ExclusiveScan 918 - 920: 15(ivec2) CompositeConstruct 917 919 - 921: 71(ptr) AccessChain 20 70 - Store 921 920 - 922: 81(ptr) AccessChain 20 80 - 923: 17(fvec3) Load 922 - 924: 16(float) CompositeExtract 923 0 - 925: 16(float) GroupFMinNonUniformAMD 25 ExclusiveScan 924 - 926: 16(float) CompositeExtract 923 1 - 927: 16(float) GroupFMinNonUniformAMD 25 ExclusiveScan 926 - 928: 16(float) CompositeExtract 923 2 - 929: 16(float) GroupFMinNonUniformAMD 25 ExclusiveScan 928 - 930: 17(fvec3) CompositeConstruct 925 927 929 - 931: 81(ptr) AccessChain 20 80 - Store 931 930 - 932: 22(ptr) AccessChain 20 21 - 933: 6(int) Load 932 - 934: 6(int) GroupSMaxNonUniformAMD 25 ExclusiveScan 933 - 935: 22(ptr) AccessChain 20 21 - Store 935 934 - 936: 29(ptr) AccessChain 20 28 - 937: 8(ivec2) Load 936 - 938: 7(int) CompositeExtract 937 0 - 939: 7(int) GroupUMaxNonUniformAMD 25 ExclusiveScan 938 - 940: 7(int) CompositeExtract 937 1 - 941: 7(int) GroupUMaxNonUniformAMD 25 ExclusiveScan 940 - 942: 8(ivec2) CompositeConstruct 939 941 - 943: 29(ptr) AccessChain 20 28 - Store 943 942 - 944: 39(ptr) AccessChain 20 38 - 945: 10(fvec3) Load 944 - 946: 9(float) CompositeExtract 945 0 - 947: 9(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 946 - 948: 9(float) CompositeExtract 945 1 - 949: 9(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 948 - 950: 9(float) CompositeExtract 945 2 - 951: 9(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 950 - 952: 10(fvec3) CompositeConstruct 947 949 951 - 953: 39(ptr) AccessChain 20 38 - Store 953 952 - 954: 51(ptr) AccessChain 20 50 - 955: 12(fvec4) Load 954 - 956: 11(float) CompositeExtract 955 0 - 957: 11(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 956 - 958: 11(float) CompositeExtract 955 1 - 959: 11(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 958 - 960: 11(float) CompositeExtract 955 2 - 961: 11(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 960 - 962: 11(float) CompositeExtract 955 3 - 963: 11(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 962 - 964: 12(fvec4) CompositeConstruct 957 959 961 963 - 965: 51(ptr) AccessChain 20 50 - Store 965 964 - 966: 65(ptr) AccessChain 20 64 - 967: 13(int) Load 966 - 968: 13(int) GroupSMaxNonUniformAMD 25 ExclusiveScan 967 - 969: 65(ptr) AccessChain 20 64 - Store 969 968 - 970: 71(ptr) AccessChain 20 70 - 971: 15(ivec2) Load 970 - 972: 14(int) CompositeExtract 971 0 - 973: 14(int) GroupUMaxNonUniformAMD 25 ExclusiveScan 972 - 974: 14(int) CompositeExtract 971 1 - 975: 14(int) GroupUMaxNonUniformAMD 25 ExclusiveScan 974 - 976: 15(ivec2) CompositeConstruct 973 975 - 977: 71(ptr) AccessChain 20 70 - Store 977 976 - 978: 81(ptr) AccessChain 20 80 - 979: 17(fvec3) Load 978 - 980: 16(float) CompositeExtract 979 0 - 981: 16(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 980 - 982: 16(float) CompositeExtract 979 1 - 983: 16(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 982 - 984: 16(float) CompositeExtract 979 2 - 985: 16(float) GroupFMaxNonUniformAMD 25 ExclusiveScan 984 - 986: 17(fvec3) CompositeConstruct 981 983 985 - 987: 81(ptr) AccessChain 20 80 - Store 987 986 - 988: 22(ptr) AccessChain 20 21 - 989: 6(int) Load 988 - 990: 6(int) GroupIAddNonUniformAMD 25 ExclusiveScan 989 - 991: 22(ptr) AccessChain 20 21 - Store 991 990 - 992: 29(ptr) AccessChain 20 28 - 993: 8(ivec2) Load 992 - 994: 7(int) CompositeExtract 993 0 - 995: 7(int) GroupIAddNonUniformAMD 25 ExclusiveScan 994 - 996: 7(int) CompositeExtract 993 1 - 997: 7(int) GroupIAddNonUniformAMD 25 ExclusiveScan 996 - 998: 8(ivec2) CompositeConstruct 995 997 - 999: 29(ptr) AccessChain 20 28 - Store 999 998 - 1000: 39(ptr) AccessChain 20 38 - 1001: 10(fvec3) Load 1000 - 1002: 9(float) CompositeExtract 1001 0 - 1003: 9(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1002 - 1004: 9(float) CompositeExtract 1001 1 - 1005: 9(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1004 - 1006: 9(float) CompositeExtract 1001 2 - 1007: 9(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1006 - 1008: 10(fvec3) CompositeConstruct 1003 1005 1007 - 1009: 39(ptr) AccessChain 20 38 - Store 1009 1008 - 1010: 51(ptr) AccessChain 20 50 - 1011: 12(fvec4) Load 1010 - 1012: 11(float) CompositeExtract 1011 0 - 1013: 11(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1012 - 1014: 11(float) CompositeExtract 1011 1 - 1015: 11(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1014 - 1016: 11(float) CompositeExtract 1011 2 - 1017: 11(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1016 - 1018: 11(float) CompositeExtract 1011 3 - 1019: 11(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1018 - 1020: 12(fvec4) CompositeConstruct 1013 1015 1017 1019 - 1021: 51(ptr) AccessChain 20 50 - Store 1021 1020 - 1022: 65(ptr) AccessChain 20 64 - 1023: 13(int) Load 1022 - 1024: 13(int) GroupIAddNonUniformAMD 25 ExclusiveScan 1023 - 1025: 65(ptr) AccessChain 20 64 - Store 1025 1024 - 1026: 71(ptr) AccessChain 20 70 - 1027: 15(ivec2) Load 1026 - 1028: 14(int) CompositeExtract 1027 0 - 1029: 14(int) GroupIAddNonUniformAMD 25 ExclusiveScan 1028 - 1030: 14(int) CompositeExtract 1027 1 - 1031: 14(int) GroupIAddNonUniformAMD 25 ExclusiveScan 1030 - 1032: 15(ivec2) CompositeConstruct 1029 1031 - 1033: 71(ptr) AccessChain 20 70 - Store 1033 1032 - 1034: 81(ptr) AccessChain 20 80 - 1035: 17(fvec3) Load 1034 - 1036: 16(float) CompositeExtract 1035 0 - 1037: 16(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1036 - 1038: 16(float) CompositeExtract 1035 1 - 1039: 16(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1038 - 1040: 16(float) CompositeExtract 1035 2 - 1041: 16(float) GroupFAddNonUniformAMD 25 ExclusiveScan 1040 - 1042: 17(fvec3) CompositeConstruct 1037 1039 1041 - 1043: 81(ptr) AccessChain 20 80 - Store 1043 1042 + 26: 25(ptr) AccessChain 23 24 + 27: 6(int) Load 26 + 29: 6(int) GroupSMin 28 Reduce 27 + 30: 25(ptr) AccessChain 23 24 + Store 30 29 + 33: 32(ptr) AccessChain 23 31 + 34: 8(ivec2) Load 33 + 35: 7(int) CompositeExtract 34 0 + 36: 7(int) GroupUMin 28 Reduce 35 + 37: 7(int) CompositeExtract 34 1 + 38: 7(int) GroupUMin 28 Reduce 37 + 39: 8(ivec2) CompositeConstruct 36 38 + 40: 32(ptr) AccessChain 23 31 + Store 40 39 + 43: 42(ptr) AccessChain 23 41 + 44: 10(fvec3) Load 43 + 45: 9(float) CompositeExtract 44 0 + 46: 9(float) GroupFMin 28 Reduce 45 + 47: 9(float) CompositeExtract 44 1 + 48: 9(float) GroupFMin 28 Reduce 47 + 49: 9(float) CompositeExtract 44 2 + 50: 9(float) GroupFMin 28 Reduce 49 + 51: 10(fvec3) CompositeConstruct 46 48 50 + 52: 42(ptr) AccessChain 23 41 + Store 52 51 + 55: 54(ptr) AccessChain 23 53 + 56: 12(fvec4) Load 55 + 57: 11(float) CompositeExtract 56 0 + 58: 11(float) GroupFMin 28 Reduce 57 + 59: 11(float) CompositeExtract 56 1 + 60: 11(float) GroupFMin 28 Reduce 59 + 61: 11(float) CompositeExtract 56 2 + 62: 11(float) GroupFMin 28 Reduce 61 + 63: 11(float) CompositeExtract 56 3 + 64: 11(float) GroupFMin 28 Reduce 63 + 65: 12(fvec4) CompositeConstruct 58 60 62 64 + 66: 54(ptr) AccessChain 23 53 + Store 66 65 + 69: 68(ptr) AccessChain 23 67 + 70: 13(int) Load 69 + 71: 13(int) GroupSMin 28 Reduce 70 + 72: 68(ptr) AccessChain 23 67 + Store 72 71 + 75: 74(ptr) AccessChain 23 73 + 76: 15(ivec2) Load 75 + 77: 14(int) CompositeExtract 76 0 + 78: 14(int) GroupUMin 28 Reduce 77 + 79: 14(int) CompositeExtract 76 1 + 80: 14(int) GroupUMin 28 Reduce 79 + 81: 15(ivec2) CompositeConstruct 78 80 + 82: 74(ptr) AccessChain 23 73 + Store 82 81 + 85: 84(ptr) AccessChain 23 83 + 86: 17(fvec3) Load 85 + 87: 16(float) CompositeExtract 86 0 + 88: 16(float) GroupFMin 28 Reduce 87 + 89: 16(float) CompositeExtract 86 1 + 90: 16(float) GroupFMin 28 Reduce 89 + 91: 16(float) CompositeExtract 86 2 + 92: 16(float) GroupFMin 28 Reduce 91 + 93: 17(fvec3) CompositeConstruct 88 90 92 + 94: 84(ptr) AccessChain 23 83 + Store 94 93 + 97: 96(ptr) AccessChain 23 95 + 98: 19(ivec4) Load 97 + 99: 18(int) CompositeExtract 98 0 + 100: 18(int) GroupSMin 28 Reduce 99 + 101: 18(int) CompositeExtract 98 1 + 102: 18(int) GroupSMin 28 Reduce 101 + 103: 18(int) CompositeExtract 98 2 + 104: 18(int) GroupSMin 28 Reduce 103 + 105: 18(int) CompositeExtract 98 3 + 106: 18(int) GroupSMin 28 Reduce 105 + 107: 19(ivec4) CompositeConstruct 100 102 104 106 + 108: 96(ptr) AccessChain 23 95 + Store 108 107 + 111: 110(ptr) AccessChain 23 109 + 112: 20(int) Load 111 + 113: 20(int) GroupUMin 28 Reduce 112 + 114: 110(ptr) AccessChain 23 109 + Store 114 113 + 115: 25(ptr) AccessChain 23 24 + 116: 6(int) Load 115 + 117: 6(int) GroupSMax 28 Reduce 116 + 118: 25(ptr) AccessChain 23 24 + Store 118 117 + 119: 32(ptr) AccessChain 23 31 + 120: 8(ivec2) Load 119 + 121: 7(int) CompositeExtract 120 0 + 122: 7(int) GroupUMax 28 Reduce 121 + 123: 7(int) CompositeExtract 120 1 + 124: 7(int) GroupUMax 28 Reduce 123 + 125: 8(ivec2) CompositeConstruct 122 124 + 126: 32(ptr) AccessChain 23 31 + Store 126 125 + 127: 42(ptr) AccessChain 23 41 + 128: 10(fvec3) Load 127 + 129: 9(float) CompositeExtract 128 0 + 130: 9(float) GroupFMax 28 Reduce 129 + 131: 9(float) CompositeExtract 128 1 + 132: 9(float) GroupFMax 28 Reduce 131 + 133: 9(float) CompositeExtract 128 2 + 134: 9(float) GroupFMax 28 Reduce 133 + 135: 10(fvec3) CompositeConstruct 130 132 134 + 136: 42(ptr) AccessChain 23 41 + Store 136 135 + 137: 54(ptr) AccessChain 23 53 + 138: 12(fvec4) Load 137 + 139: 11(float) CompositeExtract 138 0 + 140: 11(float) GroupFMax 28 Reduce 139 + 141: 11(float) CompositeExtract 138 1 + 142: 11(float) GroupFMax 28 Reduce 141 + 143: 11(float) CompositeExtract 138 2 + 144: 11(float) GroupFMax 28 Reduce 143 + 145: 11(float) CompositeExtract 138 3 + 146: 11(float) GroupFMax 28 Reduce 145 + 147: 12(fvec4) CompositeConstruct 140 142 144 146 + 148: 54(ptr) AccessChain 23 53 + Store 148 147 + 149: 68(ptr) AccessChain 23 67 + 150: 13(int) Load 149 + 151: 13(int) GroupSMax 28 Reduce 150 + 152: 68(ptr) AccessChain 23 67 + Store 152 151 + 153: 74(ptr) AccessChain 23 73 + 154: 15(ivec2) Load 153 + 155: 14(int) CompositeExtract 154 0 + 156: 14(int) GroupUMax 28 Reduce 155 + 157: 14(int) CompositeExtract 154 1 + 158: 14(int) GroupUMax 28 Reduce 157 + 159: 15(ivec2) CompositeConstruct 156 158 + 160: 74(ptr) AccessChain 23 73 + Store 160 159 + 161: 84(ptr) AccessChain 23 83 + 162: 17(fvec3) Load 161 + 163: 16(float) CompositeExtract 162 0 + 164: 16(float) GroupFMax 28 Reduce 163 + 165: 16(float) CompositeExtract 162 1 + 166: 16(float) GroupFMax 28 Reduce 165 + 167: 16(float) CompositeExtract 162 2 + 168: 16(float) GroupFMax 28 Reduce 167 + 169: 17(fvec3) CompositeConstruct 164 166 168 + 170: 84(ptr) AccessChain 23 83 + Store 170 169 + 171: 96(ptr) AccessChain 23 95 + 172: 19(ivec4) Load 171 + 173: 18(int) CompositeExtract 172 0 + 174: 18(int) GroupSMax 28 Reduce 173 + 175: 18(int) CompositeExtract 172 1 + 176: 18(int) GroupSMax 28 Reduce 175 + 177: 18(int) CompositeExtract 172 2 + 178: 18(int) GroupSMax 28 Reduce 177 + 179: 18(int) CompositeExtract 172 3 + 180: 18(int) GroupSMax 28 Reduce 179 + 181: 19(ivec4) CompositeConstruct 174 176 178 180 + 182: 96(ptr) AccessChain 23 95 + Store 182 181 + 183: 110(ptr) AccessChain 23 109 + 184: 20(int) Load 183 + 185: 20(int) GroupUMax 28 Reduce 184 + 186: 110(ptr) AccessChain 23 109 + Store 186 185 + 187: 25(ptr) AccessChain 23 24 + 188: 6(int) Load 187 + 189: 6(int) GroupIAdd 28 Reduce 188 + 190: 25(ptr) AccessChain 23 24 + Store 190 189 + 191: 32(ptr) AccessChain 23 31 + 192: 8(ivec2) Load 191 + 193: 7(int) CompositeExtract 192 0 + 194: 7(int) GroupIAdd 28 Reduce 193 + 195: 7(int) CompositeExtract 192 1 + 196: 7(int) GroupIAdd 28 Reduce 195 + 197: 8(ivec2) CompositeConstruct 194 196 + 198: 32(ptr) AccessChain 23 31 + Store 198 197 + 199: 42(ptr) AccessChain 23 41 + 200: 10(fvec3) Load 199 + 201: 9(float) CompositeExtract 200 0 + 202: 9(float) GroupFAdd 28 Reduce 201 + 203: 9(float) CompositeExtract 200 1 + 204: 9(float) GroupFAdd 28 Reduce 203 + 205: 9(float) CompositeExtract 200 2 + 206: 9(float) GroupFAdd 28 Reduce 205 + 207: 10(fvec3) CompositeConstruct 202 204 206 + 208: 42(ptr) AccessChain 23 41 + Store 208 207 + 209: 54(ptr) AccessChain 23 53 + 210: 12(fvec4) Load 209 + 211: 11(float) CompositeExtract 210 0 + 212: 11(float) GroupFAdd 28 Reduce 211 + 213: 11(float) CompositeExtract 210 1 + 214: 11(float) GroupFAdd 28 Reduce 213 + 215: 11(float) CompositeExtract 210 2 + 216: 11(float) GroupFAdd 28 Reduce 215 + 217: 11(float) CompositeExtract 210 3 + 218: 11(float) GroupFAdd 28 Reduce 217 + 219: 12(fvec4) CompositeConstruct 212 214 216 218 + 220: 54(ptr) AccessChain 23 53 + Store 220 219 + 221: 68(ptr) AccessChain 23 67 + 222: 13(int) Load 221 + 223: 13(int) GroupIAdd 28 Reduce 222 + 224: 68(ptr) AccessChain 23 67 + Store 224 223 + 225: 74(ptr) AccessChain 23 73 + 226: 15(ivec2) Load 225 + 227: 14(int) CompositeExtract 226 0 + 228: 14(int) GroupIAdd 28 Reduce 227 + 229: 14(int) CompositeExtract 226 1 + 230: 14(int) GroupIAdd 28 Reduce 229 + 231: 15(ivec2) CompositeConstruct 228 230 + 232: 74(ptr) AccessChain 23 73 + Store 232 231 + 233: 84(ptr) AccessChain 23 83 + 234: 17(fvec3) Load 233 + 235: 16(float) CompositeExtract 234 0 + 236: 16(float) GroupFAdd 28 Reduce 235 + 237: 16(float) CompositeExtract 234 1 + 238: 16(float) GroupFAdd 28 Reduce 237 + 239: 16(float) CompositeExtract 234 2 + 240: 16(float) GroupFAdd 28 Reduce 239 + 241: 17(fvec3) CompositeConstruct 236 238 240 + 242: 84(ptr) AccessChain 23 83 + Store 242 241 + 243: 96(ptr) AccessChain 23 95 + 244: 19(ivec4) Load 243 + 245: 18(int) CompositeExtract 244 0 + 246: 18(int) GroupIAdd 28 Reduce 245 + 247: 18(int) CompositeExtract 244 1 + 248: 18(int) GroupIAdd 28 Reduce 247 + 249: 18(int) CompositeExtract 244 2 + 250: 18(int) GroupIAdd 28 Reduce 249 + 251: 18(int) CompositeExtract 244 3 + 252: 18(int) GroupIAdd 28 Reduce 251 + 253: 19(ivec4) CompositeConstruct 246 248 250 252 + 254: 96(ptr) AccessChain 23 95 + Store 254 253 + 255: 110(ptr) AccessChain 23 109 + 256: 20(int) Load 255 + 257: 20(int) GroupIAdd 28 Reduce 256 + 258: 110(ptr) AccessChain 23 109 + Store 258 257 + 259: 25(ptr) AccessChain 23 24 + 260: 6(int) Load 259 + 261: 6(int) GroupSMinNonUniformAMD 28 Reduce 260 + 262: 25(ptr) AccessChain 23 24 + Store 262 261 + 263: 32(ptr) AccessChain 23 31 + 264: 8(ivec2) Load 263 + 265: 7(int) CompositeExtract 264 0 + 266: 7(int) GroupUMinNonUniformAMD 28 Reduce 265 + 267: 7(int) CompositeExtract 264 1 + 268: 7(int) GroupUMinNonUniformAMD 28 Reduce 267 + 269: 8(ivec2) CompositeConstruct 266 268 + 270: 32(ptr) AccessChain 23 31 + Store 270 269 + 271: 42(ptr) AccessChain 23 41 + 272: 10(fvec3) Load 271 + 273: 9(float) CompositeExtract 272 0 + 274: 9(float) GroupFMinNonUniformAMD 28 Reduce 273 + 275: 9(float) CompositeExtract 272 1 + 276: 9(float) GroupFMinNonUniformAMD 28 Reduce 275 + 277: 9(float) CompositeExtract 272 2 + 278: 9(float) GroupFMinNonUniformAMD 28 Reduce 277 + 279: 10(fvec3) CompositeConstruct 274 276 278 + 280: 42(ptr) AccessChain 23 41 + Store 280 279 + 281: 54(ptr) AccessChain 23 53 + 282: 12(fvec4) Load 281 + 283: 11(float) CompositeExtract 282 0 + 284: 11(float) GroupFMinNonUniformAMD 28 Reduce 283 + 285: 11(float) CompositeExtract 282 1 + 286: 11(float) GroupFMinNonUniformAMD 28 Reduce 285 + 287: 11(float) CompositeExtract 282 2 + 288: 11(float) GroupFMinNonUniformAMD 28 Reduce 287 + 289: 11(float) CompositeExtract 282 3 + 290: 11(float) GroupFMinNonUniformAMD 28 Reduce 289 + 291: 12(fvec4) CompositeConstruct 284 286 288 290 + 292: 54(ptr) AccessChain 23 53 + Store 292 291 + 293: 68(ptr) AccessChain 23 67 + 294: 13(int) Load 293 + 295: 13(int) GroupSMinNonUniformAMD 28 Reduce 294 + 296: 68(ptr) AccessChain 23 67 + Store 296 295 + 297: 74(ptr) AccessChain 23 73 + 298: 15(ivec2) Load 297 + 299: 14(int) CompositeExtract 298 0 + 300: 14(int) GroupUMinNonUniformAMD 28 Reduce 299 + 301: 14(int) CompositeExtract 298 1 + 302: 14(int) GroupUMinNonUniformAMD 28 Reduce 301 + 303: 15(ivec2) CompositeConstruct 300 302 + 304: 74(ptr) AccessChain 23 73 + Store 304 303 + 305: 84(ptr) AccessChain 23 83 + 306: 17(fvec3) Load 305 + 307: 16(float) CompositeExtract 306 0 + 308: 16(float) GroupFMinNonUniformAMD 28 Reduce 307 + 309: 16(float) CompositeExtract 306 1 + 310: 16(float) GroupFMinNonUniformAMD 28 Reduce 309 + 311: 16(float) CompositeExtract 306 2 + 312: 16(float) GroupFMinNonUniformAMD 28 Reduce 311 + 313: 17(fvec3) CompositeConstruct 308 310 312 + 314: 84(ptr) AccessChain 23 83 + Store 314 313 + 315: 96(ptr) AccessChain 23 95 + 316: 19(ivec4) Load 315 + 317: 18(int) CompositeExtract 316 0 + 318: 18(int) GroupSMinNonUniformAMD 28 Reduce 317 + 319: 18(int) CompositeExtract 316 1 + 320: 18(int) GroupSMinNonUniformAMD 28 Reduce 319 + 321: 18(int) CompositeExtract 316 2 + 322: 18(int) GroupSMinNonUniformAMD 28 Reduce 321 + 323: 18(int) CompositeExtract 316 3 + 324: 18(int) GroupSMinNonUniformAMD 28 Reduce 323 + 325: 19(ivec4) CompositeConstruct 318 320 322 324 + 326: 96(ptr) AccessChain 23 95 + Store 326 325 + 327: 110(ptr) AccessChain 23 109 + 328: 20(int) Load 327 + 329: 20(int) GroupUMinNonUniformAMD 28 Reduce 328 + 330: 110(ptr) AccessChain 23 109 + Store 330 329 + 331: 25(ptr) AccessChain 23 24 + 332: 6(int) Load 331 + 333: 6(int) GroupSMaxNonUniformAMD 28 Reduce 332 + 334: 25(ptr) AccessChain 23 24 + Store 334 333 + 335: 32(ptr) AccessChain 23 31 + 336: 8(ivec2) Load 335 + 337: 7(int) CompositeExtract 336 0 + 338: 7(int) GroupUMaxNonUniformAMD 28 Reduce 337 + 339: 7(int) CompositeExtract 336 1 + 340: 7(int) GroupUMaxNonUniformAMD 28 Reduce 339 + 341: 8(ivec2) CompositeConstruct 338 340 + 342: 32(ptr) AccessChain 23 31 + Store 342 341 + 343: 42(ptr) AccessChain 23 41 + 344: 10(fvec3) Load 343 + 345: 9(float) CompositeExtract 344 0 + 346: 9(float) GroupFMaxNonUniformAMD 28 Reduce 345 + 347: 9(float) CompositeExtract 344 1 + 348: 9(float) GroupFMaxNonUniformAMD 28 Reduce 347 + 349: 9(float) CompositeExtract 344 2 + 350: 9(float) GroupFMaxNonUniformAMD 28 Reduce 349 + 351: 10(fvec3) CompositeConstruct 346 348 350 + 352: 42(ptr) AccessChain 23 41 + Store 352 351 + 353: 54(ptr) AccessChain 23 53 + 354: 12(fvec4) Load 353 + 355: 11(float) CompositeExtract 354 0 + 356: 11(float) GroupFMaxNonUniformAMD 28 Reduce 355 + 357: 11(float) CompositeExtract 354 1 + 358: 11(float) GroupFMaxNonUniformAMD 28 Reduce 357 + 359: 11(float) CompositeExtract 354 2 + 360: 11(float) GroupFMaxNonUniformAMD 28 Reduce 359 + 361: 11(float) CompositeExtract 354 3 + 362: 11(float) GroupFMaxNonUniformAMD 28 Reduce 361 + 363: 12(fvec4) CompositeConstruct 356 358 360 362 + 364: 54(ptr) AccessChain 23 53 + Store 364 363 + 365: 68(ptr) AccessChain 23 67 + 366: 13(int) Load 365 + 367: 13(int) GroupSMaxNonUniformAMD 28 Reduce 366 + 368: 68(ptr) AccessChain 23 67 + Store 368 367 + 369: 74(ptr) AccessChain 23 73 + 370: 15(ivec2) Load 369 + 371: 14(int) CompositeExtract 370 0 + 372: 14(int) GroupUMaxNonUniformAMD 28 Reduce 371 + 373: 14(int) CompositeExtract 370 1 + 374: 14(int) GroupUMaxNonUniformAMD 28 Reduce 373 + 375: 15(ivec2) CompositeConstruct 372 374 + 376: 74(ptr) AccessChain 23 73 + Store 376 375 + 377: 84(ptr) AccessChain 23 83 + 378: 17(fvec3) Load 377 + 379: 16(float) CompositeExtract 378 0 + 380: 16(float) GroupFMaxNonUniformAMD 28 Reduce 379 + 381: 16(float) CompositeExtract 378 1 + 382: 16(float) GroupFMaxNonUniformAMD 28 Reduce 381 + 383: 16(float) CompositeExtract 378 2 + 384: 16(float) GroupFMaxNonUniformAMD 28 Reduce 383 + 385: 17(fvec3) CompositeConstruct 380 382 384 + 386: 84(ptr) AccessChain 23 83 + Store 386 385 + 387: 96(ptr) AccessChain 23 95 + 388: 19(ivec4) Load 387 + 389: 18(int) CompositeExtract 388 0 + 390: 18(int) GroupSMaxNonUniformAMD 28 Reduce 389 + 391: 18(int) CompositeExtract 388 1 + 392: 18(int) GroupSMaxNonUniformAMD 28 Reduce 391 + 393: 18(int) CompositeExtract 388 2 + 394: 18(int) GroupSMaxNonUniformAMD 28 Reduce 393 + 395: 18(int) CompositeExtract 388 3 + 396: 18(int) GroupSMaxNonUniformAMD 28 Reduce 395 + 397: 19(ivec4) CompositeConstruct 390 392 394 396 + 398: 96(ptr) AccessChain 23 95 + Store 398 397 + 399: 110(ptr) AccessChain 23 109 + 400: 20(int) Load 399 + 401: 20(int) GroupUMaxNonUniformAMD 28 Reduce 400 + 402: 110(ptr) AccessChain 23 109 + Store 402 401 + 403: 25(ptr) AccessChain 23 24 + 404: 6(int) Load 403 + 405: 6(int) GroupIAddNonUniformAMD 28 Reduce 404 + 406: 25(ptr) AccessChain 23 24 + Store 406 405 + 407: 32(ptr) AccessChain 23 31 + 408: 8(ivec2) Load 407 + 409: 7(int) CompositeExtract 408 0 + 410: 7(int) GroupIAddNonUniformAMD 28 Reduce 409 + 411: 7(int) CompositeExtract 408 1 + 412: 7(int) GroupIAddNonUniformAMD 28 Reduce 411 + 413: 8(ivec2) CompositeConstruct 410 412 + 414: 32(ptr) AccessChain 23 31 + Store 414 413 + 415: 42(ptr) AccessChain 23 41 + 416: 10(fvec3) Load 415 + 417: 9(float) CompositeExtract 416 0 + 418: 9(float) GroupFAddNonUniformAMD 28 Reduce 417 + 419: 9(float) CompositeExtract 416 1 + 420: 9(float) GroupFAddNonUniformAMD 28 Reduce 419 + 421: 9(float) CompositeExtract 416 2 + 422: 9(float) GroupFAddNonUniformAMD 28 Reduce 421 + 423: 10(fvec3) CompositeConstruct 418 420 422 + 424: 42(ptr) AccessChain 23 41 + Store 424 423 + 425: 54(ptr) AccessChain 23 53 + 426: 12(fvec4) Load 425 + 427: 11(float) CompositeExtract 426 0 + 428: 11(float) GroupFAddNonUniformAMD 28 Reduce 427 + 429: 11(float) CompositeExtract 426 1 + 430: 11(float) GroupFAddNonUniformAMD 28 Reduce 429 + 431: 11(float) CompositeExtract 426 2 + 432: 11(float) GroupFAddNonUniformAMD 28 Reduce 431 + 433: 11(float) CompositeExtract 426 3 + 434: 11(float) GroupFAddNonUniformAMD 28 Reduce 433 + 435: 12(fvec4) CompositeConstruct 428 430 432 434 + 436: 54(ptr) AccessChain 23 53 + Store 436 435 + 437: 68(ptr) AccessChain 23 67 + 438: 13(int) Load 437 + 439: 13(int) GroupIAddNonUniformAMD 28 Reduce 438 + 440: 68(ptr) AccessChain 23 67 + Store 440 439 + 441: 74(ptr) AccessChain 23 73 + 442: 15(ivec2) Load 441 + 443: 14(int) CompositeExtract 442 0 + 444: 14(int) GroupIAddNonUniformAMD 28 Reduce 443 + 445: 14(int) CompositeExtract 442 1 + 446: 14(int) GroupIAddNonUniformAMD 28 Reduce 445 + 447: 15(ivec2) CompositeConstruct 444 446 + 448: 74(ptr) AccessChain 23 73 + Store 448 447 + 449: 84(ptr) AccessChain 23 83 + 450: 17(fvec3) Load 449 + 451: 16(float) CompositeExtract 450 0 + 452: 16(float) GroupFAddNonUniformAMD 28 Reduce 451 + 453: 16(float) CompositeExtract 450 1 + 454: 16(float) GroupFAddNonUniformAMD 28 Reduce 453 + 455: 16(float) CompositeExtract 450 2 + 456: 16(float) GroupFAddNonUniformAMD 28 Reduce 455 + 457: 17(fvec3) CompositeConstruct 452 454 456 + 458: 84(ptr) AccessChain 23 83 + Store 458 457 + 459: 96(ptr) AccessChain 23 95 + 460: 19(ivec4) Load 459 + 461: 18(int) CompositeExtract 460 0 + 462: 18(int) GroupIAddNonUniformAMD 28 Reduce 461 + 463: 18(int) CompositeExtract 460 1 + 464: 18(int) GroupIAddNonUniformAMD 28 Reduce 463 + 465: 18(int) CompositeExtract 460 2 + 466: 18(int) GroupIAddNonUniformAMD 28 Reduce 465 + 467: 18(int) CompositeExtract 460 3 + 468: 18(int) GroupIAddNonUniformAMD 28 Reduce 467 + 469: 19(ivec4) CompositeConstruct 462 464 466 468 + 470: 96(ptr) AccessChain 23 95 + Store 470 469 + 471: 110(ptr) AccessChain 23 109 + 472: 20(int) Load 471 + 473: 20(int) GroupIAddNonUniformAMD 28 Reduce 472 + 474: 110(ptr) AccessChain 23 109 + Store 474 473 + 475: 25(ptr) AccessChain 23 24 + 476: 6(int) Load 475 + 477: 6(int) GroupSMin 28 InclusiveScan 476 + 478: 25(ptr) AccessChain 23 24 + Store 478 477 + 479: 32(ptr) AccessChain 23 31 + 480: 8(ivec2) Load 479 + 481: 7(int) CompositeExtract 480 0 + 482: 7(int) GroupUMin 28 InclusiveScan 481 + 483: 7(int) CompositeExtract 480 1 + 484: 7(int) GroupUMin 28 InclusiveScan 483 + 485: 8(ivec2) CompositeConstruct 482 484 + 486: 32(ptr) AccessChain 23 31 + Store 486 485 + 487: 42(ptr) AccessChain 23 41 + 488: 10(fvec3) Load 487 + 489: 9(float) CompositeExtract 488 0 + 490: 9(float) GroupFMin 28 InclusiveScan 489 + 491: 9(float) CompositeExtract 488 1 + 492: 9(float) GroupFMin 28 InclusiveScan 491 + 493: 9(float) CompositeExtract 488 2 + 494: 9(float) GroupFMin 28 InclusiveScan 493 + 495: 10(fvec3) CompositeConstruct 490 492 494 + 496: 42(ptr) AccessChain 23 41 + Store 496 495 + 497: 54(ptr) AccessChain 23 53 + 498: 12(fvec4) Load 497 + 499: 11(float) CompositeExtract 498 0 + 500: 11(float) GroupFMin 28 InclusiveScan 499 + 501: 11(float) CompositeExtract 498 1 + 502: 11(float) GroupFMin 28 InclusiveScan 501 + 503: 11(float) CompositeExtract 498 2 + 504: 11(float) GroupFMin 28 InclusiveScan 503 + 505: 11(float) CompositeExtract 498 3 + 506: 11(float) GroupFMin 28 InclusiveScan 505 + 507: 12(fvec4) CompositeConstruct 500 502 504 506 + 508: 54(ptr) AccessChain 23 53 + Store 508 507 + 509: 68(ptr) AccessChain 23 67 + 510: 13(int) Load 509 + 511: 13(int) GroupSMin 28 InclusiveScan 510 + 512: 68(ptr) AccessChain 23 67 + Store 512 511 + 513: 74(ptr) AccessChain 23 73 + 514: 15(ivec2) Load 513 + 515: 14(int) CompositeExtract 514 0 + 516: 14(int) GroupUMin 28 InclusiveScan 515 + 517: 14(int) CompositeExtract 514 1 + 518: 14(int) GroupUMin 28 InclusiveScan 517 + 519: 15(ivec2) CompositeConstruct 516 518 + 520: 74(ptr) AccessChain 23 73 + Store 520 519 + 521: 84(ptr) AccessChain 23 83 + 522: 17(fvec3) Load 521 + 523: 16(float) CompositeExtract 522 0 + 524: 16(float) GroupFMin 28 InclusiveScan 523 + 525: 16(float) CompositeExtract 522 1 + 526: 16(float) GroupFMin 28 InclusiveScan 525 + 527: 16(float) CompositeExtract 522 2 + 528: 16(float) GroupFMin 28 InclusiveScan 527 + 529: 17(fvec3) CompositeConstruct 524 526 528 + 530: 84(ptr) AccessChain 23 83 + Store 530 529 + 531: 96(ptr) AccessChain 23 95 + 532: 19(ivec4) Load 531 + 533: 18(int) CompositeExtract 532 0 + 534: 18(int) GroupSMin 28 InclusiveScan 533 + 535: 18(int) CompositeExtract 532 1 + 536: 18(int) GroupSMin 28 InclusiveScan 535 + 537: 18(int) CompositeExtract 532 2 + 538: 18(int) GroupSMin 28 InclusiveScan 537 + 539: 18(int) CompositeExtract 532 3 + 540: 18(int) GroupSMin 28 InclusiveScan 539 + 541: 19(ivec4) CompositeConstruct 534 536 538 540 + 542: 96(ptr) AccessChain 23 95 + Store 542 541 + 543: 110(ptr) AccessChain 23 109 + 544: 20(int) Load 543 + 545: 20(int) GroupUMin 28 InclusiveScan 544 + 546: 110(ptr) AccessChain 23 109 + Store 546 545 + 547: 25(ptr) AccessChain 23 24 + 548: 6(int) Load 547 + 549: 6(int) GroupSMax 28 InclusiveScan 548 + 550: 25(ptr) AccessChain 23 24 + Store 550 549 + 551: 32(ptr) AccessChain 23 31 + 552: 8(ivec2) Load 551 + 553: 7(int) CompositeExtract 552 0 + 554: 7(int) GroupUMax 28 InclusiveScan 553 + 555: 7(int) CompositeExtract 552 1 + 556: 7(int) GroupUMax 28 InclusiveScan 555 + 557: 8(ivec2) CompositeConstruct 554 556 + 558: 32(ptr) AccessChain 23 31 + Store 558 557 + 559: 42(ptr) AccessChain 23 41 + 560: 10(fvec3) Load 559 + 561: 9(float) CompositeExtract 560 0 + 562: 9(float) GroupFMax 28 InclusiveScan 561 + 563: 9(float) CompositeExtract 560 1 + 564: 9(float) GroupFMax 28 InclusiveScan 563 + 565: 9(float) CompositeExtract 560 2 + 566: 9(float) GroupFMax 28 InclusiveScan 565 + 567: 10(fvec3) CompositeConstruct 562 564 566 + 568: 42(ptr) AccessChain 23 41 + Store 568 567 + 569: 54(ptr) AccessChain 23 53 + 570: 12(fvec4) Load 569 + 571: 11(float) CompositeExtract 570 0 + 572: 11(float) GroupFMax 28 InclusiveScan 571 + 573: 11(float) CompositeExtract 570 1 + 574: 11(float) GroupFMax 28 InclusiveScan 573 + 575: 11(float) CompositeExtract 570 2 + 576: 11(float) GroupFMax 28 InclusiveScan 575 + 577: 11(float) CompositeExtract 570 3 + 578: 11(float) GroupFMax 28 InclusiveScan 577 + 579: 12(fvec4) CompositeConstruct 572 574 576 578 + 580: 54(ptr) AccessChain 23 53 + Store 580 579 + 581: 68(ptr) AccessChain 23 67 + 582: 13(int) Load 581 + 583: 13(int) GroupSMax 28 InclusiveScan 582 + 584: 68(ptr) AccessChain 23 67 + Store 584 583 + 585: 74(ptr) AccessChain 23 73 + 586: 15(ivec2) Load 585 + 587: 14(int) CompositeExtract 586 0 + 588: 14(int) GroupUMax 28 InclusiveScan 587 + 589: 14(int) CompositeExtract 586 1 + 590: 14(int) GroupUMax 28 InclusiveScan 589 + 591: 15(ivec2) CompositeConstruct 588 590 + 592: 74(ptr) AccessChain 23 73 + Store 592 591 + 593: 84(ptr) AccessChain 23 83 + 594: 17(fvec3) Load 593 + 595: 16(float) CompositeExtract 594 0 + 596: 16(float) GroupFMax 28 InclusiveScan 595 + 597: 16(float) CompositeExtract 594 1 + 598: 16(float) GroupFMax 28 InclusiveScan 597 + 599: 16(float) CompositeExtract 594 2 + 600: 16(float) GroupFMax 28 InclusiveScan 599 + 601: 17(fvec3) CompositeConstruct 596 598 600 + 602: 84(ptr) AccessChain 23 83 + Store 602 601 + 603: 96(ptr) AccessChain 23 95 + 604: 19(ivec4) Load 603 + 605: 18(int) CompositeExtract 604 0 + 606: 18(int) GroupSMax 28 InclusiveScan 605 + 607: 18(int) CompositeExtract 604 1 + 608: 18(int) GroupSMax 28 InclusiveScan 607 + 609: 18(int) CompositeExtract 604 2 + 610: 18(int) GroupSMax 28 InclusiveScan 609 + 611: 18(int) CompositeExtract 604 3 + 612: 18(int) GroupSMax 28 InclusiveScan 611 + 613: 19(ivec4) CompositeConstruct 606 608 610 612 + 614: 96(ptr) AccessChain 23 95 + Store 614 613 + 615: 110(ptr) AccessChain 23 109 + 616: 20(int) Load 615 + 617: 20(int) GroupUMax 28 InclusiveScan 616 + 618: 110(ptr) AccessChain 23 109 + Store 618 617 + 619: 25(ptr) AccessChain 23 24 + 620: 6(int) Load 619 + 621: 6(int) GroupIAdd 28 InclusiveScan 620 + 622: 25(ptr) AccessChain 23 24 + Store 622 621 + 623: 32(ptr) AccessChain 23 31 + 624: 8(ivec2) Load 623 + 625: 7(int) CompositeExtract 624 0 + 626: 7(int) GroupIAdd 28 InclusiveScan 625 + 627: 7(int) CompositeExtract 624 1 + 628: 7(int) GroupIAdd 28 InclusiveScan 627 + 629: 8(ivec2) CompositeConstruct 626 628 + 630: 32(ptr) AccessChain 23 31 + Store 630 629 + 631: 42(ptr) AccessChain 23 41 + 632: 10(fvec3) Load 631 + 633: 9(float) CompositeExtract 632 0 + 634: 9(float) GroupFAdd 28 InclusiveScan 633 + 635: 9(float) CompositeExtract 632 1 + 636: 9(float) GroupFAdd 28 InclusiveScan 635 + 637: 9(float) CompositeExtract 632 2 + 638: 9(float) GroupFAdd 28 InclusiveScan 637 + 639: 10(fvec3) CompositeConstruct 634 636 638 + 640: 42(ptr) AccessChain 23 41 + Store 640 639 + 641: 54(ptr) AccessChain 23 53 + 642: 12(fvec4) Load 641 + 643: 11(float) CompositeExtract 642 0 + 644: 11(float) GroupFAdd 28 InclusiveScan 643 + 645: 11(float) CompositeExtract 642 1 + 646: 11(float) GroupFAdd 28 InclusiveScan 645 + 647: 11(float) CompositeExtract 642 2 + 648: 11(float) GroupFAdd 28 InclusiveScan 647 + 649: 11(float) CompositeExtract 642 3 + 650: 11(float) GroupFAdd 28 InclusiveScan 649 + 651: 12(fvec4) CompositeConstruct 644 646 648 650 + 652: 54(ptr) AccessChain 23 53 + Store 652 651 + 653: 68(ptr) AccessChain 23 67 + 654: 13(int) Load 653 + 655: 13(int) GroupIAdd 28 InclusiveScan 654 + 656: 68(ptr) AccessChain 23 67 + Store 656 655 + 657: 74(ptr) AccessChain 23 73 + 658: 15(ivec2) Load 657 + 659: 14(int) CompositeExtract 658 0 + 660: 14(int) GroupIAdd 28 InclusiveScan 659 + 661: 14(int) CompositeExtract 658 1 + 662: 14(int) GroupIAdd 28 InclusiveScan 661 + 663: 15(ivec2) CompositeConstruct 660 662 + 664: 74(ptr) AccessChain 23 73 + Store 664 663 + 665: 84(ptr) AccessChain 23 83 + 666: 17(fvec3) Load 665 + 667: 16(float) CompositeExtract 666 0 + 668: 16(float) GroupFAdd 28 InclusiveScan 667 + 669: 16(float) CompositeExtract 666 1 + 670: 16(float) GroupFAdd 28 InclusiveScan 669 + 671: 16(float) CompositeExtract 666 2 + 672: 16(float) GroupFAdd 28 InclusiveScan 671 + 673: 17(fvec3) CompositeConstruct 668 670 672 + 674: 84(ptr) AccessChain 23 83 + Store 674 673 + 675: 96(ptr) AccessChain 23 95 + 676: 19(ivec4) Load 675 + 677: 18(int) CompositeExtract 676 0 + 678: 18(int) GroupIAdd 28 InclusiveScan 677 + 679: 18(int) CompositeExtract 676 1 + 680: 18(int) GroupIAdd 28 InclusiveScan 679 + 681: 18(int) CompositeExtract 676 2 + 682: 18(int) GroupIAdd 28 InclusiveScan 681 + 683: 18(int) CompositeExtract 676 3 + 684: 18(int) GroupIAdd 28 InclusiveScan 683 + 685: 19(ivec4) CompositeConstruct 678 680 682 684 + 686: 96(ptr) AccessChain 23 95 + Store 686 685 + 687: 110(ptr) AccessChain 23 109 + 688: 20(int) Load 687 + 689: 20(int) GroupIAdd 28 InclusiveScan 688 + 690: 110(ptr) AccessChain 23 109 + Store 690 689 + 691: 25(ptr) AccessChain 23 24 + 692: 6(int) Load 691 + 693: 6(int) GroupSMin 28 ExclusiveScan 692 + 694: 25(ptr) AccessChain 23 24 + Store 694 693 + 695: 32(ptr) AccessChain 23 31 + 696: 8(ivec2) Load 695 + 697: 7(int) CompositeExtract 696 0 + 698: 7(int) GroupUMin 28 ExclusiveScan 697 + 699: 7(int) CompositeExtract 696 1 + 700: 7(int) GroupUMin 28 ExclusiveScan 699 + 701: 8(ivec2) CompositeConstruct 698 700 + 702: 32(ptr) AccessChain 23 31 + Store 702 701 + 703: 42(ptr) AccessChain 23 41 + 704: 10(fvec3) Load 703 + 705: 9(float) CompositeExtract 704 0 + 706: 9(float) GroupFMin 28 ExclusiveScan 705 + 707: 9(float) CompositeExtract 704 1 + 708: 9(float) GroupFMin 28 ExclusiveScan 707 + 709: 9(float) CompositeExtract 704 2 + 710: 9(float) GroupFMin 28 ExclusiveScan 709 + 711: 10(fvec3) CompositeConstruct 706 708 710 + 712: 42(ptr) AccessChain 23 41 + Store 712 711 + 713: 54(ptr) AccessChain 23 53 + 714: 12(fvec4) Load 713 + 715: 11(float) CompositeExtract 714 0 + 716: 11(float) GroupFMin 28 ExclusiveScan 715 + 717: 11(float) CompositeExtract 714 1 + 718: 11(float) GroupFMin 28 ExclusiveScan 717 + 719: 11(float) CompositeExtract 714 2 + 720: 11(float) GroupFMin 28 ExclusiveScan 719 + 721: 11(float) CompositeExtract 714 3 + 722: 11(float) GroupFMin 28 ExclusiveScan 721 + 723: 12(fvec4) CompositeConstruct 716 718 720 722 + 724: 54(ptr) AccessChain 23 53 + Store 724 723 + 725: 68(ptr) AccessChain 23 67 + 726: 13(int) Load 725 + 727: 13(int) GroupSMin 28 ExclusiveScan 726 + 728: 68(ptr) AccessChain 23 67 + Store 728 727 + 729: 74(ptr) AccessChain 23 73 + 730: 15(ivec2) Load 729 + 731: 14(int) CompositeExtract 730 0 + 732: 14(int) GroupUMin 28 ExclusiveScan 731 + 733: 14(int) CompositeExtract 730 1 + 734: 14(int) GroupUMin 28 ExclusiveScan 733 + 735: 15(ivec2) CompositeConstruct 732 734 + 736: 74(ptr) AccessChain 23 73 + Store 736 735 + 737: 84(ptr) AccessChain 23 83 + 738: 17(fvec3) Load 737 + 739: 16(float) CompositeExtract 738 0 + 740: 16(float) GroupFMin 28 ExclusiveScan 739 + 741: 16(float) CompositeExtract 738 1 + 742: 16(float) GroupFMin 28 ExclusiveScan 741 + 743: 16(float) CompositeExtract 738 2 + 744: 16(float) GroupFMin 28 ExclusiveScan 743 + 745: 17(fvec3) CompositeConstruct 740 742 744 + 746: 84(ptr) AccessChain 23 83 + Store 746 745 + 747: 96(ptr) AccessChain 23 95 + 748: 19(ivec4) Load 747 + 749: 18(int) CompositeExtract 748 0 + 750: 18(int) GroupSMin 28 ExclusiveScan 749 + 751: 18(int) CompositeExtract 748 1 + 752: 18(int) GroupSMin 28 ExclusiveScan 751 + 753: 18(int) CompositeExtract 748 2 + 754: 18(int) GroupSMin 28 ExclusiveScan 753 + 755: 18(int) CompositeExtract 748 3 + 756: 18(int) GroupSMin 28 ExclusiveScan 755 + 757: 19(ivec4) CompositeConstruct 750 752 754 756 + 758: 96(ptr) AccessChain 23 95 + Store 758 757 + 759: 110(ptr) AccessChain 23 109 + 760: 20(int) Load 759 + 761: 20(int) GroupUMin 28 ExclusiveScan 760 + 762: 110(ptr) AccessChain 23 109 + Store 762 761 + 763: 25(ptr) AccessChain 23 24 + 764: 6(int) Load 763 + 765: 6(int) GroupSMax 28 ExclusiveScan 764 + 766: 25(ptr) AccessChain 23 24 + Store 766 765 + 767: 32(ptr) AccessChain 23 31 + 768: 8(ivec2) Load 767 + 769: 7(int) CompositeExtract 768 0 + 770: 7(int) GroupUMax 28 ExclusiveScan 769 + 771: 7(int) CompositeExtract 768 1 + 772: 7(int) GroupUMax 28 ExclusiveScan 771 + 773: 8(ivec2) CompositeConstruct 770 772 + 774: 32(ptr) AccessChain 23 31 + Store 774 773 + 775: 42(ptr) AccessChain 23 41 + 776: 10(fvec3) Load 775 + 777: 9(float) CompositeExtract 776 0 + 778: 9(float) GroupFMax 28 ExclusiveScan 777 + 779: 9(float) CompositeExtract 776 1 + 780: 9(float) GroupFMax 28 ExclusiveScan 779 + 781: 9(float) CompositeExtract 776 2 + 782: 9(float) GroupFMax 28 ExclusiveScan 781 + 783: 10(fvec3) CompositeConstruct 778 780 782 + 784: 42(ptr) AccessChain 23 41 + Store 784 783 + 785: 54(ptr) AccessChain 23 53 + 786: 12(fvec4) Load 785 + 787: 11(float) CompositeExtract 786 0 + 788: 11(float) GroupFMax 28 ExclusiveScan 787 + 789: 11(float) CompositeExtract 786 1 + 790: 11(float) GroupFMax 28 ExclusiveScan 789 + 791: 11(float) CompositeExtract 786 2 + 792: 11(float) GroupFMax 28 ExclusiveScan 791 + 793: 11(float) CompositeExtract 786 3 + 794: 11(float) GroupFMax 28 ExclusiveScan 793 + 795: 12(fvec4) CompositeConstruct 788 790 792 794 + 796: 54(ptr) AccessChain 23 53 + Store 796 795 + 797: 68(ptr) AccessChain 23 67 + 798: 13(int) Load 797 + 799: 13(int) GroupSMax 28 ExclusiveScan 798 + 800: 68(ptr) AccessChain 23 67 + Store 800 799 + 801: 74(ptr) AccessChain 23 73 + 802: 15(ivec2) Load 801 + 803: 14(int) CompositeExtract 802 0 + 804: 14(int) GroupUMax 28 ExclusiveScan 803 + 805: 14(int) CompositeExtract 802 1 + 806: 14(int) GroupUMax 28 ExclusiveScan 805 + 807: 15(ivec2) CompositeConstruct 804 806 + 808: 74(ptr) AccessChain 23 73 + Store 808 807 + 809: 84(ptr) AccessChain 23 83 + 810: 17(fvec3) Load 809 + 811: 16(float) CompositeExtract 810 0 + 812: 16(float) GroupFMax 28 ExclusiveScan 811 + 813: 16(float) CompositeExtract 810 1 + 814: 16(float) GroupFMax 28 ExclusiveScan 813 + 815: 16(float) CompositeExtract 810 2 + 816: 16(float) GroupFMax 28 ExclusiveScan 815 + 817: 17(fvec3) CompositeConstruct 812 814 816 + 818: 84(ptr) AccessChain 23 83 + Store 818 817 + 819: 96(ptr) AccessChain 23 95 + 820: 19(ivec4) Load 819 + 821: 18(int) CompositeExtract 820 0 + 822: 18(int) GroupSMax 28 ExclusiveScan 821 + 823: 18(int) CompositeExtract 820 1 + 824: 18(int) GroupSMax 28 ExclusiveScan 823 + 825: 18(int) CompositeExtract 820 2 + 826: 18(int) GroupSMax 28 ExclusiveScan 825 + 827: 18(int) CompositeExtract 820 3 + 828: 18(int) GroupSMax 28 ExclusiveScan 827 + 829: 19(ivec4) CompositeConstruct 822 824 826 828 + 830: 96(ptr) AccessChain 23 95 + Store 830 829 + 831: 110(ptr) AccessChain 23 109 + 832: 20(int) Load 831 + 833: 20(int) GroupUMax 28 ExclusiveScan 832 + 834: 110(ptr) AccessChain 23 109 + Store 834 833 + 835: 25(ptr) AccessChain 23 24 + 836: 6(int) Load 835 + 837: 6(int) GroupIAdd 28 ExclusiveScan 836 + 838: 25(ptr) AccessChain 23 24 + Store 838 837 + 839: 32(ptr) AccessChain 23 31 + 840: 8(ivec2) Load 839 + 841: 7(int) CompositeExtract 840 0 + 842: 7(int) GroupIAdd 28 ExclusiveScan 841 + 843: 7(int) CompositeExtract 840 1 + 844: 7(int) GroupIAdd 28 ExclusiveScan 843 + 845: 8(ivec2) CompositeConstruct 842 844 + 846: 32(ptr) AccessChain 23 31 + Store 846 845 + 847: 42(ptr) AccessChain 23 41 + 848: 10(fvec3) Load 847 + 849: 9(float) CompositeExtract 848 0 + 850: 9(float) GroupFAdd 28 ExclusiveScan 849 + 851: 9(float) CompositeExtract 848 1 + 852: 9(float) GroupFAdd 28 ExclusiveScan 851 + 853: 9(float) CompositeExtract 848 2 + 854: 9(float) GroupFAdd 28 ExclusiveScan 853 + 855: 10(fvec3) CompositeConstruct 850 852 854 + 856: 42(ptr) AccessChain 23 41 + Store 856 855 + 857: 54(ptr) AccessChain 23 53 + 858: 12(fvec4) Load 857 + 859: 11(float) CompositeExtract 858 0 + 860: 11(float) GroupFAdd 28 ExclusiveScan 859 + 861: 11(float) CompositeExtract 858 1 + 862: 11(float) GroupFAdd 28 ExclusiveScan 861 + 863: 11(float) CompositeExtract 858 2 + 864: 11(float) GroupFAdd 28 ExclusiveScan 863 + 865: 11(float) CompositeExtract 858 3 + 866: 11(float) GroupFAdd 28 ExclusiveScan 865 + 867: 12(fvec4) CompositeConstruct 860 862 864 866 + 868: 54(ptr) AccessChain 23 53 + Store 868 867 + 869: 68(ptr) AccessChain 23 67 + 870: 13(int) Load 869 + 871: 13(int) GroupIAdd 28 ExclusiveScan 870 + 872: 68(ptr) AccessChain 23 67 + Store 872 871 + 873: 74(ptr) AccessChain 23 73 + 874: 15(ivec2) Load 873 + 875: 14(int) CompositeExtract 874 0 + 876: 14(int) GroupIAdd 28 ExclusiveScan 875 + 877: 14(int) CompositeExtract 874 1 + 878: 14(int) GroupIAdd 28 ExclusiveScan 877 + 879: 15(ivec2) CompositeConstruct 876 878 + 880: 74(ptr) AccessChain 23 73 + Store 880 879 + 881: 84(ptr) AccessChain 23 83 + 882: 17(fvec3) Load 881 + 883: 16(float) CompositeExtract 882 0 + 884: 16(float) GroupFAdd 28 ExclusiveScan 883 + 885: 16(float) CompositeExtract 882 1 + 886: 16(float) GroupFAdd 28 ExclusiveScan 885 + 887: 16(float) CompositeExtract 882 2 + 888: 16(float) GroupFAdd 28 ExclusiveScan 887 + 889: 17(fvec3) CompositeConstruct 884 886 888 + 890: 84(ptr) AccessChain 23 83 + Store 890 889 + 891: 96(ptr) AccessChain 23 95 + 892: 19(ivec4) Load 891 + 893: 18(int) CompositeExtract 892 0 + 894: 18(int) GroupIAdd 28 ExclusiveScan 893 + 895: 18(int) CompositeExtract 892 1 + 896: 18(int) GroupIAdd 28 ExclusiveScan 895 + 897: 18(int) CompositeExtract 892 2 + 898: 18(int) GroupIAdd 28 ExclusiveScan 897 + 899: 18(int) CompositeExtract 892 3 + 900: 18(int) GroupIAdd 28 ExclusiveScan 899 + 901: 19(ivec4) CompositeConstruct 894 896 898 900 + 902: 96(ptr) AccessChain 23 95 + Store 902 901 + 903: 110(ptr) AccessChain 23 109 + 904: 20(int) Load 903 + 905: 20(int) GroupIAdd 28 ExclusiveScan 904 + 906: 110(ptr) AccessChain 23 109 + Store 906 905 + 907: 25(ptr) AccessChain 23 24 + 908: 6(int) Load 907 + 909: 6(int) GroupSMinNonUniformAMD 28 InclusiveScan 908 + 910: 25(ptr) AccessChain 23 24 + Store 910 909 + 911: 32(ptr) AccessChain 23 31 + 912: 8(ivec2) Load 911 + 913: 7(int) CompositeExtract 912 0 + 914: 7(int) GroupUMinNonUniformAMD 28 InclusiveScan 913 + 915: 7(int) CompositeExtract 912 1 + 916: 7(int) GroupUMinNonUniformAMD 28 InclusiveScan 915 + 917: 8(ivec2) CompositeConstruct 914 916 + 918: 32(ptr) AccessChain 23 31 + Store 918 917 + 919: 42(ptr) AccessChain 23 41 + 920: 10(fvec3) Load 919 + 921: 9(float) CompositeExtract 920 0 + 922: 9(float) GroupFMinNonUniformAMD 28 InclusiveScan 921 + 923: 9(float) CompositeExtract 920 1 + 924: 9(float) GroupFMinNonUniformAMD 28 InclusiveScan 923 + 925: 9(float) CompositeExtract 920 2 + 926: 9(float) GroupFMinNonUniformAMD 28 InclusiveScan 925 + 927: 10(fvec3) CompositeConstruct 922 924 926 + 928: 42(ptr) AccessChain 23 41 + Store 928 927 + 929: 54(ptr) AccessChain 23 53 + 930: 12(fvec4) Load 929 + 931: 11(float) CompositeExtract 930 0 + 932: 11(float) GroupFMinNonUniformAMD 28 InclusiveScan 931 + 933: 11(float) CompositeExtract 930 1 + 934: 11(float) GroupFMinNonUniformAMD 28 InclusiveScan 933 + 935: 11(float) CompositeExtract 930 2 + 936: 11(float) GroupFMinNonUniformAMD 28 InclusiveScan 935 + 937: 11(float) CompositeExtract 930 3 + 938: 11(float) GroupFMinNonUniformAMD 28 InclusiveScan 937 + 939: 12(fvec4) CompositeConstruct 932 934 936 938 + 940: 54(ptr) AccessChain 23 53 + Store 940 939 + 941: 68(ptr) AccessChain 23 67 + 942: 13(int) Load 941 + 943: 13(int) GroupSMinNonUniformAMD 28 InclusiveScan 942 + 944: 68(ptr) AccessChain 23 67 + Store 944 943 + 945: 74(ptr) AccessChain 23 73 + 946: 15(ivec2) Load 945 + 947: 14(int) CompositeExtract 946 0 + 948: 14(int) GroupUMinNonUniformAMD 28 InclusiveScan 947 + 949: 14(int) CompositeExtract 946 1 + 950: 14(int) GroupUMinNonUniformAMD 28 InclusiveScan 949 + 951: 15(ivec2) CompositeConstruct 948 950 + 952: 74(ptr) AccessChain 23 73 + Store 952 951 + 953: 84(ptr) AccessChain 23 83 + 954: 17(fvec3) Load 953 + 955: 16(float) CompositeExtract 954 0 + 956: 16(float) GroupFMinNonUniformAMD 28 InclusiveScan 955 + 957: 16(float) CompositeExtract 954 1 + 958: 16(float) GroupFMinNonUniformAMD 28 InclusiveScan 957 + 959: 16(float) CompositeExtract 954 2 + 960: 16(float) GroupFMinNonUniformAMD 28 InclusiveScan 959 + 961: 17(fvec3) CompositeConstruct 956 958 960 + 962: 84(ptr) AccessChain 23 83 + Store 962 961 + 963: 96(ptr) AccessChain 23 95 + 964: 19(ivec4) Load 963 + 965: 18(int) CompositeExtract 964 0 + 966: 18(int) GroupSMinNonUniformAMD 28 InclusiveScan 965 + 967: 18(int) CompositeExtract 964 1 + 968: 18(int) GroupSMinNonUniformAMD 28 InclusiveScan 967 + 969: 18(int) CompositeExtract 964 2 + 970: 18(int) GroupSMinNonUniformAMD 28 InclusiveScan 969 + 971: 18(int) CompositeExtract 964 3 + 972: 18(int) GroupSMinNonUniformAMD 28 InclusiveScan 971 + 973: 19(ivec4) CompositeConstruct 966 968 970 972 + 974: 96(ptr) AccessChain 23 95 + Store 974 973 + 975: 110(ptr) AccessChain 23 109 + 976: 20(int) Load 975 + 977: 20(int) GroupUMinNonUniformAMD 28 InclusiveScan 976 + 978: 110(ptr) AccessChain 23 109 + Store 978 977 + 979: 25(ptr) AccessChain 23 24 + 980: 6(int) Load 979 + 981: 6(int) GroupSMaxNonUniformAMD 28 InclusiveScan 980 + 982: 25(ptr) AccessChain 23 24 + Store 982 981 + 983: 32(ptr) AccessChain 23 31 + 984: 8(ivec2) Load 983 + 985: 7(int) CompositeExtract 984 0 + 986: 7(int) GroupUMaxNonUniformAMD 28 InclusiveScan 985 + 987: 7(int) CompositeExtract 984 1 + 988: 7(int) GroupUMaxNonUniformAMD 28 InclusiveScan 987 + 989: 8(ivec2) CompositeConstruct 986 988 + 990: 32(ptr) AccessChain 23 31 + Store 990 989 + 991: 42(ptr) AccessChain 23 41 + 992: 10(fvec3) Load 991 + 993: 9(float) CompositeExtract 992 0 + 994: 9(float) GroupFMaxNonUniformAMD 28 InclusiveScan 993 + 995: 9(float) CompositeExtract 992 1 + 996: 9(float) GroupFMaxNonUniformAMD 28 InclusiveScan 995 + 997: 9(float) CompositeExtract 992 2 + 998: 9(float) GroupFMaxNonUniformAMD 28 InclusiveScan 997 + 999: 10(fvec3) CompositeConstruct 994 996 998 + 1000: 42(ptr) AccessChain 23 41 + Store 1000 999 + 1001: 54(ptr) AccessChain 23 53 + 1002: 12(fvec4) Load 1001 + 1003: 11(float) CompositeExtract 1002 0 + 1004: 11(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1003 + 1005: 11(float) CompositeExtract 1002 1 + 1006: 11(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1005 + 1007: 11(float) CompositeExtract 1002 2 + 1008: 11(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1007 + 1009: 11(float) CompositeExtract 1002 3 + 1010: 11(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1009 + 1011: 12(fvec4) CompositeConstruct 1004 1006 1008 1010 + 1012: 54(ptr) AccessChain 23 53 + Store 1012 1011 + 1013: 68(ptr) AccessChain 23 67 + 1014: 13(int) Load 1013 + 1015: 13(int) GroupSMaxNonUniformAMD 28 InclusiveScan 1014 + 1016: 68(ptr) AccessChain 23 67 + Store 1016 1015 + 1017: 74(ptr) AccessChain 23 73 + 1018: 15(ivec2) Load 1017 + 1019: 14(int) CompositeExtract 1018 0 + 1020: 14(int) GroupUMaxNonUniformAMD 28 InclusiveScan 1019 + 1021: 14(int) CompositeExtract 1018 1 + 1022: 14(int) GroupUMaxNonUniformAMD 28 InclusiveScan 1021 + 1023: 15(ivec2) CompositeConstruct 1020 1022 + 1024: 74(ptr) AccessChain 23 73 + Store 1024 1023 + 1025: 84(ptr) AccessChain 23 83 + 1026: 17(fvec3) Load 1025 + 1027: 16(float) CompositeExtract 1026 0 + 1028: 16(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1027 + 1029: 16(float) CompositeExtract 1026 1 + 1030: 16(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1029 + 1031: 16(float) CompositeExtract 1026 2 + 1032: 16(float) GroupFMaxNonUniformAMD 28 InclusiveScan 1031 + 1033: 17(fvec3) CompositeConstruct 1028 1030 1032 + 1034: 84(ptr) AccessChain 23 83 + Store 1034 1033 + 1035: 96(ptr) AccessChain 23 95 + 1036: 19(ivec4) Load 1035 + 1037: 18(int) CompositeExtract 1036 0 + 1038: 18(int) GroupSMaxNonUniformAMD 28 InclusiveScan 1037 + 1039: 18(int) CompositeExtract 1036 1 + 1040: 18(int) GroupSMaxNonUniformAMD 28 InclusiveScan 1039 + 1041: 18(int) CompositeExtract 1036 2 + 1042: 18(int) GroupSMaxNonUniformAMD 28 InclusiveScan 1041 + 1043: 18(int) CompositeExtract 1036 3 + 1044: 18(int) GroupSMaxNonUniformAMD 28 InclusiveScan 1043 + 1045: 19(ivec4) CompositeConstruct 1038 1040 1042 1044 + 1046: 96(ptr) AccessChain 23 95 + Store 1046 1045 + 1047: 110(ptr) AccessChain 23 109 + 1048: 20(int) Load 1047 + 1049: 20(int) GroupUMaxNonUniformAMD 28 InclusiveScan 1048 + 1050: 110(ptr) AccessChain 23 109 + Store 1050 1049 + 1051: 25(ptr) AccessChain 23 24 + 1052: 6(int) Load 1051 + 1053: 6(int) GroupIAddNonUniformAMD 28 InclusiveScan 1052 + 1054: 25(ptr) AccessChain 23 24 + Store 1054 1053 + 1055: 32(ptr) AccessChain 23 31 + 1056: 8(ivec2) Load 1055 + 1057: 7(int) CompositeExtract 1056 0 + 1058: 7(int) GroupIAddNonUniformAMD 28 InclusiveScan 1057 + 1059: 7(int) CompositeExtract 1056 1 + 1060: 7(int) GroupIAddNonUniformAMD 28 InclusiveScan 1059 + 1061: 8(ivec2) CompositeConstruct 1058 1060 + 1062: 32(ptr) AccessChain 23 31 + Store 1062 1061 + 1063: 42(ptr) AccessChain 23 41 + 1064: 10(fvec3) Load 1063 + 1065: 9(float) CompositeExtract 1064 0 + 1066: 9(float) GroupFAddNonUniformAMD 28 InclusiveScan 1065 + 1067: 9(float) CompositeExtract 1064 1 + 1068: 9(float) GroupFAddNonUniformAMD 28 InclusiveScan 1067 + 1069: 9(float) CompositeExtract 1064 2 + 1070: 9(float) GroupFAddNonUniformAMD 28 InclusiveScan 1069 + 1071: 10(fvec3) CompositeConstruct 1066 1068 1070 + 1072: 42(ptr) AccessChain 23 41 + Store 1072 1071 + 1073: 54(ptr) AccessChain 23 53 + 1074: 12(fvec4) Load 1073 + 1075: 11(float) CompositeExtract 1074 0 + 1076: 11(float) GroupFAddNonUniformAMD 28 InclusiveScan 1075 + 1077: 11(float) CompositeExtract 1074 1 + 1078: 11(float) GroupFAddNonUniformAMD 28 InclusiveScan 1077 + 1079: 11(float) CompositeExtract 1074 2 + 1080: 11(float) GroupFAddNonUniformAMD 28 InclusiveScan 1079 + 1081: 11(float) CompositeExtract 1074 3 + 1082: 11(float) GroupFAddNonUniformAMD 28 InclusiveScan 1081 + 1083: 12(fvec4) CompositeConstruct 1076 1078 1080 1082 + 1084: 54(ptr) AccessChain 23 53 + Store 1084 1083 + 1085: 68(ptr) AccessChain 23 67 + 1086: 13(int) Load 1085 + 1087: 13(int) GroupIAddNonUniformAMD 28 InclusiveScan 1086 + 1088: 68(ptr) AccessChain 23 67 + Store 1088 1087 + 1089: 74(ptr) AccessChain 23 73 + 1090: 15(ivec2) Load 1089 + 1091: 14(int) CompositeExtract 1090 0 + 1092: 14(int) GroupIAddNonUniformAMD 28 InclusiveScan 1091 + 1093: 14(int) CompositeExtract 1090 1 + 1094: 14(int) GroupIAddNonUniformAMD 28 InclusiveScan 1093 + 1095: 15(ivec2) CompositeConstruct 1092 1094 + 1096: 74(ptr) AccessChain 23 73 + Store 1096 1095 + 1097: 84(ptr) AccessChain 23 83 + 1098: 17(fvec3) Load 1097 + 1099: 16(float) CompositeExtract 1098 0 + 1100: 16(float) GroupFAddNonUniformAMD 28 InclusiveScan 1099 + 1101: 16(float) CompositeExtract 1098 1 + 1102: 16(float) GroupFAddNonUniformAMD 28 InclusiveScan 1101 + 1103: 16(float) CompositeExtract 1098 2 + 1104: 16(float) GroupFAddNonUniformAMD 28 InclusiveScan 1103 + 1105: 17(fvec3) CompositeConstruct 1100 1102 1104 + 1106: 84(ptr) AccessChain 23 83 + Store 1106 1105 + 1107: 96(ptr) AccessChain 23 95 + 1108: 19(ivec4) Load 1107 + 1109: 18(int) CompositeExtract 1108 0 + 1110: 18(int) GroupIAddNonUniformAMD 28 InclusiveScan 1109 + 1111: 18(int) CompositeExtract 1108 1 + 1112: 18(int) GroupIAddNonUniformAMD 28 InclusiveScan 1111 + 1113: 18(int) CompositeExtract 1108 2 + 1114: 18(int) GroupIAddNonUniformAMD 28 InclusiveScan 1113 + 1115: 18(int) CompositeExtract 1108 3 + 1116: 18(int) GroupIAddNonUniformAMD 28 InclusiveScan 1115 + 1117: 19(ivec4) CompositeConstruct 1110 1112 1114 1116 + 1118: 96(ptr) AccessChain 23 95 + Store 1118 1117 + 1119: 110(ptr) AccessChain 23 109 + 1120: 20(int) Load 1119 + 1121: 20(int) GroupIAddNonUniformAMD 28 InclusiveScan 1120 + 1122: 110(ptr) AccessChain 23 109 + Store 1122 1121 + 1123: 25(ptr) AccessChain 23 24 + 1124: 6(int) Load 1123 + 1125: 6(int) GroupSMinNonUniformAMD 28 ExclusiveScan 1124 + 1126: 25(ptr) AccessChain 23 24 + Store 1126 1125 + 1127: 32(ptr) AccessChain 23 31 + 1128: 8(ivec2) Load 1127 + 1129: 7(int) CompositeExtract 1128 0 + 1130: 7(int) GroupUMinNonUniformAMD 28 ExclusiveScan 1129 + 1131: 7(int) CompositeExtract 1128 1 + 1132: 7(int) GroupUMinNonUniformAMD 28 ExclusiveScan 1131 + 1133: 8(ivec2) CompositeConstruct 1130 1132 + 1134: 32(ptr) AccessChain 23 31 + Store 1134 1133 + 1135: 42(ptr) AccessChain 23 41 + 1136: 10(fvec3) Load 1135 + 1137: 9(float) CompositeExtract 1136 0 + 1138: 9(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1137 + 1139: 9(float) CompositeExtract 1136 1 + 1140: 9(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1139 + 1141: 9(float) CompositeExtract 1136 2 + 1142: 9(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1141 + 1143: 10(fvec3) CompositeConstruct 1138 1140 1142 + 1144: 42(ptr) AccessChain 23 41 + Store 1144 1143 + 1145: 54(ptr) AccessChain 23 53 + 1146: 12(fvec4) Load 1145 + 1147: 11(float) CompositeExtract 1146 0 + 1148: 11(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1147 + 1149: 11(float) CompositeExtract 1146 1 + 1150: 11(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1149 + 1151: 11(float) CompositeExtract 1146 2 + 1152: 11(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1151 + 1153: 11(float) CompositeExtract 1146 3 + 1154: 11(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1153 + 1155: 12(fvec4) CompositeConstruct 1148 1150 1152 1154 + 1156: 54(ptr) AccessChain 23 53 + Store 1156 1155 + 1157: 68(ptr) AccessChain 23 67 + 1158: 13(int) Load 1157 + 1159: 13(int) GroupSMinNonUniformAMD 28 ExclusiveScan 1158 + 1160: 68(ptr) AccessChain 23 67 + Store 1160 1159 + 1161: 74(ptr) AccessChain 23 73 + 1162: 15(ivec2) Load 1161 + 1163: 14(int) CompositeExtract 1162 0 + 1164: 14(int) GroupUMinNonUniformAMD 28 ExclusiveScan 1163 + 1165: 14(int) CompositeExtract 1162 1 + 1166: 14(int) GroupUMinNonUniformAMD 28 ExclusiveScan 1165 + 1167: 15(ivec2) CompositeConstruct 1164 1166 + 1168: 74(ptr) AccessChain 23 73 + Store 1168 1167 + 1169: 84(ptr) AccessChain 23 83 + 1170: 17(fvec3) Load 1169 + 1171: 16(float) CompositeExtract 1170 0 + 1172: 16(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1171 + 1173: 16(float) CompositeExtract 1170 1 + 1174: 16(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1173 + 1175: 16(float) CompositeExtract 1170 2 + 1176: 16(float) GroupFMinNonUniformAMD 28 ExclusiveScan 1175 + 1177: 17(fvec3) CompositeConstruct 1172 1174 1176 + 1178: 84(ptr) AccessChain 23 83 + Store 1178 1177 + 1179: 96(ptr) AccessChain 23 95 + 1180: 19(ivec4) Load 1179 + 1181: 18(int) CompositeExtract 1180 0 + 1182: 18(int) GroupSMinNonUniformAMD 28 ExclusiveScan 1181 + 1183: 18(int) CompositeExtract 1180 1 + 1184: 18(int) GroupSMinNonUniformAMD 28 ExclusiveScan 1183 + 1185: 18(int) CompositeExtract 1180 2 + 1186: 18(int) GroupSMinNonUniformAMD 28 ExclusiveScan 1185 + 1187: 18(int) CompositeExtract 1180 3 + 1188: 18(int) GroupSMinNonUniformAMD 28 ExclusiveScan 1187 + 1189: 19(ivec4) CompositeConstruct 1182 1184 1186 1188 + 1190: 96(ptr) AccessChain 23 95 + Store 1190 1189 + 1191: 110(ptr) AccessChain 23 109 + 1192: 20(int) Load 1191 + 1193: 20(int) GroupUMinNonUniformAMD 28 ExclusiveScan 1192 + 1194: 110(ptr) AccessChain 23 109 + Store 1194 1193 + 1195: 25(ptr) AccessChain 23 24 + 1196: 6(int) Load 1195 + 1197: 6(int) GroupSMaxNonUniformAMD 28 ExclusiveScan 1196 + 1198: 25(ptr) AccessChain 23 24 + Store 1198 1197 + 1199: 32(ptr) AccessChain 23 31 + 1200: 8(ivec2) Load 1199 + 1201: 7(int) CompositeExtract 1200 0 + 1202: 7(int) GroupUMaxNonUniformAMD 28 ExclusiveScan 1201 + 1203: 7(int) CompositeExtract 1200 1 + 1204: 7(int) GroupUMaxNonUniformAMD 28 ExclusiveScan 1203 + 1205: 8(ivec2) CompositeConstruct 1202 1204 + 1206: 32(ptr) AccessChain 23 31 + Store 1206 1205 + 1207: 42(ptr) AccessChain 23 41 + 1208: 10(fvec3) Load 1207 + 1209: 9(float) CompositeExtract 1208 0 + 1210: 9(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1209 + 1211: 9(float) CompositeExtract 1208 1 + 1212: 9(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1211 + 1213: 9(float) CompositeExtract 1208 2 + 1214: 9(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1213 + 1215: 10(fvec3) CompositeConstruct 1210 1212 1214 + 1216: 42(ptr) AccessChain 23 41 + Store 1216 1215 + 1217: 54(ptr) AccessChain 23 53 + 1218: 12(fvec4) Load 1217 + 1219: 11(float) CompositeExtract 1218 0 + 1220: 11(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1219 + 1221: 11(float) CompositeExtract 1218 1 + 1222: 11(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1221 + 1223: 11(float) CompositeExtract 1218 2 + 1224: 11(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1223 + 1225: 11(float) CompositeExtract 1218 3 + 1226: 11(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1225 + 1227: 12(fvec4) CompositeConstruct 1220 1222 1224 1226 + 1228: 54(ptr) AccessChain 23 53 + Store 1228 1227 + 1229: 68(ptr) AccessChain 23 67 + 1230: 13(int) Load 1229 + 1231: 13(int) GroupSMaxNonUniformAMD 28 ExclusiveScan 1230 + 1232: 68(ptr) AccessChain 23 67 + Store 1232 1231 + 1233: 74(ptr) AccessChain 23 73 + 1234: 15(ivec2) Load 1233 + 1235: 14(int) CompositeExtract 1234 0 + 1236: 14(int) GroupUMaxNonUniformAMD 28 ExclusiveScan 1235 + 1237: 14(int) CompositeExtract 1234 1 + 1238: 14(int) GroupUMaxNonUniformAMD 28 ExclusiveScan 1237 + 1239: 15(ivec2) CompositeConstruct 1236 1238 + 1240: 74(ptr) AccessChain 23 73 + Store 1240 1239 + 1241: 84(ptr) AccessChain 23 83 + 1242: 17(fvec3) Load 1241 + 1243: 16(float) CompositeExtract 1242 0 + 1244: 16(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1243 + 1245: 16(float) CompositeExtract 1242 1 + 1246: 16(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1245 + 1247: 16(float) CompositeExtract 1242 2 + 1248: 16(float) GroupFMaxNonUniformAMD 28 ExclusiveScan 1247 + 1249: 17(fvec3) CompositeConstruct 1244 1246 1248 + 1250: 84(ptr) AccessChain 23 83 + Store 1250 1249 + 1251: 96(ptr) AccessChain 23 95 + 1252: 19(ivec4) Load 1251 + 1253: 18(int) CompositeExtract 1252 0 + 1254: 18(int) GroupSMaxNonUniformAMD 28 ExclusiveScan 1253 + 1255: 18(int) CompositeExtract 1252 1 + 1256: 18(int) GroupSMaxNonUniformAMD 28 ExclusiveScan 1255 + 1257: 18(int) CompositeExtract 1252 2 + 1258: 18(int) GroupSMaxNonUniformAMD 28 ExclusiveScan 1257 + 1259: 18(int) CompositeExtract 1252 3 + 1260: 18(int) GroupSMaxNonUniformAMD 28 ExclusiveScan 1259 + 1261: 19(ivec4) CompositeConstruct 1254 1256 1258 1260 + 1262: 96(ptr) AccessChain 23 95 + Store 1262 1261 + 1263: 110(ptr) AccessChain 23 109 + 1264: 20(int) Load 1263 + 1265: 20(int) GroupUMaxNonUniformAMD 28 ExclusiveScan 1264 + 1266: 110(ptr) AccessChain 23 109 + Store 1266 1265 + 1267: 25(ptr) AccessChain 23 24 + 1268: 6(int) Load 1267 + 1269: 6(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1268 + 1270: 25(ptr) AccessChain 23 24 + Store 1270 1269 + 1271: 32(ptr) AccessChain 23 31 + 1272: 8(ivec2) Load 1271 + 1273: 7(int) CompositeExtract 1272 0 + 1274: 7(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1273 + 1275: 7(int) CompositeExtract 1272 1 + 1276: 7(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1275 + 1277: 8(ivec2) CompositeConstruct 1274 1276 + 1278: 32(ptr) AccessChain 23 31 + Store 1278 1277 + 1279: 42(ptr) AccessChain 23 41 + 1280: 10(fvec3) Load 1279 + 1281: 9(float) CompositeExtract 1280 0 + 1282: 9(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1281 + 1283: 9(float) CompositeExtract 1280 1 + 1284: 9(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1283 + 1285: 9(float) CompositeExtract 1280 2 + 1286: 9(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1285 + 1287: 10(fvec3) CompositeConstruct 1282 1284 1286 + 1288: 42(ptr) AccessChain 23 41 + Store 1288 1287 + 1289: 54(ptr) AccessChain 23 53 + 1290: 12(fvec4) Load 1289 + 1291: 11(float) CompositeExtract 1290 0 + 1292: 11(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1291 + 1293: 11(float) CompositeExtract 1290 1 + 1294: 11(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1293 + 1295: 11(float) CompositeExtract 1290 2 + 1296: 11(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1295 + 1297: 11(float) CompositeExtract 1290 3 + 1298: 11(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1297 + 1299: 12(fvec4) CompositeConstruct 1292 1294 1296 1298 + 1300: 54(ptr) AccessChain 23 53 + Store 1300 1299 + 1301: 68(ptr) AccessChain 23 67 + 1302: 13(int) Load 1301 + 1303: 13(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1302 + 1304: 68(ptr) AccessChain 23 67 + Store 1304 1303 + 1305: 74(ptr) AccessChain 23 73 + 1306: 15(ivec2) Load 1305 + 1307: 14(int) CompositeExtract 1306 0 + 1308: 14(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1307 + 1309: 14(int) CompositeExtract 1306 1 + 1310: 14(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1309 + 1311: 15(ivec2) CompositeConstruct 1308 1310 + 1312: 74(ptr) AccessChain 23 73 + Store 1312 1311 + 1313: 84(ptr) AccessChain 23 83 + 1314: 17(fvec3) Load 1313 + 1315: 16(float) CompositeExtract 1314 0 + 1316: 16(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1315 + 1317: 16(float) CompositeExtract 1314 1 + 1318: 16(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1317 + 1319: 16(float) CompositeExtract 1314 2 + 1320: 16(float) GroupFAddNonUniformAMD 28 ExclusiveScan 1319 + 1321: 17(fvec3) CompositeConstruct 1316 1318 1320 + 1322: 84(ptr) AccessChain 23 83 + Store 1322 1321 + 1323: 96(ptr) AccessChain 23 95 + 1324: 19(ivec4) Load 1323 + 1325: 18(int) CompositeExtract 1324 0 + 1326: 18(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1325 + 1327: 18(int) CompositeExtract 1324 1 + 1328: 18(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1327 + 1329: 18(int) CompositeExtract 1324 2 + 1330: 18(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1329 + 1331: 18(int) CompositeExtract 1324 3 + 1332: 18(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1331 + 1333: 19(ivec4) CompositeConstruct 1326 1328 1330 1332 + 1334: 96(ptr) AccessChain 23 95 + Store 1334 1333 + 1335: 110(ptr) AccessChain 23 109 + 1336: 20(int) Load 1335 + 1337: 20(int) GroupIAddNonUniformAMD 28 ExclusiveScan 1336 + 1338: 110(ptr) AccessChain 23 109 + Store 1338 1337 Return FunctionEnd diff --git a/Test/spv.shaderBallotAMD.comp b/Test/spv.shaderBallotAMD.comp index d6d370ae..9cf9546e 100644 --- a/Test/spv.shaderBallotAMD.comp +++ b/Test/spv.shaderBallotAMD.comp @@ -2,6 +2,7 @@ #extension GL_ARB_gpu_shader_int64: enable #extension GL_AMD_gpu_shader_half_float: enable +#extension GL_AMD_gpu_shader_int16: enable #extension GL_AMD_shader_ballot: enable layout (local_size_x = 8, local_size_y = 8, local_size_z = 1) in; @@ -15,17 +16,21 @@ layout(binding = 0) buffer Buffers int64_t i64; u64vec2 u64v; f16vec3 f16v; + i16vec4 i16v; + uint16_t u16; }; void main() { - i = minInvocationsAMD(i); + i = minInvocationsAMD(i); uv = minInvocationsAMD(uv); fv = minInvocationsAMD(fv); dv = minInvocationsAMD(dv); i64 = minInvocationsAMD(i64); u64v = minInvocationsAMD(u64v); f16v = minInvocationsAMD(f16v); + i16v = minInvocationsAMD(i16v); + u16 = minInvocationsAMD(u16); i = maxInvocationsAMD(i); uv = maxInvocationsAMD(uv); @@ -34,6 +39,8 @@ void main() i64 = maxInvocationsAMD(i64); u64v = maxInvocationsAMD(u64v); f16v = maxInvocationsAMD(f16v); + i16v = maxInvocationsAMD(i16v); + u16 = maxInvocationsAMD(u16); i = addInvocationsAMD(i); uv = addInvocationsAMD(uv); @@ -42,6 +49,8 @@ void main() i64 = addInvocationsAMD(i64); u64v = addInvocationsAMD(u64v); f16v = addInvocationsAMD(f16v); + i16v = addInvocationsAMD(i16v); + u16 = addInvocationsAMD(u16); i = minInvocationsNonUniformAMD(i); uv = minInvocationsNonUniformAMD(uv); @@ -50,6 +59,8 @@ void main() i64 = minInvocationsNonUniformAMD(i64); u64v = minInvocationsNonUniformAMD(u64v); f16v = minInvocationsNonUniformAMD(f16v); + i16v = minInvocationsNonUniformAMD(i16v); + u16 = minInvocationsNonUniformAMD(u16); i = maxInvocationsNonUniformAMD(i); uv = maxInvocationsNonUniformAMD(uv); @@ -58,6 +69,8 @@ void main() i64 = maxInvocationsNonUniformAMD(i64); u64v = maxInvocationsNonUniformAMD(u64v); f16v = maxInvocationsNonUniformAMD(f16v); + i16v = maxInvocationsNonUniformAMD(i16v); + u16 = maxInvocationsNonUniformAMD(u16); i = addInvocationsNonUniformAMD(i); uv = addInvocationsNonUniformAMD(uv); @@ -66,6 +79,8 @@ void main() i64 = addInvocationsNonUniformAMD(i64); u64v = addInvocationsNonUniformAMD(u64v); f16v = addInvocationsNonUniformAMD(f16v); + i16v = addInvocationsNonUniformAMD(i16v); + u16 = addInvocationsNonUniformAMD(u16); i = minInvocationsInclusiveScanAMD(i); uv = minInvocationsInclusiveScanAMD(uv); @@ -74,6 +89,8 @@ void main() i64 = minInvocationsInclusiveScanAMD(i64); u64v = minInvocationsInclusiveScanAMD(u64v); f16v = minInvocationsInclusiveScanAMD(f16v); + i16v = minInvocationsInclusiveScanAMD(i16v); + u16 = minInvocationsInclusiveScanAMD(u16); i = maxInvocationsInclusiveScanAMD(i); uv = maxInvocationsInclusiveScanAMD(uv); @@ -82,6 +99,8 @@ void main() i64 = maxInvocationsInclusiveScanAMD(i64); u64v = maxInvocationsInclusiveScanAMD(u64v); f16v = maxInvocationsInclusiveScanAMD(f16v); + i16v = maxInvocationsInclusiveScanAMD(i16v); + u16 = maxInvocationsInclusiveScanAMD(u16); i = addInvocationsInclusiveScanAMD(i); uv = addInvocationsInclusiveScanAMD(uv); @@ -90,6 +109,8 @@ void main() i64 = addInvocationsInclusiveScanAMD(i64); u64v = addInvocationsInclusiveScanAMD(u64v); f16v = addInvocationsInclusiveScanAMD(f16v); + i16v = addInvocationsInclusiveScanAMD(i16v); + u16 = addInvocationsInclusiveScanAMD(u16); i = minInvocationsExclusiveScanAMD(i); uv = minInvocationsExclusiveScanAMD(uv); @@ -98,6 +119,8 @@ void main() i64 = minInvocationsExclusiveScanAMD(i64); u64v = minInvocationsExclusiveScanAMD(u64v); f16v = minInvocationsExclusiveScanAMD(f16v); + i16v = minInvocationsExclusiveScanAMD(i16v); + u16 = minInvocationsExclusiveScanAMD(u16); i = maxInvocationsExclusiveScanAMD(i); uv = maxInvocationsExclusiveScanAMD(uv); @@ -106,6 +129,8 @@ void main() i64 = maxInvocationsExclusiveScanAMD(i64); u64v = maxInvocationsExclusiveScanAMD(u64v); f16v = maxInvocationsExclusiveScanAMD(f16v); + i16v = maxInvocationsExclusiveScanAMD(i16v); + u16 = maxInvocationsExclusiveScanAMD(u16); i = addInvocationsExclusiveScanAMD(i); uv = addInvocationsExclusiveScanAMD(uv); @@ -114,6 +139,8 @@ void main() i64 = addInvocationsExclusiveScanAMD(i64); u64v = addInvocationsExclusiveScanAMD(u64v); f16v = addInvocationsExclusiveScanAMD(f16v); + i16v = addInvocationsExclusiveScanAMD(i16v); + u16 = addInvocationsExclusiveScanAMD(u16); i = minInvocationsInclusiveScanNonUniformAMD(i); uv = minInvocationsInclusiveScanNonUniformAMD(uv); @@ -122,6 +149,8 @@ void main() i64 = minInvocationsInclusiveScanNonUniformAMD(i64); u64v = minInvocationsInclusiveScanNonUniformAMD(u64v); f16v = minInvocationsInclusiveScanNonUniformAMD(f16v); + i16v = minInvocationsInclusiveScanNonUniformAMD(i16v); + u16 = minInvocationsInclusiveScanNonUniformAMD(u16); i = maxInvocationsInclusiveScanNonUniformAMD(i); uv = maxInvocationsInclusiveScanNonUniformAMD(uv); @@ -130,6 +159,8 @@ void main() i64 = maxInvocationsInclusiveScanNonUniformAMD(i64); u64v = maxInvocationsInclusiveScanNonUniformAMD(u64v); f16v = maxInvocationsInclusiveScanNonUniformAMD(f16v); + i16v = maxInvocationsInclusiveScanNonUniformAMD(i16v); + u16 = maxInvocationsInclusiveScanNonUniformAMD(u16); i = addInvocationsInclusiveScanNonUniformAMD(i); uv = addInvocationsInclusiveScanNonUniformAMD(uv); @@ -138,6 +169,8 @@ void main() i64 = addInvocationsInclusiveScanNonUniformAMD(i64); u64v = addInvocationsInclusiveScanNonUniformAMD(u64v); f16v = addInvocationsInclusiveScanNonUniformAMD(f16v); + i16v = addInvocationsInclusiveScanNonUniformAMD(i16v); + u16 = addInvocationsInclusiveScanNonUniformAMD(u16); i = minInvocationsExclusiveScanNonUniformAMD(i); uv = minInvocationsExclusiveScanNonUniformAMD(uv); @@ -146,6 +179,8 @@ void main() i64 = minInvocationsExclusiveScanNonUniformAMD(i64); u64v = minInvocationsExclusiveScanNonUniformAMD(u64v); f16v = minInvocationsExclusiveScanNonUniformAMD(f16v); + i16v = minInvocationsExclusiveScanNonUniformAMD(i16v); + u16 = minInvocationsExclusiveScanNonUniformAMD(u16); i = maxInvocationsExclusiveScanNonUniformAMD(i); uv = maxInvocationsExclusiveScanNonUniformAMD(uv); @@ -154,6 +189,8 @@ void main() i64 = maxInvocationsExclusiveScanNonUniformAMD(i64); u64v = maxInvocationsExclusiveScanNonUniformAMD(u64v); f16v = maxInvocationsExclusiveScanNonUniformAMD(f16v); + i16v = maxInvocationsExclusiveScanNonUniformAMD(i16v); + u16 = maxInvocationsExclusiveScanNonUniformAMD(u16); i = addInvocationsExclusiveScanNonUniformAMD(i); uv = addInvocationsExclusiveScanNonUniformAMD(uv); @@ -162,4 +199,6 @@ void main() i64 = addInvocationsExclusiveScanNonUniformAMD(i64); u64v = addInvocationsExclusiveScanNonUniformAMD(u64v); f16v = addInvocationsExclusiveScanNonUniformAMD(f16v); + i16v = addInvocationsExclusiveScanNonUniformAMD(i16v); + u16 = addInvocationsExclusiveScanNonUniformAMD(u16); } diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp index 348a16a8..c1b8b6bc 100644 --- a/glslang/MachineIndependent/Initialize.cpp +++ b/glslang/MachineIndependent/Initialize.cpp @@ -895,6 +895,36 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 mid3(f16vec3, f16vec3, f16vec3);" "f16vec4 mid3(f16vec4, f16vec4, f16vec4);" + "int16_t min3(int16_t, int16_t, int16_t);" + "i16vec2 min3(i16vec2, i16vec2, i16vec2);" + "i16vec3 min3(i16vec3, i16vec3, i16vec3);" + "i16vec4 min3(i16vec4, i16vec4, i16vec4);" + + "int16_t max3(int16_t, int16_t, int16_t);" + "i16vec2 max3(i16vec2, i16vec2, i16vec2);" + "i16vec3 max3(i16vec3, i16vec3, i16vec3);" + "i16vec4 max3(i16vec4, i16vec4, i16vec4);" + + "int16_t mid3(int16_t, int16_t, int16_t);" + "i16vec2 mid3(i16vec2, i16vec2, i16vec2);" + "i16vec3 mid3(i16vec3, i16vec3, i16vec3);" + "i16vec4 mid3(i16vec4, i16vec4, i16vec4);" + + "uint16_t min3(uint16_t, uint16_t, uint16_t);" + "u16vec2 min3(u16vec2, u16vec2, u16vec2);" + "u16vec3 min3(u16vec3, u16vec3, u16vec3);" + "u16vec4 min3(u16vec4, u16vec4, u16vec4);" + + "uint16_t max3(uint16_t, uint16_t, uint16_t);" + "u16vec2 max3(u16vec2, u16vec2, u16vec2);" + "u16vec3 max3(u16vec3, u16vec3, u16vec3);" + "u16vec4 max3(u16vec4, u16vec4, u16vec4);" + + "uint16_t mid3(uint16_t, uint16_t, uint16_t);" + "u16vec2 mid3(u16vec2, u16vec2, u16vec2);" + "u16vec3 mid3(u16vec3, u16vec3, u16vec3);" + "u16vec4 mid3(u16vec4, u16vec4, u16vec4);" + "\n" ); } @@ -2403,6 +2433,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 minInvocationsAMD(f16vec3);" "f16vec4 minInvocationsAMD(f16vec4);" + "int16_t minInvocationsAMD(int16_t);" + "i16vec2 minInvocationsAMD(i16vec2);" + "i16vec3 minInvocationsAMD(i16vec3);" + "i16vec4 minInvocationsAMD(i16vec4);" + + "uint16_t minInvocationsAMD(uint16_t);" + "u16vec2 minInvocationsAMD(u16vec2);" + "u16vec3 minInvocationsAMD(u16vec3);" + "u16vec4 minInvocationsAMD(u16vec4);" + "float minInvocationsInclusiveScanAMD(float);" "vec2 minInvocationsInclusiveScanAMD(vec2);" "vec3 minInvocationsInclusiveScanAMD(vec3);" @@ -2438,6 +2478,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 minInvocationsInclusiveScanAMD(f16vec3);" "f16vec4 minInvocationsInclusiveScanAMD(f16vec4);" + "int16_t minInvocationsInclusiveScanAMD(int16_t);" + "i16vec2 minInvocationsInclusiveScanAMD(i16vec2);" + "i16vec3 minInvocationsInclusiveScanAMD(i16vec3);" + "i16vec4 minInvocationsInclusiveScanAMD(i16vec4);" + + "uint16_t minInvocationsInclusiveScanAMD(uint16_t);" + "u16vec2 minInvocationsInclusiveScanAMD(u16vec2);" + "u16vec3 minInvocationsInclusiveScanAMD(u16vec3);" + "u16vec4 minInvocationsInclusiveScanAMD(u16vec4);" + "float minInvocationsExclusiveScanAMD(float);" "vec2 minInvocationsExclusiveScanAMD(vec2);" "vec3 minInvocationsExclusiveScanAMD(vec3);" @@ -2473,6 +2523,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 minInvocationsExclusiveScanAMD(f16vec3);" "f16vec4 minInvocationsExclusiveScanAMD(f16vec4);" + "int16_t minInvocationsExclusiveScanAMD(int16_t);" + "i16vec2 minInvocationsExclusiveScanAMD(i16vec2);" + "i16vec3 minInvocationsExclusiveScanAMD(i16vec3);" + "i16vec4 minInvocationsExclusiveScanAMD(i16vec4);" + + "uint16_t minInvocationsExclusiveScanAMD(uint16_t);" + "u16vec2 minInvocationsExclusiveScanAMD(u16vec2);" + "u16vec3 minInvocationsExclusiveScanAMD(u16vec3);" + "u16vec4 minInvocationsExclusiveScanAMD(u16vec4);" + "float maxInvocationsAMD(float);" "vec2 maxInvocationsAMD(vec2);" "vec3 maxInvocationsAMD(vec3);" @@ -2508,6 +2568,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 maxInvocationsAMD(f16vec3);" "f16vec4 maxInvocationsAMD(f16vec4);" + "int16_t maxInvocationsAMD(int16_t);" + "i16vec2 maxInvocationsAMD(i16vec2);" + "i16vec3 maxInvocationsAMD(i16vec3);" + "i16vec4 maxInvocationsAMD(i16vec4);" + + "uint16_t maxInvocationsAMD(uint16_t);" + "u16vec2 maxInvocationsAMD(u16vec2);" + "u16vec3 maxInvocationsAMD(u16vec3);" + "u16vec4 maxInvocationsAMD(u16vec4);" + "float maxInvocationsInclusiveScanAMD(float);" "vec2 maxInvocationsInclusiveScanAMD(vec2);" "vec3 maxInvocationsInclusiveScanAMD(vec3);" @@ -2543,6 +2613,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 maxInvocationsInclusiveScanAMD(f16vec3);" "f16vec4 maxInvocationsInclusiveScanAMD(f16vec4);" + "int16_t maxInvocationsInclusiveScanAMD(int16_t);" + "i16vec2 maxInvocationsInclusiveScanAMD(i16vec2);" + "i16vec3 maxInvocationsInclusiveScanAMD(i16vec3);" + "i16vec4 maxInvocationsInclusiveScanAMD(i16vec4);" + + "uint16_t maxInvocationsInclusiveScanAMD(uint16_t);" + "u16vec2 maxInvocationsInclusiveScanAMD(u16vec2);" + "u16vec3 maxInvocationsInclusiveScanAMD(u16vec3);" + "u16vec4 maxInvocationsInclusiveScanAMD(u16vec4);" + "float maxInvocationsExclusiveScanAMD(float);" "vec2 maxInvocationsExclusiveScanAMD(vec2);" "vec3 maxInvocationsExclusiveScanAMD(vec3);" @@ -2578,6 +2658,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 maxInvocationsExclusiveScanAMD(f16vec3);" "f16vec4 maxInvocationsExclusiveScanAMD(f16vec4);" + "int16_t maxInvocationsExclusiveScanAMD(int16_t);" + "i16vec2 maxInvocationsExclusiveScanAMD(i16vec2);" + "i16vec3 maxInvocationsExclusiveScanAMD(i16vec3);" + "i16vec4 maxInvocationsExclusiveScanAMD(i16vec4);" + + "uint16_t maxInvocationsExclusiveScanAMD(uint16_t);" + "u16vec2 maxInvocationsExclusiveScanAMD(u16vec2);" + "u16vec3 maxInvocationsExclusiveScanAMD(u16vec3);" + "u16vec4 maxInvocationsExclusiveScanAMD(u16vec4);" + "float addInvocationsAMD(float);" "vec2 addInvocationsAMD(vec2);" "vec3 addInvocationsAMD(vec3);" @@ -2613,6 +2703,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 addInvocationsAMD(f16vec3);" "f16vec4 addInvocationsAMD(f16vec4);" + "int16_t addInvocationsAMD(int16_t);" + "i16vec2 addInvocationsAMD(i16vec2);" + "i16vec3 addInvocationsAMD(i16vec3);" + "i16vec4 addInvocationsAMD(i16vec4);" + + "uint16_t addInvocationsAMD(uint16_t);" + "u16vec2 addInvocationsAMD(u16vec2);" + "u16vec3 addInvocationsAMD(u16vec3);" + "u16vec4 addInvocationsAMD(u16vec4);" + "float addInvocationsInclusiveScanAMD(float);" "vec2 addInvocationsInclusiveScanAMD(vec2);" "vec3 addInvocationsInclusiveScanAMD(vec3);" @@ -2648,6 +2748,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 addInvocationsInclusiveScanAMD(f16vec3);" "f16vec4 addInvocationsInclusiveScanAMD(f16vec4);" + "int16_t addInvocationsInclusiveScanAMD(int16_t);" + "i16vec2 addInvocationsInclusiveScanAMD(i16vec2);" + "i16vec3 addInvocationsInclusiveScanAMD(i16vec3);" + "i16vec4 addInvocationsInclusiveScanAMD(i16vec4);" + + "uint16_t addInvocationsInclusiveScanAMD(uint16_t);" + "u16vec2 addInvocationsInclusiveScanAMD(u16vec2);" + "u16vec3 addInvocationsInclusiveScanAMD(u16vec3);" + "u16vec4 addInvocationsInclusiveScanAMD(u16vec4);" + "float addInvocationsExclusiveScanAMD(float);" "vec2 addInvocationsExclusiveScanAMD(vec2);" "vec3 addInvocationsExclusiveScanAMD(vec3);" @@ -2683,6 +2793,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 addInvocationsExclusiveScanAMD(f16vec3);" "f16vec4 addInvocationsExclusiveScanAMD(f16vec4);" + "int16_t addInvocationsExclusiveScanAMD(int16_t);" + "i16vec2 addInvocationsExclusiveScanAMD(i16vec2);" + "i16vec3 addInvocationsExclusiveScanAMD(i16vec3);" + "i16vec4 addInvocationsExclusiveScanAMD(i16vec4);" + + "uint16_t addInvocationsExclusiveScanAMD(uint16_t);" + "u16vec2 addInvocationsExclusiveScanAMD(u16vec2);" + "u16vec3 addInvocationsExclusiveScanAMD(u16vec3);" + "u16vec4 addInvocationsExclusiveScanAMD(u16vec4);" + "float minInvocationsNonUniformAMD(float);" "vec2 minInvocationsNonUniformAMD(vec2);" "vec3 minInvocationsNonUniformAMD(vec3);" @@ -2718,6 +2838,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 minInvocationsNonUniformAMD(f16vec3);" "f16vec4 minInvocationsNonUniformAMD(f16vec4);" + "int16_t minInvocationsNonUniformAMD(int16_t);" + "i16vec2 minInvocationsNonUniformAMD(i16vec2);" + "i16vec3 minInvocationsNonUniformAMD(i16vec3);" + "i16vec4 minInvocationsNonUniformAMD(i16vec4);" + + "uint16_t minInvocationsNonUniformAMD(uint16_t);" + "u16vec2 minInvocationsNonUniformAMD(u16vec2);" + "u16vec3 minInvocationsNonUniformAMD(u16vec3);" + "u16vec4 minInvocationsNonUniformAMD(u16vec4);" + "float minInvocationsInclusiveScanNonUniformAMD(float);" "vec2 minInvocationsInclusiveScanNonUniformAMD(vec2);" "vec3 minInvocationsInclusiveScanNonUniformAMD(vec3);" @@ -2753,6 +2883,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 minInvocationsInclusiveScanNonUniformAMD(f16vec3);" "f16vec4 minInvocationsInclusiveScanNonUniformAMD(f16vec4);" + "int16_t minInvocationsInclusiveScanNonUniformAMD(int16_t);" + "i16vec2 minInvocationsInclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 minInvocationsInclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 minInvocationsInclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t minInvocationsInclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 minInvocationsInclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 minInvocationsInclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 minInvocationsInclusiveScanNonUniformAMD(u16vec4);" + "float minInvocationsExclusiveScanNonUniformAMD(float);" "vec2 minInvocationsExclusiveScanNonUniformAMD(vec2);" "vec3 minInvocationsExclusiveScanNonUniformAMD(vec3);" @@ -2788,6 +2928,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 minInvocationsExclusiveScanNonUniformAMD(f16vec3);" "f16vec4 minInvocationsExclusiveScanNonUniformAMD(f16vec4);" + "int16_t minInvocationsExclusiveScanNonUniformAMD(int16_t);" + "i16vec2 minInvocationsExclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 minInvocationsExclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 minInvocationsExclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t minInvocationsExclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 minInvocationsExclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 minInvocationsExclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 minInvocationsExclusiveScanNonUniformAMD(u16vec4);" + "float maxInvocationsNonUniformAMD(float);" "vec2 maxInvocationsNonUniformAMD(vec2);" "vec3 maxInvocationsNonUniformAMD(vec3);" @@ -2823,6 +2973,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 maxInvocationsNonUniformAMD(f16vec3);" "f16vec4 maxInvocationsNonUniformAMD(f16vec4);" + "int16_t maxInvocationsNonUniformAMD(int16_t);" + "i16vec2 maxInvocationsNonUniformAMD(i16vec2);" + "i16vec3 maxInvocationsNonUniformAMD(i16vec3);" + "i16vec4 maxInvocationsNonUniformAMD(i16vec4);" + + "uint16_t maxInvocationsNonUniformAMD(uint16_t);" + "u16vec2 maxInvocationsNonUniformAMD(u16vec2);" + "u16vec3 maxInvocationsNonUniformAMD(u16vec3);" + "u16vec4 maxInvocationsNonUniformAMD(u16vec4);" + "float maxInvocationsInclusiveScanNonUniformAMD(float);" "vec2 maxInvocationsInclusiveScanNonUniformAMD(vec2);" "vec3 maxInvocationsInclusiveScanNonUniformAMD(vec3);" @@ -2858,6 +3018,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 maxInvocationsInclusiveScanNonUniformAMD(f16vec3);" "f16vec4 maxInvocationsInclusiveScanNonUniformAMD(f16vec4);" + "int16_t maxInvocationsInclusiveScanNonUniformAMD(int16_t);" + "i16vec2 maxInvocationsInclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 maxInvocationsInclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 maxInvocationsInclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t maxInvocationsInclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 maxInvocationsInclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 maxInvocationsInclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 maxInvocationsInclusiveScanNonUniformAMD(u16vec4);" + "float maxInvocationsExclusiveScanNonUniformAMD(float);" "vec2 maxInvocationsExclusiveScanNonUniformAMD(vec2);" "vec3 maxInvocationsExclusiveScanNonUniformAMD(vec3);" @@ -2893,6 +3063,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 maxInvocationsExclusiveScanNonUniformAMD(f16vec3);" "f16vec4 maxInvocationsExclusiveScanNonUniformAMD(f16vec4);" + "int16_t maxInvocationsExclusiveScanNonUniformAMD(int16_t);" + "i16vec2 maxInvocationsExclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 maxInvocationsExclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 maxInvocationsExclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t maxInvocationsExclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 maxInvocationsExclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 maxInvocationsExclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 maxInvocationsExclusiveScanNonUniformAMD(u16vec4);" + "float addInvocationsNonUniformAMD(float);" "vec2 addInvocationsNonUniformAMD(vec2);" "vec3 addInvocationsNonUniformAMD(vec3);" @@ -2928,6 +3108,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 addInvocationsNonUniformAMD(f16vec3);" "f16vec4 addInvocationsNonUniformAMD(f16vec4);" + "int16_t addInvocationsNonUniformAMD(int16_t);" + "i16vec2 addInvocationsNonUniformAMD(i16vec2);" + "i16vec3 addInvocationsNonUniformAMD(i16vec3);" + "i16vec4 addInvocationsNonUniformAMD(i16vec4);" + + "uint16_t addInvocationsNonUniformAMD(uint16_t);" + "u16vec2 addInvocationsNonUniformAMD(u16vec2);" + "u16vec3 addInvocationsNonUniformAMD(u16vec3);" + "u16vec4 addInvocationsNonUniformAMD(u16vec4);" + "float addInvocationsInclusiveScanNonUniformAMD(float);" "vec2 addInvocationsInclusiveScanNonUniformAMD(vec2);" "vec3 addInvocationsInclusiveScanNonUniformAMD(vec3);" @@ -2963,6 +3153,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 addInvocationsInclusiveScanNonUniformAMD(f16vec3);" "f16vec4 addInvocationsInclusiveScanNonUniformAMD(f16vec4);" + "int16_t addInvocationsInclusiveScanNonUniformAMD(int16_t);" + "i16vec2 addInvocationsInclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 addInvocationsInclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 addInvocationsInclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t addInvocationsInclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 addInvocationsInclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 addInvocationsInclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 addInvocationsInclusiveScanNonUniformAMD(u16vec4);" + "float addInvocationsExclusiveScanNonUniformAMD(float);" "vec2 addInvocationsExclusiveScanNonUniformAMD(vec2);" "vec3 addInvocationsExclusiveScanNonUniformAMD(vec3);" @@ -2998,6 +3198,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV "f16vec3 addInvocationsExclusiveScanNonUniformAMD(f16vec3);" "f16vec4 addInvocationsExclusiveScanNonUniformAMD(f16vec4);" + "int16_t addInvocationsExclusiveScanNonUniformAMD(int16_t);" + "i16vec2 addInvocationsExclusiveScanNonUniformAMD(i16vec2);" + "i16vec3 addInvocationsExclusiveScanNonUniformAMD(i16vec3);" + "i16vec4 addInvocationsExclusiveScanNonUniformAMD(i16vec4);" + + "uint16_t addInvocationsExclusiveScanNonUniformAMD(uint16_t);" + "u16vec2 addInvocationsExclusiveScanNonUniformAMD(u16vec2);" + "u16vec3 addInvocationsExclusiveScanNonUniformAMD(u16vec3);" + "u16vec4 addInvocationsExclusiveScanNonUniformAMD(u16vec4);" + "float swizzleInvocationsAMD(float, uvec4);" "vec2 swizzleInvocationsAMD(vec2, uvec4);" "vec3 swizzleInvocationsAMD(vec3, uvec4);"