1hlsl.structbuffer.floatidx.comp 2Shader version: 500 3local_size = (1, 1, 1) 40:? Sequence 50:13 Function Definition: @main(vu3; ( temp void) 60:13 Function Parameters: 70:13 'nThreadId' ( in 3-component vector of uint) 80:? Sequence 90:14 Sequence 100:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 110:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 120:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 130:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 140:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) 150:14 Constant: 160:14 0 (const uint) 170:14 add ( temp uint) 180:14 AtomicAdd ( temp uint) 190:14 @count: direct index for structure ( temp uint) 200:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 210:14 Constant: 220:14 0 (const int) 230:14 Constant: 240:14 4294967295 (const uint) 250:14 Constant: 260:14 -1 (const int) 270:15 Sequence 280:15 move second child to first child ( temp 2-component vector of float) 290:15 'coord' ( temp 2-component vector of float) 300:15 Convert uint to float ( temp 2-component vector of float) 310:15 vector swizzle ( temp 2-component vector of uint) 320:15 threadId: direct index for structure ( temp 2-component vector of uint) 330:15 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 340:15 Constant: 350:15 1 (const int) 360:15 Sequence 370:15 Constant: 380:15 0 (const int) 390:15 Constant: 400:15 1 (const int) 410:16 Sequence 420:16 move second child to first child ( temp 4-component vector of float) 430:16 'storeTemp' ( temp 4-component vector of float) 440:16 color: direct index for structure ( temp 4-component vector of float) 450:16 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 460:16 Constant: 470:16 0 (const int) 480:16 imageStore ( temp void) 490:16 'outtx' (layout( rgba32f) uniform image2D) 500:16 Convert float to uint ( temp 2-component vector of uint) 510:16 'coord' ( temp 2-component vector of float) 520:16 'storeTemp' ( temp 4-component vector of float) 530:16 'storeTemp' ( temp 4-component vector of float) 540:18 move second child to first child ( temp 4-component vector of float) 550:18 indirect index (layout( row_major std430) buffer 4-component vector of float) 560:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 570:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 580:18 Constant: 590:18 0 (const uint) 600:18 Convert float to uint ( temp uint) 610:18 direct index ( temp float) 620:18 'coord' ( temp 2-component vector of float) 630:18 Constant: 640:18 0 (const int) 650:18 indirect index (layout( row_major std430) buffer 4-component vector of float) 660:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 670:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 680:18 Constant: 690:18 0 (const uint) 700:18 Convert float to uint ( temp uint) 710:18 direct index ( temp float) 720:18 'coord' ( temp 2-component vector of float) 730:18 Constant: 740:18 1 (const int) 750:13 Function Definition: main( ( temp void) 760:13 Function Parameters: 770:? Sequence 780:13 move second child to first child ( temp 3-component vector of uint) 790:? 'nThreadId' ( temp 3-component vector of uint) 800:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) 810:13 Function Call: @main(vu3; ( temp void) 820:? 'nThreadId' ( temp 3-component vector of uint) 830:? Linker Objects 840:? 'outtx' (layout( rgba32f) uniform image2D) 850:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) 860:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 870:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 880:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) 89 90 91Linked compute stage: 92 93 94Shader version: 500 95local_size = (1, 1, 1) 960:? Sequence 970:13 Function Definition: @main(vu3; ( temp void) 980:13 Function Parameters: 990:13 'nThreadId' ( in 3-component vector of uint) 1000:? Sequence 1010:14 Sequence 1020:14 move second child to first child ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 1030:14 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 1040:14 indirect index (layout( row_major std430) buffer structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 1050:14 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 1060:14 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) 1070:14 Constant: 1080:14 0 (const uint) 1090:14 add ( temp uint) 1100:14 AtomicAdd ( temp uint) 1110:14 @count: direct index for structure ( temp uint) 1120:14 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1130:14 Constant: 1140:14 0 (const int) 1150:14 Constant: 1160:14 4294967295 (const uint) 1170:14 Constant: 1180:14 -1 (const int) 1190:15 Sequence 1200:15 move second child to first child ( temp 2-component vector of float) 1210:15 'coord' ( temp 2-component vector of float) 1220:15 Convert uint to float ( temp 2-component vector of float) 1230:15 vector swizzle ( temp 2-component vector of uint) 1240:15 threadId: direct index for structure ( temp 2-component vector of uint) 1250:15 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 1260:15 Constant: 1270:15 1 (const int) 1280:15 Sequence 1290:15 Constant: 1300:15 0 (const int) 1310:15 Constant: 1320:15 1 (const int) 1330:16 Sequence 1340:16 move second child to first child ( temp 4-component vector of float) 1350:16 'storeTemp' ( temp 4-component vector of float) 1360:16 color: direct index for structure ( temp 4-component vector of float) 1370:16 'data' ( temp structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId}) 1380:16 Constant: 1390:16 0 (const int) 1400:16 imageStore ( temp void) 1410:16 'outtx' (layout( rgba32f) uniform image2D) 1420:16 Convert float to uint ( temp 2-component vector of uint) 1430:16 'coord' ( temp 2-component vector of float) 1440:16 'storeTemp' ( temp 4-component vector of float) 1450:16 'storeTemp' ( temp 4-component vector of float) 1460:18 move second child to first child ( temp 4-component vector of float) 1470:18 indirect index (layout( row_major std430) buffer 4-component vector of float) 1480:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 1490:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1500:18 Constant: 1510:18 0 (const uint) 1520:18 Convert float to uint ( temp uint) 1530:18 direct index ( temp float) 1540:18 'coord' ( temp 2-component vector of float) 1550:18 Constant: 1560:18 0 (const int) 1570:18 indirect index (layout( row_major std430) buffer 4-component vector of float) 1580:18 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of 4-component vector of float) 1590:18 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1600:18 Constant: 1610:18 0 (const uint) 1620:18 Convert float to uint ( temp uint) 1630:18 direct index ( temp float) 1640:18 'coord' ( temp 2-component vector of float) 1650:18 Constant: 1660:18 1 (const int) 1670:13 Function Definition: main( ( temp void) 1680:13 Function Parameters: 1690:? Sequence 1700:13 move second child to first child ( temp 3-component vector of uint) 1710:? 'nThreadId' ( temp 3-component vector of uint) 1720:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) 1730:13 Function Call: @main(vu3; ( temp void) 1740:? 'nThreadId' ( temp 3-component vector of uint) 1750:? Linker Objects 1760:? 'outtx' (layout( rgba32f) uniform image2D) 1770:? 'csb' (layout( binding=1 row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 4-component vector of float color, temp 2-component vector of uint threadId} @data}) 1780:? 'csb@count' (layout( row_major std430) buffer block{layout( row_major std430) buffer uint @count}) 1790:? 'rwsb' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of 4-component vector of float @data}) 1800:? 'nThreadId' ( in 3-component vector of uint GlobalInvocationID) 181 182// Module Version 10000 183// Generated by (magic number): 8000a 184// Id's are bound by 85 185 186 Capability Shader 187 1: ExtInstImport "GLSL.std.450" 188 MemoryModel Logical GLSL450 189 EntryPoint GLCompute 4 "main" 80 190 ExecutionMode 4 LocalSize 1 1 1 191 Source HLSL 500 192 Name 4 "main" 193 Name 11 "@main(vu3;" 194 Name 10 "nThreadId" 195 Name 16 "sb_t" 196 MemberName 16(sb_t) 0 "color" 197 MemberName 16(sb_t) 1 "threadId" 198 Name 18 "data" 199 Name 19 "sb_t" 200 MemberName 19(sb_t) 0 "color" 201 MemberName 19(sb_t) 1 "threadId" 202 Name 21 "csb" 203 MemberName 21(csb) 0 "@data" 204 Name 23 "csb" 205 Name 26 "csb@count" 206 MemberName 26(csb@count) 0 "@count" 207 Name 28 "csb@count" 208 Name 49 "coord" 209 Name 53 "storeTemp" 210 Name 58 "outtx" 211 Name 64 "rwsb" 212 MemberName 64(rwsb) 0 "@data" 213 Name 66 "rwsb" 214 Name 78 "nThreadId" 215 Name 80 "nThreadId" 216 Name 82 "param" 217 MemberDecorate 19(sb_t) 0 Offset 0 218 MemberDecorate 19(sb_t) 1 Offset 16 219 Decorate 20 ArrayStride 32 220 MemberDecorate 21(csb) 0 Offset 0 221 Decorate 21(csb) BufferBlock 222 Decorate 23(csb) DescriptorSet 0 223 Decorate 23(csb) Binding 1 224 MemberDecorate 26(csb@count) 0 Offset 0 225 Decorate 26(csb@count) BufferBlock 226 Decorate 28(csb@count) DescriptorSet 0 227 Decorate 28(csb@count) Binding 2 228 Decorate 58(outtx) DescriptorSet 0 229 Decorate 58(outtx) Binding 0 230 Decorate 63 ArrayStride 16 231 MemberDecorate 64(rwsb) 0 Offset 0 232 Decorate 64(rwsb) BufferBlock 233 Decorate 66(rwsb) DescriptorSet 0 234 Decorate 66(rwsb) Binding 3 235 Decorate 80(nThreadId) BuiltIn GlobalInvocationId 236 2: TypeVoid 237 3: TypeFunction 2 238 6: TypeInt 32 0 239 7: TypeVector 6(int) 3 240 8: TypePointer Function 7(ivec3) 241 9: TypeFunction 2 8(ptr) 242 13: TypeFloat 32 243 14: TypeVector 13(float) 4 244 15: TypeVector 6(int) 2 245 16(sb_t): TypeStruct 14(fvec4) 15(ivec2) 246 17: TypePointer Function 16(sb_t) 247 19(sb_t): TypeStruct 14(fvec4) 15(ivec2) 248 20: TypeRuntimeArray 19(sb_t) 249 21(csb): TypeStruct 20 250 22: TypePointer Uniform 21(csb) 251 23(csb): 22(ptr) Variable Uniform 252 24: TypeInt 32 1 253 25: 24(int) Constant 0 254 26(csb@count): TypeStruct 6(int) 255 27: TypePointer Uniform 26(csb@count) 256 28(csb@count): 27(ptr) Variable Uniform 257 29: TypePointer Uniform 6(int) 258 31: 6(int) Constant 4294967295 259 32: 6(int) Constant 1 260 33: 6(int) Constant 0 261 35: 24(int) Constant 4294967295 262 37: TypePointer Uniform 19(sb_t) 263 41: TypePointer Function 14(fvec4) 264 44: 24(int) Constant 1 265 45: TypePointer Function 15(ivec2) 266 47: TypeVector 13(float) 2 267 48: TypePointer Function 47(fvec2) 268 56: TypeImage 13(float) 2D nonsampled format:Rgba32f 269 57: TypePointer UniformConstant 56 270 58(outtx): 57(ptr) Variable UniformConstant 271 63: TypeRuntimeArray 14(fvec4) 272 64(rwsb): TypeStruct 63 273 65: TypePointer Uniform 64(rwsb) 274 66(rwsb): 65(ptr) Variable Uniform 275 67: TypePointer Function 13(float) 276 74: TypePointer Uniform 14(fvec4) 277 79: TypePointer Input 7(ivec3) 278 80(nThreadId): 79(ptr) Variable Input 279 4(main): 2 Function None 3 280 5: Label 281 78(nThreadId): 8(ptr) Variable Function 282 82(param): 8(ptr) Variable Function 283 81: 7(ivec3) Load 80(nThreadId) 284 Store 78(nThreadId) 81 285 83: 7(ivec3) Load 78(nThreadId) 286 Store 82(param) 83 287 84: 2 FunctionCall 11(@main(vu3;) 82(param) 288 Return 289 FunctionEnd 290 11(@main(vu3;): 2 Function None 9 291 10(nThreadId): 8(ptr) FunctionParameter 292 12: Label 293 18(data): 17(ptr) Variable Function 294 49(coord): 48(ptr) Variable Function 295 53(storeTemp): 41(ptr) Variable Function 296 30: 29(ptr) AccessChain 28(csb@count) 25 297 34: 6(int) AtomicIAdd 30 32 33 31 298 36: 6(int) IAdd 34 35 299 38: 37(ptr) AccessChain 23(csb) 25 36 300 39: 19(sb_t) Load 38 301 40: 14(fvec4) CompositeExtract 39 0 302 42: 41(ptr) AccessChain 18(data) 25 303 Store 42 40 304 43: 15(ivec2) CompositeExtract 39 1 305 46: 45(ptr) AccessChain 18(data) 44 306 Store 46 43 307 50: 45(ptr) AccessChain 18(data) 44 308 51: 15(ivec2) Load 50 309 52: 47(fvec2) ConvertUToF 51 310 Store 49(coord) 52 311 54: 41(ptr) AccessChain 18(data) 25 312 55: 14(fvec4) Load 54 313 Store 53(storeTemp) 55 314 59: 56 Load 58(outtx) 315 60: 47(fvec2) Load 49(coord) 316 61: 15(ivec2) ConvertFToU 60 317 62: 14(fvec4) Load 53(storeTemp) 318 ImageWrite 59 61 62 319 68: 67(ptr) AccessChain 49(coord) 33 320 69: 13(float) Load 68 321 70: 6(int) ConvertFToU 69 322 71: 67(ptr) AccessChain 49(coord) 32 323 72: 13(float) Load 71 324 73: 6(int) ConvertFToU 72 325 75: 74(ptr) AccessChain 66(rwsb) 25 73 326 76: 14(fvec4) Load 75 327 77: 74(ptr) AccessChain 66(rwsb) 25 70 328 Store 77 76 329 Return 330 FunctionEnd 331