blob: e86ca6b3f789c1a6112eb174113d854e34c24786 [file] [log] [blame]
Rex Xu27253232016-02-23 17:51:09 +08001spv.boolInBlock.frag
John Kessenich2b5ea9f2018-01-31 18:35:56 -07002// Module Version 10000
John Kessenichd6c97552018-06-04 15:33:31 -06003// Generated by (magic number): 80007
John Kessenich5c3eed52018-02-05 14:44:14 -07004// Id's are bound by 102
Rex Xu27253232016-02-23 17:51:09 +08005
6 Capability Shader
7 1: ExtInstImport "GLSL.std.450"
8 MemoryModel Logical GLSL450
John Kessenich5c3eed52018-02-05 14:44:14 -07009 EntryPoint Fragment 4 "main" 74
Rex Xu27253232016-02-23 17:51:09 +080010 ExecutionMode 4 OriginUpperLeft
11 Source GLSL 450
12 Name 4 "main"
13 Name 14 "foo(vb4;vb2;"
14 Name 12 "paramb4"
15 Name 13 "paramb2"
16 Name 17 "b1"
John Kessenich5c3eed52018-02-05 14:44:14 -070017 Name 25 "Buffer"
18 MemberName 25(Buffer) 0 "b2"
19 Name 27 ""
20 Name 40 "Uniform"
21 MemberName 40(Uniform) 0 "b4"
22 Name 42 ""
23 Name 60 "param"
24 Name 66 "param"
25 Name 74 "fragColor"
26 MemberDecorate 25(Buffer) 0 Offset 0
27 Decorate 25(Buffer) BufferBlock
28 Decorate 27 DescriptorSet 0
29 Decorate 27 Binding 1
30 MemberDecorate 40(Uniform) 0 Offset 0
31 Decorate 40(Uniform) Block
32 Decorate 42 DescriptorSet 0
33 Decorate 42 Binding 0
34 Decorate 74(fragColor) Location 0
Rex Xu27253232016-02-23 17:51:09 +080035 2: TypeVoid
36 3: TypeFunction 2
37 6: TypeBool
38 7: TypeVector 6(bool) 4
39 8: TypePointer Function 7(bvec4)
40 9: TypeVector 6(bool) 2
41 10: TypePointer Function 9(bvec2)
42 11: TypeFunction 2 8(ptr) 10(ptr)
43 16: TypePointer Function 6(bool)
John Kessenich5c3eed52018-02-05 14:44:14 -070044 18: TypeInt 32 0
45 19: 18(int) Constant 2
46 24: TypeVector 18(int) 2
47 25(Buffer): TypeStruct 24(ivec2)
48 26: TypePointer Uniform 25(Buffer)
49 27: 26(ptr) Variable Uniform
50 28: TypeInt 32 1
51 29: 28(int) Constant 0
52 30: 6(bool) ConstantFalse
53 31: 9(bvec2) ConstantComposite 30 30
54 32: 18(int) Constant 1
55 33: 24(ivec2) ConstantComposite 32 32
56 34: 18(int) Constant 0
57 35: 24(ivec2) ConstantComposite 34 34
58 37: TypePointer Uniform 24(ivec2)
59 39: TypeVector 18(int) 4
60 40(Uniform): TypeStruct 39(ivec4)
61 41: TypePointer Uniform 40(Uniform)
62 42: 41(ptr) Variable Uniform
63 43: TypePointer Uniform 18(int)
64 61: TypePointer Uniform 39(ivec4)
65 64: 39(ivec4) ConstantComposite 34 34 34 34
66 71: TypeFloat 32
67 72: TypeVector 71(float) 4
68 73: TypePointer Output 72(fvec4)
69 74(fragColor): 73(ptr) Variable Output
70 84: 71(float) Constant 0
71 85: 71(float) Constant 1065353216
Rex Xu27253232016-02-23 17:51:09 +080072 4(main): 2 Function None 3
73 5: Label
John Kessenich5c3eed52018-02-05 14:44:14 -070074 60(param): 8(ptr) Variable Function
75 66(param): 10(ptr) Variable Function
76 36: 24(ivec2) Select 31 33 35
77 38: 37(ptr) AccessChain 27 29
78 Store 38 36
79 44: 43(ptr) AccessChain 42 29 19
80 45: 18(int) Load 44
81 46: 6(bool) INotEqual 45 34
Rex Xu27253232016-02-23 17:51:09 +080082 SelectionMerge 48 None
83 BranchConditional 46 47 48
84 47: Label
John Kessenich5c3eed52018-02-05 14:44:14 -070085 49: 43(ptr) AccessChain 42 29 34
86 50: 18(int) Load 49
87 51: 6(bool) INotEqual 50 34
88 52: 9(bvec2) CompositeConstruct 51 51
89 53: 24(ivec2) Select 52 33 35
90 54: 37(ptr) AccessChain 27 29
91 Store 54 53
Rex Xu27253232016-02-23 17:51:09 +080092 Branch 48
93 48: Label
John Kessenich5c3eed52018-02-05 14:44:14 -070094 55: 43(ptr) AccessChain 27 29 34
95 56: 18(int) Load 55
96 57: 6(bool) INotEqual 56 34
97 SelectionMerge 59 None
98 BranchConditional 57 58 59
99 58: Label
100 62: 61(ptr) AccessChain 42 29
101 63: 39(ivec4) Load 62
102 65: 7(bvec4) INotEqual 63 64
103 Store 60(param) 65
104 67: 2 FunctionCall 14(foo(vb4;vb2;) 60(param) 66(param)
105 68: 9(bvec2) Load 66(param)
106 69: 24(ivec2) Select 68 33 35
107 70: 37(ptr) AccessChain 27 29
108 Store 70 69
109 Branch 59
110 59: Label
111 75: 43(ptr) AccessChain 42 29 34
112 76: 18(int) Load 75
113 77: 6(bool) INotEqual 76 34
114 SelectionMerge 79 None
115 BranchConditional 77 78 79
116 78: Label
117 80: 43(ptr) AccessChain 42 29 32
118 81: 18(int) Load 80
119 82: 6(bool) INotEqual 81 34
120 Branch 79
121 79: Label
122 83: 6(bool) Phi 77 59 82 78
123 86: 71(float) Select 83 85 84
124 87: 72(fvec4) CompositeConstruct 86 86 86 86
125 Store 74(fragColor) 87
126 88: 43(ptr) AccessChain 42 29 34
127 89: 18(int) Load 88
128 90: 6(bool) INotEqual 89 34
129 91: 6(bool) LogicalNot 90
130 SelectionMerge 93 None
131 BranchConditional 91 92 93
132 92: Label
133 94: 43(ptr) AccessChain 42 29 32
134 95: 18(int) Load 94
135 96: 6(bool) INotEqual 95 34
136 Branch 93
137 93: Label
138 97: 6(bool) Phi 90 79 96 92
139 98: 71(float) Select 97 85 84
140 99: 72(fvec4) CompositeConstruct 98 98 98 98
141 100: 72(fvec4) Load 74(fragColor)
142 101: 72(fvec4) FSub 100 99
143 Store 74(fragColor) 101
Rex Xu27253232016-02-23 17:51:09 +0800144 Return
145 FunctionEnd
14614(foo(vb4;vb2;): 2 Function None 11
147 12(paramb4): 8(ptr) FunctionParameter
148 13(paramb2): 10(ptr) FunctionParameter
149 15: Label
150 17(b1): 16(ptr) Variable Function
John Kessenich5c3eed52018-02-05 14:44:14 -0700151 20: 16(ptr) AccessChain 12(paramb4) 19
152 21: 6(bool) Load 20
153 Store 17(b1) 21
154 22: 6(bool) Load 17(b1)
155 23: 9(bvec2) CompositeConstruct 22 22
156 Store 13(paramb2) 23
Rex Xu27253232016-02-23 17:51:09 +0800157 Return
158 FunctionEnd