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

                              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 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 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
                              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
                              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
               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:6(float16_t) Constant 15360
             167:6(float16_t) Constant 16384
             168:  7(f16vec2) ConstantComposite 166 167
             170:6(float16_t) Constant 16896
         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
             169:     43(ptr) AccessChain 19(b2) 32
                              Store 169 168
             171:     28(ptr) AccessChain 19(b2) 21
                              Store 171 170
                              Return
                              FunctionEnd
