1 hlsl.structbuffer.rw.frag
3 gl_FragCoord origin is upper left
5 0:12 Function Definition: @main(u1; ( temp 4-component vector of float)
6 0:12 Function Parameters:
9 0:13 move second child to first child ( temp float)
10 0:13 indirect index (layout( row_major std430) buffer float)
11 0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
12 0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
22 0:17 move second child to first child ( temp uint)
23 0:17 'size' ( temp uint)
24 0:17 array length ( temp uint)
25 0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
26 0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
29 0:17 move second child to first child ( temp uint)
30 0:17 'stride' ( temp uint)
33 0:19 Test condition and select ( temp void)
35 0:19 test: direct index for structure ( temp bool)
36 0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
37 0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
38 0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
45 0:20 Branch: Return with expression
46 0:? Construct vec4 ( temp 4-component vector of float)
47 0:20 add ( temp 3-component vector of float)
48 0:20 color: direct index for structure ( temp 3-component vector of float)
49 0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
50 0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
51 0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
57 0:20 indirect index (layout( row_major std430) buffer float)
58 0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
59 0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
66 0:22 Branch: Return with expression
67 0:22 Construct vec4 ( temp 4-component vector of float)
68 0:22 Convert uint to float ( temp float)
70 0:22 'size' ( temp uint)
71 0:22 'stride' ( temp uint)
72 0:12 Function Definition: main( ( temp void)
73 0:12 Function Parameters:
75 0:12 move second child to first child ( temp uint)
76 0:? 'pos' ( temp uint)
77 0:? 'pos' (layout( location=0) in uint)
78 0:12 move second child to first child ( temp 4-component vector of float)
79 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
80 0:12 Function Call: @main(u1; ( temp 4-component vector of float)
81 0:? 'pos' ( temp uint)
83 0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
84 0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
85 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
86 0:? 'pos' (layout( location=0) in uint)
89 Linked fragment stage:
93 gl_FragCoord origin is upper left
95 0:12 Function Definition: @main(u1; ( temp 4-component vector of float)
96 0:12 Function Parameters:
99 0:13 move second child to first child ( temp float)
100 0:13 indirect index (layout( row_major std430) buffer float)
101 0:13 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
102 0:13 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
105 0:13 add ( temp uint)
106 0:13 'pos' ( in uint)
112 0:17 move second child to first child ( temp uint)
113 0:17 'size' ( temp uint)
114 0:17 array length ( temp uint)
115 0:17 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
116 0:17 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
119 0:17 move second child to first child ( temp uint)
120 0:17 'stride' ( temp uint)
123 0:19 Test condition and select ( temp void)
125 0:19 test: direct index for structure ( temp bool)
126 0:19 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
127 0:19 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
128 0:19 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
131 0:19 'pos' ( in uint)
135 0:20 Branch: Return with expression
136 0:? Construct vec4 ( temp 4-component vector of float)
137 0:20 add ( temp 3-component vector of float)
138 0:20 color: direct index for structure ( temp 3-component vector of float)
139 0:20 indirect index (layout( row_major std430) buffer structure{ temp 3-component vector of float color, temp bool test})
140 0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test})
141 0:20 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
144 0:20 'pos' ( in uint)
147 0:20 indirect index (layout( row_major std430) buffer float)
148 0:20 @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
149 0:20 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
152 0:20 'pos' ( in uint)
156 0:22 Branch: Return with expression
157 0:22 Construct vec4 ( temp 4-component vector of float)
158 0:22 Convert uint to float ( temp float)
159 0:22 add ( temp uint)
160 0:22 'size' ( temp uint)
161 0:22 'stride' ( temp uint)
162 0:12 Function Definition: main( ( temp void)
163 0:12 Function Parameters:
165 0:12 move second child to first child ( temp uint)
166 0:? 'pos' ( temp uint)
167 0:? 'pos' (layout( location=0) in uint)
168 0:12 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:12 Function Call: @main(u1; ( temp 4-component vector of float)
171 0:? 'pos' ( temp uint)
173 0:? 'sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 3-component vector of float color, temp bool test} @data})
174 0:? 'sbuf2' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
175 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
176 0:? 'pos' (layout( location=0) in uint)
178 // Module Version 10000
179 // Generated by (magic number): 80001
180 // Id's are bound by 78
183 1: ExtInstImport "GLSL.std.450"
184 MemoryModel Logical GLSL450
185 EntryPoint Fragment 4 "main" 71 74
186 ExecutionMode 4 OriginUpperLeft
191 MemberName 15(sbuf2) 0 "@data"
195 MemberName 28(sb_t) 0 "color"
196 MemberName 28(sb_t) 1 "test"
198 MemberName 30(sbuf) 0 "@data"
203 Name 74 "@entryPointOutput"
205 Decorate 14 ArrayStride 4
206 MemberDecorate 15(sbuf2) 0 Offset 0
207 Decorate 15(sbuf2) BufferBlock
208 Decorate 17(sbuf2) DescriptorSet 0
209 MemberDecorate 28(sb_t) 0 Offset 0
210 MemberDecorate 28(sb_t) 1 Offset 12
211 Decorate 29 ArrayStride 16
212 MemberDecorate 30(sbuf) 0 Offset 0
213 Decorate 30(sbuf) BufferBlock
214 Decorate 32(sbuf) DescriptorSet 0
215 Decorate 71(pos) Location 0
216 Decorate 74(@entryPointOutput) Location 0
220 7: TypePointer Function 6(int)
222 9: TypeVector 8(float) 4
223 10: TypeFunction 9(fvec4) 7(ptr)
224 14: TypeRuntimeArray 8(float)
225 15(sbuf2): TypeStruct 14
226 16: TypePointer Uniform 15(sbuf2)
227 17(sbuf2): 16(ptr) Variable Uniform
229 19: 18(int) Constant 0
230 21: 6(int) Constant 1
231 23: 8(float) Constant 1109917696
232 24: TypePointer Uniform 8(float)
233 27: TypeVector 8(float) 3
234 28(sb_t): TypeStruct 27(fvec3) 6(int)
235 29: TypeRuntimeArray 28(sb_t)
236 30(sbuf): TypeStruct 29
237 31: TypePointer Uniform 30(sbuf)
238 32(sbuf): 31(ptr) Variable Uniform
239 35: 6(int) Constant 16
240 37: 18(int) Constant 1
241 38: TypePointer Uniform 6(int)
243 42: 6(int) Constant 0
244 47: TypePointer Uniform 27(fvec3)
245 55: 8(float) Constant 0
246 70: TypePointer Input 6(int)
247 71(pos): 70(ptr) Variable Input
248 73: TypePointer Output 9(fvec4)
249 74(@entryPointOutput): 73(ptr) Variable Output
250 4(main): 2 Function None 3
252 69(pos): 7(ptr) Variable Function
253 75(param): 7(ptr) Variable Function
254 72: 6(int) Load 71(pos)
256 76: 6(int) Load 69(pos)
258 77: 9(fvec4) FunctionCall 12(@main(u1;) 75(param)
259 Store 74(@entryPointOutput) 77
262 12(@main(u1;): 9(fvec4) Function None 10
263 11(pos): 7(ptr) FunctionParameter
265 26(size): 7(ptr) Variable Function
266 34(stride): 7(ptr) Variable Function
267 20: 6(int) Load 11(pos)
268 22: 6(int) IAdd 20 21
269 25: 24(ptr) AccessChain 17(sbuf2) 19 22
271 33: 18(int) ArrayLength 32(sbuf) 0
274 36: 6(int) Load 11(pos)
275 39: 38(ptr) AccessChain 32(sbuf) 19 36 37
277 43: 41(bool) INotEqual 40 42
278 SelectionMerge 45 None
279 BranchConditional 43 44 61
281 46: 6(int) Load 11(pos)
282 48: 47(ptr) AccessChain 32(sbuf) 19 46 19
283 49: 27(fvec3) Load 48
284 50: 6(int) Load 11(pos)
285 51: 24(ptr) AccessChain 17(sbuf2) 19 50
287 53: 27(fvec3) CompositeConstruct 52 52 52
288 54: 27(fvec3) FAdd 49 53
289 56: 8(float) CompositeExtract 54 0
290 57: 8(float) CompositeExtract 54 1
291 58: 8(float) CompositeExtract 54 2
292 59: 9(fvec4) CompositeConstruct 56 57 58 55
295 62: 6(int) Load 26(size)
296 63: 6(int) Load 34(stride)
297 64: 6(int) IAdd 62 63
298 65: 8(float) ConvertUToF 64
299 66: 9(fvec4) CompositeConstruct 65 65 65 65