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

                              Capability Shader
                              Capability Int8
                              Capability CapabilityStorageBuffer8BitAccess
                              Capability CapabilityUniformAndStorageBuffer8BitAccess
                              Extension  "SPV_KHR_8bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main"
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_shader_8bit_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 1
                              MemberDecorate 12(S) 0 Offset 0
                              MemberDecorate 12(S) 1 Offset 2
                              MemberDecorate 12(S) 2 Offset 4
                              Decorate 13 ArrayStride 8
                              Decorate 15 ArrayStride 2
                              Decorate 16 ArrayStride 1
                              MemberDecorate 17(B2) 0 Offset 0
                              MemberDecorate 17(B2) 1 Offset 2
                              MemberDecorate 17(B2) 2 Offset 4
                              MemberDecorate 17(B2) 3 Offset 7
                              MemberDecorate 17(B2) 4 Offset 12
                              MemberDecorate 17(B2) 5 Offset 20
                              MemberDecorate 17(B2) 6 Offset 36
                              MemberDecorate 17(B2) 7 Offset 236
                              Decorate 17(B2) BufferBlock
                              Decorate 19(b2) DescriptorSet 0
                              Decorate 22 ArrayStride 16
                              MemberDecorate 23(S) 0 Offset 0
                              MemberDecorate 23(S) 1 Offset 2
                              MemberDecorate 23(S) 2 Offset 4
                              Decorate 24 ArrayStride 16
                              MemberDecorate 25(B1) 0 Offset 0
                              MemberDecorate 25(B1) 1 Offset 2
                              MemberDecorate 25(B1) 2 Offset 4
                              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 2
                              MemberDecorate 45(S) 2 Offset 4
                              Decorate 46 ArrayStride 16
                              Decorate 47 ArrayStride 16
                              Decorate 48 ArrayStride 16
                              MemberDecorate 49(B5) 0 Offset 0
                              MemberDecorate 49(B5) 1 Offset 2
                              MemberDecorate 49(B5) 2 Offset 4
                              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 8 0
               7:             TypeVector 6(int8_t) 2
               8:             TypeVector 6(int8_t) 3
               9:             TypeInt 32 0
              10:      9(int) Constant 2
              11:             TypeArray 6(int8_t) 10
           12(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
              13:             TypeArray 12(S) 10
              14:      9(int) Constant 100
              15:             TypeArray 7(i8vec2) 14
              16:             TypeRuntimeArray 6(int8_t)
          17(B2):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 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(int8_t) 10
           23(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
              24:             TypeArray 23(S) 10
          25(B1):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 22 23(S) 24 9(int)
              26:             TypePointer Uniform 25(B1)
          27(b1):     26(ptr) Variable Uniform
              28:             TypePointer Uniform 6(int8_t)
              32:     20(int) Constant 1
              33:     20(int) Constant 2
              34:             TypePointer Uniform 8(i8vec3)
              37:             TypeVector 9(int) 3
              39:             TypeVector 9(int) 2
              42:             TypePointer Uniform 7(i8vec2)
              44:             TypeArray 6(int8_t) 10
           45(S):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3)
              46:             TypeArray 45(S) 10
              47:             TypeArray 7(i8vec2) 14
              48:             TypeArray 6(int8_t) 14
          49(B5):             TypeStruct 6(int8_t) 7(i8vec2) 8(i8vec3) 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(int8_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(int8_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(int8_t) Load 29
              31:     28(ptr) AccessChain 19(b2) 21
                              Store 31 30
              35:     34(ptr) AccessChain 19(b2) 33
              36:   8(i8vec3) Load 35
              38:   37(ivec3) UConvert 36
              40:   39(ivec2) VectorShuffle 38 38 0 1
              41:   7(i8vec2) UConvert 40
              43:     42(ptr) AccessChain 19(b2) 32
                              Store 43 41
              52:     34(ptr) AccessChain 51(b5) 33
              53:   8(i8vec3) Load 52
              54:   37(ivec3) UConvert 53
              55:   39(ivec2) VectorShuffle 54 54 0 1
              56:   7(i8vec2) UConvert 55
              57:     42(ptr) AccessChain 19(b2) 32
                              Store 57 56
              59:     28(ptr) AccessChain 19(b2) 58 21
              60:   6(int8_t) Load 59
              61:     28(ptr) AccessChain 19(b2) 58 21
                              Store 61 60
              62:     28(ptr) AccessChain 51(b5) 58 32
              63:   6(int8_t) Load 62
              64:     28(ptr) AccessChain 19(b2) 58 32
                              Store 64 63
              65:     42(ptr) AccessChain 19(b2) 32
              66:   7(i8vec2) Load 65
              67:     42(ptr) AccessChain 19(b2) 32
                              Store 67 66
              70:     28(ptr) AccessChain 27(b1) 21
              71:   6(int8_t) Load 70
              72:      9(int) UConvert 71
                              Store 69(x0) 72
              76:     28(ptr) AccessChain 27(b1) 21
              77:   6(int8_t) Load 76
              78:      9(int) UConvert 77
              79:     42(ptr) AccessChain 19(b2) 32
              80:   7(i8vec2) 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(i8vec2) Load 102
             104:   39(ivec2) UConvert 103
             106:      9(int) CompositeExtract 104 0
             107:   6(int8_t) UConvert 106
             108:     28(ptr) AccessChain 19(b2) 21
                              Store 108 107
             110:     42(ptr) AccessChain 19(b2) 109 32 32
             111:   7(i8vec2) 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(int8_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(int8_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(int8_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(int8_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(int8_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(int8_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(i8vec2) Load 155
             157:     42(ptr) AccessChain 19(b2) 116 21
                              Store 157 156
             158:     42(ptr) AccessChain 51(b5) 116 32
             159:   7(i8vec2) Load 158
             160:     42(ptr) AccessChain 19(b2) 116 32
                              Store 160 159
             161:     28(ptr) AccessChain 27(b1) 21
             162:   6(int8_t) Load 161
             163:     28(ptr) AccessChain 19(b2) 32 105
                              Store 163 162
             164:     28(ptr) AccessChain 19(b2) 32 105
             165:   6(int8_t) Load 164
             166:     28(ptr) AccessChain 19(b2) 21
                              Store 166 165
             168:   7(i8vec2) UConvert 167
             169:     42(ptr) AccessChain 19(b2) 32
                              Store 169 168
             171:   6(int8_t) UConvert 170
             172:     28(ptr) AccessChain 19(b2) 21
                              Store 172 171
                              Return
                              FunctionEnd
