1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
hlsl.logical.binary.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Test condition and select ( temp void)
0:13 Condition
0:13 logical-and ( temp bool)
0:13 Convert int to bool ( temp bool)
0:13 ival: direct index for structure ( uniform int)
0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:13 Constant:
0:13 0 (const uint)
0:13 Convert float to bool ( temp bool)
0:13 fval: direct index for structure ( uniform float)
0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:13 Constant:
0:13 2 (const uint)
0:13 true case is null
0:14 Test condition and select ( temp void)
0:14 Condition
0:14 logical-or ( temp bool)
0:14 Convert int to bool ( temp bool)
0:14 ival: direct index for structure ( uniform int)
0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:14 Constant:
0:14 0 (const uint)
0:14 Convert float to bool ( temp bool)
0:14 fval: direct index for structure ( uniform float)
0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:14 Constant:
0:14 2 (const uint)
0:14 true case is null
0:17 move second child to first child ( temp 4-component vector of float)
0:17 Color: direct index for structure ( temp 4-component vector of float)
0:17 'psout' ( temp structure{ temp 4-component vector of float Color})
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:18 Branch: Return with expression
0:18 'psout' ( temp structure{ temp 4-component vector of float Color})
0:12 Function Definition: main( ( temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:12 Color: direct index for structure ( temp 4-component vector of float)
0:12 Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:12 Constant:
0:12 0 (const int)
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:12 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color})
0:12 Function Parameters:
0:? Sequence
0:13 Test condition and select ( temp void)
0:13 Condition
0:13 logical-and ( temp bool)
0:13 Convert int to bool ( temp bool)
0:13 ival: direct index for structure ( uniform int)
0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:13 Constant:
0:13 0 (const uint)
0:13 Convert float to bool ( temp bool)
0:13 fval: direct index for structure ( uniform float)
0:13 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:13 Constant:
0:13 2 (const uint)
0:13 true case is null
0:14 Test condition and select ( temp void)
0:14 Condition
0:14 logical-or ( temp bool)
0:14 Convert int to bool ( temp bool)
0:14 ival: direct index for structure ( uniform int)
0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:14 Constant:
0:14 0 (const uint)
0:14 Convert float to bool ( temp bool)
0:14 fval: direct index for structure ( uniform float)
0:14 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:14 Constant:
0:14 2 (const uint)
0:14 true case is null
0:17 move second child to first child ( temp 4-component vector of float)
0:17 Color: direct index for structure ( temp 4-component vector of float)
0:17 'psout' ( temp structure{ temp 4-component vector of float Color})
0:17 Constant:
0:17 0 (const int)
0:17 Constant:
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:17 1.000000
0:18 Branch: Return with expression
0:18 'psout' ( temp structure{ temp 4-component vector of float Color})
0:12 Function Definition: main( ( temp void)
0:12 Function Parameters:
0:? Sequence
0:12 Sequence
0:12 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
0:12 Color: direct index for structure ( temp 4-component vector of float)
0:12 Function Call: @main( ( temp structure{ temp 4-component vector of float Color})
0:12 Constant:
0:12 0 (const int)
0:? Linker Objects
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int ival, uniform 4-component vector of int ival4, uniform float fval, uniform 4-component vector of float fval4})
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 56
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 53
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
Name 10 "@main("
Name 14 "$Global"
MemberName 14($Global) 0 "ival"
MemberName 14($Global) 1 "ival4"
MemberName 14($Global) 2 "fval"
MemberName 14($Global) 3 "fval4"
Name 16 ""
Name 44 "psout"
Name 53 "@entryPointOutput.Color"
MemberDecorate 14($Global) 0 Offset 0
MemberDecorate 14($Global) 1 Offset 16
MemberDecorate 14($Global) 2 Offset 32
MemberDecorate 14($Global) 3 Offset 48
Decorate 14($Global) Block
Decorate 16 DescriptorSet 0
Decorate 16 Binding 0
Decorate 53(@entryPointOutput.Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4)
9: TypeFunction 8(PS_OUTPUT)
12: TypeInt 32 1
13: TypeVector 12(int) 4
14($Global): TypeStruct 12(int) 13(ivec4) 6(float) 7(fvec4)
15: TypePointer Uniform 14($Global)
16: 15(ptr) Variable Uniform
17: 12(int) Constant 0
18: TypePointer Uniform 12(int)
21: TypeBool
22: TypeInt 32 0
23: 22(int) Constant 0
25: 12(int) Constant 2
26: TypePointer Uniform 6(float)
29: 6(float) Constant 0
43: TypePointer Function 8(PS_OUTPUT)
45: 6(float) Constant 1065353216
46: 7(fvec4) ConstantComposite 45 45 45 45
47: TypePointer Function 7(fvec4)
52: TypePointer Output 7(fvec4)
53(@entryPointOutput.Color): 52(ptr) Variable Output
4(main): 2 Function None 3
5: Label
54:8(PS_OUTPUT) FunctionCall 10(@main()
55: 7(fvec4) CompositeExtract 54 0
Store 53(@entryPointOutput.Color) 55
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
44(psout): 43(ptr) Variable Function
19: 18(ptr) AccessChain 16 17
20: 12(int) Load 19
24: 21(bool) INotEqual 20 23
27: 26(ptr) AccessChain 16 25
28: 6(float) Load 27
30: 21(bool) FUnordNotEqual 28 29
31: 21(bool) LogicalAnd 24 30
SelectionMerge 33 None
BranchConditional 31 32 33
32: Label
Branch 33
33: Label
34: 18(ptr) AccessChain 16 17
35: 12(int) Load 34
36: 21(bool) INotEqual 35 23
37: 26(ptr) AccessChain 16 25
38: 6(float) Load 37
39: 21(bool) FUnordNotEqual 38 29
40: 21(bool) LogicalOr 36 39
SelectionMerge 42 None
BranchConditional 40 41 42
41: Label
Branch 42
42: Label
48: 47(ptr) AccessChain 44(psout) 17
Store 48 46
49:8(PS_OUTPUT) Load 44(psout)
ReturnValue 49
FunctionEnd
|