From comment about this: Adjust alignment for HLSL rules TODO: make this consistent in early phases of code: adjusting this late means inconsistencies with earlier code, which for reflection is an issue. Until reflection is brought in sync with these adjustments, don't apply to $Global, which is the most likely to rely on reflection, and least likely to rely implicit layouts.
542 lines
25 KiB
Plaintext
Executable File
542 lines
25 KiB
Plaintext
Executable File
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:? Constant:
|
|
0:? 2.000000
|
|
0:? 2.000000
|
|
0:? 2.000000
|
|
0:? 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 int to bool ( temp bool)
|
|
0:17 Convert float to int ( temp int)
|
|
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)
|
|
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:? Constant:
|
|
0:? 2.000000
|
|
0:? 2.000000
|
|
0:? 2.000000
|
|
0:? 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 int to bool ( temp bool)
|
|
0:17 Convert float to int ( temp int)
|
|
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)
|
|
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): 80001
|
|
// Id's are bound by 140
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 138
|
|
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 88 "f"
|
|
Name 101 "i"
|
|
Name 121 "g"
|
|
Name 138 "@entryPointOutput"
|
|
MemberDecorate 16($Global) 0 Offset 0
|
|
MemberDecorate 16($Global) 1 Offset 4
|
|
MemberDecorate 16($Global) 2 Offset 16
|
|
MemberDecorate 16($Global) 3 Offset 32
|
|
Decorate 16($Global) Block
|
|
Decorate 18 DescriptorSet 0
|
|
Decorate 138(@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
|
|
83: 6(float) Constant 1084227584
|
|
87: TypePointer Function 6(float)
|
|
100: TypePointer Function 15(int)
|
|
125: 6(float) Constant 1088421888
|
|
126: 6(float) Constant 1090519040
|
|
137: TypePointer Output 7(fvec4)
|
|
138(@entryPointOutput): 137(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
139: 7(fvec4) FunctionCall 9(@main()
|
|
Store 138(@entryPointOutput) 139
|
|
Return
|
|
FunctionEnd
|
|
9(@main(): 7(fvec4) Function None 8
|
|
10: Label
|
|
12(a): 11(ptr) Variable Function
|
|
88(f): 87(ptr) Variable Function
|
|
101(i): 100(ptr) Variable Function
|
|
121(g): 87(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) FOrdNotEqual 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) FOrdNotEqual 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: 15(int) ConvertFToS 72
|
|
74: 23(bool) INotEqual 73 25
|
|
75: 23(bool) LogicalAnd 70 74
|
|
76: 35(ptr) AccessChain 18 46
|
|
77: 6(float) Load 76
|
|
78: 23(bool) FOrdNotEqual 77 38
|
|
79: 23(bool) LogicalOr 75 78
|
|
SelectionMerge 81 None
|
|
BranchConditional 79 80 81
|
|
80: Label
|
|
82: 7(fvec4) Load 12(a)
|
|
84: 7(fvec4) CompositeConstruct 83 83 83 83
|
|
85: 7(fvec4) FAdd 82 84
|
|
ReturnValue 85
|
|
81: Label
|
|
89: 35(ptr) AccessChain 18 34
|
|
90: 6(float) Load 89
|
|
Store 88(f) 90
|
|
Branch 91
|
|
91: Label
|
|
LoopMerge 93 94 None
|
|
Branch 95
|
|
95: Label
|
|
96: 6(float) Load 88(f)
|
|
97: 23(bool) FOrdNotEqual 96 38
|
|
BranchConditional 97 92 93
|
|
92: Label
|
|
98: 6(float) Load 88(f)
|
|
99: 6(float) FSub 98 30
|
|
Store 88(f) 99
|
|
Branch 94
|
|
94: Label
|
|
Branch 91
|
|
93: Label
|
|
102: 20(ptr) AccessChain 18 19
|
|
103: 15(int) Load 102
|
|
Store 101(i) 103
|
|
Branch 104
|
|
104: Label
|
|
LoopMerge 106 107 None
|
|
Branch 105
|
|
105: Label
|
|
108: 15(int) Load 101(i)
|
|
109: 15(int) ISub 108 19
|
|
Store 101(i) 109
|
|
Branch 107
|
|
107: Label
|
|
110: 15(int) Load 101(i)
|
|
111: 23(bool) INotEqual 110 25
|
|
BranchConditional 111 104 106
|
|
106: Label
|
|
Branch 112
|
|
112: Label
|
|
LoopMerge 114 115 None
|
|
Branch 116
|
|
116: Label
|
|
117: 15(int) Load 101(i)
|
|
118: 23(bool) INotEqual 117 25
|
|
BranchConditional 118 113 114
|
|
113: Label
|
|
119: 15(int) Load 101(i)
|
|
120: 15(int) ISub 119 19
|
|
Store 101(i) 120
|
|
Branch 115
|
|
115: Label
|
|
Branch 112
|
|
114: Label
|
|
122: 35(ptr) AccessChain 18 34
|
|
123: 6(float) Load 122
|
|
124: 23(bool) FOrdNotEqual 123 38
|
|
127: 6(float) Select 124 125 126
|
|
Store 121(g) 127
|
|
128: 6(float) Load 121(g)
|
|
129: 7(fvec4) Load 12(a)
|
|
130: 7(fvec4) CompositeConstruct 128 128 128 128
|
|
131: 7(fvec4) FAdd 129 130
|
|
Store 12(a) 131
|
|
132: 7(fvec4) Load 12(a)
|
|
133: 7(fvec4) CompositeConstruct 30 30 30 30
|
|
134: 7(fvec4) FSub 132 133
|
|
ReturnValue 134
|
|
FunctionEnd
|