| hlsl.imageload-subvec4.comp |
| Shader version: 500 |
| local_size = (8, 8, 8) |
| 0:? Sequence |
| 0:17 Function Definition: @main(vu3; ( temp void) |
| 0:17 Function Parameters: |
| 0:17 'tid' ( in 3-component vector of uint) |
| 0:? Sequence |
| 0:18 Sequence |
| 0:18 move second child to first child ( temp float) |
| 0:18 'f' ( temp float) |
| 0:18 Constant: |
| 0:18 0.000000 |
| 0:19 add second child into first child ( temp float) |
| 0:19 'f' ( temp float) |
| 0:19 imageLoad ( temp float) |
| 0:19 'i1D' (layout( binding=0 r32f) uniform image1D) |
| 0:19 direct index ( temp uint) |
| 0:19 'tid' ( in 3-component vector of uint) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:20 add second child into first child ( temp float) |
| 0:20 'f' ( temp float) |
| 0:20 imageLoad ( temp float) |
| 0:20 'i2D' (layout( binding=1 r32f) uniform image2D) |
| 0:20 vector swizzle ( temp 2-component vector of uint) |
| 0:20 'tid' ( in 3-component vector of uint) |
| 0:20 Sequence |
| 0:20 Constant: |
| 0:20 0 (const int) |
| 0:20 Constant: |
| 0:20 1 (const int) |
| 0:21 add second child into first child ( temp float) |
| 0:21 'f' ( temp float) |
| 0:21 imageLoad ( temp float) |
| 0:21 'i3D' (layout( binding=2 r32f) uniform image3D) |
| 0:21 'tid' ( in 3-component vector of uint) |
| 0:22 add second child into first child ( temp float) |
| 0:22 'f' ( temp float) |
| 0:22 imageLoad ( temp float) |
| 0:22 'i1DArray' (layout( binding=3 r32f) uniform image1DArray) |
| 0:22 vector swizzle ( temp 2-component vector of uint) |
| 0:22 'tid' ( in 3-component vector of uint) |
| 0:22 Sequence |
| 0:22 Constant: |
| 0:22 0 (const int) |
| 0:22 Constant: |
| 0:22 1 (const int) |
| 0:23 add second child into first child ( temp float) |
| 0:23 'f' ( temp float) |
| 0:23 imageLoad ( temp float) |
| 0:23 'i2DArray' (layout( binding=4 r32f) uniform image2DArray) |
| 0:23 'tid' ( in 3-component vector of uint) |
| 0:25 Sequence |
| 0:25 move second child to first child ( temp int) |
| 0:25 'i' ( temp int) |
| 0:25 Constant: |
| 0:25 0 (const int) |
| 0:26 add second child into first child ( temp int) |
| 0:26 'i' ( temp int) |
| 0:26 imageLoad ( temp int) |
| 0:26 'ii1D' (layout( binding=5 r32i) uniform iimage1D) |
| 0:26 direct index ( temp uint) |
| 0:26 'tid' ( in 3-component vector of uint) |
| 0:26 Constant: |
| 0:26 0 (const int) |
| 0:27 add second child into first child ( temp int) |
| 0:27 'i' ( temp int) |
| 0:27 imageLoad ( temp int) |
| 0:27 'ii2D' (layout( binding=6 r32i) uniform iimage2D) |
| 0:27 vector swizzle ( temp 2-component vector of uint) |
| 0:27 'tid' ( in 3-component vector of uint) |
| 0:27 Sequence |
| 0:27 Constant: |
| 0:27 0 (const int) |
| 0:27 Constant: |
| 0:27 1 (const int) |
| 0:28 add second child into first child ( temp int) |
| 0:28 'i' ( temp int) |
| 0:28 imageLoad ( temp int) |
| 0:28 'ii3D' (layout( binding=7 r32i) uniform iimage3D) |
| 0:28 'tid' ( in 3-component vector of uint) |
| 0:29 add second child into first child ( temp int) |
| 0:29 'i' ( temp int) |
| 0:29 imageLoad ( temp int) |
| 0:29 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray) |
| 0:29 vector swizzle ( temp 2-component vector of uint) |
| 0:29 'tid' ( in 3-component vector of uint) |
| 0:29 Sequence |
| 0:29 Constant: |
| 0:29 0 (const int) |
| 0:29 Constant: |
| 0:29 1 (const int) |
| 0:30 add second child into first child ( temp int) |
| 0:30 'i' ( temp int) |
| 0:30 imageLoad ( temp int) |
| 0:30 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray) |
| 0:30 'tid' ( in 3-component vector of uint) |
| 0:32 Sequence |
| 0:32 move second child to first child ( temp float) |
| 0:32 'storeTemp' ( temp float) |
| 0:32 add ( temp float) |
| 0:32 'f' ( temp float) |
| 0:32 Convert int to float ( temp float) |
| 0:32 'i' ( temp int) |
| 0:32 imageStore ( temp void) |
| 0:32 'OUT' (layout( binding=10 r32f) uniform image3D) |
| 0:32 'tid' ( in 3-component vector of uint) |
| 0:32 'storeTemp' ( temp float) |
| 0:32 'storeTemp' ( temp float) |
| 0:17 Function Definition: main( ( temp void) |
| 0:17 Function Parameters: |
| 0:? Sequence |
| 0:17 move second child to first child ( temp 3-component vector of uint) |
| 0:? 'tid' ( temp 3-component vector of uint) |
| 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) |
| 0:17 Function Call: @main(vu3; ( temp void) |
| 0:? 'tid' ( temp 3-component vector of uint) |
| 0:? Linker Objects |
| 0:? 'i1D' (layout( binding=0 r32f) uniform image1D) |
| 0:? 'i2D' (layout( binding=1 r32f) uniform image2D) |
| 0:? 'i3D' (layout( binding=2 r32f) uniform image3D) |
| 0:? 'i1DArray' (layout( binding=3 r32f) uniform image1DArray) |
| 0:? 'i2DArray' (layout( binding=4 r32f) uniform image2DArray) |
| 0:? 'ii1D' (layout( binding=5 r32i) uniform iimage1D) |
| 0:? 'ii2D' (layout( binding=6 r32i) uniform iimage2D) |
| 0:? 'ii3D' (layout( binding=7 r32i) uniform iimage3D) |
| 0:? 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray) |
| 0:? 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray) |
| 0:? 'OUT' (layout( binding=10 r32f) uniform image3D) |
| 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) |
| |
| |
| Linked compute stage: |
| |
| |
| Shader version: 500 |
| local_size = (8, 8, 8) |
| 0:? Sequence |
| 0:17 Function Definition: @main(vu3; ( temp void) |
| 0:17 Function Parameters: |
| 0:17 'tid' ( in 3-component vector of uint) |
| 0:? Sequence |
| 0:18 Sequence |
| 0:18 move second child to first child ( temp float) |
| 0:18 'f' ( temp float) |
| 0:18 Constant: |
| 0:18 0.000000 |
| 0:19 add second child into first child ( temp float) |
| 0:19 'f' ( temp float) |
| 0:19 imageLoad ( temp float) |
| 0:19 'i1D' (layout( binding=0 r32f) uniform image1D) |
| 0:19 direct index ( temp uint) |
| 0:19 'tid' ( in 3-component vector of uint) |
| 0:19 Constant: |
| 0:19 0 (const int) |
| 0:20 add second child into first child ( temp float) |
| 0:20 'f' ( temp float) |
| 0:20 imageLoad ( temp float) |
| 0:20 'i2D' (layout( binding=1 r32f) uniform image2D) |
| 0:20 vector swizzle ( temp 2-component vector of uint) |
| 0:20 'tid' ( in 3-component vector of uint) |
| 0:20 Sequence |
| 0:20 Constant: |
| 0:20 0 (const int) |
| 0:20 Constant: |
| 0:20 1 (const int) |
| 0:21 add second child into first child ( temp float) |
| 0:21 'f' ( temp float) |
| 0:21 imageLoad ( temp float) |
| 0:21 'i3D' (layout( binding=2 r32f) uniform image3D) |
| 0:21 'tid' ( in 3-component vector of uint) |
| 0:22 add second child into first child ( temp float) |
| 0:22 'f' ( temp float) |
| 0:22 imageLoad ( temp float) |
| 0:22 'i1DArray' (layout( binding=3 r32f) uniform image1DArray) |
| 0:22 vector swizzle ( temp 2-component vector of uint) |
| 0:22 'tid' ( in 3-component vector of uint) |
| 0:22 Sequence |
| 0:22 Constant: |
| 0:22 0 (const int) |
| 0:22 Constant: |
| 0:22 1 (const int) |
| 0:23 add second child into first child ( temp float) |
| 0:23 'f' ( temp float) |
| 0:23 imageLoad ( temp float) |
| 0:23 'i2DArray' (layout( binding=4 r32f) uniform image2DArray) |
| 0:23 'tid' ( in 3-component vector of uint) |
| 0:25 Sequence |
| 0:25 move second child to first child ( temp int) |
| 0:25 'i' ( temp int) |
| 0:25 Constant: |
| 0:25 0 (const int) |
| 0:26 add second child into first child ( temp int) |
| 0:26 'i' ( temp int) |
| 0:26 imageLoad ( temp int) |
| 0:26 'ii1D' (layout( binding=5 r32i) uniform iimage1D) |
| 0:26 direct index ( temp uint) |
| 0:26 'tid' ( in 3-component vector of uint) |
| 0:26 Constant: |
| 0:26 0 (const int) |
| 0:27 add second child into first child ( temp int) |
| 0:27 'i' ( temp int) |
| 0:27 imageLoad ( temp int) |
| 0:27 'ii2D' (layout( binding=6 r32i) uniform iimage2D) |
| 0:27 vector swizzle ( temp 2-component vector of uint) |
| 0:27 'tid' ( in 3-component vector of uint) |
| 0:27 Sequence |
| 0:27 Constant: |
| 0:27 0 (const int) |
| 0:27 Constant: |
| 0:27 1 (const int) |
| 0:28 add second child into first child ( temp int) |
| 0:28 'i' ( temp int) |
| 0:28 imageLoad ( temp int) |
| 0:28 'ii3D' (layout( binding=7 r32i) uniform iimage3D) |
| 0:28 'tid' ( in 3-component vector of uint) |
| 0:29 add second child into first child ( temp int) |
| 0:29 'i' ( temp int) |
| 0:29 imageLoad ( temp int) |
| 0:29 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray) |
| 0:29 vector swizzle ( temp 2-component vector of uint) |
| 0:29 'tid' ( in 3-component vector of uint) |
| 0:29 Sequence |
| 0:29 Constant: |
| 0:29 0 (const int) |
| 0:29 Constant: |
| 0:29 1 (const int) |
| 0:30 add second child into first child ( temp int) |
| 0:30 'i' ( temp int) |
| 0:30 imageLoad ( temp int) |
| 0:30 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray) |
| 0:30 'tid' ( in 3-component vector of uint) |
| 0:32 Sequence |
| 0:32 move second child to first child ( temp float) |
| 0:32 'storeTemp' ( temp float) |
| 0:32 add ( temp float) |
| 0:32 'f' ( temp float) |
| 0:32 Convert int to float ( temp float) |
| 0:32 'i' ( temp int) |
| 0:32 imageStore ( temp void) |
| 0:32 'OUT' (layout( binding=10 r32f) uniform image3D) |
| 0:32 'tid' ( in 3-component vector of uint) |
| 0:32 'storeTemp' ( temp float) |
| 0:32 'storeTemp' ( temp float) |
| 0:17 Function Definition: main( ( temp void) |
| 0:17 Function Parameters: |
| 0:? Sequence |
| 0:17 move second child to first child ( temp 3-component vector of uint) |
| 0:? 'tid' ( temp 3-component vector of uint) |
| 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) |
| 0:17 Function Call: @main(vu3; ( temp void) |
| 0:? 'tid' ( temp 3-component vector of uint) |
| 0:? Linker Objects |
| 0:? 'i1D' (layout( binding=0 r32f) uniform image1D) |
| 0:? 'i2D' (layout( binding=1 r32f) uniform image2D) |
| 0:? 'i3D' (layout( binding=2 r32f) uniform image3D) |
| 0:? 'i1DArray' (layout( binding=3 r32f) uniform image1DArray) |
| 0:? 'i2DArray' (layout( binding=4 r32f) uniform image2DArray) |
| 0:? 'ii1D' (layout( binding=5 r32i) uniform iimage1D) |
| 0:? 'ii2D' (layout( binding=6 r32i) uniform iimage2D) |
| 0:? 'ii3D' (layout( binding=7 r32i) uniform iimage3D) |
| 0:? 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray) |
| 0:? 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray) |
| 0:? 'OUT' (layout( binding=10 r32f) uniform image3D) |
| 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID) |
| |
| // Module Version 10000 |
| // Generated by (magic number): 8000a |
| // Id's are bound by 138 |
| |
| Capability Shader |
| Capability Image1D |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" 133 |
| ExecutionMode 4 LocalSize 8 8 8 |
| Source HLSL 500 |
| Name 4 "main" |
| Name 11 "@main(vu3;" |
| Name 10 "tid" |
| Name 15 "f" |
| Name 19 "i1D" |
| Name 32 "i2D" |
| Name 43 "i3D" |
| Name 52 "i1DArray" |
| Name 62 "i2DArray" |
| Name 71 "i" |
| Name 75 "ii1D" |
| Name 86 "ii2D" |
| Name 96 "ii3D" |
| Name 105 "ii1DArray" |
| Name 115 "ii2DArray" |
| Name 122 "storeTemp" |
| Name 127 "OUT" |
| Name 131 "tid" |
| Name 133 "tid" |
| Name 135 "param" |
| Decorate 19(i1D) DescriptorSet 0 |
| Decorate 19(i1D) Binding 0 |
| Decorate 32(i2D) DescriptorSet 0 |
| Decorate 32(i2D) Binding 1 |
| Decorate 43(i3D) DescriptorSet 0 |
| Decorate 43(i3D) Binding 2 |
| Decorate 52(i1DArray) DescriptorSet 0 |
| Decorate 52(i1DArray) Binding 3 |
| Decorate 62(i2DArray) DescriptorSet 0 |
| Decorate 62(i2DArray) Binding 4 |
| Decorate 75(ii1D) DescriptorSet 0 |
| Decorate 75(ii1D) Binding 5 |
| Decorate 86(ii2D) DescriptorSet 0 |
| Decorate 86(ii2D) Binding 6 |
| Decorate 96(ii3D) DescriptorSet 0 |
| Decorate 96(ii3D) Binding 7 |
| Decorate 105(ii1DArray) DescriptorSet 0 |
| Decorate 105(ii1DArray) Binding 8 |
| Decorate 115(ii2DArray) DescriptorSet 0 |
| Decorate 115(ii2DArray) Binding 9 |
| Decorate 127(OUT) DescriptorSet 0 |
| Decorate 127(OUT) Binding 10 |
| Decorate 133(tid) BuiltIn GlobalInvocationId |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7: TypeVector 6(int) 3 |
| 8: TypePointer Function 7(ivec3) |
| 9: TypeFunction 2 8(ptr) |
| 13: TypeFloat 32 |
| 14: TypePointer Function 13(float) |
| 16: 13(float) Constant 0 |
| 17: TypeImage 13(float) 1D nonsampled format:R32f |
| 18: TypePointer UniformConstant 17 |
| 19(i1D): 18(ptr) Variable UniformConstant |
| 21: 6(int) Constant 0 |
| 22: TypePointer Function 6(int) |
| 25: TypeVector 13(float) 4 |
| 30: TypeImage 13(float) 2D nonsampled format:R32f |
| 31: TypePointer UniformConstant 30 |
| 32(i2D): 31(ptr) Variable UniformConstant |
| 34: TypeVector 6(int) 2 |
| 41: TypeImage 13(float) 3D nonsampled format:R32f |
| 42: TypePointer UniformConstant 41 |
| 43(i3D): 42(ptr) Variable UniformConstant |
| 50: TypeImage 13(float) 1D array nonsampled format:R32f |
| 51: TypePointer UniformConstant 50 |
| 52(i1DArray): 51(ptr) Variable UniformConstant |
| 60: TypeImage 13(float) 2D array nonsampled format:R32f |
| 61: TypePointer UniformConstant 60 |
| 62(i2DArray): 61(ptr) Variable UniformConstant |
| 69: TypeInt 32 1 |
| 70: TypePointer Function 69(int) |
| 72: 69(int) Constant 0 |
| 73: TypeImage 69(int) 1D nonsampled format:R32i |
| 74: TypePointer UniformConstant 73 |
| 75(ii1D): 74(ptr) Variable UniformConstant |
| 79: TypeVector 69(int) 4 |
| 84: TypeImage 69(int) 2D nonsampled format:R32i |
| 85: TypePointer UniformConstant 84 |
| 86(ii2D): 85(ptr) Variable UniformConstant |
| 94: TypeImage 69(int) 3D nonsampled format:R32i |
| 95: TypePointer UniformConstant 94 |
| 96(ii3D): 95(ptr) Variable UniformConstant |
| 103: TypeImage 69(int) 1D array nonsampled format:R32i |
| 104: TypePointer UniformConstant 103 |
| 105(ii1DArray): 104(ptr) Variable UniformConstant |
| 113: TypeImage 69(int) 2D array nonsampled format:R32i |
| 114: TypePointer UniformConstant 113 |
| 115(ii2DArray): 114(ptr) Variable UniformConstant |
| 127(OUT): 42(ptr) Variable UniformConstant |
| 132: TypePointer Input 7(ivec3) |
| 133(tid): 132(ptr) Variable Input |
| 4(main): 2 Function None 3 |
| 5: Label |
| 131(tid): 8(ptr) Variable Function |
| 135(param): 8(ptr) Variable Function |
| 134: 7(ivec3) Load 133(tid) |
| Store 131(tid) 134 |
| 136: 7(ivec3) Load 131(tid) |
| Store 135(param) 136 |
| 137: 2 FunctionCall 11(@main(vu3;) 135(param) |
| Return |
| FunctionEnd |
| 11(@main(vu3;): 2 Function None 9 |
| 10(tid): 8(ptr) FunctionParameter |
| 12: Label |
| 15(f): 14(ptr) Variable Function |
| 71(i): 70(ptr) Variable Function |
| 122(storeTemp): 14(ptr) Variable Function |
| Store 15(f) 16 |
| 20: 17 Load 19(i1D) |
| 23: 22(ptr) AccessChain 10(tid) 21 |
| 24: 6(int) Load 23 |
| 26: 25(fvec4) ImageRead 20 24 |
| 27: 13(float) CompositeExtract 26 0 |
| 28: 13(float) Load 15(f) |
| 29: 13(float) FAdd 28 27 |
| Store 15(f) 29 |
| 33: 30 Load 32(i2D) |
| 35: 7(ivec3) Load 10(tid) |
| 36: 34(ivec2) VectorShuffle 35 35 0 1 |
| 37: 25(fvec4) ImageRead 33 36 |
| 38: 13(float) CompositeExtract 37 0 |
| 39: 13(float) Load 15(f) |
| 40: 13(float) FAdd 39 38 |
| Store 15(f) 40 |
| 44: 41 Load 43(i3D) |
| 45: 7(ivec3) Load 10(tid) |
| 46: 25(fvec4) ImageRead 44 45 |
| 47: 13(float) CompositeExtract 46 0 |
| 48: 13(float) Load 15(f) |
| 49: 13(float) FAdd 48 47 |
| Store 15(f) 49 |
| 53: 50 Load 52(i1DArray) |
| 54: 7(ivec3) Load 10(tid) |
| 55: 34(ivec2) VectorShuffle 54 54 0 1 |
| 56: 25(fvec4) ImageRead 53 55 |
| 57: 13(float) CompositeExtract 56 0 |
| 58: 13(float) Load 15(f) |
| 59: 13(float) FAdd 58 57 |
| Store 15(f) 59 |
| 63: 60 Load 62(i2DArray) |
| 64: 7(ivec3) Load 10(tid) |
| 65: 25(fvec4) ImageRead 63 64 |
| 66: 13(float) CompositeExtract 65 0 |
| 67: 13(float) Load 15(f) |
| 68: 13(float) FAdd 67 66 |
| Store 15(f) 68 |
| Store 71(i) 72 |
| 76: 73 Load 75(ii1D) |
| 77: 22(ptr) AccessChain 10(tid) 21 |
| 78: 6(int) Load 77 |
| 80: 79(ivec4) ImageRead 76 78 |
| 81: 69(int) CompositeExtract 80 0 |
| 82: 69(int) Load 71(i) |
| 83: 69(int) IAdd 82 81 |
| Store 71(i) 83 |
| 87: 84 Load 86(ii2D) |
| 88: 7(ivec3) Load 10(tid) |
| 89: 34(ivec2) VectorShuffle 88 88 0 1 |
| 90: 79(ivec4) ImageRead 87 89 |
| 91: 69(int) CompositeExtract 90 0 |
| 92: 69(int) Load 71(i) |
| 93: 69(int) IAdd 92 91 |
| Store 71(i) 93 |
| 97: 94 Load 96(ii3D) |
| 98: 7(ivec3) Load 10(tid) |
| 99: 79(ivec4) ImageRead 97 98 |
| 100: 69(int) CompositeExtract 99 0 |
| 101: 69(int) Load 71(i) |
| 102: 69(int) IAdd 101 100 |
| Store 71(i) 102 |
| 106: 103 Load 105(ii1DArray) |
| 107: 7(ivec3) Load 10(tid) |
| 108: 34(ivec2) VectorShuffle 107 107 0 1 |
| 109: 79(ivec4) ImageRead 106 108 |
| 110: 69(int) CompositeExtract 109 0 |
| 111: 69(int) Load 71(i) |
| 112: 69(int) IAdd 111 110 |
| Store 71(i) 112 |
| 116: 113 Load 115(ii2DArray) |
| 117: 7(ivec3) Load 10(tid) |
| 118: 79(ivec4) ImageRead 116 117 |
| 119: 69(int) CompositeExtract 118 0 |
| 120: 69(int) Load 71(i) |
| 121: 69(int) IAdd 120 119 |
| Store 71(i) 121 |
| 123: 13(float) Load 15(f) |
| 124: 69(int) Load 71(i) |
| 125: 13(float) ConvertSToF 124 |
| 126: 13(float) FAdd 123 125 |
| Store 122(storeTemp) 126 |
| 128: 41 Load 127(OUT) |
| 129: 7(ivec3) Load 10(tid) |
| 130: 13(float) Load 122(storeTemp) |
| ImageWrite 128 129 130 |
| Return |
| FunctionEnd |