spv.16bitstorage-uint.frag
// Module Version 10000
// Generated by (magic number): 80007
// 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 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 89  "S2"
                              MemberName 89(S2) 0  "x"
                              MemberName 89(S2) 1  "y"
                              MemberName 89(S2) 2  "z"
                              Name 90  "S3"
                              MemberName 90(S3) 0  "x"
                              Name 91  "B4"
                              MemberName 91(B4) 0  "x"
                              MemberName 91(B4) 1  "y"
                              Name 93  "b4"
                              Name 94  "S2"
                              MemberName 94(S2) 0  "x"
                              MemberName 94(S2) 1  "y"
                              MemberName 94(S2) 2  "z"
                              Name 95  "B3"
                              MemberName 95(B3) 0  "x"
                              Name 97  "b3"
                              Name 114  "v3"
                              Name 136  "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 89(S2) 0 ColMajor
                              MemberDecorate 89(S2) 0 Offset 0
                              MemberDecorate 89(S2) 0 MatrixStride 16
                              MemberDecorate 89(S2) 1 Offset 64
                              MemberDecorate 89(S2) 2 Offset 68
                              MemberDecorate 90(S3) 0 Offset 0
                              MemberDecorate 91(B4) 0 Offset 0
                              MemberDecorate 91(B4) 1 Offset 80
                              Decorate 91(B4) BufferBlock
                              Decorate 93(b4) DescriptorSet 0
                              MemberDecorate 94(S2) 0 RowMajor
                              MemberDecorate 94(S2) 0 Offset 0
                              MemberDecorate 94(S2) 0 MatrixStride 16
                              MemberDecorate 94(S2) 1 Offset 64
                              MemberDecorate 94(S2) 2 Offset 68
                              MemberDecorate 95(B3) 0 Offset 0
                              Decorate 95(B3) BufferBlock
                              Decorate 97(b3) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 16 0
               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 9(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 9(int) 3
              39:             TypeVector 9(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 9(int)
              73:             TypeVector 9(int) 4
              74:             TypePointer Function 73(ivec4)
              82:      9(int) Constant 1
              86:             TypeFloat 32
              87:             TypeVector 86(float) 4
              88:             TypeMatrix 87(fvec4) 4
          89(S2):             TypeStruct 88 6(int16_t) 9(int)
          90(S3):             TypeStruct 89(S2)
          91(B4):             TypeStruct 89(S2) 90(S3)
              92:             TypePointer Uniform 91(B4)
          93(b4):     92(ptr) Variable Uniform
          94(S2):             TypeStruct 88 6(int16_t) 9(int)
          95(B3):             TypeStruct 94(S2)
              96:             TypePointer Uniform 95(B3)
          97(b3):     96(ptr) Variable Uniform
              98:             TypePointer Uniform 88
             105:      9(int) Constant 0
             109:     20(int) Constant 5
             113:             TypePointer Function 37(ivec3)
             115:     20(int) Constant 7
             116:     20(int) Constant 6
             117:             TypePointer Uniform 9(int)
             167:   39(ivec2) ConstantComposite 82 10
             170:      9(int) Constant 3
         4(main):           2 Function None 3
               5:             Label
          69(x0):     68(ptr) Variable Function
          75(x1):     74(ptr) Variable Function
         114(v3):    113(ptr) Variable Function
         136(u3):    113(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) UConvert 36
              40:   39(ivec2) VectorShuffle 38 38 0 1
              41:  7(i16vec2) UConvert 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) UConvert 53
              55:   39(ivec2) VectorShuffle 54 54 0 1
              56:  7(i16vec2) UConvert 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:      9(int) UConvert 71
                              Store 69(x0) 72
              76:     28(ptr) AccessChain 27(b1) 21
              77:  6(int16_t) Load 76
              78:      9(int) UConvert 77
              79:     42(ptr) AccessChain 19(b2) 32
              80:  7(i16vec2) Load 79
              81:   39(ivec2) UConvert 80
              83:      9(int) CompositeExtract 81 0
              84:      9(int) CompositeExtract 81 1
              85:   73(ivec4) CompositeConstruct 78 83 84 82
                              Store 75(x1) 85
              99:     98(ptr) AccessChain 97(b3) 21 21
             100:          88 Load 99
             101:     98(ptr) AccessChain 93(b4) 21 21
                              Store 101 100
             102:     42(ptr) AccessChain 19(b2) 32
             103:  7(i16vec2) Load 102
             104:   39(ivec2) UConvert 103
             106:      9(int) CompositeExtract 104 0
             107:  6(int16_t) UConvert 106
             108:     28(ptr) AccessChain 19(b2) 21
                              Store 108 107
             110:     42(ptr) AccessChain 19(b2) 109 32 32
             111:  7(i16vec2) Load 110
             112:     42(ptr) AccessChain 19(b2) 32
                              Store 112 111
             118:    117(ptr) AccessChain 27(b1) 116
             119:      9(int) Load 118
             120:     28(ptr) AccessChain 19(b2) 115 119
             121:  6(int16_t) Load 120
             122:      9(int) UConvert 121
             123:    117(ptr) AccessChain 27(b1) 116
             124:      9(int) Load 123
             125:      9(int) IAdd 124 82
             126:     28(ptr) AccessChain 19(b2) 115 125
             127:  6(int16_t) Load 126
             128:      9(int) UConvert 127
             129:    117(ptr) AccessChain 27(b1) 116
             130:      9(int) Load 129
             131:      9(int) IAdd 130 10
             132:     28(ptr) AccessChain 19(b2) 115 131
             133:  6(int16_t) Load 132
             134:      9(int) UConvert 133
             135:   37(ivec3) CompositeConstruct 122 128 134
                              Store 114(v3) 135
             137:    117(ptr) AccessChain 27(b1) 116
             138:      9(int) Load 137
             139:     28(ptr) AccessChain 51(b5) 115 138
             140:  6(int16_t) Load 139
             141:      9(int) UConvert 140
             142:    117(ptr) AccessChain 27(b1) 116
             143:      9(int) Load 142
             144:      9(int) IAdd 143 82
             145:     28(ptr) AccessChain 51(b5) 115 144
             146:  6(int16_t) Load 145
             147:      9(int) UConvert 146
             148:    117(ptr) AccessChain 27(b1) 116
             149:      9(int) Load 148
             150:      9(int) IAdd 149 10
             151:     28(ptr) AccessChain 51(b5) 115 150
             152:  6(int16_t) Load 151
             153:      9(int) UConvert 152
             154:   37(ivec3) CompositeConstruct 141 147 153
                              Store 136(u3) 154
             155:     42(ptr) AccessChain 19(b2) 116 21
             156:  7(i16vec2) Load 155
             157:     42(ptr) AccessChain 19(b2) 116 21
                              Store 157 156
             158:     42(ptr) AccessChain 51(b5) 116 32
             159:  7(i16vec2) Load 158
             160:     42(ptr) AccessChain 19(b2) 116 32
                              Store 160 159
             161:     28(ptr) AccessChain 27(b1) 21
             162:  6(int16_t) Load 161
             163:     28(ptr) AccessChain 19(b2) 32 105
                              Store 163 162
             164:     28(ptr) AccessChain 19(b2) 32 105
             165:  6(int16_t) Load 164
             166:     28(ptr) AccessChain 19(b2) 21
                              Store 166 165
             168:  7(i16vec2) UConvert 167
             169:     42(ptr) AccessChain 19(b2) 32
                              Store 169 168
             171:  6(int16_t) UConvert 170
             172:     28(ptr) AccessChain 19(b2) 21
                              Store 172 171
                              Return
                              FunctionEnd
