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 144 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 12 24 ExecutionMode 4 OriginLowerLeft Source GLSL 400 Name 4 "main" Name 8 "foo(" Name 12 "of1" Name 24 "of4" Name 27 "ub" Name 31 "ui" Name 41 "uba" Name 110 "uf" Name 137 "uiv4" Name 139 "uv4" Name 142 "ub41" Name 143 "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 21: 10(float) Constant 0 22: TypeVector 10(float) 4 23: TypePointer Output 22(fvec4) 24(of4): 23(ptr) Variable Output 25: 22(fvec4) ConstantComposite 21 21 21 21 26: TypePointer UniformConstant 6(bool) 27(ub): 26(ptr) Variable UniformConstant 29: TypeInt 32 1 30: TypePointer UniformConstant 29(int) 31(ui): 30(ptr) Variable UniformConstant 33: 29(int) Constant 2 41(uba): 26(ptr) Variable UniformConstant 109: TypePointer UniformConstant 10(float) 110(uf): 109(ptr) Variable UniformConstant 113: 10(float) Constant 1082130432 135: TypeVector 29(int) 4 136: TypePointer UniformConstant 135(ivec4) 137(uiv4): 136(ptr) Variable UniformConstant 138: TypePointer UniformConstant 22(fvec4) 139(uv4): 138(ptr) Variable UniformConstant 140: TypeVector 6(bool) 4 141: TypePointer UniformConstant 140(bvec4) 142(ub41): 141(ptr) Variable UniformConstant 143(ub42): 141(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label Store 12(of1) 21 Store 24(of4) 25 28: 6(bool) Load 27(ub) 32: 29(int) Load 31(ui) 34: 6(bool) SGreaterThan 32 33 35: 6(bool) LogicalOr 28 34 SelectionMerge 37 None BranchConditional 35 36 37 36: Label 38: 10(float) Load 12(of1) 39: 10(float) FAdd 38 14 Store 12(of1) 39 Branch 37 37: Label 40: 6(bool) Load 27(ub) 42: 6(bool) Load 41(uba) 43: 6(bool) LogicalNot 42 44: 6(bool) LogicalAnd 40 43 SelectionMerge 46 None BranchConditional 44 45 46 45: Label 47: 10(float) Load 12(of1) 48: 10(float) FAdd 47 14 Store 12(of1) 48 Branch 46 46: Label 49: 6(bool) Load 27(ub) 50: 6(bool) LogicalNot 49 SelectionMerge 52 None BranchConditional 50 51 52 51: Label 53: 6(bool) FunctionCall 8(foo() Branch 52 52: Label 54: 6(bool) Phi 49 46 53 51 SelectionMerge 56 None BranchConditional 54 55 56 55: Label 57: 10(float) Load 12(of1) 58: 10(float) FAdd 57 14 Store 12(of1) 58 Branch 56 56: Label 59: 6(bool) Load 27(ub) SelectionMerge 61 None BranchConditional 59 60 61 60: Label 62: 6(bool) FunctionCall 8(foo() Branch 61 61: Label 63: 6(bool) Phi 59 56 62 60 SelectionMerge 65 None BranchConditional 63 64 65 64: Label 66: 10(float) Load 12(of1) 67: 10(float) FAdd 66 14 Store 12(of1) 67 Branch 65 65: Label 68: 6(bool) FunctionCall 8(foo() 69: 6(bool) Load 27(ub) 70: 6(bool) LogicalOr 68 69 SelectionMerge 72 None BranchConditional 70 71 72 71: Label 73: 10(float) Load 12(of1) 74: 10(float) FAdd 73 14 Store 12(of1) 74 Branch 72 72: Label 75: 6(bool) FunctionCall 8(foo() 76: 6(bool) Load 27(ub) 77: 6(bool) LogicalAnd 75 76 SelectionMerge 79 None BranchConditional 77 78 79 78: Label 80: 10(float) Load 12(of1) 81: 10(float) FAdd 80 14 Store 12(of1) 81 Branch 79 79: Label 82: 6(bool) Load 27(ub) 83: 6(bool) LogicalNot 82 SelectionMerge 85 None BranchConditional 83 84 85 84: Label 86: 10(float) Load 12(of1) 87: 10(float) FAdd 86 14 Store 12(of1) 87 88: 6(bool) FOrdGreaterThan 87 14 Branch 85 85: Label 89: 6(bool) Phi 82 79 88 84 SelectionMerge 91 None BranchConditional 89 90 91 90: Label 92: 22(fvec4) Load 24(of4) 93: 22(fvec4) CompositeConstruct 14 14 14 14 94: 22(fvec4) FAdd 92 93 Store 24(of4) 94 Branch 91 91: Label 95: 10(float) Load 12(of1) 96: 10(float) FAdd 95 14 Store 12(of1) 96 97: 6(bool) FOrdGreaterThan 96 14 98: 6(bool) Load 27(ub) 99: 6(bool) LogicalOr 97 98 SelectionMerge 101 None BranchConditional 99 100 101 100: Label 102: 22(fvec4) Load 24(of4) 103: 22(fvec4) CompositeConstruct 14 14 14 14 104: 22(fvec4) FAdd 102 103 Store 24(of4) 104 Branch 101 101: Label 105: 6(bool) Load 27(ub) 106: 6(bool) LogicalNot 105 SelectionMerge 108 None BranchConditional 106 107 108 107: Label 111: 10(float) Load 110(uf) 112: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 111 114: 10(float) FMul 112 113 115: 10(float) Load 12(of1) 116: 6(bool) FOrdGreaterThan 114 115 Branch 108 108: Label 117: 6(bool) Phi 105 101 116 107 SelectionMerge 119 None BranchConditional 117 118 119 118: Label 120: 10(float) Load 12(of1) 121: 10(float) FAdd 120 14 Store 12(of1) 121 Branch 119 119: Label 122: 6(bool) Load 27(ub) SelectionMerge 124 None BranchConditional 122 123 124 123: Label 125: 10(float) Load 110(uf) 126: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 125 127: 10(float) FMul 126 113 128: 10(float) Load 12(of1) 129: 6(bool) FOrdGreaterThan 127 128 Branch 124 124: Label 130: 6(bool) Phi 122 119 129 123 SelectionMerge 132 None BranchConditional 130 131 132 131: Label 133: 10(float) Load 12(of1) 134: 10(float) FAdd 133 14 Store 12(of1) 134 Branch 132 132: 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