blob: 7f152f77f3b56d74eec258a640d268c96ea3e229 [file] [log] [blame]
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