xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/baseResults/hlsl.struct.frag.out (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1hlsl.struct.frag
2WARNING: 0:26: 'register' : ignoring shader_profile
3WARNING: 0:27: 'register' : ignoring shader_profile
4WARNING: 0:30: 'register' : ignoring shader_profile
5
6Shader version: 500
7gl_FragCoord origin is upper left
80:? Sequence
90:40  Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
100:40    Function Parameters:
110:40      'input' ( in 4-component vector of float)
120:40      's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
130:?     Sequence
140:45      Compare Equal ( temp bool)
150:45        's3' ( temp structure{ temp 3-component vector of bool b3})
160:45        's3' ( temp structure{ temp 3-component vector of bool b3})
170:46      move second child to first child ( temp 4-component vector of float)
180:46        i: direct index for structure ( temp 4-component vector of float)
190:46          's2' ( global structure{ temp 4-component vector of float i})
200:46          Constant:
210:46            0 (const int)
220:46        ff4: direct index for structure ( temp 4-component vector of float)
230:46          's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
240:46          Constant:
250:46            7 (const int)
260:50      move second child to first child ( temp structure{})
270:50        'e' ( temp structure{})
280:50        e: direct index for structure ( temp structure{})
290:50          'ce' ( temp structure{ temp structure{} e})
300:50          Constant:
310:50            0 (const int)
320:52      Branch: Return with expression
330:52        'input' ( in 4-component vector of float)
340:40  Function Definition: PixelShaderFunction( ( temp void)
350:40    Function Parameters:
360:?     Sequence
370:40      move second child to first child ( temp 4-component vector of float)
380:?         'input' ( temp 4-component vector of float)
390:?         'input' (layout( location=0) in 4-component vector of float)
400:40      Sequence
410:40        move second child to first child ( temp 4-component vector of float)
420:40          a: direct index for structure ( temp 4-component vector of float)
430:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
440:40            Constant:
450:40              0 (const int)
460:?           's.a' (layout( location=1) smooth in 4-component vector of float)
470:40        move second child to first child ( temp bool)
480:40          b: direct index for structure ( temp bool)
490:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
500:40            Constant:
510:40              1 (const int)
520:?           's.b' (layout( location=2) flat in bool)
530:40        move second child to first child ( temp 1-component vector of float)
540:40          c: direct index for structure ( temp 1-component vector of float)
550:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
560:40            Constant:
570:40              2 (const int)
580:?           's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
590:40        move second child to first child ( temp 2-component vector of float)
600:40          d: direct index for structure ( temp 2-component vector of float)
610:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
620:40            Constant:
630:40              3 (const int)
640:?           's.d' (layout( location=4) centroid sample in 2-component vector of float)
650:40        move second child to first child ( temp bool)
660:40          ff1: direct index for structure ( temp bool)
670:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
680:40            Constant:
690:40              4 (const int)
700:?           's.ff1' ( flat in bool Face)
710:40        move second child to first child ( temp bool)
720:40          ff2: direct index for structure ( temp bool)
730:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
740:40            Constant:
750:40              5 (const int)
760:?           's.ff2' (layout( location=5) flat in bool)
770:40        move second child to first child ( temp bool)
780:40          ff3: direct index for structure ( temp bool)
790:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
800:40            Constant:
810:40              6 (const int)
820:?           's.ff3' (layout( location=6) flat in bool)
830:40        move second child to first child ( temp 4-component vector of float)
840:40          ff4: direct index for structure ( temp 4-component vector of float)
850:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
860:40            Constant:
870:40              7 (const int)
880:?           's.ff4' (layout( location=7) in 4-component vector of float)
890:40      move second child to first child ( temp 4-component vector of float)
900:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
910:40        Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
920:?           'input' ( temp 4-component vector of float)
930:?           's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
940:?   Linker Objects
950:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
960:?     's2' ( global structure{ temp 4-component vector of float i})
970:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
980:?     'input' (layout( location=0) in 4-component vector of float)
990:?     's.ff1' ( flat in bool Face)
1000:?     's.a' (layout( location=1) smooth in 4-component vector of float)
1010:?     's.b' (layout( location=2) flat in bool)
1020:?     's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
1030:?     's.d' (layout( location=4) centroid sample in 2-component vector of float)
1040:?     's.ff2' (layout( location=5) flat in bool)
1050:?     's.ff3' (layout( location=6) flat in bool)
1060:?     's.ff4' (layout( location=7) in 4-component vector of float)
107
108
109Linked fragment stage:
110
111
112Shader version: 500
113gl_FragCoord origin is upper left
1140:? Sequence
1150:40  Function Definition: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
1160:40    Function Parameters:
1170:40      'input' ( in 4-component vector of float)
1180:40      's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1190:?     Sequence
1200:45      Compare Equal ( temp bool)
1210:45        's3' ( temp structure{ temp 3-component vector of bool b3})
1220:45        's3' ( temp structure{ temp 3-component vector of bool b3})
1230:46      move second child to first child ( temp 4-component vector of float)
1240:46        i: direct index for structure ( temp 4-component vector of float)
1250:46          's2' ( global structure{ temp 4-component vector of float i})
1260:46          Constant:
1270:46            0 (const int)
1280:46        ff4: direct index for structure ( temp 4-component vector of float)
1290:46          's' ( in structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1300:46          Constant:
1310:46            7 (const int)
1320:50      move second child to first child ( temp structure{})
1330:50        'e' ( temp structure{})
1340:50        e: direct index for structure ( temp structure{})
1350:50          'ce' ( temp structure{ temp structure{} e})
1360:50          Constant:
1370:50            0 (const int)
1380:52      Branch: Return with expression
1390:52        'input' ( in 4-component vector of float)
1400:40  Function Definition: PixelShaderFunction( ( temp void)
1410:40    Function Parameters:
1420:?     Sequence
1430:40      move second child to first child ( temp 4-component vector of float)
1440:?         'input' ( temp 4-component vector of float)
1450:?         'input' (layout( location=0) in 4-component vector of float)
1460:40      Sequence
1470:40        move second child to first child ( temp 4-component vector of float)
1480:40          a: direct index for structure ( temp 4-component vector of float)
1490:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1500:40            Constant:
1510:40              0 (const int)
1520:?           's.a' (layout( location=1) smooth in 4-component vector of float)
1530:40        move second child to first child ( temp bool)
1540:40          b: direct index for structure ( temp bool)
1550:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1560:40            Constant:
1570:40              1 (const int)
1580:?           's.b' (layout( location=2) flat in bool)
1590:40        move second child to first child ( temp 1-component vector of float)
1600:40          c: direct index for structure ( temp 1-component vector of float)
1610:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1620:40            Constant:
1630:40              2 (const int)
1640:?           's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
1650:40        move second child to first child ( temp 2-component vector of float)
1660:40          d: direct index for structure ( temp 2-component vector of float)
1670:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1680:40            Constant:
1690:40              3 (const int)
1700:?           's.d' (layout( location=4) centroid sample in 2-component vector of float)
1710:40        move second child to first child ( temp bool)
1720:40          ff1: direct index for structure ( temp bool)
1730:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1740:40            Constant:
1750:40              4 (const int)
1760:?           's.ff1' ( flat in bool Face)
1770:40        move second child to first child ( temp bool)
1780:40          ff2: direct index for structure ( temp bool)
1790:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1800:40            Constant:
1810:40              5 (const int)
1820:?           's.ff2' (layout( location=5) flat in bool)
1830:40        move second child to first child ( temp bool)
1840:40          ff3: direct index for structure ( temp bool)
1850:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1860:40            Constant:
1870:40              6 (const int)
1880:?           's.ff3' (layout( location=6) flat in bool)
1890:40        move second child to first child ( temp 4-component vector of float)
1900:40          ff4: direct index for structure ( temp 4-component vector of float)
1910:?             's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
1920:40            Constant:
1930:40              7 (const int)
1940:?           's.ff4' (layout( location=7) in 4-component vector of float)
1950:40      move second child to first child ( temp 4-component vector of float)
1960:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1970:40        Function Call: @PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41; ( temp 4-component vector of float)
1980:?           'input' ( temp 4-component vector of float)
1990:?           's' ( temp structure{ temp 4-component vector of float a,  temp bool b,  temp 1-component vector of float c,  temp 2-component vector of float d,  temp bool ff1,  temp bool ff2,  temp bool ff3,  temp 4-component vector of float ff4})
2000:?   Linker Objects
2010:?     'anon@0' (layout( row_major std140) uniform block{ uniform structure{ temp bool b,  temp bool c,  temp 4-component vector of float a,  temp 4-component vector of float d} s1, layout( binding=5 offset=1620) uniform float ff5, layout( binding=8 offset=1636) uniform float ff6})
2020:?     's2' ( global structure{ temp 4-component vector of float i})
2030:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2040:?     'input' (layout( location=0) in 4-component vector of float)
2050:?     's.ff1' ( flat in bool Face)
2060:?     's.a' (layout( location=1) smooth in 4-component vector of float)
2070:?     's.b' (layout( location=2) flat in bool)
2080:?     's.c' (layout( location=3) centroid noperspective in 1-component vector of float)
2090:?     's.d' (layout( location=4) centroid sample in 2-component vector of float)
2100:?     's.ff2' (layout( location=5) flat in bool)
2110:?     's.ff3' (layout( location=6) flat in bool)
2120:?     's.ff4' (layout( location=7) in 4-component vector of float)
213
214Validation failed
215// Module Version 10000
216// Generated by (magic number): 8000b
217// Id's are bound by 102
218
219                              Capability Shader
220               1:             ExtInstImport  "GLSL.std.450"
221                              MemoryModel Logical GLSL450
222                              EntryPoint Fragment 4  "PixelShaderFunction" 51 54 59 65 71 76 80 84 87 91
223                              ExecutionMode 4 OriginUpperLeft
224                              Source HLSL 500
225                              Name 4  "PixelShaderFunction"
226                              Name 11  "IN_S"
227                              MemberName 11(IN_S) 0  "a"
228                              MemberName 11(IN_S) 1  "b"
229                              MemberName 11(IN_S) 2  "c"
230                              MemberName 11(IN_S) 3  "d"
231                              MemberName 11(IN_S) 4  "ff1"
232                              MemberName 11(IN_S) 5  "ff2"
233                              MemberName 11(IN_S) 6  "ff3"
234                              MemberName 11(IN_S) 7  "ff4"
235                              Name 16  "@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;"
236                              Name 14  "input"
237                              Name 15  "s"
238                              Name 19  "FS"
239                              MemberName 19(FS) 0  "b3"
240                              Name 21  "s3"
241                              Name 28  ""
242                              MemberName 28 0  "i"
243                              Name 30  "s2"
244                              Name 38  "empty"
245                              Name 40  "e"
246                              Name 41  "containEmpty"
247                              MemberName 41(containEmpty) 0  "e"
248                              Name 43  "ce"
249                              Name 49  "input"
250                              Name 51  "input"
251                              Name 53  "s"
252                              Name 54  "s.a"
253                              Name 59  "s.b"
254                              Name 65  "s.c"
255                              Name 71  "s.d"
256                              Name 76  "s.ff1"
257                              Name 80  "s.ff2"
258                              Name 84  "s.ff3"
259                              Name 87  "s.ff4"
260                              Name 91  "@entryPointOutput"
261                              Name 92  "param"
262                              Name 94  "param"
263                              Name 98  "myS"
264                              MemberName 98(myS) 0  "b"
265                              MemberName 98(myS) 1  "c"
266                              MemberName 98(myS) 2  "a"
267                              MemberName 98(myS) 3  "d"
268                              Name 99  "$Global"
269                              MemberName 99($Global) 0  "s1"
270                              MemberName 99($Global) 1  "ff5"
271                              MemberName 99($Global) 2  "ff6"
272                              Name 101  ""
273                              Decorate 51(input) Location 0
274                              Decorate 54(s.a) Location 1
275                              Decorate 59(s.b) Flat
276                              Decorate 59(s.b) Location 2
277                              Decorate 65(s.c) NoPerspective
278                              Decorate 65(s.c) Centroid
279                              Decorate 65(s.c) Location 3
280                              Decorate 71(s.d) Centroid
281                              Decorate 71(s.d) Location 4
282                              Decorate 76(s.ff1) BuiltIn FrontFacing
283                              Decorate 76(s.ff1) Flat
284                              Decorate 80(s.ff2) Flat
285                              Decorate 80(s.ff2) Location 5
286                              Decorate 84(s.ff3) Flat
287                              Decorate 84(s.ff3) Location 6
288                              Decorate 87(s.ff4) Location 7
289                              Decorate 91(@entryPointOutput) Location 0
290                              MemberDecorate 98(myS) 0 Offset 0
291                              MemberDecorate 98(myS) 1 Offset 4
292                              MemberDecorate 98(myS) 2 Offset 16
293                              MemberDecorate 98(myS) 3 Offset 32
294                              Decorate 99($Global) Block
295                              MemberDecorate 99($Global) 0 Offset 0
296                              MemberDecorate 99($Global) 1 Offset 1620
297                              MemberDecorate 99($Global) 2 Offset 1636
298                              Decorate 101 Binding 0
299                              Decorate 101 DescriptorSet 0
300               2:             TypeVoid
301               3:             TypeFunction 2
302               6:             TypeFloat 32
303               7:             TypeVector 6(float) 4
304               8:             TypePointer Function 7(fvec4)
305               9:             TypeBool
306              10:             TypeVector 6(float) 2
307        11(IN_S):             TypeStruct 7(fvec4) 9(bool) 6(float) 10(fvec2) 9(bool) 9(bool) 9(bool) 7(fvec4)
308              12:             TypePointer Function 11(IN_S)
309              13:             TypeFunction 7(fvec4) 8(ptr) 12(ptr)
310              18:             TypeVector 9(bool) 3
311          19(FS):             TypeStruct 18(bvec3)
312              20:             TypePointer Function 19(FS)
313              28:             TypeStruct 7(fvec4)
314              29:             TypePointer Private 28(struct)
315          30(s2):     29(ptr) Variable Private
316              31:             TypeInt 32 1
317              32:     31(int) Constant 0
318              33:     31(int) Constant 7
319              36:             TypePointer Private 7(fvec4)
320       38(empty):             TypeStruct
321              39:             TypePointer Function 38(empty)
32241(containEmpty):             TypeStruct 38(empty)
323              42:             TypePointer Function 41(containEmpty)
324              50:             TypePointer Input 7(fvec4)
325       51(input):     50(ptr) Variable Input
326         54(s.a):     50(ptr) Variable Input
327              57:     31(int) Constant 1
328              58:             TypePointer Input 9(bool)
329         59(s.b):     58(ptr) Variable Input
330              61:             TypePointer Function 9(bool)
331              63:     31(int) Constant 2
332              64:             TypePointer Input 6(float)
333         65(s.c):     64(ptr) Variable Input
334              67:             TypePointer Function 6(float)
335              69:     31(int) Constant 3
336              70:             TypePointer Input 10(fvec2)
337         71(s.d):     70(ptr) Variable Input
338              73:             TypePointer Function 10(fvec2)
339              75:     31(int) Constant 4
340       76(s.ff1):     58(ptr) Variable Input
341              79:     31(int) Constant 5
342       80(s.ff2):     58(ptr) Variable Input
343              83:     31(int) Constant 6
344       84(s.ff3):     58(ptr) Variable Input
345       87(s.ff4):     50(ptr) Variable Input
346              90:             TypePointer Output 7(fvec4)
34791(@entryPointOutput):     90(ptr) Variable Output
348              97:             TypeInt 32 0
349         98(myS):             TypeStruct 97(int) 97(int) 7(fvec4) 7(fvec4)
350     99($Global):             TypeStruct 98(myS) 6(float) 6(float)
351             100:             TypePointer Uniform 99($Global)
352             101:    100(ptr) Variable Uniform
3534(PixelShaderFunction):           2 Function None 3
354               5:             Label
355       49(input):      8(ptr) Variable Function
356           53(s):     12(ptr) Variable Function
357       92(param):      8(ptr) Variable Function
358       94(param):     12(ptr) Variable Function
359              52:    7(fvec4) Load 51(input)
360                              Store 49(input) 52
361              55:    7(fvec4) Load 54(s.a)
362              56:      8(ptr) AccessChain 53(s) 32
363                              Store 56 55
364              60:     9(bool) Load 59(s.b)
365              62:     61(ptr) AccessChain 53(s) 57
366                              Store 62 60
367              66:    6(float) Load 65(s.c)
368              68:     67(ptr) AccessChain 53(s) 63
369                              Store 68 66
370              72:   10(fvec2) Load 71(s.d)
371              74:     73(ptr) AccessChain 53(s) 69
372                              Store 74 72
373              77:     9(bool) Load 76(s.ff1)
374              78:     61(ptr) AccessChain 53(s) 75
375                              Store 78 77
376              81:     9(bool) Load 80(s.ff2)
377              82:     61(ptr) AccessChain 53(s) 79
378                              Store 82 81
379              85:     9(bool) Load 84(s.ff3)
380              86:     61(ptr) AccessChain 53(s) 83
381                              Store 86 85
382              88:    7(fvec4) Load 87(s.ff4)
383              89:      8(ptr) AccessChain 53(s) 33
384                              Store 89 88
385              93:    7(fvec4) Load 49(input)
386                              Store 92(param) 93
387              95:    11(IN_S) Load 53(s)
388                              Store 94(param) 95
389              96:    7(fvec4) FunctionCall 16(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;) 92(param) 94(param)
390                              Store 91(@entryPointOutput) 96
391                              Return
392                              FunctionEnd
39316(@PixelShaderFunction(vf4;struct-IN_S-vf4-b1-vf1-vf2-b1-b1-b1-vf41;):    7(fvec4) Function None 13
394       14(input):      8(ptr) FunctionParameter
395           15(s):     12(ptr) FunctionParameter
396              17:             Label
397          21(s3):     20(ptr) Variable Function
398           40(e):     39(ptr) Variable Function
399          43(ce):     42(ptr) Variable Function
400              22:      19(FS) Load 21(s3)
401              23:      19(FS) Load 21(s3)
402              24:   18(bvec3) CompositeExtract 22 0
403              25:   18(bvec3) CompositeExtract 23 0
404              26:   18(bvec3) LogicalEqual 24 25
405              27:     9(bool) All 26
406              34:      8(ptr) AccessChain 15(s) 33
407              35:    7(fvec4) Load 34
408              37:     36(ptr) AccessChain 30(s2) 32
409                              Store 37 35
410              44:     39(ptr) AccessChain 43(ce) 32
411              45:   38(empty) Load 44
412                              Store 40(e) 45
413              46:    7(fvec4) Load 14(input)
414                              ReturnValue 46
415                              FunctionEnd
416