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
|
hlsl.synthesizeInput.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: @main(struct-PSInput-f1-u11; ( temp 4-component vector of float)
0:7 Function Parameters:
0:7 'input' ( in structure{ temp float interp, temp uint no_interp})
0:? Sequence
0:8 Branch: Return with expression
0:8 Construct vec4 ( temp 4-component vector of float)
0:8 Convert uint to float ( temp float)
0:8 no_interp: direct index for structure ( temp uint)
0:8 'input' ( in structure{ temp float interp, temp uint no_interp})
0:8 Constant:
0:8 1 (const int)
0:8 interp: direct index for structure ( temp float)
0:8 'input' ( in structure{ temp float interp, temp uint no_interp})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 0.000000
0:8 Constant:
0:8 1.000000
0:7 Function Definition: main( ( temp void)
0:7 Function Parameters:
0:? Sequence
0:7 Sequence
0:7 move second child to first child ( temp float)
0:7 interp: direct index for structure ( temp float)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:7 Constant:
0:7 0 (const int)
0:? 'input.interp' (layout( location=0) in float)
0:7 move second child to first child ( temp uint)
0:7 no_interp: direct index for structure ( temp uint)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:7 Constant:
0:7 1 (const int)
0:? 'input.no_interp' (layout( location=1) flat in uint)
0:7 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(struct-PSInput-f1-u11; ( temp 4-component vector of float)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input.interp' (layout( location=0) in float)
0:? 'input.no_interp' (layout( location=1) flat in uint)
Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:7 Function Definition: @main(struct-PSInput-f1-u11; ( temp 4-component vector of float)
0:7 Function Parameters:
0:7 'input' ( in structure{ temp float interp, temp uint no_interp})
0:? Sequence
0:8 Branch: Return with expression
0:8 Construct vec4 ( temp 4-component vector of float)
0:8 Convert uint to float ( temp float)
0:8 no_interp: direct index for structure ( temp uint)
0:8 'input' ( in structure{ temp float interp, temp uint no_interp})
0:8 Constant:
0:8 1 (const int)
0:8 interp: direct index for structure ( temp float)
0:8 'input' ( in structure{ temp float interp, temp uint no_interp})
0:8 Constant:
0:8 0 (const int)
0:8 Constant:
0:8 0.000000
0:8 Constant:
0:8 1.000000
0:7 Function Definition: main( ( temp void)
0:7 Function Parameters:
0:? Sequence
0:7 Sequence
0:7 move second child to first child ( temp float)
0:7 interp: direct index for structure ( temp float)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:7 Constant:
0:7 0 (const int)
0:? 'input.interp' (layout( location=0) in float)
0:7 move second child to first child ( temp uint)
0:7 no_interp: direct index for structure ( temp uint)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:7 Constant:
0:7 1 (const int)
0:? 'input.no_interp' (layout( location=1) flat in uint)
0:7 move second child to first child ( temp 4-component vector of float)
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:7 Function Call: @main(struct-PSInput-f1-u11; ( temp 4-component vector of float)
0:? 'input' ( temp structure{ temp float interp, temp uint no_interp})
0:? Linker Objects
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:? 'input.interp' (layout( location=0) in float)
0:? 'input.no_interp' (layout( location=1) flat in uint)
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 44
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 32 36 40
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 8 "PSInput"
MemberName 8(PSInput) 0 "interp"
MemberName 8(PSInput) 1 "no_interp"
Name 13 "@main(struct-PSInput-f1-u11;"
Name 12 "input"
Name 30 "input"
Name 32 "input.interp"
Name 36 "input.no_interp"
Name 40 "@entryPointOutput"
Name 41 "param"
Decorate 32(input.interp) Location 0
Decorate 36(input.no_interp) Flat
Decorate 36(input.no_interp) Location 1
Decorate 40(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeInt 32 0
8(PSInput): TypeStruct 6(float) 7(int)
9: TypePointer Function 8(PSInput)
10: TypeVector 6(float) 4
11: TypeFunction 10(fvec4) 9(ptr)
15: TypeInt 32 1
16: 15(int) Constant 1
17: TypePointer Function 7(int)
21: 15(int) Constant 0
22: TypePointer Function 6(float)
25: 6(float) Constant 0
26: 6(float) Constant 1065353216
31: TypePointer Input 6(float)
32(input.interp): 31(ptr) Variable Input
35: TypePointer Input 7(int)
36(input.no_interp): 35(ptr) Variable Input
39: TypePointer Output 10(fvec4)
40(@entryPointOutput): 39(ptr) Variable Output
4(main): 2 Function None 3
5: Label
30(input): 9(ptr) Variable Function
41(param): 9(ptr) Variable Function
33: 6(float) Load 32(input.interp)
34: 22(ptr) AccessChain 30(input) 21
Store 34 33
37: 7(int) Load 36(input.no_interp)
38: 17(ptr) AccessChain 30(input) 16
Store 38 37
42: 8(PSInput) Load 30(input)
Store 41(param) 42
43: 10(fvec4) FunctionCall 13(@main(struct-PSInput-f1-u11;) 41(param)
Store 40(@entryPointOutput) 43
Return
FunctionEnd
13(@main(struct-PSInput-f1-u11;): 10(fvec4) Function None 11
12(input): 9(ptr) FunctionParameter
14: Label
18: 17(ptr) AccessChain 12(input) 16
19: 7(int) Load 18
20: 6(float) ConvertUToF 19
23: 22(ptr) AccessChain 12(input) 21
24: 6(float) Load 23
27: 10(fvec4) CompositeConstruct 20 24 25 26
ReturnValue 27
FunctionEnd
|