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 99 // Generated by (magic number): 51a00bb // Id's are bound by 143 Source GLSL 400 Capability Shader 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" ExecutionMode 4 OriginLowerLeft 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" Decorate 136(uiv4) NoStaticUse Decorate 138(uv4) NoStaticUse Decorate 141(ub41) NoStaticUse Decorate 142(ub42) NoStaticUse 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