spv.multiStruct.comp Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. Linked compute stage: // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 157 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "main" ExecutionMode 4 LocalSize 1 1 1 Source GLSL 450 Name 4 "main" Name 12 "MyStruct" MemberName 12(MyStruct) 0 "foo" MemberName 12(MyStruct) 1 "sb" Name 14 "t" Name 16 "MyStruct" MemberName 16(MyStruct) 0 "foo" MemberName 16(MyStruct) 1 "sb" Name 17 "SSBO0" MemberName 17(SSBO0) 0 "a" Name 19 "inBuf" Name 37 "SSBO1" MemberName 37(SSBO1) 0 "b" Name 39 "outBuf" Name 57 "MyStruct" MemberName 57(MyStruct) 0 "foo" MemberName 57(MyStruct) 1 "sb" Name 58 "UBO" MemberName 58(UBO) 0 "c" Name 60 "uBuf" Name 84 "Nested" MemberName 84(Nested) 0 "f" MemberName 84(Nested) 1 "S" Name 86 "n" Name 88 "Nested" MemberName 88(Nested) 0 "f" MemberName 88(Nested) 1 "S" Name 89 "UBON" MemberName 89(UBON) 0 "N1" Name 91 "uBufN" Name 122 "Nested" MemberName 122(Nested) 0 "f" MemberName 122(Nested) 1 "S" Name 123 "SSBO1N" MemberName 123(SSBO1N) 0 "N2" Name 125 "outBufN" Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) BufferBlock Decorate 19(inBuf) DescriptorSet 0 Decorate 19(inBuf) Binding 0 MemberDecorate 37(SSBO1) 0 Offset 0 Decorate 37(SSBO1) BufferBlock Decorate 39(outBuf) DescriptorSet 0 Decorate 39(outBuf) Binding 1 Decorate 56 ArrayStride 16 MemberDecorate 57(MyStruct) 0 Offset 0 MemberDecorate 57(MyStruct) 1 Offset 32 MemberDecorate 58(UBO) 0 Offset 0 Decorate 58(UBO) Block Decorate 60(uBuf) DescriptorSet 0 Decorate 60(uBuf) Binding 2 Decorate 87 ArrayStride 48 MemberDecorate 88(Nested) 0 Offset 0 MemberDecorate 88(Nested) 1 Offset 16 MemberDecorate 89(UBON) 0 Offset 0 Decorate 89(UBON) Block Decorate 91(uBufN) DescriptorSet 0 Decorate 91(uBufN) Binding 2 Decorate 121 ArrayStride 24 MemberDecorate 122(Nested) 0 Offset 0 MemberDecorate 122(Nested) 1 Offset 8 MemberDecorate 123(SSBO1N) 0 Offset 0 Decorate 123(SSBO1N) BufferBlock Decorate 125(outBufN) DescriptorSet 0 Decorate 125(outBufN) Binding 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 2 8: TypeInt 32 0 9: 8(int) Constant 2 10: TypeArray 7(fvec2) 9 11: TypeBool 12(MyStruct): TypeStruct 10 11(bool) 13: TypePointer Function 12(MyStruct) 15: TypeArray 7(fvec2) 9 16(MyStruct): TypeStruct 15 8(int) 17(SSBO0): TypeStruct 16(MyStruct) 18: TypePointer Uniform 17(SSBO0) 19(inBuf): 18(ptr) Variable Uniform 20: TypeInt 32 1 21: 20(int) Constant 0 22: TypePointer Uniform 16(MyStruct) 26: TypePointer Function 10 29: TypePointer Function 7(fvec2) 32: 20(int) Constant 1 35: TypePointer Function 11(bool) 37(SSBO1): TypeStruct 16(MyStruct) 38: TypePointer Uniform 37(SSBO1) 39(outBuf): 38(ptr) Variable Uniform 43: TypePointer Uniform 15 46: TypePointer Uniform 7(fvec2) 51: 8(int) Constant 0 52: 8(int) Constant 1 54: TypePointer Uniform 8(int) 56: TypeArray 7(fvec2) 9 57(MyStruct): TypeStruct 56 8(int) 58(UBO): TypeStruct 57(MyStruct) 59: TypePointer Uniform 58(UBO) 60(uBuf): 59(ptr) Variable Uniform 61: TypePointer Uniform 57(MyStruct) 83: TypeArray 12(MyStruct) 9 84(Nested): TypeStruct 6(float) 83 85: TypePointer Function 84(Nested) 87: TypeArray 57(MyStruct) 9 88(Nested): TypeStruct 6(float) 87 89(UBON): TypeStruct 88(Nested) 90: TypePointer Uniform 89(UBON) 91(uBufN): 90(ptr) Variable Uniform 92: TypePointer Uniform 88(Nested) 96: TypePointer Function 6(float) 99: TypePointer Function 83 121: TypeArray 16(MyStruct) 9 122(Nested): TypeStruct 6(float) 121 123(SSBO1N): TypeStruct 122(Nested) 124: TypePointer Uniform 123(SSBO1N) 125(outBufN): 124(ptr) Variable Uniform 127: TypePointer Uniform 122(Nested) 130: TypePointer Uniform 6(float) 133: TypePointer Uniform 121 4(main): 2 Function None 3 5: Label 14(t): 13(ptr) Variable Function 86(n): 85(ptr) Variable Function 23: 22(ptr) AccessChain 19(inBuf) 21 24:16(MyStruct) Load 23 25: 15 CompositeExtract 24 0 27: 26(ptr) AccessChain 14(t) 21 28: 7(fvec2) CompositeExtract 25 0 30: 29(ptr) AccessChain 27 21 Store 30 28 31: 7(fvec2) CompositeExtract 25 1 33: 29(ptr) AccessChain 27 32 Store 33 31 34: 8(int) CompositeExtract 24 1 36: 35(ptr) AccessChain 14(t) 32 Store 36 34 40:12(MyStruct) Load 14(t) 41: 22(ptr) AccessChain 39(outBuf) 21 42: 10 CompositeExtract 40 0 44: 43(ptr) AccessChain 41 21 45: 7(fvec2) CompositeExtract 42 0 47: 46(ptr) AccessChain 44 21 Store 47 45 48: 7(fvec2) CompositeExtract 42 1 49: 46(ptr) AccessChain 44 32 Store 49 48 50: 11(bool) CompositeExtract 40 1 53: 8(int) Select 50 52 51 55: 54(ptr) AccessChain 41 32 Store 55 53 62: 61(ptr) AccessChain 60(uBuf) 21 63:57(MyStruct) Load 62 64: 56 CompositeExtract 63 0 65: 26(ptr) AccessChain 14(t) 21 66: 7(fvec2) CompositeExtract 64 0 67: 29(ptr) AccessChain 65 21 Store 67 66 68: 7(fvec2) CompositeExtract 64 1 69: 29(ptr) AccessChain 65 32 Store 69 68 70: 8(int) CompositeExtract 63 1 71: 35(ptr) AccessChain 14(t) 32 Store 71 70 72:12(MyStruct) Load 14(t) 73: 22(ptr) AccessChain 39(outBuf) 21 74: 10 CompositeExtract 72 0 75: 43(ptr) AccessChain 73 21 76: 7(fvec2) CompositeExtract 74 0 77: 46(ptr) AccessChain 75 21 Store 77 76 78: 7(fvec2) CompositeExtract 74 1 79: 46(ptr) AccessChain 75 32 Store 79 78 80: 11(bool) CompositeExtract 72 1 81: 8(int) Select 80 52 51 82: 54(ptr) AccessChain 73 32 Store 82 81 93: 92(ptr) AccessChain 91(uBufN) 21 94: 88(Nested) Load 93 95: 6(float) CompositeExtract 94 0 97: 96(ptr) AccessChain 86(n) 21 Store 97 95 98: 87 CompositeExtract 94 1 100: 99(ptr) AccessChain 86(n) 32 101:57(MyStruct) CompositeExtract 98 0 102: 13(ptr) AccessChain 100 21 103: 56 CompositeExtract 101 0 104: 26(ptr) AccessChain 102 21 105: 7(fvec2) CompositeExtract 103 0 106: 29(ptr) AccessChain 104 21 Store 106 105 107: 7(fvec2) CompositeExtract 103 1 108: 29(ptr) AccessChain 104 32 Store 108 107 109: 8(int) CompositeExtract 101 1 110: 35(ptr) AccessChain 102 32 Store 110 109 111:57(MyStruct) CompositeExtract 98 1 112: 13(ptr) AccessChain 100 32 113: 56 CompositeExtract 111 0 114: 26(ptr) AccessChain 112 21 115: 7(fvec2) CompositeExtract 113 0 116: 29(ptr) AccessChain 114 21 Store 116 115 117: 7(fvec2) CompositeExtract 113 1 118: 29(ptr) AccessChain 114 32 Store 118 117 119: 8(int) CompositeExtract 111 1 120: 35(ptr) AccessChain 112 32 Store 120 119 126: 84(Nested) Load 86(n) 128: 127(ptr) AccessChain 125(outBufN) 21 129: 6(float) CompositeExtract 126 0 131: 130(ptr) AccessChain 128 21 Store 131 129 132: 83 CompositeExtract 126 1 134: 133(ptr) AccessChain 128 32 135:12(MyStruct) CompositeExtract 132 0 136: 22(ptr) AccessChain 134 21 137: 10 CompositeExtract 135 0 138: 43(ptr) AccessChain 136 21 139: 7(fvec2) CompositeExtract 137 0 140: 46(ptr) AccessChain 138 21 Store 140 139 141: 7(fvec2) CompositeExtract 137 1 142: 46(ptr) AccessChain 138 32 Store 142 141 143: 11(bool) CompositeExtract 135 1 144: 8(int) Select 143 52 51 145: 54(ptr) AccessChain 136 32 Store 145 144 146:12(MyStruct) CompositeExtract 132 1 147: 22(ptr) AccessChain 134 32 148: 10 CompositeExtract 146 0 149: 43(ptr) AccessChain 147 21 150: 7(fvec2) CompositeExtract 148 0 151: 46(ptr) AccessChain 149 21 Store 151 150 152: 7(fvec2) CompositeExtract 148 1 153: 46(ptr) AccessChain 149 32 Store 153 152 154: 11(bool) CompositeExtract 146 1 155: 8(int) Select 154 52 51 156: 54(ptr) AccessChain 147 32 Store 156 155 Return FunctionEnd