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

                              Capability Shader
                              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:   6(int8_t) Constant 1
             168:   6(int8_t) Constant 2
             169:   7(i8vec2) ConstantComposite 167 168
             171:   6(int8_t) 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
             170:     42(ptr) AccessChain 19(b2) 32
                              Store 170 169
             172:     28(ptr) AccessChain 19(b2) 21
                              Store 172 171
                              Return
                              FunctionEnd
