3 gl_FragCoord origin is upper left
5 0:13 Function Definition: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
6 0:13 Function Parameters:
7 0:13 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
9 0:14 Test condition and select ( temp void)
11 0:14 Compare Less Than ( temp bool)
12 0:14 direct index ( temp float)
13 0:14 PositionPS: direct index for structure ( temp 4-component vector of float)
14 0:14 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
22 0:15 Branch: Return with expression
23 0:15 AmbientColor: direct index for structure ( uniform 4-component vector of float)
24 0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
28 0:17 Branch: Return with expression
29 0:17 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
30 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
33 0:13 Function Definition: main( ( temp void)
34 0:13 Function Parameters:
38 0:13 move second child to first child ( temp 4-component vector of float)
39 0:13 '@fragcoord' ( temp 4-component vector of float)
40 0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
41 0:13 move second child to first child ( temp float)
42 0:13 direct index ( in float FragCoord)
43 0:13 '@fragcoord' ( temp 4-component vector of float)
46 0:13 divide ( temp float)
49 0:13 direct index ( in float FragCoord)
50 0:13 '@fragcoord' ( temp 4-component vector of float)
53 0:13 move second child to first child ( temp 4-component vector of float)
54 0:13 PositionPS: direct index for structure ( temp 4-component vector of float)
55 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
58 0:13 '@fragcoord' ( temp 4-component vector of float)
59 0:13 move second child to first child ( temp 3-component vector of float)
60 0:13 PosInLightViewSpace: direct index for structure ( temp 3-component vector of float)
61 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
64 0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
65 0:13 move second child to first child ( temp 3-component vector of float)
66 0:13 NormalWS: direct index for structure ( temp 3-component vector of float)
67 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
70 0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
71 0:13 move second child to first child ( temp 2-component vector of float)
72 0:13 TexCoord: direct index for structure ( temp 2-component vector of float)
73 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
76 0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
77 0:13 move second child to first child ( temp 4-component vector of float)
78 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
79 0:13 Function Call: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
80 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
82 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
83 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
84 0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
85 0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
86 0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
87 0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
90 Linked fragment stage:
94 gl_FragCoord origin is upper left
96 0:13 Function Definition: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
97 0:13 Function Parameters:
98 0:13 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
100 0:14 Test condition and select ( temp void)
102 0:14 Compare Less Than ( temp bool)
103 0:14 direct index ( temp float)
104 0:14 PositionPS: direct index for structure ( temp 4-component vector of float)
105 0:14 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
113 0:15 Branch: Return with expression
114 0:15 AmbientColor: direct index for structure ( uniform 4-component vector of float)
115 0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
119 0:17 Branch: Return with expression
120 0:17 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
121 0:17 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
124 0:13 Function Definition: main( ( temp void)
125 0:13 Function Parameters:
129 0:13 move second child to first child ( temp 4-component vector of float)
130 0:13 '@fragcoord' ( temp 4-component vector of float)
131 0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
132 0:13 move second child to first child ( temp float)
133 0:13 direct index ( in float FragCoord)
134 0:13 '@fragcoord' ( temp 4-component vector of float)
137 0:13 divide ( temp float)
140 0:13 direct index ( in float FragCoord)
141 0:13 '@fragcoord' ( temp 4-component vector of float)
144 0:13 move second child to first child ( temp 4-component vector of float)
145 0:13 PositionPS: direct index for structure ( temp 4-component vector of float)
146 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
149 0:13 '@fragcoord' ( temp 4-component vector of float)
150 0:13 move second child to first child ( temp 3-component vector of float)
151 0:13 PosInLightViewSpace: direct index for structure ( temp 3-component vector of float)
152 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
155 0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
156 0:13 move second child to first child ( temp 3-component vector of float)
157 0:13 NormalWS: direct index for structure ( temp 3-component vector of float)
158 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
161 0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
162 0:13 move second child to first child ( temp 2-component vector of float)
163 0:13 TexCoord: direct index for structure ( temp 2-component vector of float)
164 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
167 0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
168 0:13 move second child to first child ( temp 4-component vector of float)
169 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
170 0:13 Function Call: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
171 0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
173 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
174 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
175 0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
176 0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
177 0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
178 0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
180 // Module Version 10000
181 // Generated by (magic number): 8000b
182 // Id's are bound by 75
185 1: ExtInstImport "GLSL.std.450"
186 MemoryModel Logical GLSL450
187 EntryPoint Fragment 4 "main" 44 56 61 66 71
188 ExecutionMode 4 OriginUpperLeft
192 MemberName 10(VSOutput) 0 "PositionPS"
193 MemberName 10(VSOutput) 1 "PosInLightViewSpace"
194 MemberName 10(VSOutput) 2 "NormalWS"
195 MemberName 10(VSOutput) 3 "TexCoord"
196 Name 14 "@main(struct-VSOutput-vf4-vf3-vf3-vf21;"
199 MemberName 28($Global) 0 "AmbientColor"
200 MemberName 28($Global) 1 "AmbientColor2"
203 Name 44 "VSOut.PositionPS"
205 Name 56 "VSOut.PosInLightViewSpace"
206 Name 61 "VSOut.NormalWS"
207 Name 66 "VSOut.TexCoord"
208 Name 71 "@entryPointOutput"
210 MemberDecorate 28($Global) 0 Offset 0
211 MemberDecorate 28($Global) 1 Offset 16
212 Decorate 28($Global) Block
213 Decorate 30 DescriptorSet 0
214 Decorate 30 Binding 0
215 Decorate 44(VSOut.PositionPS) BuiltIn FragCoord
216 Decorate 56(VSOut.PosInLightViewSpace) Location 0
217 Decorate 61(VSOut.NormalWS) Location 1
218 Decorate 66(VSOut.TexCoord) Location 2
219 Decorate 71(@entryPointOutput) Location 0
223 7: TypeVector 6(float) 4
224 8: TypeVector 6(float) 3
225 9: TypeVector 6(float) 2
226 10(VSOutput): TypeStruct 7(fvec4) 8(fvec3) 8(fvec3) 9(fvec2)
227 11: TypePointer Function 10(VSOutput)
228 12: TypeFunction 7(fvec4) 11(ptr)
230 17: 16(int) Constant 0
232 19: 18(int) Constant 0
233 20: TypePointer Function 6(float)
234 23: 6(float) Constant 1137180672
236 28($Global): TypeStruct 7(fvec4) 7(fvec4)
237 29: TypePointer Uniform 28($Global)
238 30: 29(ptr) Variable Uniform
239 31: TypePointer Uniform 7(fvec4)
240 36: 16(int) Constant 1
241 41: TypePointer Function 7(fvec4)
242 43: TypePointer Input 7(fvec4)
243 44(VSOut.PositionPS): 43(ptr) Variable Input
244 46: 6(float) Constant 1065353216
245 47: 18(int) Constant 3
246 55: TypePointer Input 8(fvec3)
247 56(VSOut.PosInLightViewSpace): 55(ptr) Variable Input
248 58: TypePointer Function 8(fvec3)
249 60: 16(int) Constant 2
250 61(VSOut.NormalWS): 55(ptr) Variable Input
251 64: 16(int) Constant 3
252 65: TypePointer Input 9(fvec2)
253 66(VSOut.TexCoord): 65(ptr) Variable Input
254 68: TypePointer Function 9(fvec2)
255 70: TypePointer Output 7(fvec4)
256 71(@entryPointOutput): 70(ptr) Variable Output
257 4(main): 2 Function None 3
259 42(@fragcoord): 41(ptr) Variable Function
260 52(VSOut): 11(ptr) Variable Function
261 72(param): 11(ptr) Variable Function
262 45: 7(fvec4) Load 44(VSOut.PositionPS)
263 Store 42(@fragcoord) 45
264 48: 20(ptr) AccessChain 42(@fragcoord) 47
266 50: 6(float) FDiv 46 49
267 51: 20(ptr) AccessChain 42(@fragcoord) 47
269 53: 7(fvec4) Load 42(@fragcoord)
270 54: 41(ptr) AccessChain 52(VSOut) 17
272 57: 8(fvec3) Load 56(VSOut.PosInLightViewSpace)
273 59: 58(ptr) AccessChain 52(VSOut) 36
275 62: 8(fvec3) Load 61(VSOut.NormalWS)
276 63: 58(ptr) AccessChain 52(VSOut) 60
278 67: 9(fvec2) Load 66(VSOut.TexCoord)
279 69: 68(ptr) AccessChain 52(VSOut) 64
281 73:10(VSOutput) Load 52(VSOut)
283 74: 7(fvec4) FunctionCall 14(@main(struct-VSOutput-vf4-vf3-vf3-vf21;) 72(param)
284 Store 71(@entryPointOutput) 74
287 14(@main(struct-VSOutput-vf4-vf3-vf3-vf21;): 7(fvec4) Function None 12
288 13(VSOut): 11(ptr) FunctionParameter
290 21: 20(ptr) AccessChain 13(VSOut) 17 19
292 25: 24(bool) FOrdLessThan 22 23
293 SelectionMerge 27 None
294 BranchConditional 25 26 35
296 32: 31(ptr) AccessChain 30 17
300 37: 31(ptr) AccessChain 30 36