spv.shortCircuit.frag Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. Linked fragment stage: // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 143 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 12 23 ExecutionMode 4 OriginLowerLeft Source GLSL 400 Name 4 "main" Name 8 "foo(" Name 12 "of1" Name 23 "of4" Name 26 "ub" Name 30 "ui" Name 40 "uba" Name 109 "uf" Name 136 "uiv4" Name 138 "uv4" Name 141 "ub41" Name 142 "ub42" 2: TypeVoid 3: TypeFunction 2 6: TypeBool 7: TypeFunction 6(bool) 10: TypeFloat 32 11: TypePointer Output 10(float) 12(of1): 11(ptr) Variable Output 14: 10(float) Constant 1065353216 17: 10(float) Constant 1092616192 20: 10(float) Constant 0 21: TypeVector 10(float) 4 22: TypePointer Output 21(fvec4) 23(of4): 22(ptr) Variable Output 24: 21(fvec4) ConstantComposite 20 20 20 20 25: TypePointer UniformConstant 6(bool) 26(ub): 25(ptr) Variable UniformConstant 28: TypeInt 32 1 29: TypePointer UniformConstant 28(int) 30(ui): 29(ptr) Variable UniformConstant 32: 28(int) Constant 2 40(uba): 25(ptr) Variable UniformConstant 108: TypePointer UniformConstant 10(float) 109(uf): 108(ptr) Variable UniformConstant 112: 10(float) Constant 1082130432 134: TypeVector 28(int) 4 135: TypePointer UniformConstant 134(ivec4) 136(uiv4): 135(ptr) Variable UniformConstant 137: TypePointer UniformConstant 21(fvec4) 138(uv4): 137(ptr) Variable UniformConstant 139: TypeVector 6(bool) 4 140: TypePointer UniformConstant 139(bvec4) 141(ub41): 140(ptr) Variable UniformConstant 142(ub42): 140(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label Store 12(of1) 20 Store 23(of4) 24 27: 6(bool) Load 26(ub) 31: 28(int) Load 30(ui) 33: 6(bool) SGreaterThan 31 32 34: 6(bool) LogicalOr 27 33 SelectionMerge 36 None BranchConditional 34 35 36 35: Label 37: 10(float) Load 12(of1) 38: 10(float) FAdd 37 14 Store 12(of1) 38 Branch 36 36: Label 39: 6(bool) Load 26(ub) 41: 6(bool) Load 40(uba) 42: 6(bool) LogicalNot 41 43: 6(bool) LogicalAnd 39 42 SelectionMerge 45 None BranchConditional 43 44 45 44: Label 46: 10(float) Load 12(of1) 47: 10(float) FAdd 46 14 Store 12(of1) 47 Branch 45 45: Label 48: 6(bool) Load 26(ub) 49: 6(bool) LogicalNot 48 SelectionMerge 51 None BranchConditional 49 50 51 50: Label 52: 6(bool) FunctionCall 8(foo() Branch 51 51: Label 53: 6(bool) Phi 48 45 52 50 SelectionMerge 55 None BranchConditional 53 54 55 54: Label 56: 10(float) Load 12(of1) 57: 10(float) FAdd 56 14 Store 12(of1) 57 Branch 55 55: Label 58: 6(bool) Load 26(ub) SelectionMerge 60 None BranchConditional 58 59 60 59: Label 61: 6(bool) FunctionCall 8(foo() Branch 60 60: Label 62: 6(bool) Phi 58 55 61 59 SelectionMerge 64 None BranchConditional 62 63 64 63: Label 65: 10(float) Load 12(of1) 66: 10(float) FAdd 65 14 Store 12(of1) 66 Branch 64 64: Label 67: 6(bool) FunctionCall 8(foo() 68: 6(bool) Load 26(ub) 69: 6(bool) LogicalOr 67 68 SelectionMerge 71 None BranchConditional 69 70 71 70: Label 72: 10(float) Load 12(of1) 73: 10(float) FAdd 72 14 Store 12(of1) 73 Branch 71 71: Label 74: 6(bool) FunctionCall 8(foo() 75: 6(bool) Load 26(ub) 76: 6(bool) LogicalAnd 74 75 SelectionMerge 78 None BranchConditional 76 77 78 77: Label 79: 10(float) Load 12(of1) 80: 10(float) FAdd 79 14 Store 12(of1) 80 Branch 78 78: Label 81: 6(bool) Load 26(ub) 82: 6(bool) LogicalNot 81 SelectionMerge 84 None BranchConditional 82 83 84 83: Label 85: 10(float) Load 12(of1) 86: 10(float) FAdd 85 14 Store 12(of1) 86 87: 6(bool) FOrdGreaterThan 86 14 Branch 84 84: Label 88: 6(bool) Phi 81 78 87 83 SelectionMerge 90 None BranchConditional 88 89 90 89: Label 91: 21(fvec4) Load 23(of4) 92: 21(fvec4) CompositeConstruct 14 14 14 14 93: 21(fvec4) FAdd 91 92 Store 23(of4) 93 Branch 90 90: Label 94: 10(float) Load 12(of1) 95: 10(float) FAdd 94 14 Store 12(of1) 95 96: 6(bool) FOrdGreaterThan 95 14 97: 6(bool) Load 26(ub) 98: 6(bool) LogicalOr 96 97 SelectionMerge 100 None BranchConditional 98 99 100 99: Label 101: 21(fvec4) Load 23(of4) 102: 21(fvec4) CompositeConstruct 14 14 14 14 103: 21(fvec4) FAdd 101 102 Store 23(of4) 103 Branch 100 100: Label 104: 6(bool) Load 26(ub) 105: 6(bool) LogicalNot 104 SelectionMerge 107 None BranchConditional 105 106 107 106: Label 110: 10(float) Load 109(uf) 111: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 110 113: 10(float) FMul 111 112 114: 10(float) Load 12(of1) 115: 6(bool) FOrdGreaterThan 113 114 Branch 107 107: Label 116: 6(bool) Phi 104 100 115 106 SelectionMerge 118 None BranchConditional 116 117 118 117: Label 119: 10(float) Load 12(of1) 120: 10(float) FAdd 119 14 Store 12(of1) 120 Branch 118 118: Label 121: 6(bool) Load 26(ub) SelectionMerge 123 None BranchConditional 121 122 123 122: Label 124: 10(float) Load 109(uf) 125: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 124 126: 10(float) FMul 125 112 127: 10(float) Load 12(of1) 128: 6(bool) FOrdGreaterThan 126 127 Branch 123 123: Label 129: 6(bool) Phi 121 118 128 122 SelectionMerge 131 None BranchConditional 129 130 131 130: Label 132: 10(float) Load 12(of1) 133: 10(float) FAdd 132 14 Store 12(of1) 133 Branch 131 131: Label Return FunctionEnd 8(foo(): 6(bool) Function None 7 9: Label 13: 10(float) Load 12(of1) 15: 10(float) FAdd 13 14 Store 12(of1) 15 16: 10(float) Load 12(of1) 18: 6(bool) FOrdGreaterThan 16 17 ReturnValue 18 FunctionEnd