| hlsl.structbuffer.fn2.comp |
| Shader version: 500 |
| local_size = (256, 1, 1) |
| 0:? Sequence |
| 0:5 Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint) |
| 0:5 Function Parameters: |
| 0:5 'loc' ( in uint) |
| 0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:? Sequence |
| 0:6 Sequence |
| 0:6 move second child to first child ( temp 2-component vector of uint) |
| 0:6 'result' ( temp 2-component vector of uint) |
| 0:? Sequence |
| 0:6 move second child to first child ( temp int) |
| 0:6 'byteAddrTemp' ( temp int) |
| 0:6 right-shift ( temp int) |
| 0:6 'loc' ( in uint) |
| 0:6 Constant: |
| 0:6 2 (const int) |
| 0:? Construct vec2 ( temp 2-component vector of uint) |
| 0:6 indirect index ( temp float) |
| 0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:6 Constant: |
| 0:6 0 (const uint) |
| 0:6 'byteAddrTemp' ( temp int) |
| 0:6 indirect index ( temp float) |
| 0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:6 Constant: |
| 0:6 0 (const uint) |
| 0:6 add ( temp int) |
| 0:6 'byteAddrTemp' ( temp int) |
| 0:6 Constant: |
| 0:6 1 (const int) |
| 0:7 Branch: Return with expression |
| 0:7 'result' ( temp 2-component vector of uint) |
| 0:12 Function Definition: @main(u1; ( temp void) |
| 0:12 Function Parameters: |
| 0:12 'dispatchId' ( in uint) |
| 0:? Sequence |
| 0:13 Sequence |
| 0:13 move second child to first child ( temp 2-component vector of uint) |
| 0:13 'result' ( temp 2-component vector of uint) |
| 0:13 Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint) |
| 0:13 'dispatchId' ( in uint) |
| 0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:14 Sequence |
| 0:14 imageStore ( temp void) |
| 0:14 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer) |
| 0:14 'dispatchId' ( in uint) |
| 0:14 'result' ( temp 2-component vector of uint) |
| 0:14 'result' ( temp 2-component vector of uint) |
| 0:12 Function Definition: main( ( temp void) |
| 0:12 Function Parameters: |
| 0:? Sequence |
| 0:12 move second child to first child ( temp uint) |
| 0:? 'dispatchId' ( temp uint) |
| 0:? 'dispatchId' ( in uint GlobalInvocationID) |
| 0:12 Function Call: @main(u1; ( temp void) |
| 0:? 'dispatchId' ( temp uint) |
| 0:? Linker Objects |
| 0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer) |
| 0:? 'dispatchId' ( in uint GlobalInvocationID) |
| |
| |
| Linked compute stage: |
| |
| |
| Shader version: 500 |
| local_size = (256, 1, 1) |
| 0:? Sequence |
| 0:5 Function Definition: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint) |
| 0:5 Function Parameters: |
| 0:5 'loc' ( in uint) |
| 0:5 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:? Sequence |
| 0:6 Sequence |
| 0:6 move second child to first child ( temp 2-component vector of uint) |
| 0:6 'result' ( temp 2-component vector of uint) |
| 0:? Sequence |
| 0:6 move second child to first child ( temp int) |
| 0:6 'byteAddrTemp' ( temp int) |
| 0:6 right-shift ( temp int) |
| 0:6 'loc' ( in uint) |
| 0:6 Constant: |
| 0:6 2 (const int) |
| 0:? Construct vec2 ( temp 2-component vector of uint) |
| 0:6 indirect index ( temp float) |
| 0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:6 Constant: |
| 0:6 0 (const uint) |
| 0:6 'byteAddrTemp' ( temp int) |
| 0:6 indirect index ( temp float) |
| 0:6 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint) |
| 0:6 'buffer' (layout( row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:6 Constant: |
| 0:6 0 (const uint) |
| 0:6 add ( temp int) |
| 0:6 'byteAddrTemp' ( temp int) |
| 0:6 Constant: |
| 0:6 1 (const int) |
| 0:7 Branch: Return with expression |
| 0:7 'result' ( temp 2-component vector of uint) |
| 0:12 Function Definition: @main(u1; ( temp void) |
| 0:12 Function Parameters: |
| 0:12 'dispatchId' ( in uint) |
| 0:? Sequence |
| 0:13 Sequence |
| 0:13 move second child to first child ( temp 2-component vector of uint) |
| 0:13 'result' ( temp 2-component vector of uint) |
| 0:13 Function Call: testLoad(u1;block--u1[0]1; ( temp 2-component vector of uint) |
| 0:13 'dispatchId' ( in uint) |
| 0:13 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:14 Sequence |
| 0:14 imageStore ( temp void) |
| 0:14 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer) |
| 0:14 'dispatchId' ( in uint) |
| 0:14 'result' ( temp 2-component vector of uint) |
| 0:14 'result' ( temp 2-component vector of uint) |
| 0:12 Function Definition: main( ( temp void) |
| 0:12 Function Parameters: |
| 0:? Sequence |
| 0:12 move second child to first child ( temp uint) |
| 0:? 'dispatchId' ( temp uint) |
| 0:? 'dispatchId' ( in uint GlobalInvocationID) |
| 0:12 Function Call: @main(u1; ( temp void) |
| 0:? 'dispatchId' ( temp uint) |
| 0:? Linker Objects |
| 0:? 'g_input' (layout( binding=0 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data}) |
| 0:? 'g_output' (layout( binding=1 rg32ui) uniform uimageBuffer) |
| 0:? 'dispatchId' ( in uint GlobalInvocationID) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 80002 |
| // Id's are bound by 62 |
| |
| Capability Shader |
| Capability ImageBuffer |
| Capability StorageImageExtendedFormats |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" 57 |
| ExecutionMode 4 LocalSize 256 1 1 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 9 "" |
| MemberName 9 0 "@data" |
| Name 15 "testLoad(u1;block--u1[0]1;" |
| Name 13 "loc" |
| Name 14 "buffer" |
| Name 19 "@main(u1;" |
| Name 18 "dispatchId" |
| Name 22 "result" |
| Name 25 "byteAddrTemp" |
| Name 42 "result" |
| Name 44 "g_input" |
| Name 45 "param" |
| Name 47 "param" |
| Name 51 "g_output" |
| Name 55 "dispatchId" |
| Name 57 "dispatchId" |
| Name 59 "param" |
| Decorate 8 ArrayStride 4 |
| MemberDecorate 9 0 NonWritable |
| MemberDecorate 9 0 Offset 0 |
| Decorate 9 BufferBlock |
| Decorate 14(buffer) NonWritable |
| Decorate 44(g_input) DescriptorSet 0 |
| Decorate 44(g_input) Binding 0 |
| Decorate 51(g_output) DescriptorSet 0 |
| Decorate 51(g_output) Binding 1 |
| Decorate 57(dispatchId) BuiltIn GlobalInvocationId |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7: TypePointer Function 6(int) |
| 8: TypeRuntimeArray 6(int) |
| 9: TypeStruct 8 |
| 10: TypePointer Function 9(struct) |
| 11: TypeVector 6(int) 2 |
| 12: TypeFunction 11(ivec2) 7(ptr) 10(ptr) |
| 17: TypeFunction 2 7(ptr) |
| 21: TypePointer Function 11(ivec2) |
| 23: TypeInt 32 1 |
| 24: TypePointer Function 23(int) |
| 27: 23(int) Constant 2 |
| 29: 23(int) Constant 0 |
| 34: 23(int) Constant 1 |
| 43: TypePointer Uniform 9(struct) |
| 44(g_input): 43(ptr) Variable Uniform |
| 49: TypeImage 6(int) Buffer nonsampled format:Rg32ui |
| 50: TypePointer UniformConstant 49 |
| 51(g_output): 50(ptr) Variable UniformConstant |
| 56: TypePointer Input 6(int) |
| 57(dispatchId): 56(ptr) Variable Input |
| 4(main): 2 Function None 3 |
| 5: Label |
| 55(dispatchId): 7(ptr) Variable Function |
| 59(param): 7(ptr) Variable Function |
| 58: 6(int) Load 57(dispatchId) |
| Store 55(dispatchId) 58 |
| 60: 6(int) Load 55(dispatchId) |
| Store 59(param) 60 |
| 61: 2 FunctionCall 19(@main(u1;) 59(param) |
| Return |
| FunctionEnd |
| 15(testLoad(u1;block--u1[0]1;): 11(ivec2) Function None 12 |
| 13(loc): 7(ptr) FunctionParameter |
| 14(buffer): 10(ptr) FunctionParameter |
| 16: Label |
| 22(result): 21(ptr) Variable Function |
| 25(byteAddrTemp): 24(ptr) Variable Function |
| 26: 6(int) Load 13(loc) |
| 28: 23(int) ShiftRightLogical 26 27 |
| Store 25(byteAddrTemp) 28 |
| 30: 23(int) Load 25(byteAddrTemp) |
| 31: 7(ptr) AccessChain 14(buffer) 29 30 |
| 32: 6(int) Load 31 |
| 33: 23(int) Load 25(byteAddrTemp) |
| 35: 23(int) IAdd 33 34 |
| 36: 7(ptr) AccessChain 14(buffer) 29 35 |
| 37: 6(int) Load 36 |
| 38: 11(ivec2) CompositeConstruct 32 37 |
| Store 22(result) 38 |
| 39: 11(ivec2) Load 22(result) |
| ReturnValue 39 |
| FunctionEnd |
| 19(@main(u1;): 2 Function None 17 |
| 18(dispatchId): 7(ptr) FunctionParameter |
| 20: Label |
| 42(result): 21(ptr) Variable Function |
| 45(param): 7(ptr) Variable Function |
| 47(param): 10(ptr) Variable Function |
| 46: 6(int) Load 18(dispatchId) |
| Store 45(param) 46 |
| 48: 11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 47(param) |
| Store 42(result) 48 |
| 52: 49 Load 51(g_output) |
| 53: 6(int) Load 18(dispatchId) |
| 54: 11(ivec2) Load 42(result) |
| ImageWrite 52 53 54 |
| Return |
| FunctionEnd |