spv.boolInBlock.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 107

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 75
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              Name 4  "main"
                              Name 14  "foo(vb4;vb2;"
                              Name 12  "paramb4"
                              Name 13  "paramb2"
                              Name 17  "b1"
                              Name 24  "Buffer"
                              MemberName 24(Buffer) 0  "b2"
                              Name 26  ""
                              Name 39  "Uniform"
                              MemberName 39(Uniform) 0  "b4"
                              Name 41  ""
                              Name 62  "param"
                              Name 67  "param"
                              Name 75  "fragColor"
                              MemberDecorate 24(Buffer) 0 Offset 0
                              Decorate 24(Buffer) BufferBlock
                              Decorate 26 DescriptorSet 0
                              Decorate 26 Binding 1
                              MemberDecorate 39(Uniform) 0 Offset 0
                              Decorate 39(Uniform) Block
                              Decorate 41 DescriptorSet 0
                              Decorate 41 Binding 0
                              Decorate 75(fragColor) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeBool
               7:             TypeVector 6(bool) 4
               8:             TypePointer Function 7(bvec4)
               9:             TypeVector 6(bool) 2
              10:             TypePointer Function 9(bvec2)
              11:             TypeFunction 2 8(ptr) 10(ptr)
              16:             TypePointer Function 6(bool)
              22:             TypeInt 32 0
              23:             TypeVector 22(int) 2
      24(Buffer):             TypeStruct 23(ivec2)
              25:             TypePointer Uniform 24(Buffer)
              26:     25(ptr) Variable Uniform
              27:             TypeInt 32 1
              28:     27(int) Constant 0
              29:     6(bool) ConstantFalse
              30:    9(bvec2) ConstantComposite 29 29
              31:     22(int) Constant 0
              32:   23(ivec2) ConstantComposite 31 31
              33:     22(int) Constant 1
              34:   23(ivec2) ConstantComposite 33 33
              36:             TypePointer Uniform 23(ivec2)
              38:             TypeVector 22(int) 4
     39(Uniform):             TypeStruct 38(ivec4)
              40:             TypePointer Uniform 39(Uniform)
              41:     40(ptr) Variable Uniform
              42:             TypePointer Uniform 38(ivec4)
              65:   38(ivec4) ConstantComposite 31 31 31 31
              72:             TypeFloat 32
              73:             TypeVector 72(float) 4
              74:             TypePointer Output 73(fvec4)
   75(fragColor):     74(ptr) Variable Output
              87:   72(float) Constant 0
              88:   72(float) Constant 1065353216
         4(main):           2 Function None 3
               5:             Label
       62(param):      8(ptr) Variable Function
       67(param):     10(ptr) Variable Function
              35:   23(ivec2) Select 30 34 32
              37:     36(ptr) AccessChain 26 28
                              Store 37 35
              43:     42(ptr) AccessChain 41 28
              44:   38(ivec4) Load 43
              45:     22(int) CompositeExtract 44 2
              46:     6(bool) INotEqual 45 31
                              SelectionMerge 48 None
                              BranchConditional 46 47 48
              47:               Label
              49:     42(ptr)   AccessChain 41 28
              50:   38(ivec4)   Load 49
              51:     22(int)   CompositeExtract 50 0
              52:     6(bool)   INotEqual 51 31
              53:    9(bvec2)   CompositeConstruct 52 52
              54:   23(ivec2)   Select 53 34 32
              55:     36(ptr)   AccessChain 26 28
                                Store 55 54
                                Branch 48
              48:             Label
              56:     36(ptr) AccessChain 26 28
              57:   23(ivec2) Load 56
              58:     22(int) CompositeExtract 57 0
              59:     6(bool) INotEqual 58 31
                              SelectionMerge 61 None
                              BranchConditional 59 60 61
              60:               Label
              63:     42(ptr)   AccessChain 41 28
              64:   38(ivec4)   Load 63
              66:    7(bvec4)   INotEqual 64 65
                                Store 62(param) 66
              68:           2   FunctionCall 14(foo(vb4;vb2;) 62(param) 67(param)
              69:    9(bvec2)   Load 67(param)
              70:   23(ivec2)   Select 69 34 32
              71:     36(ptr)   AccessChain 26 28
                                Store 71 70
                                Branch 61
              61:             Label
              76:     42(ptr) AccessChain 41 28
              77:   38(ivec4) Load 76
              78:     22(int) CompositeExtract 77 0
              79:     6(bool) INotEqual 78 31
                              SelectionMerge 81 None
                              BranchConditional 79 80 81
              80:               Label
              82:     42(ptr)   AccessChain 41 28
              83:   38(ivec4)   Load 82
              84:     22(int)   CompositeExtract 83 1
              85:     6(bool)   INotEqual 84 31
                                Branch 81
              81:             Label
              86:     6(bool) Phi 79 61 85 80
              89:   72(float) Select 86 88 87
              90:   73(fvec4) CompositeConstruct 89 89 89 89
                              Store 75(fragColor) 90
              91:     42(ptr) AccessChain 41 28
              92:   38(ivec4) Load 91
              93:     22(int) CompositeExtract 92 0
              94:     6(bool) INotEqual 93 31
              95:     6(bool) LogicalNot 94
                              SelectionMerge 97 None
                              BranchConditional 95 96 97
              96:               Label
              98:     42(ptr)   AccessChain 41 28
              99:   38(ivec4)   Load 98
             100:     22(int)   CompositeExtract 99 1
             101:     6(bool)   INotEqual 100 31
                                Branch 97
              97:             Label
             102:     6(bool) Phi 94 81 101 96
             103:   72(float) Select 102 88 87
             104:   73(fvec4) CompositeConstruct 103 103 103 103
             105:   73(fvec4) Load 75(fragColor)
             106:   73(fvec4) FSub 105 104
                              Store 75(fragColor) 106
                              Return
                              FunctionEnd
14(foo(vb4;vb2;):           2 Function None 11
     12(paramb4):      8(ptr) FunctionParameter
     13(paramb2):     10(ptr) FunctionParameter
              15:             Label
          17(b1):     16(ptr) Variable Function
              18:    7(bvec4) Load 12(paramb4)
              19:     6(bool) CompositeExtract 18 2
                              Store 17(b1) 19
              20:     6(bool) Load 17(b1)
              21:    9(bvec2) CompositeConstruct 20 20
                              Store 13(paramb2) 21
                              Return
                              FunctionEnd
