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