spv.bool.vert
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 46

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 24
                              Source GLSL 450
                              Name 4  "main"
                              Name 10  "foo(b1;"
                              Name 9  "b"
                              Name 22  "gl_PerVertex"
                              MemberName 22(gl_PerVertex) 0  "gl_Position"
                              MemberName 22(gl_PerVertex) 1  "gl_PointSize"
                              MemberName 22(gl_PerVertex) 2  "gl_ClipDistance"
                              MemberName 22(gl_PerVertex) 3  "gl_CullDistance"
                              Name 24  ""
                              Name 27  "ubname"
                              MemberName 27(ubname) 0  "b"
                              Name 29  "ubinst"
                              Name 30  "param"
                              MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position
                              MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize
                              MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance
                              MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance
                              Decorate 22(gl_PerVertex) Block
                              MemberDecorate 27(ubname) 0 Offset 0
                              Decorate 27(ubname) Block
                              Decorate 29(ubinst) DescriptorSet 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeBool
               7:             TypePointer Function 6(bool)
               8:             TypeFunction 6(bool) 7(ptr)
              13:     6(bool) ConstantFalse
              17:             TypeFloat 32
              18:             TypeVector 17(float) 4
              19:             TypeInt 32 0
              20:     19(int) Constant 1
              21:             TypeArray 17(float) 20
22(gl_PerVertex):             TypeStruct 18(fvec4) 17(float) 21 21
              23:             TypePointer Output 22(gl_PerVertex)
              24:     23(ptr) Variable Output
              25:             TypeInt 32 1
              26:     25(int) Constant 0
      27(ubname):             TypeStruct 19(int)
              28:             TypePointer Uniform 27(ubname)
      29(ubinst):     28(ptr) Variable Uniform
              31:             TypePointer Uniform 19(int)
              34:     19(int) Constant 0
              37:   17(float) Constant 0
              38:   18(fvec4) ConstantComposite 37 37 37 37
              39:   17(float) Constant 1065353216
              40:   18(fvec4) ConstantComposite 39 39 39 39
              41:             TypeVector 6(bool) 4
              44:             TypePointer Output 18(fvec4)
         4(main):           2 Function None 3
               5:             Label
       30(param):      7(ptr) Variable Function
              32:     31(ptr) AccessChain 29(ubinst) 26
              33:     19(int) Load 32
              35:     6(bool) INotEqual 33 34
                              Store 30(param) 35
              36:     6(bool) FunctionCall 10(foo(b1;) 30(param)
              42:   41(bvec4) CompositeConstruct 36 36 36 36
              43:   18(fvec4) Select 42 38 40
              45:     44(ptr) AccessChain 24 26
                              Store 45 43
                              Return
                              FunctionEnd
     10(foo(b1;):     6(bool) Function None 8
            9(b):      7(ptr) FunctionParameter
              11:             Label
              12:     6(bool) Load 9(b)
              14:     6(bool) LogicalNotEqual 12 13
                              ReturnValue 14
                              FunctionEnd
