spv.load.bool.array.interface.block.frag
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 80

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 77
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 11  "ssbo"
                              MemberName 11(ssbo) 0  "bo"
                              Name 13  ""
                              Name 18  "ub"
                              MemberName 18(ub) 0  "bi"
                              Name 20  ""
                              Name 77  "color"
                              Decorate 8 ArrayStride 4
                              Decorate 10 ArrayStride 12
                              MemberDecorate 11(ssbo) 0 Offset 0
                              Decorate 11(ssbo) BufferBlock
                              Decorate 13 DescriptorSet 0
                              Decorate 13 Binding 1
                              Decorate 16 ArrayStride 16
                              Decorate 17 ArrayStride 48
                              MemberDecorate 18(ub) 0 Offset 0
                              Decorate 18(ub) Block
                              Decorate 20 DescriptorSet 0
                              Decorate 20 Binding 0
                              Decorate 77(color) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:      6(int) Constant 3
               8:             TypeArray 6(int) 7
               9:      6(int) Constant 2
              10:             TypeArray 8 9
        11(ssbo):             TypeStruct 10
              12:             TypePointer Uniform 11(ssbo)
              13:     12(ptr) Variable Uniform
              14:             TypeInt 32 1
              15:     14(int) Constant 0
              16:             TypeArray 6(int) 7
              17:             TypeArray 16 9
          18(ub):             TypeStruct 17
              19:             TypePointer Uniform 18(ub)
              20:     19(ptr) Variable Uniform
              21:             TypePointer Uniform 17
              24:             TypeBool
              25:             TypeArray 24(bool) 7
              26:             TypeArray 25 9
              29:      6(int) Constant 0
              45:             TypePointer Uniform 10
              48:             TypePointer Uniform 8
              51:      6(int) Constant 1
              53:             TypePointer Uniform 6(int)
              56:     14(int) Constant 1
              60:     14(int) Constant 2
              74:             TypeFloat 32
              75:             TypeVector 74(float) 4
              76:             TypePointer Output 75(fvec4)
       77(color):     76(ptr) Variable Output
              78:   74(float) Constant 0
              79:   75(fvec4) ConstantComposite 78 78 78 78
         4(main):           2 Function None 3
               5:             Label
              22:     21(ptr) AccessChain 20 15
              23:          17 Load 22
              27:          16 CompositeExtract 23 0
              28:      6(int) CompositeExtract 27 0
              30:    24(bool) INotEqual 28 29
              31:      6(int) CompositeExtract 27 1
              32:    24(bool) INotEqual 31 29
              33:      6(int) CompositeExtract 27 2
              34:    24(bool) INotEqual 33 29
              35:          25 CompositeConstruct 30 32 34
              36:          16 CompositeExtract 23 1
              37:      6(int) CompositeExtract 36 0
              38:    24(bool) INotEqual 37 29
              39:      6(int) CompositeExtract 36 1
              40:    24(bool) INotEqual 39 29
              41:      6(int) CompositeExtract 36 2
              42:    24(bool) INotEqual 41 29
              43:          25 CompositeConstruct 38 40 42
              44:          26 CompositeConstruct 35 43
              46:     45(ptr) AccessChain 13 15
              47:          25 CompositeExtract 44 0
              49:     48(ptr) AccessChain 46 15
              50:    24(bool) CompositeExtract 47 0
              52:      6(int) Select 50 51 29
              54:     53(ptr) AccessChain 49 15
                              Store 54 52
              55:    24(bool) CompositeExtract 47 1
              57:      6(int) Select 55 51 29
              58:     53(ptr) AccessChain 49 56
                              Store 58 57
              59:    24(bool) CompositeExtract 47 2
              61:      6(int) Select 59 51 29
              62:     53(ptr) AccessChain 49 60
                              Store 62 61
              63:          25 CompositeExtract 44 1
              64:     48(ptr) AccessChain 46 56
              65:    24(bool) CompositeExtract 63 0
              66:      6(int) Select 65 51 29
              67:     53(ptr) AccessChain 64 15
                              Store 67 66
              68:    24(bool) CompositeExtract 63 1
              69:      6(int) Select 68 51 29
              70:     53(ptr) AccessChain 64 56
                              Store 70 69
              71:    24(bool) CompositeExtract 63 2
              72:      6(int) Select 71 51 29
              73:     53(ptr) AccessChain 64 60
                              Store 73 72
                              Store 77(color) 79
                              Return
                              FunctionEnd
