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