spv.16bitstorage.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 173

                              Capability Shader
                              Capability StorageUniformBufferBlock16
                              Capability StorageUniform16
                              Extension  "SPV_KHR_16bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_shader_16bit_storage"
                              Name 4  "main"
                              Name 12  "S"
                              MemberName 12(S) 0  "x"
                              MemberName 12(S) 1  "y"
                              MemberName 12(S) 2  "z"
                              Name 17  "B2"
                              MemberName 17(B2) 0  "o"
                              MemberName 17(B2) 1  "p"
                              MemberName 17(B2) 2  "q"
                              MemberName 17(B2) 3  "r"
                              MemberName 17(B2) 4  "u"
                              MemberName 17(B2) 5  "v"
                              MemberName 17(B2) 6  "x"
                              MemberName 17(B2) 7  "w"
                              Name 19  "b2"
                              Name 23  "S"
                              MemberName 23(S) 0  "x"
                              MemberName 23(S) 1  "y"
                              MemberName 23(S) 2  "z"
                              Name 25  "B1"
                              MemberName 25(B1) 0  "a"
                              MemberName 25(B1) 1  "b"
                              MemberName 25(B1) 2  "c"
                              MemberName 25(B1) 3  "d"
                              MemberName 25(B1) 4  "g"
                              MemberName 25(B1) 5  "h"
                              MemberName 25(B1) 6  "j"
                              Name 27  "b1"
                              Name 46  "S"
                              MemberName 46(S) 0  "x"
                              MemberName 46(S) 1  "y"
                              MemberName 46(S) 2  "z"
                              Name 50  "B5"
                              MemberName 50(B5) 0  "o"
                              MemberName 50(B5) 1  "p"
                              MemberName 50(B5) 2  "q"
                              MemberName 50(B5) 3  "r"
                              MemberName 50(B5) 4  "u"
                              MemberName 50(B5) 5  "v"
                              MemberName 50(B5) 6  "x"
                              MemberName 50(B5) 7  "w"
                              Name 52  "b5"
                              Name 70  "x0"
                              Name 76  "x1"
                              Name 88  "S2"
                              MemberName 88(S2) 0  "x"
                              MemberName 88(S2) 1  "y"
                              MemberName 88(S2) 2  "z"
                              Name 89  "S3"
                              MemberName 89(S3) 0  "x"
                              Name 90  "B4"
                              MemberName 90(B4) 0  "x"
                              MemberName 90(B4) 1  "y"
                              Name 92  "b4"
                              Name 93  "S2"
                              MemberName 93(S2) 0  "x"
                              MemberName 93(S2) 1  "y"
                              MemberName 93(S2) 2  "z"
                              Name 94  "B3"
                              MemberName 94(B3) 0  "x"
                              Name 96  "b3"
                              Name 113  "v3"
                              Name 135  "u3"
                              Decorate 11 ArrayStride 2
                              MemberDecorate 12(S) 0 Offset 0
                              MemberDecorate 12(S) 1 Offset 4
                              MemberDecorate 12(S) 2 Offset 8
                              Decorate 13 ArrayStride 16
                              Decorate 15 ArrayStride 4
                              Decorate 16 ArrayStride 2
                              MemberDecorate 17(B2) 0 Offset 0
                              MemberDecorate 17(B2) 1 Offset 4
                              MemberDecorate 17(B2) 2 Offset 8
                              MemberDecorate 17(B2) 3 Offset 14
                              MemberDecorate 17(B2) 4 Offset 24
                              MemberDecorate 17(B2) 5 Offset 40
                              MemberDecorate 17(B2) 6 Offset 72
                              MemberDecorate 17(B2) 7 Offset 472
                              Decorate 17(B2) BufferBlock
                              Decorate 19(b2) DescriptorSet 0
                              Decorate 19(b2) Binding 1
                              Decorate 22 ArrayStride 16
                              MemberDecorate 23(S) 0 Offset 0
                              MemberDecorate 23(S) 1 Offset 4
                              MemberDecorate 23(S) 2 Offset 8
                              Decorate 24 ArrayStride 16
                              MemberDecorate 25(B1) 0 Offset 0
                              MemberDecorate 25(B1) 1 Offset 4
                              MemberDecorate 25(B1) 2 Offset 8
                              MemberDecorate 25(B1) 3 Offset 16
                              MemberDecorate 25(B1) 4 Offset 48
                              MemberDecorate 25(B1) 5 Offset 64
                              MemberDecorate 25(B1) 6 Offset 96
                              Decorate 25(B1) Block
                              Decorate 27(b1) DescriptorSet 0
                              Decorate 27(b1) Binding 0
                              Decorate 45 ArrayStride 16
                              MemberDecorate 46(S) 0 Offset 0
                              MemberDecorate 46(S) 1 Offset 4
                              MemberDecorate 46(S) 2 Offset 8
                              Decorate 47 ArrayStride 16
                              Decorate 48 ArrayStride 16
                              Decorate 49 ArrayStride 16
                              MemberDecorate 50(B5) 0 Offset 0
                              MemberDecorate 50(B5) 1 Offset 4
                              MemberDecorate 50(B5) 2 Offset 8
                              MemberDecorate 50(B5) 3 Offset 16
                              MemberDecorate 50(B5) 4 Offset 48
                              MemberDecorate 50(B5) 5 Offset 64
                              MemberDecorate 50(B5) 6 Offset 96
                              MemberDecorate 50(B5) 7 Offset 1696
                              Decorate 50(B5) Block
                              Decorate 52(b5) DescriptorSet 0
                              Decorate 52(b5) Binding 2
                              MemberDecorate 88(S2) 0 ColMajor
                              MemberDecorate 88(S2) 0 Offset 0
                              MemberDecorate 88(S2) 0 MatrixStride 16
                              MemberDecorate 88(S2) 1 Offset 64
                              MemberDecorate 88(S2) 2 Offset 68
                              MemberDecorate 89(S3) 0 Offset 0
                              MemberDecorate 90(B4) 0 Offset 0
                              MemberDecorate 90(B4) 1 Offset 80
                              Decorate 90(B4) BufferBlock
                              Decorate 92(b4) DescriptorSet 0
                              Decorate 92(b4) Binding 4
                              MemberDecorate 93(S2) 0 RowMajor
                              MemberDecorate 93(S2) 0 Offset 0
                              MemberDecorate 93(S2) 0 MatrixStride 16
                              MemberDecorate 93(S2) 1 Offset 64
                              MemberDecorate 93(S2) 2 Offset 68
                              MemberDecorate 94(B3) 0 Offset 0
                              Decorate 94(B3) BufferBlock
                              Decorate 96(b3) DescriptorSet 0
                              Decorate 96(b3) Binding 3
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 16
               7:             TypeVector 6(float16_t) 2
               8:             TypeVector 6(float16_t) 3
               9:             TypeInt 32 0
              10:      9(int) Constant 2
              11:             TypeArray 6(float16_t) 10
           12(S):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
              13:             TypeArray 12(S) 10
              14:      9(int) Constant 100
              15:             TypeArray 7(f16vec2) 14
              16:             TypeRuntimeArray 6(float16_t)
          17(B2):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 11 12(S) 13 15 16
              18:             TypePointer Uniform 17(B2)
          19(b2):     18(ptr) Variable Uniform
              20:             TypeInt 32 1
              21:     20(int) Constant 0
              22:             TypeArray 6(float16_t) 10
           23(S):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
              24:             TypeArray 23(S) 10
          25(B1):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 22 23(S) 24 20(int)
              26:             TypePointer Uniform 25(B1)
          27(b1):     26(ptr) Variable Uniform
              28:             TypePointer Uniform 6(float16_t)
              32:     20(int) Constant 1
              33:     20(int) Constant 2
              34:             TypePointer Uniform 8(f16vec3)
              37:             TypeFloat 32
              38:             TypeVector 37(float) 3
              40:             TypeVector 37(float) 2
              43:             TypePointer Uniform 7(f16vec2)
              45:             TypeArray 6(float16_t) 10
           46(S):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3)
              47:             TypeArray 46(S) 10
              48:             TypeArray 7(f16vec2) 14
              49:             TypeArray 6(float16_t) 14
          50(B5):             TypeStruct 6(float16_t) 7(f16vec2) 8(f16vec3) 45 46(S) 47 48 49
              51:             TypePointer Uniform 50(B5)
          52(b5):     51(ptr) Variable Uniform
              59:     20(int) Constant 3
              69:             TypePointer Function 37(float)
              74:             TypeVector 37(float) 4
              75:             TypePointer Function 74(fvec4)
              83:   37(float) Constant 1065353216
              87:             TypeMatrix 74(fvec4) 4
          88(S2):             TypeStruct 87 6(float16_t) 37(float)
          89(S3):             TypeStruct 88(S2)
          90(B4):             TypeStruct 88(S2) 89(S3)
              91:             TypePointer Uniform 90(B4)
          92(b4):     91(ptr) Variable Uniform
          93(S2):             TypeStruct 87 6(float16_t) 37(float)
          94(B3):             TypeStruct 93(S2)
              95:             TypePointer Uniform 94(B3)
          96(b3):     95(ptr) Variable Uniform
              97:             TypePointer Uniform 87
             104:      9(int) Constant 0
             108:     20(int) Constant 5
             112:             TypePointer Function 38(fvec3)
             114:     20(int) Constant 7
             115:     20(int) Constant 6
             116:             TypePointer Uniform 20(int)
             166:   37(float) Constant 1073741824
             167:   40(fvec2) ConstantComposite 83 166
             170:   37(float) Constant 1077936128
         4(main):           2 Function None 3
               5:             Label
          70(x0):     69(ptr) Variable Function
          76(x1):     75(ptr) Variable Function
         113(v3):    112(ptr) Variable Function
         135(u3):    112(ptr) Variable Function
              29:     28(ptr) AccessChain 27(b1) 21
              30:6(float16_t) Load 29
              31:     28(ptr) AccessChain 19(b2) 21
                              Store 31 30
              35:     34(ptr) AccessChain 19(b2) 33
              36:  8(f16vec3) Load 35
              39:   38(fvec3) FConvert 36
              41:   40(fvec2) VectorShuffle 39 39 0 1
              42:  7(f16vec2) FConvert 41
              44:     43(ptr) AccessChain 19(b2) 32
                              Store 44 42
              53:     34(ptr) AccessChain 52(b5) 33
              54:  8(f16vec3) Load 53
              55:   38(fvec3) FConvert 54
              56:   40(fvec2) VectorShuffle 55 55 0 1
              57:  7(f16vec2) FConvert 56
              58:     43(ptr) AccessChain 19(b2) 32
                              Store 58 57
              60:     28(ptr) AccessChain 19(b2) 59 21
              61:6(float16_t) Load 60
              62:     28(ptr) AccessChain 19(b2) 59 21
                              Store 62 61
              63:     28(ptr) AccessChain 52(b5) 59 32
              64:6(float16_t) Load 63
              65:     28(ptr) AccessChain 19(b2) 59 32
                              Store 65 64
              66:     43(ptr) AccessChain 19(b2) 32
              67:  7(f16vec2) Load 66
              68:     43(ptr) AccessChain 19(b2) 32
                              Store 68 67
              71:     28(ptr) AccessChain 27(b1) 21
              72:6(float16_t) Load 71
              73:   37(float) FConvert 72
                              Store 70(x0) 73
              77:     28(ptr) AccessChain 27(b1) 21
              78:6(float16_t) Load 77
              79:   37(float) FConvert 78
              80:     43(ptr) AccessChain 19(b2) 32
              81:  7(f16vec2) Load 80
              82:   40(fvec2) FConvert 81
              84:   37(float) CompositeExtract 82 0
              85:   37(float) CompositeExtract 82 1
              86:   74(fvec4) CompositeConstruct 79 84 85 83
                              Store 76(x1) 86
              98:     97(ptr) AccessChain 96(b3) 21 21
              99:          87 Load 98
             100:     97(ptr) AccessChain 92(b4) 21 21
                              Store 100 99
             101:     43(ptr) AccessChain 19(b2) 32
             102:  7(f16vec2) Load 101
             103:   40(fvec2) FConvert 102
             105:   37(float) CompositeExtract 103 0
             106:6(float16_t) FConvert 105
             107:     28(ptr) AccessChain 19(b2) 21
                              Store 107 106
             109:     43(ptr) AccessChain 19(b2) 108 32 32
             110:  7(f16vec2) Load 109
             111:     43(ptr) AccessChain 19(b2) 32
                              Store 111 110
             117:    116(ptr) AccessChain 27(b1) 115
             118:     20(int) Load 117
             119:     28(ptr) AccessChain 19(b2) 114 118
             120:6(float16_t) Load 119
             121:   37(float) FConvert 120
             122:    116(ptr) AccessChain 27(b1) 115
             123:     20(int) Load 122
             124:     20(int) IAdd 123 32
             125:     28(ptr) AccessChain 19(b2) 114 124
             126:6(float16_t) Load 125
             127:   37(float) FConvert 126
             128:    116(ptr) AccessChain 27(b1) 115
             129:     20(int) Load 128
             130:     20(int) IAdd 129 33
             131:     28(ptr) AccessChain 19(b2) 114 130
             132:6(float16_t) Load 131
             133:   37(float) FConvert 132
             134:   38(fvec3) CompositeConstruct 121 127 133
                              Store 113(v3) 134
             136:    116(ptr) AccessChain 27(b1) 115
             137:     20(int) Load 136
             138:     28(ptr) AccessChain 52(b5) 114 137
             139:6(float16_t) Load 138
             140:   37(float) FConvert 139
             141:    116(ptr) AccessChain 27(b1) 115
             142:     20(int) Load 141
             143:     20(int) IAdd 142 32
             144:     28(ptr) AccessChain 52(b5) 114 143
             145:6(float16_t) Load 144
             146:   37(float) FConvert 145
             147:    116(ptr) AccessChain 27(b1) 115
             148:     20(int) Load 147
             149:     20(int) IAdd 148 33
             150:     28(ptr) AccessChain 52(b5) 114 149
             151:6(float16_t) Load 150
             152:   37(float) FConvert 151
             153:   38(fvec3) CompositeConstruct 140 146 152
                              Store 135(u3) 153
             154:     43(ptr) AccessChain 19(b2) 115 21
             155:  7(f16vec2) Load 154
             156:     43(ptr) AccessChain 19(b2) 115 21
                              Store 156 155
             157:     43(ptr) AccessChain 52(b5) 115 32
             158:  7(f16vec2) Load 157
             159:     43(ptr) AccessChain 19(b2) 115 32
                              Store 159 158
             160:     28(ptr) AccessChain 27(b1) 21
             161:6(float16_t) Load 160
             162:     28(ptr) AccessChain 19(b2) 32 104
                              Store 162 161
             163:     28(ptr) AccessChain 19(b2) 32 104
             164:6(float16_t) Load 163
             165:     28(ptr) AccessChain 19(b2) 21
                              Store 165 164
             168:  7(f16vec2) FConvert 167
             169:     43(ptr) AccessChain 19(b2) 32
                              Store 169 168
             171:6(float16_t) FConvert 170
             172:     28(ptr) AccessChain 19(b2) 21
                              Store 172 171
                              Return
                              FunctionEnd
