1
hlsl.clipdistance-5.frag
3
gl_FragCoord origin is upper left
5
0:7 Function Definition: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
6
0:7 Function Parameters:
7
0:7 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
9
0:8 Branch: Return with expression
10
0:8 add ( temp 4-component vector of float)
11
0:8 add ( temp 4-component vector of float)
12
0:8 Position: direct index for structure ( temp 4-component vector of float)
13
0:8 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
16
0:8 direct index ( temp float)
17
0:8 direct index ( temp 2-component vector of float)
18
0:8 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
19
0:8 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
26
0:8 direct index ( temp float)
27
0:8 direct index ( temp 2-component vector of float)
28
0:8 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
29
0:8 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
36
0:7 Function Definition: main( ( temp void)
37
0:7 Function Parameters:
40
0:7 move second child to first child ( temp 4-component vector of float)
41
0:7 Position: direct index for structure ( temp 4-component vector of float)
42
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
45
0:? 'v.Position' ( in 4-component vector of float FragCoord)
47
0:7 move second child to first child ( temp float)
48
0:7 direct index ( temp float)
49
0:7 direct index ( temp 2-component vector of float)
50
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
51
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
58
0:7 direct index ( in float ClipDistance)
59
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
62
0:7 move second child to first child ( temp float)
63
0:7 direct index ( temp float)
64
0:7 direct index ( temp 2-component vector of float)
65
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
66
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
73
0:7 direct index ( in float ClipDistance)
74
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
77
0:7 move second child to first child ( temp float)
78
0:7 direct index ( temp float)
79
0:7 direct index ( temp 2-component vector of float)
80
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
81
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
88
0:7 direct index ( in float ClipDistance)
89
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
92
0:7 move second child to first child ( temp float)
93
0:7 direct index ( temp float)
94
0:7 direct index ( temp 2-component vector of float)
95
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
96
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
103
0:7 direct index ( in float ClipDistance)
104
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
107
0:7 move second child to first child ( temp 4-component vector of float)
108
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
109
0:7 Function Call: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
110
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
112
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
113
0:? 'v.Position' ( in 4-component vector of float FragCoord)
114
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
117
Linked fragment stage:
121
gl_FragCoord origin is upper left
123
0:7 Function Definition: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
124
0:7 Function Parameters:
125
0:7 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
127
0:8 Branch: Return with expression
128
0:8 add ( temp 4-component vector of float)
129
0:8 add ( temp 4-component vector of float)
130
0:8 Position: direct index for structure ( temp 4-component vector of float)
131
0:8 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
134
0:8 direct index ( temp float)
135
0:8 direct index ( temp 2-component vector of float)
136
0:8 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
137
0:8 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
144
0:8 direct index ( temp float)
145
0:8 direct index ( temp 2-component vector of float)
146
0:8 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
147
0:8 'v' ( const (read only) structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
154
0:7 Function Definition: main( ( temp void)
155
0:7 Function Parameters:
158
0:7 move second child to first child ( temp 4-component vector of float)
159
0:7 Position: direct index for structure ( temp 4-component vector of float)
160
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
163
0:? 'v.Position' ( in 4-component vector of float FragCoord)
165
0:7 move second child to first child ( temp float)
166
0:7 direct index ( temp float)
167
0:7 direct index ( temp 2-component vector of float)
168
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
169
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
176
0:7 direct index ( in float ClipDistance)
177
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
180
0:7 move second child to first child ( temp float)
181
0:7 direct index ( temp float)
182
0:7 direct index ( temp 2-component vector of float)
183
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
184
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
191
0:7 direct index ( in float ClipDistance)
192
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
195
0:7 move second child to first child ( temp float)
196
0:7 direct index ( temp float)
197
0:7 direct index ( temp 2-component vector of float)
198
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
199
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
206
0:7 direct index ( in float ClipDistance)
207
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
210
0:7 move second child to first child ( temp float)
211
0:7 direct index ( temp float)
212
0:7 direct index ( temp 2-component vector of float)
213
0:7 ClipRect: direct index for structure ( temp 2-element array of 2-component vector of float)
214
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
221
0:7 direct index ( in float ClipDistance)
222
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
225
0:7 move second child to first child ( temp 4-component vector of float)
226
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
227
0:7 Function Call: @main(struct-VS_OUTPUT-vf4-vf2[2]1; ( temp 4-component vector of float)
228
0:? 'v' ( temp structure{ temp 4-component vector of float Position, temp 2-element array of 2-component vector of float ClipRect})
230
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
231
0:? 'v.Position' ( in 4-component vector of float FragCoord)
232
0:? 'v.ClipRect' ( in 4-element array of float ClipDistance)
234
// Module Version 10000
235
// Generated by (magic number): 80008
236
// Id's are bound by 62
239
Capability ClipDistance
240
1: ExtInstImport "GLSL.std.450"
241
MemoryModel Logical GLSL450
242
EntryPoint Fragment 4 "main" 33 40 59
243
ExecutionMode 4 OriginUpperLeft
247
MemberName 12(VS_OUTPUT) 0 "Position"
248
MemberName 12(VS_OUTPUT) 1 "ClipRect"
249
Name 15 "@main(struct-VS_OUTPUT-vf4-vf2[2]1;"
254
Name 59 "@entryPointOutput"
255
Decorate 33(v.Position) BuiltIn FragCoord
256
Decorate 40(v.ClipRect) BuiltIn ClipDistance
257
Decorate 59(@entryPointOutput) Location 0
261
7: TypeVector 6(float) 4
262
8: TypeVector 6(float) 2
264
10: 9(int) Constant 2
265
11: TypeArray 8(fvec2) 10
266
12(VS_OUTPUT): TypeStruct 7(fvec4) 11
267
13: TypeFunction 7(fvec4) 12(VS_OUTPUT)
269
18: 17(int) Constant 0
270
20: 17(int) Constant 1
271
21: 9(int) Constant 0
272
30: TypePointer Function 12(VS_OUTPUT)
273
32: TypePointer Input 7(fvec4)
274
33(v.Position): 32(ptr) Variable Input
275
35: TypePointer Function 7(fvec4)
276
37: 9(int) Constant 4
277
38: TypeArray 6(float) 37
278
39: TypePointer Input 38
279
40(v.ClipRect): 39(ptr) Variable Input
280
41: TypePointer Input 6(float)
281
44: TypePointer Function 6(float)
282
48: 9(int) Constant 1
283
50: 17(int) Constant 2
284
54: 17(int) Constant 3
285
58: TypePointer Output 7(fvec4)
286
59(@entryPointOutput): 58(ptr) Variable Output
287
4(main): 2 Function None 3
289
31(v): 30(ptr) Variable Function
290
34: 7(fvec4) Load 33(v.Position)
291
36: 35(ptr) AccessChain 31(v) 18
293
42: 41(ptr) AccessChain 40(v.ClipRect) 18
295
45: 44(ptr) AccessChain 31(v) 20 18 21
297
46: 41(ptr) AccessChain 40(v.ClipRect) 20
299
49: 44(ptr) AccessChain 31(v) 20 18 48
301
51: 41(ptr) AccessChain 40(v.ClipRect) 50
303
53: 44(ptr) AccessChain 31(v) 20 20 21
305
55: 41(ptr) AccessChain 40(v.ClipRect) 54
307
57: 44(ptr) AccessChain 31(v) 20 20 48
309
60:12(VS_OUTPUT) Load 31(v)
310
61: 7(fvec4) FunctionCall 15(@main(struct-VS_OUTPUT-vf4-vf2[2]1;) 60
311
Store 59(@entryPointOutput) 61
314
15(@main(struct-VS_OUTPUT-vf4-vf2[2]1;): 7(fvec4) Function None 13
315
14(v):12(VS_OUTPUT) FunctionParameter
317
19: 7(fvec4) CompositeExtract 14(v) 0
318
22: 6(float) CompositeExtract 14(v) 1 0 0
319
23: 7(fvec4) CompositeConstruct 22 22 22 22
320
24: 7(fvec4) FAdd 19 23
321
25: 6(float) CompositeExtract 14(v) 1 1 0
322
26: 7(fvec4) CompositeConstruct 25 25 25 25
323
27: 7(fvec4) FAdd 24 26