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

                              Capability Shader
                              Capability Int16
                              Capability StorageUniformBufferBlock16
                              Capability StorageUniform16
                              Extension  "SPV_AMD_gpu_shader_int16"
                              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
