spv.16bitstorage-int.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 45  "S"
                              MemberName 45(S) 0  "x"
                              MemberName 45(S) 1  "y"
                              MemberName 45(S) 2  "z"
                              Name 49  "B5"
                              MemberName 49(B5) 0  "o"
                              MemberName 49(B5) 1  "p"
                              MemberName 49(B5) 2  "q"
                              MemberName 49(B5) 3  "r"
                              MemberName 49(B5) 4  "u"
                              MemberName 49(B5) 5  "v"
                              MemberName 49(B5) 6  "x"
                              MemberName 49(B5) 7  "w"
                              Name 51  "b5"
                              Name 69  "x0"
                              Name 75  "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 44 ArrayStride 16
                              MemberDecorate 45(S) 0 Offset 0
                              MemberDecorate 45(S) 1 Offset 4
                              MemberDecorate 45(S) 2 Offset 8
                              Decorate 46 ArrayStride 16
                              Decorate 47 ArrayStride 16
                              Decorate 48 ArrayStride 16
                              MemberDecorate 49(B5) 0 Offset 0
                              MemberDecorate 49(B5) 1 Offset 4
                              MemberDecorate 49(B5) 2 Offset 8
                              MemberDecorate 49(B5) 3 Offset 16
                              MemberDecorate 49(B5) 4 Offset 48
                              MemberDecorate 49(B5) 5 Offset 64
                              MemberDecorate 49(B5) 6 Offset 96
                              MemberDecorate 49(B5) 7 Offset 1696
                              Decorate 49(B5) Block
                              Decorate 51(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:             TypeInt 16 1
               7:             TypeVector 6(int16_t) 2
               8:             TypeVector 6(int16_t) 3
               9:             TypeInt 32 0
              10:      9(int) Constant 2
              11:             TypeArray 6(int16_t) 10
           12(S):             TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
              13:             TypeArray 12(S) 10
              14:      9(int) Constant 100
              15:             TypeArray 7(i16vec2) 14
              16:             TypeRuntimeArray 6(int16_t)
          17(B2):             TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 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(int16_t) 10
           23(S):             TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
              24:             TypeArray 23(S) 10
          25(B1):             TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 22 23(S) 24 20(int)
              26:             TypePointer Uniform 25(B1)
          27(b1):     26(ptr) Variable Uniform
              28:             TypePointer Uniform 6(int16_t)
              32:     20(int) Constant 1
              33:     20(int) Constant 2
              34:             TypePointer Uniform 8(i16vec3)
              37:             TypeVector 20(int) 3
              39:             TypeVector 20(int) 2
              42:             TypePointer Uniform 7(i16vec2)
              44:             TypeArray 6(int16_t) 10
           45(S):             TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3)
              46:             TypeArray 45(S) 10
              47:             TypeArray 7(i16vec2) 14
              48:             TypeArray 6(int16_t) 14
          49(B5):             TypeStruct 6(int16_t) 7(i16vec2) 8(i16vec3) 44 45(S) 46 47 48
              50:             TypePointer Uniform 49(B5)
          51(b5):     50(ptr) Variable Uniform
              58:     20(int) Constant 3
              68:             TypePointer Function 20(int)
              73:             TypeVector 20(int) 4
              74:             TypePointer Function 73(ivec4)
              85:             TypeFloat 32
              86:             TypeVector 85(float) 4
              87:             TypeMatrix 86(fvec4) 4
          88(S2):             TypeStruct 87 6(int16_t) 20(int)
          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(int16_t) 20(int)
          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 37(ivec3)
             114:     20(int) Constant 7
             115:     20(int) Constant 6
             116:             TypePointer Uniform 20(int)
             166:  6(int16_t) Constant 1
             167:  6(int16_t) Constant 2
             168:  7(i16vec2) ConstantComposite 166 167
             170:  6(int16_t) Constant 3
         4(main):           2 Function None 3
               5:             Label
          69(x0):     68(ptr) Variable Function
          75(x1):     74(ptr) Variable Function
         113(v3):    112(ptr) Variable Function
         135(u3):    112(ptr) Variable Function
              29:     28(ptr) AccessChain 27(b1) 21
              30:  6(int16_t) Load 29
              31:     28(ptr) AccessChain 19(b2) 21
                              Store 31 30
              35:     34(ptr) AccessChain 19(b2) 33
              36:  8(i16vec3) Load 35
              38:   37(ivec3) SConvert 36
              40:   39(ivec2) VectorShuffle 38 38 0 1
              41:  7(i16vec2) SConvert 40
              43:     42(ptr) AccessChain 19(b2) 32
                              Store 43 41
              52:     34(ptr) AccessChain 51(b5) 33
              53:  8(i16vec3) Load 52
              54:   37(ivec3) SConvert 53
              55:   39(ivec2) VectorShuffle 54 54 0 1
              56:  7(i16vec2) SConvert 55
              57:     42(ptr) AccessChain 19(b2) 32
                              Store 57 56
              59:     28(ptr) AccessChain 19(b2) 58 21
              60:  6(int16_t) Load 59
              61:     28(ptr) AccessChain 19(b2) 58 21
                              Store 61 60
              62:     28(ptr) AccessChain 51(b5) 58 32
              63:  6(int16_t) Load 62
              64:     28(ptr) AccessChain 19(b2) 58 32
                              Store 64 63
              65:     42(ptr) AccessChain 19(b2) 32
              66:  7(i16vec2) Load 65
              67:     42(ptr) AccessChain 19(b2) 32
                              Store 67 66
              70:     28(ptr) AccessChain 27(b1) 21
              71:  6(int16_t) Load 70
              72:     20(int) SConvert 71
                              Store 69(x0) 72
              76:     28(ptr) AccessChain 27(b1) 21
              77:  6(int16_t) Load 76
              78:     20(int) SConvert 77
              79:     42(ptr) AccessChain 19(b2) 32
              80:  7(i16vec2) Load 79
              81:   39(ivec2) SConvert 80
              82:     20(int) CompositeExtract 81 0
              83:     20(int) CompositeExtract 81 1
              84:   73(ivec4) CompositeConstruct 78 82 83 32
                              Store 75(x1) 84
              98:     97(ptr) AccessChain 96(b3) 21 21
              99:          87 Load 98
             100:     97(ptr) AccessChain 92(b4) 21 21
                              Store 100 99
             101:     42(ptr) AccessChain 19(b2) 32
             102:  7(i16vec2) Load 101
             103:   39(ivec2) SConvert 102
             105:     20(int) CompositeExtract 103 0
             106:  6(int16_t) SConvert 105
             107:     28(ptr) AccessChain 19(b2) 21
                              Store 107 106
             109:     42(ptr) AccessChain 19(b2) 108 32 32
             110:  7(i16vec2) Load 109
             111:     42(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(int16_t) Load 119
             121:     20(int) SConvert 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(int16_t) Load 125
             127:     20(int) SConvert 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(int16_t) Load 131
             133:     20(int) SConvert 132
             134:   37(ivec3) CompositeConstruct 121 127 133
                              Store 113(v3) 134
             136:    116(ptr) AccessChain 27(b1) 115
             137:     20(int) Load 136
             138:     28(ptr) AccessChain 51(b5) 114 137
             139:  6(int16_t) Load 138
             140:     20(int) SConvert 139
             141:    116(ptr) AccessChain 27(b1) 115
             142:     20(int) Load 141
             143:     20(int) IAdd 142 32
             144:     28(ptr) AccessChain 51(b5) 114 143
             145:  6(int16_t) Load 144
             146:     20(int) SConvert 145
             147:    116(ptr) AccessChain 27(b1) 115
             148:     20(int) Load 147
             149:     20(int) IAdd 148 33
             150:     28(ptr) AccessChain 51(b5) 114 149
             151:  6(int16_t) Load 150
             152:     20(int) SConvert 151
             153:   37(ivec3) CompositeConstruct 140 146 152
                              Store 135(u3) 153
             154:     42(ptr) AccessChain 19(b2) 115 21
             155:  7(i16vec2) Load 154
             156:     42(ptr) AccessChain 19(b2) 115 21
                              Store 156 155
             157:     42(ptr) AccessChain 51(b5) 115 32
             158:  7(i16vec2) Load 157
             159:     42(ptr) AccessChain 19(b2) 115 32
                              Store 159 158
             160:     28(ptr) AccessChain 27(b1) 21
             161:  6(int16_t) Load 160
             162:     28(ptr) AccessChain 19(b2) 32 104
                              Store 162 161
             163:     28(ptr) AccessChain 19(b2) 32 104
             164:  6(int16_t) Load 163
             165:     28(ptr) AccessChain 19(b2) 21
                              Store 165 164
             169:     42(ptr) AccessChain 19(b2) 32
                              Store 169 168
             171:     28(ptr) AccessChain 19(b2) 21
                              Store 171 170
                              Return
                              FunctionEnd
