glslang/Test/baseResults/spv.boolInBlock.frag.out
Rex Xu b4fd8d10f0 SPV: Continue to fix the issue of bool -> uint32
For short-circuit operator (&& and ||), the conversion is missing.
2016-03-03 14:38:51 +08:00

170 lines
7.8 KiB
Plaintext

spv.boolInBlock.frag
Warning, version 450 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 107
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 75
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 14 "foo(vb4;vb2;"
Name 12 "paramb4"
Name 13 "paramb2"
Name 17 "b1"
Name 24 "Buffer"
MemberName 24(Buffer) 0 "b2"
Name 26 ""
Name 39 "Uniform"
MemberName 39(Uniform) 0 "b4"
Name 41 ""
Name 62 "param"
Name 67 "param"
Name 75 "fragColor"
MemberDecorate 24(Buffer) 0 Offset 0
Decorate 24(Buffer) BufferBlock
Decorate 26 DescriptorSet 0
Decorate 26 Binding 1
MemberDecorate 39(Uniform) 0 Offset 0
Decorate 39(Uniform) Block
Decorate 41 DescriptorSet 0
Decorate 41 Binding 0
Decorate 75(fragColor) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypeVector 6(bool) 4
8: TypePointer Function 7(bvec4)
9: TypeVector 6(bool) 2
10: TypePointer Function 9(bvec2)
11: TypeFunction 2 8(ptr) 10(ptr)
16: TypePointer Function 6(bool)
22: TypeInt 32 0
23: TypeVector 22(int) 2
24(Buffer): TypeStruct 23(ivec2)
25: TypePointer Uniform 24(Buffer)
26: 25(ptr) Variable Uniform
27: TypeInt 32 1
28: 27(int) Constant 0
29: 6(bool) ConstantFalse
30: 9(bvec2) ConstantComposite 29 29
31: 22(int) Constant 0
32: 23(ivec2) ConstantComposite 31 31
33: 22(int) Constant 1
34: 23(ivec2) ConstantComposite 33 33
36: TypePointer Uniform 23(ivec2)
38: TypeVector 22(int) 4
39(Uniform): TypeStruct 38(ivec4)
40: TypePointer Uniform 39(Uniform)
41: 40(ptr) Variable Uniform
42: TypePointer Uniform 38(ivec4)
65: 38(ivec4) ConstantComposite 31 31 31 31
72: TypeFloat 32
73: TypeVector 72(float) 4
74: TypePointer Output 73(fvec4)
75(fragColor): 74(ptr) Variable Output
87: 72(float) Constant 0
88: 72(float) Constant 1065353216
4(main): 2 Function None 3
5: Label
62(param): 8(ptr) Variable Function
67(param): 10(ptr) Variable Function
35: 23(ivec2) Select 30 34 32
37: 36(ptr) AccessChain 26 28
Store 37 35
43: 42(ptr) AccessChain 41 28
44: 38(ivec4) Load 43
45: 22(int) CompositeExtract 44 2
46: 6(bool) INotEqual 45 31
SelectionMerge 48 None
BranchConditional 46 47 48
47: Label
49: 42(ptr) AccessChain 41 28
50: 38(ivec4) Load 49
51: 22(int) CompositeExtract 50 0
52: 6(bool) INotEqual 51 31
53: 9(bvec2) CompositeConstruct 52 52
54: 23(ivec2) Select 53 34 32
55: 36(ptr) AccessChain 26 28
Store 55 54
Branch 48
48: Label
56: 36(ptr) AccessChain 26 28
57: 23(ivec2) Load 56
58: 22(int) CompositeExtract 57 0
59: 6(bool) INotEqual 58 31
SelectionMerge 61 None
BranchConditional 59 60 61
60: Label
63: 42(ptr) AccessChain 41 28
64: 38(ivec4) Load 63
66: 7(bvec4) INotEqual 64 65
Store 62(param) 66
68: 2 FunctionCall 14(foo(vb4;vb2;) 62(param) 67(param)
69: 9(bvec2) Load 67(param)
70: 23(ivec2) Select 69 34 32
71: 36(ptr) AccessChain 26 28
Store 71 70
Branch 61
61: Label
76: 42(ptr) AccessChain 41 28
77: 38(ivec4) Load 76
78: 22(int) CompositeExtract 77 0
79: 6(bool) INotEqual 78 31
SelectionMerge 81 None
BranchConditional 79 80 81
80: Label
82: 42(ptr) AccessChain 41 28
83: 38(ivec4) Load 82
84: 22(int) CompositeExtract 83 1
85: 6(bool) INotEqual 84 31
Branch 81
81: Label
86: 6(bool) Phi 79 61 85 80
89: 72(float) Select 86 88 87
90: 73(fvec4) CompositeConstruct 89 89 89 89
Store 75(fragColor) 90
91: 42(ptr) AccessChain 41 28
92: 38(ivec4) Load 91
93: 22(int) CompositeExtract 92 0
94: 6(bool) INotEqual 93 31
95: 6(bool) LogicalNot 94
SelectionMerge 97 None
BranchConditional 95 96 97
96: Label
98: 42(ptr) AccessChain 41 28
99: 38(ivec4) Load 98
100: 22(int) CompositeExtract 99 1
101: 6(bool) INotEqual 100 31
Branch 97
97: Label
102: 6(bool) Phi 94 81 101 96
103: 72(float) Select 102 88 87
104: 73(fvec4) CompositeConstruct 103 103 103 103
105: 73(fvec4) Load 75(fragColor)
106: 73(fvec4) FSub 105 104
Store 75(fragColor) 106
Return
FunctionEnd
14(foo(vb4;vb2;): 2 Function None 11
12(paramb4): 8(ptr) FunctionParameter
13(paramb2): 10(ptr) FunctionParameter
15: Label
17(b1): 16(ptr) Variable Function
18: 7(bvec4) Load 12(paramb4)
19: 6(bool) CompositeExtract 18 2
Store 17(b1) 19
20: 6(bool) Load 17(b1)
21: 9(bvec2) CompositeConstruct 20 20
Store 13(paramb2) 21
Return
FunctionEnd