
Fix the error message for when an erroneous HLSL constructor statement is detected. Prior to this change, such error messages would not show correct file path and line number information. Additionally, update test data to account for updated error messages.
540 lines
25 KiB
Plaintext
540 lines
25 KiB
Plaintext
hlsl.implicitBool.frag
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:7 Function Definition: @main( ( temp 4-component vector of float)
|
|
0:7 Function Parameters:
|
|
0:? Sequence
|
|
0:8 Sequence
|
|
0:8 move second child to first child ( temp 4-component vector of float)
|
|
0:8 'a' ( temp 4-component vector of float)
|
|
0:8 Constant:
|
|
0:8 2.000000
|
|
0:8 2.000000
|
|
0:8 2.000000
|
|
0:8 2.000000
|
|
0:9 Test condition and select ( temp void)
|
|
0:9 Condition
|
|
0:9 Convert int to bool ( temp bool)
|
|
0:9 condi: direct index for structure ( uniform int)
|
|
0:9 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:9 Constant:
|
|
0:9 1 (const uint)
|
|
0:9 true case
|
|
0:10 Branch: Return with expression
|
|
0:10 add ( temp 4-component vector of float)
|
|
0:10 'a' ( temp 4-component vector of float)
|
|
0:10 Constant:
|
|
0:10 1.000000
|
|
0:11 Test condition and select ( temp void)
|
|
0:11 Condition
|
|
0:11 Convert float to bool ( temp bool)
|
|
0:11 condf: direct index for structure ( uniform float)
|
|
0:11 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 true case
|
|
0:12 Branch: Return with expression
|
|
0:12 add ( temp 4-component vector of float)
|
|
0:12 'a' ( temp 4-component vector of float)
|
|
0:12 Constant:
|
|
0:12 2.000000
|
|
0:13 Test condition and select ( temp void)
|
|
0:13 Condition
|
|
0:13 Convert float to bool ( temp bool)
|
|
0:13 condf1: direct index for structure ( uniform 1-component vector of float)
|
|
0:13 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:13 Constant:
|
|
0:13 2 (const uint)
|
|
0:13 true case
|
|
0:14 Branch: Return with expression
|
|
0:14 add ( temp 4-component vector of float)
|
|
0:14 'a' ( temp 4-component vector of float)
|
|
0:14 Constant:
|
|
0:14 3.000000
|
|
0:15 Test condition and select ( temp void)
|
|
0:15 Condition
|
|
0:15 Convert int to bool ( temp bool)
|
|
0:15 condi1: direct index for structure ( uniform 1-component vector of int)
|
|
0:15 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:15 Constant:
|
|
0:15 3 (const uint)
|
|
0:15 true case
|
|
0:16 Branch: Return with expression
|
|
0:16 add ( temp 4-component vector of float)
|
|
0:16 'a' ( temp 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 4.000000
|
|
0:17 Test condition and select ( temp void)
|
|
0:17 Condition
|
|
0:17 logical-or ( temp bool)
|
|
0:17 logical-and ( temp bool)
|
|
0:17 Convert int to bool ( temp bool)
|
|
0:17 condi: direct index for structure ( uniform int)
|
|
0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:17 Constant:
|
|
0:17 1 (const uint)
|
|
0:17 Convert float to bool ( temp bool)
|
|
0:17 condf: direct index for structure ( uniform float)
|
|
0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:17 Constant:
|
|
0:17 0 (const uint)
|
|
0:17 Convert float to bool ( temp bool)
|
|
0:17 condf1: direct index for structure ( uniform 1-component vector of float)
|
|
0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:17 Constant:
|
|
0:17 2 (const uint)
|
|
0:17 true case
|
|
0:18 Branch: Return with expression
|
|
0:18 add ( temp 4-component vector of float)
|
|
0:18 'a' ( temp 4-component vector of float)
|
|
0:18 Constant:
|
|
0:18 5.000000
|
|
0:20 Sequence
|
|
0:20 move second child to first child ( temp float)
|
|
0:20 'f' ( temp float)
|
|
0:20 condf: direct index for structure ( uniform float)
|
|
0:20 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:20 Constant:
|
|
0:20 0 (const uint)
|
|
0:21 Loop with condition tested first
|
|
0:21 Loop Condition
|
|
0:21 Convert float to bool ( temp bool)
|
|
0:21 'f' ( temp float)
|
|
0:21 Loop Body
|
|
0:? Sequence
|
|
0:21 Pre-Decrement ( temp float)
|
|
0:21 'f' ( temp float)
|
|
0:23 Sequence
|
|
0:23 move second child to first child ( temp int)
|
|
0:23 'i' ( temp int)
|
|
0:23 condi: direct index for structure ( uniform int)
|
|
0:23 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:23 Constant:
|
|
0:23 1 (const uint)
|
|
0:24 Loop with condition not tested first
|
|
0:24 Loop Condition
|
|
0:24 Convert int to bool ( temp bool)
|
|
0:24 'i' ( temp int)
|
|
0:24 Loop Body
|
|
0:? Sequence
|
|
0:24 Pre-Decrement ( temp int)
|
|
0:24 'i' ( temp int)
|
|
0:? Sequence
|
|
0:26 Loop with condition tested first
|
|
0:26 Loop Condition
|
|
0:26 Convert int to bool ( temp bool)
|
|
0:26 'i' ( temp int)
|
|
0:26 Loop Body
|
|
0:? Sequence
|
|
0:26 Pre-Decrement ( temp int)
|
|
0:26 'i' ( temp int)
|
|
0:28 Sequence
|
|
0:28 move second child to first child ( temp float)
|
|
0:28 'g' ( temp float)
|
|
0:28 Test condition and select ( temp float): no shortcircuit
|
|
0:28 Condition
|
|
0:28 Convert float to bool ( temp bool)
|
|
0:28 condf: direct index for structure ( uniform float)
|
|
0:28 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:28 Constant:
|
|
0:28 0 (const uint)
|
|
0:28 true case
|
|
0:28 Constant:
|
|
0:28 7.000000
|
|
0:28 false case
|
|
0:28 Constant:
|
|
0:28 8.000000
|
|
0:29 add second child into first child ( temp 4-component vector of float)
|
|
0:29 'a' ( temp 4-component vector of float)
|
|
0:29 'g' ( temp float)
|
|
0:31 Branch: Return with expression
|
|
0:31 subtract ( temp 4-component vector of float)
|
|
0:31 'a' ( temp 4-component vector of float)
|
|
0:31 Constant:
|
|
0:31 1.000000
|
|
0:7 Function Definition: main( ( temp void)
|
|
0:7 Function Parameters:
|
|
0:? Sequence
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:7 Function Call: @main( ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
|
|
|
|
Linked fragment stage:
|
|
|
|
|
|
Shader version: 500
|
|
gl_FragCoord origin is upper left
|
|
0:? Sequence
|
|
0:7 Function Definition: @main( ( temp 4-component vector of float)
|
|
0:7 Function Parameters:
|
|
0:? Sequence
|
|
0:8 Sequence
|
|
0:8 move second child to first child ( temp 4-component vector of float)
|
|
0:8 'a' ( temp 4-component vector of float)
|
|
0:8 Constant:
|
|
0:8 2.000000
|
|
0:8 2.000000
|
|
0:8 2.000000
|
|
0:8 2.000000
|
|
0:9 Test condition and select ( temp void)
|
|
0:9 Condition
|
|
0:9 Convert int to bool ( temp bool)
|
|
0:9 condi: direct index for structure ( uniform int)
|
|
0:9 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:9 Constant:
|
|
0:9 1 (const uint)
|
|
0:9 true case
|
|
0:10 Branch: Return with expression
|
|
0:10 add ( temp 4-component vector of float)
|
|
0:10 'a' ( temp 4-component vector of float)
|
|
0:10 Constant:
|
|
0:10 1.000000
|
|
0:11 Test condition and select ( temp void)
|
|
0:11 Condition
|
|
0:11 Convert float to bool ( temp bool)
|
|
0:11 condf: direct index for structure ( uniform float)
|
|
0:11 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:11 Constant:
|
|
0:11 0 (const uint)
|
|
0:11 true case
|
|
0:12 Branch: Return with expression
|
|
0:12 add ( temp 4-component vector of float)
|
|
0:12 'a' ( temp 4-component vector of float)
|
|
0:12 Constant:
|
|
0:12 2.000000
|
|
0:13 Test condition and select ( temp void)
|
|
0:13 Condition
|
|
0:13 Convert float to bool ( temp bool)
|
|
0:13 condf1: direct index for structure ( uniform 1-component vector of float)
|
|
0:13 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:13 Constant:
|
|
0:13 2 (const uint)
|
|
0:13 true case
|
|
0:14 Branch: Return with expression
|
|
0:14 add ( temp 4-component vector of float)
|
|
0:14 'a' ( temp 4-component vector of float)
|
|
0:14 Constant:
|
|
0:14 3.000000
|
|
0:15 Test condition and select ( temp void)
|
|
0:15 Condition
|
|
0:15 Convert int to bool ( temp bool)
|
|
0:15 condi1: direct index for structure ( uniform 1-component vector of int)
|
|
0:15 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:15 Constant:
|
|
0:15 3 (const uint)
|
|
0:15 true case
|
|
0:16 Branch: Return with expression
|
|
0:16 add ( temp 4-component vector of float)
|
|
0:16 'a' ( temp 4-component vector of float)
|
|
0:16 Constant:
|
|
0:16 4.000000
|
|
0:17 Test condition and select ( temp void)
|
|
0:17 Condition
|
|
0:17 logical-or ( temp bool)
|
|
0:17 logical-and ( temp bool)
|
|
0:17 Convert int to bool ( temp bool)
|
|
0:17 condi: direct index for structure ( uniform int)
|
|
0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:17 Constant:
|
|
0:17 1 (const uint)
|
|
0:17 Convert float to bool ( temp bool)
|
|
0:17 condf: direct index for structure ( uniform float)
|
|
0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:17 Constant:
|
|
0:17 0 (const uint)
|
|
0:17 Convert float to bool ( temp bool)
|
|
0:17 condf1: direct index for structure ( uniform 1-component vector of float)
|
|
0:17 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:17 Constant:
|
|
0:17 2 (const uint)
|
|
0:17 true case
|
|
0:18 Branch: Return with expression
|
|
0:18 add ( temp 4-component vector of float)
|
|
0:18 'a' ( temp 4-component vector of float)
|
|
0:18 Constant:
|
|
0:18 5.000000
|
|
0:20 Sequence
|
|
0:20 move second child to first child ( temp float)
|
|
0:20 'f' ( temp float)
|
|
0:20 condf: direct index for structure ( uniform float)
|
|
0:20 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:20 Constant:
|
|
0:20 0 (const uint)
|
|
0:21 Loop with condition tested first
|
|
0:21 Loop Condition
|
|
0:21 Convert float to bool ( temp bool)
|
|
0:21 'f' ( temp float)
|
|
0:21 Loop Body
|
|
0:? Sequence
|
|
0:21 Pre-Decrement ( temp float)
|
|
0:21 'f' ( temp float)
|
|
0:23 Sequence
|
|
0:23 move second child to first child ( temp int)
|
|
0:23 'i' ( temp int)
|
|
0:23 condi: direct index for structure ( uniform int)
|
|
0:23 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:23 Constant:
|
|
0:23 1 (const uint)
|
|
0:24 Loop with condition not tested first
|
|
0:24 Loop Condition
|
|
0:24 Convert int to bool ( temp bool)
|
|
0:24 'i' ( temp int)
|
|
0:24 Loop Body
|
|
0:? Sequence
|
|
0:24 Pre-Decrement ( temp int)
|
|
0:24 'i' ( temp int)
|
|
0:? Sequence
|
|
0:26 Loop with condition tested first
|
|
0:26 Loop Condition
|
|
0:26 Convert int to bool ( temp bool)
|
|
0:26 'i' ( temp int)
|
|
0:26 Loop Body
|
|
0:? Sequence
|
|
0:26 Pre-Decrement ( temp int)
|
|
0:26 'i' ( temp int)
|
|
0:28 Sequence
|
|
0:28 move second child to first child ( temp float)
|
|
0:28 'g' ( temp float)
|
|
0:28 Test condition and select ( temp float): no shortcircuit
|
|
0:28 Condition
|
|
0:28 Convert float to bool ( temp bool)
|
|
0:28 condf: direct index for structure ( uniform float)
|
|
0:28 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:28 Constant:
|
|
0:28 0 (const uint)
|
|
0:28 true case
|
|
0:28 Constant:
|
|
0:28 7.000000
|
|
0:28 false case
|
|
0:28 Constant:
|
|
0:28 8.000000
|
|
0:29 add second child into first child ( temp 4-component vector of float)
|
|
0:29 'a' ( temp 4-component vector of float)
|
|
0:29 'g' ( temp float)
|
|
0:31 Branch: Return with expression
|
|
0:31 subtract ( temp 4-component vector of float)
|
|
0:31 'a' ( temp 4-component vector of float)
|
|
0:31 Constant:
|
|
0:31 1.000000
|
|
0:7 Function Definition: main( ( temp void)
|
|
0:7 Function Parameters:
|
|
0:? Sequence
|
|
0:7 move second child to first child ( temp 4-component vector of float)
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
0:7 Function Call: @main( ( temp 4-component vector of float)
|
|
0:? Linker Objects
|
|
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform float condf, uniform int condi, uniform 1-component vector of float condf1, uniform 1-component vector of int condi1})
|
|
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 139
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 137
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source HLSL 500
|
|
Name 4 "main"
|
|
Name 9 "@main("
|
|
Name 12 "a"
|
|
Name 16 "$Global"
|
|
MemberName 16($Global) 0 "condf"
|
|
MemberName 16($Global) 1 "condi"
|
|
MemberName 16($Global) 2 "condf1"
|
|
MemberName 16($Global) 3 "condi1"
|
|
Name 18 ""
|
|
Name 87 "f"
|
|
Name 100 "i"
|
|
Name 120 "g"
|
|
Name 137 "@entryPointOutput"
|
|
MemberDecorate 16($Global) 0 Offset 0
|
|
MemberDecorate 16($Global) 1 Offset 4
|
|
MemberDecorate 16($Global) 2 Offset 8
|
|
MemberDecorate 16($Global) 3 Offset 12
|
|
Decorate 16($Global) Block
|
|
Decorate 18 DescriptorSet 0
|
|
Decorate 18 Binding 0
|
|
Decorate 137(@entryPointOutput) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypeFunction 7(fvec4)
|
|
11: TypePointer Function 7(fvec4)
|
|
13: 6(float) Constant 1073741824
|
|
14: 7(fvec4) ConstantComposite 13 13 13 13
|
|
15: TypeInt 32 1
|
|
16($Global): TypeStruct 6(float) 15(int) 6(float) 15(int)
|
|
17: TypePointer Uniform 16($Global)
|
|
18: 17(ptr) Variable Uniform
|
|
19: 15(int) Constant 1
|
|
20: TypePointer Uniform 15(int)
|
|
23: TypeBool
|
|
24: TypeInt 32 0
|
|
25: 24(int) Constant 0
|
|
30: 6(float) Constant 1065353216
|
|
34: 15(int) Constant 0
|
|
35: TypePointer Uniform 6(float)
|
|
38: 6(float) Constant 0
|
|
46: 15(int) Constant 2
|
|
53: 6(float) Constant 1077936128
|
|
57: 15(int) Constant 3
|
|
64: 6(float) Constant 1082130432
|
|
82: 6(float) Constant 1084227584
|
|
86: TypePointer Function 6(float)
|
|
99: TypePointer Function 15(int)
|
|
124: 6(float) Constant 1088421888
|
|
125: 6(float) Constant 1090519040
|
|
136: TypePointer Output 7(fvec4)
|
|
137(@entryPointOutput): 136(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
138: 7(fvec4) FunctionCall 9(@main()
|
|
Store 137(@entryPointOutput) 138
|
|
Return
|
|
FunctionEnd
|
|
9(@main(): 7(fvec4) Function None 8
|
|
10: Label
|
|
12(a): 11(ptr) Variable Function
|
|
87(f): 86(ptr) Variable Function
|
|
100(i): 99(ptr) Variable Function
|
|
120(g): 86(ptr) Variable Function
|
|
Store 12(a) 14
|
|
21: 20(ptr) AccessChain 18 19
|
|
22: 15(int) Load 21
|
|
26: 23(bool) INotEqual 22 25
|
|
SelectionMerge 28 None
|
|
BranchConditional 26 27 28
|
|
27: Label
|
|
29: 7(fvec4) Load 12(a)
|
|
31: 7(fvec4) CompositeConstruct 30 30 30 30
|
|
32: 7(fvec4) FAdd 29 31
|
|
ReturnValue 32
|
|
28: Label
|
|
36: 35(ptr) AccessChain 18 34
|
|
37: 6(float) Load 36
|
|
39: 23(bool) FUnordNotEqual 37 38
|
|
SelectionMerge 41 None
|
|
BranchConditional 39 40 41
|
|
40: Label
|
|
42: 7(fvec4) Load 12(a)
|
|
43: 7(fvec4) CompositeConstruct 13 13 13 13
|
|
44: 7(fvec4) FAdd 42 43
|
|
ReturnValue 44
|
|
41: Label
|
|
47: 35(ptr) AccessChain 18 46
|
|
48: 6(float) Load 47
|
|
49: 23(bool) FUnordNotEqual 48 38
|
|
SelectionMerge 51 None
|
|
BranchConditional 49 50 51
|
|
50: Label
|
|
52: 7(fvec4) Load 12(a)
|
|
54: 7(fvec4) CompositeConstruct 53 53 53 53
|
|
55: 7(fvec4) FAdd 52 54
|
|
ReturnValue 55
|
|
51: Label
|
|
58: 20(ptr) AccessChain 18 57
|
|
59: 15(int) Load 58
|
|
60: 23(bool) INotEqual 59 25
|
|
SelectionMerge 62 None
|
|
BranchConditional 60 61 62
|
|
61: Label
|
|
63: 7(fvec4) Load 12(a)
|
|
65: 7(fvec4) CompositeConstruct 64 64 64 64
|
|
66: 7(fvec4) FAdd 63 65
|
|
ReturnValue 66
|
|
62: Label
|
|
68: 20(ptr) AccessChain 18 19
|
|
69: 15(int) Load 68
|
|
70: 23(bool) INotEqual 69 25
|
|
71: 35(ptr) AccessChain 18 34
|
|
72: 6(float) Load 71
|
|
73: 23(bool) FUnordNotEqual 72 38
|
|
74: 23(bool) LogicalAnd 70 73
|
|
75: 35(ptr) AccessChain 18 46
|
|
76: 6(float) Load 75
|
|
77: 23(bool) FUnordNotEqual 76 38
|
|
78: 23(bool) LogicalOr 74 77
|
|
SelectionMerge 80 None
|
|
BranchConditional 78 79 80
|
|
79: Label
|
|
81: 7(fvec4) Load 12(a)
|
|
83: 7(fvec4) CompositeConstruct 82 82 82 82
|
|
84: 7(fvec4) FAdd 81 83
|
|
ReturnValue 84
|
|
80: Label
|
|
88: 35(ptr) AccessChain 18 34
|
|
89: 6(float) Load 88
|
|
Store 87(f) 89
|
|
Branch 90
|
|
90: Label
|
|
LoopMerge 92 93 None
|
|
Branch 94
|
|
94: Label
|
|
95: 6(float) Load 87(f)
|
|
96: 23(bool) FUnordNotEqual 95 38
|
|
BranchConditional 96 91 92
|
|
91: Label
|
|
97: 6(float) Load 87(f)
|
|
98: 6(float) FSub 97 30
|
|
Store 87(f) 98
|
|
Branch 93
|
|
93: Label
|
|
Branch 90
|
|
92: Label
|
|
101: 20(ptr) AccessChain 18 19
|
|
102: 15(int) Load 101
|
|
Store 100(i) 102
|
|
Branch 103
|
|
103: Label
|
|
LoopMerge 105 106 None
|
|
Branch 104
|
|
104: Label
|
|
107: 15(int) Load 100(i)
|
|
108: 15(int) ISub 107 19
|
|
Store 100(i) 108
|
|
Branch 106
|
|
106: Label
|
|
109: 15(int) Load 100(i)
|
|
110: 23(bool) INotEqual 109 25
|
|
BranchConditional 110 103 105
|
|
105: Label
|
|
Branch 111
|
|
111: Label
|
|
LoopMerge 113 114 None
|
|
Branch 115
|
|
115: Label
|
|
116: 15(int) Load 100(i)
|
|
117: 23(bool) INotEqual 116 25
|
|
BranchConditional 117 112 113
|
|
112: Label
|
|
118: 15(int) Load 100(i)
|
|
119: 15(int) ISub 118 19
|
|
Store 100(i) 119
|
|
Branch 114
|
|
114: Label
|
|
Branch 111
|
|
113: Label
|
|
121: 35(ptr) AccessChain 18 34
|
|
122: 6(float) Load 121
|
|
123: 23(bool) FUnordNotEqual 122 38
|
|
126: 6(float) Select 123 124 125
|
|
Store 120(g) 126
|
|
127: 6(float) Load 120(g)
|
|
128: 7(fvec4) Load 12(a)
|
|
129: 7(fvec4) CompositeConstruct 127 127 127 127
|
|
130: 7(fvec4) FAdd 128 129
|
|
Store 12(a) 130
|
|
131: 7(fvec4) Load 12(a)
|
|
132: 7(fvec4) CompositeConstruct 30 30 30 30
|
|
133: 7(fvec4) FSub 131 132
|
|
ReturnValue 133
|
|
FunctionEnd
|