spv.multiStruct.comp // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 161 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 39 "SSBO1" MemberName 39(SSBO1) 0 "b" Name 41 "outBuf" Name 58 "MyStruct" MemberName 58(MyStruct) 0 "foo" MemberName 58(MyStruct) 1 "sb" Name 59 "UBO" MemberName 59(UBO) 0 "c" Name 61 "uBuf" Name 86 "Nested" MemberName 86(Nested) 0 "f" MemberName 86(Nested) 1 "S" Name 88 "n" Name 90 "Nested" MemberName 90(Nested) 0 "f" MemberName 90(Nested) 1 "S" Name 91 "UBON" MemberName 91(UBON) 0 "N1" Name 93 "uBufN" Name 126 "Nested" MemberName 126(Nested) 0 "f" MemberName 126(Nested) 1 "S" Name 127 "SSBO1N" MemberName 127(SSBO1N) 0 "N2" Name 129 "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 39(SSBO1) 0 Offset 0 Decorate 39(SSBO1) BufferBlock Decorate 41(outBuf) DescriptorSet 0 Decorate 41(outBuf) Binding 1 Decorate 57 ArrayStride 16 MemberDecorate 58(MyStruct) 0 Offset 0 MemberDecorate 58(MyStruct) 1 Offset 32 MemberDecorate 59(UBO) 0 Offset 0 Decorate 59(UBO) Block Decorate 61(uBuf) DescriptorSet 0 Decorate 61(uBuf) Binding 2 Decorate 89 ArrayStride 48 MemberDecorate 90(Nested) 0 Offset 0 MemberDecorate 90(Nested) 1 Offset 16 MemberDecorate 91(UBON) 0 Offset 0 Decorate 91(UBON) Block Decorate 93(uBufN) DescriptorSet 0 Decorate 93(uBufN) Binding 2 Decorate 125 ArrayStride 24 MemberDecorate 126(Nested) 0 Offset 0 MemberDecorate 126(Nested) 1 Offset 8 MemberDecorate 127(SSBO1N) 0 Offset 0 Decorate 127(SSBO1N) BufferBlock Decorate 129(outBufN) DescriptorSet 0 Decorate 129(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: 8(int) Constant 0 37: TypePointer Function 11(bool) 39(SSBO1): TypeStruct 16(MyStruct) 40: TypePointer Uniform 39(SSBO1) 41(outBuf): 40(ptr) Variable Uniform 45: TypePointer Uniform 15 48: TypePointer Uniform 7(fvec2) 53: 8(int) Constant 1 55: TypePointer Uniform 8(int) 57: TypeArray 7(fvec2) 9 58(MyStruct): TypeStruct 57 8(int) 59(UBO): TypeStruct 58(MyStruct) 60: TypePointer Uniform 59(UBO) 61(uBuf): 60(ptr) Variable Uniform 62: TypePointer Uniform 58(MyStruct) 85: TypeArray 12(MyStruct) 9 86(Nested): TypeStruct 6(float) 85 87: TypePointer Function 86(Nested) 89: TypeArray 58(MyStruct) 9 90(Nested): TypeStruct 6(float) 89 91(UBON): TypeStruct 90(Nested) 92: TypePointer Uniform 91(UBON) 93(uBufN): 92(ptr) Variable Uniform 94: TypePointer Uniform 90(Nested) 98: TypePointer Function 6(float) 101: TypePointer Function 85 125: TypeArray 16(MyStruct) 9 126(Nested): TypeStruct 6(float) 125 127(SSBO1N): TypeStruct 126(Nested) 128: TypePointer Uniform 127(SSBO1N) 129(outBufN): 128(ptr) Variable Uniform 131: TypePointer Uniform 126(Nested) 134: TypePointer Uniform 6(float) 137: TypePointer Uniform 125 4(main): 2 Function None 3 5: Label 14(t): 13(ptr) Variable Function 88(n): 87(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: 11(bool) INotEqual 34 35 38: 37(ptr) AccessChain 14(t) 32 Store 38 36 42:12(MyStruct) Load 14(t) 43: 22(ptr) AccessChain 41(outBuf) 21 44: 10 CompositeExtract 42 0 46: 45(ptr) AccessChain 43 21 47: 7(fvec2) CompositeExtract 44 0 49: 48(ptr) AccessChain 46 21 Store 49 47 50: 7(fvec2) CompositeExtract 44 1 51: 48(ptr) AccessChain 46 32 Store 51 50 52: 11(bool) CompositeExtract 42 1 54: 8(int) Select 52 53 35 56: 55(ptr) AccessChain 43 32 Store 56 54 63: 62(ptr) AccessChain 61(uBuf) 21 64:58(MyStruct) Load 63 65: 57 CompositeExtract 64 0 66: 26(ptr) AccessChain 14(t) 21 67: 7(fvec2) CompositeExtract 65 0 68: 29(ptr) AccessChain 66 21 Store 68 67 69: 7(fvec2) CompositeExtract 65 1 70: 29(ptr) AccessChain 66 32 Store 70 69 71: 8(int) CompositeExtract 64 1 72: 11(bool) INotEqual 71 35 73: 37(ptr) AccessChain 14(t) 32 Store 73 72 74:12(MyStruct) Load 14(t) 75: 22(ptr) AccessChain 41(outBuf) 21 76: 10 CompositeExtract 74 0 77: 45(ptr) AccessChain 75 21 78: 7(fvec2) CompositeExtract 76 0 79: 48(ptr) AccessChain 77 21 Store 79 78 80: 7(fvec2) CompositeExtract 76 1 81: 48(ptr) AccessChain 77 32 Store 81 80 82: 11(bool) CompositeExtract 74 1 83: 8(int) Select 82 53 35 84: 55(ptr) AccessChain 75 32 Store 84 83 95: 94(ptr) AccessChain 93(uBufN) 21 96: 90(Nested) Load 95 97: 6(float) CompositeExtract 96 0 99: 98(ptr) AccessChain 88(n) 21 Store 99 97 100: 89 CompositeExtract 96 1 102: 101(ptr) AccessChain 88(n) 32 103:58(MyStruct) CompositeExtract 100 0 104: 13(ptr) AccessChain 102 21 105: 57 CompositeExtract 103 0 106: 26(ptr) AccessChain 104 21 107: 7(fvec2) CompositeExtract 105 0 108: 29(ptr) AccessChain 106 21 Store 108 107 109: 7(fvec2) CompositeExtract 105 1 110: 29(ptr) AccessChain 106 32 Store 110 109 111: 8(int) CompositeExtract 103 1 112: 11(bool) INotEqual 111 35 113: 37(ptr) AccessChain 104 32 Store 113 112 114:58(MyStruct) CompositeExtract 100 1 115: 13(ptr) AccessChain 102 32 116: 57 CompositeExtract 114 0 117: 26(ptr) AccessChain 115 21 118: 7(fvec2) CompositeExtract 116 0 119: 29(ptr) AccessChain 117 21 Store 119 118 120: 7(fvec2) CompositeExtract 116 1 121: 29(ptr) AccessChain 117 32 Store 121 120 122: 8(int) CompositeExtract 114 1 123: 11(bool) INotEqual 122 35 124: 37(ptr) AccessChain 115 32 Store 124 123 130: 86(Nested) Load 88(n) 132: 131(ptr) AccessChain 129(outBufN) 21 133: 6(float) CompositeExtract 130 0 135: 134(ptr) AccessChain 132 21 Store 135 133 136: 85 CompositeExtract 130 1 138: 137(ptr) AccessChain 132 32 139:12(MyStruct) CompositeExtract 136 0 140: 22(ptr) AccessChain 138 21 141: 10 CompositeExtract 139 0 142: 45(ptr) AccessChain 140 21 143: 7(fvec2) CompositeExtract 141 0 144: 48(ptr) AccessChain 142 21 Store 144 143 145: 7(fvec2) CompositeExtract 141 1 146: 48(ptr) AccessChain 142 32 Store 146 145 147: 11(bool) CompositeExtract 139 1 148: 8(int) Select 147 53 35 149: 55(ptr) AccessChain 140 32 Store 149 148 150:12(MyStruct) CompositeExtract 136 1 151: 22(ptr) AccessChain 138 32 152: 10 CompositeExtract 150 0 153: 45(ptr) AccessChain 151 21 154: 7(fvec2) CompositeExtract 152 0 155: 48(ptr) AccessChain 153 21 Store 155 154 156: 7(fvec2) CompositeExtract 152 1 157: 48(ptr) AccessChain 153 32 Store 157 156 158: 11(bool) CompositeExtract 150 1 159: 8(int) Select 158 53 35 160: 55(ptr) AccessChain 151 32 Store 160 159 Return FunctionEnd