1spv.boolInBlock.frag
2// Module Version 10000
3// Generated by (magic number): 80007
4// Id's are bound by 102
5
6                              Capability Shader
7               1:             ExtInstImport  "GLSL.std.450"
8                              MemoryModel Logical GLSL450
9                              EntryPoint Fragment 4  "main" 74
10                              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"
17                              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
35               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)
44              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
72         4(main):           2 Function None 3
73               5:             Label
74       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
82                              SelectionMerge 48 None
83                              BranchConditional 46 47 48
84              47:               Label
85              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
92                                Branch 48
93              48:             Label
94              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
144                              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
151              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
157                              Return
158                              FunctionEnd
159