glslang/Test/baseResults/hlsl.array.flatten.frag.out
John Kessenich 02467d8d94 HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
This needs some render testing, but is destined to be part of master.

This also leads to a variety of other simplifications.
 - IO are global symbols, so only need one list of linkage nodes (deferred)
 - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
 - several parts of splitting/flattening are now localized
2017-02-06 22:58:32 -07:00

581 lines
29 KiB
Plaintext

hlsl.array.flatten.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:17 Function Definition: TestFn1( (temp 4-component vector of float)
0:17 Function Parameters:
0:? Sequence
0:18 Branch: Return with expression
0:18 texture (temp 4-component vector of float)
0:18 Construct combined texture-sampler (temp sampler1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_samp[1]' (uniform sampler)
0:18 Constant:
0:18 0.200000
0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:22 Function Parameters:
0:22 'l_tex' (in 3-element array of texture1D)
0:22 'l_samp' (in 3-element array of sampler)
0:? Sequence
0:23 Branch: Return with expression
0:23 texture (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1D)
0:23 direct index (temp texture1D)
0:23 'l_tex' (in 3-element array of texture1D)
0:23 Constant:
0:23 2 (const int)
0:23 direct index (temp sampler)
0:23 'l_samp' (in 3-element array of sampler)
0:23 Constant:
0:23 2 (const int)
0:23 Constant:
0:23 0.200000
0:26 Sequence
0:26 move second child to first child (temp 5-element array of int)
0:26 'not_flattened_a' (global 5-element array of int)
0:26 Constant:
0:26 1 (const int)
0:26 2 (const int)
0:26 3 (const int)
0:26 4 (const int)
0:26 5 (const int)
0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Parameters:
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:34 Sequence
0:34 Sequence
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:35 Sequence
0:35 move second child to first child (temp 4-element array of float)
0:35 'local_float_array' (temp 4-element array of float)
0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float)
0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:35 Constant:
0:35 2 (const uint)
0:37 move second child to first child (temp 4-component vector of float)
0:37 color: direct index for structure (temp 4-component vector of float)
0:37 'ps_output' (out structure{temp 4-component vector of float color})
0:37 Constant:
0:37 0 (const int)
0:37 add (temp 4-component vector of float)
0:37 Function Call: TestFn1( (temp 4-component vector of float)
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:37 Comma (temp 3-element array of texture1D)
0:37 Sequence
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Comma (temp 3-element array of sampler)
0:37 Sequence
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:31 Function Definition: main( (temp void)
0:31 Function Parameters:
0:? Sequence
0:31 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:31 color: direct index for structure (temp 4-component vector of float)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Constant:
0:31 0 (const int)
0:? Linker Objects
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D)
0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D)
0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D)
0:? 'g_samp[0]' (uniform sampler)
0:? 'g_samp[1]' (uniform sampler)
0:? 'g_samp[2]' (uniform sampler)
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:17 Function Definition: TestFn1( (temp 4-component vector of float)
0:17 Function Parameters:
0:? Sequence
0:18 Branch: Return with expression
0:18 texture (temp 4-component vector of float)
0:18 Construct combined texture-sampler (temp sampler1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_samp[1]' (uniform sampler)
0:18 Constant:
0:18 0.200000
0:22 Function Definition: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:22 Function Parameters:
0:22 'l_tex' (in 3-element array of texture1D)
0:22 'l_samp' (in 3-element array of sampler)
0:? Sequence
0:23 Branch: Return with expression
0:23 texture (temp 4-component vector of float)
0:23 Construct combined texture-sampler (temp sampler1D)
0:23 direct index (temp texture1D)
0:23 'l_tex' (in 3-element array of texture1D)
0:23 Constant:
0:23 2 (const int)
0:23 direct index (temp sampler)
0:23 'l_samp' (in 3-element array of sampler)
0:23 Constant:
0:23 2 (const int)
0:23 Constant:
0:23 0.200000
0:26 Sequence
0:26 move second child to first child (temp 5-element array of int)
0:26 'not_flattened_a' (global 5-element array of int)
0:26 Constant:
0:26 1 (const int)
0:26 2 (const int)
0:26 3 (const int)
0:26 4 (const int)
0:26 5 (const int)
0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; (temp void)
0:31 Function Parameters:
0:31 'ps_output' (out structure{temp 4-component vector of float color})
0:? Sequence
0:33 Sequence
0:33 Sequence
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:33 move second child to first child (temp sampler)
0:33 direct index (temp sampler)
0:33 'local_sampler_array' (temp 3-element array of sampler)
0:33 Constant:
0:33 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:34 Sequence
0:34 Sequence
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:34 move second child to first child (temp texture1D)
0:34 direct index (temp texture1D)
0:34 'local_texture_array' (temp 3-element array of texture1D)
0:34 Constant:
0:34 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:35 Sequence
0:35 move second child to first child (temp 4-element array of float)
0:35 'local_float_array' (temp 4-element array of float)
0:35 g_floats: direct index for structure (layout(offset=384 ) uniform 4-element array of float)
0:35 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:35 Constant:
0:35 2 (const uint)
0:37 move second child to first child (temp 4-component vector of float)
0:37 color: direct index for structure (temp 4-component vector of float)
0:37 'ps_output' (out structure{temp 4-component vector of float color})
0:37 Constant:
0:37 0 (const int)
0:37 add (temp 4-component vector of float)
0:37 Function Call: TestFn1( (temp 4-component vector of float)
0:37 Function Call: TestFn2(t11[3];p1[3]; (temp 4-component vector of float)
0:37 Comma (temp 3-element array of texture1D)
0:37 Sequence
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 0 (const int)
0:? 'g_tex[0]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 1 (const int)
0:? 'g_tex[1]' (uniform texture1D)
0:37 move second child to first child (temp texture1D)
0:37 direct index (temp texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Constant:
0:37 2 (const int)
0:? 'g_tex[2]' (uniform texture1D)
0:37 'aggShadow' (temp 3-element array of texture1D)
0:37 Comma (temp 3-element array of sampler)
0:37 Sequence
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 0 (const int)
0:? 'g_samp[0]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 1 (const int)
0:? 'g_samp[1]' (uniform sampler)
0:37 move second child to first child (temp sampler)
0:37 direct index (temp sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:37 Constant:
0:37 2 (const int)
0:? 'g_samp[2]' (uniform sampler)
0:37 'aggShadow' (temp 3-element array of sampler)
0:31 Function Definition: main( (temp void)
0:31 Function Parameters:
0:? Sequence
0:31 Function Call: @main(struct-PS_OUTPUT-vf41; (temp void)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Sequence
0:31 move second child to first child (temp 4-component vector of float)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
0:31 color: direct index for structure (temp 4-component vector of float)
0:? 'ps_output' (temp structure{temp 4-component vector of float color})
0:31 Constant:
0:31 0 (const int)
0:? Linker Objects
0:? 'g_tex[0]' (uniform texture1D)
0:? 'g_tex[1]' (uniform texture1D)
0:? 'g_tex[2]' (uniform texture1D)
0:? 'g_tex_explicit[0]' (layout(binding=1 ) uniform texture1D)
0:? 'g_tex_explicit[1]' (layout(binding=2 ) uniform texture1D)
0:? 'g_tex_explicit[2]' (layout(binding=3 ) uniform texture1D)
0:? 'g_samp[0]' (uniform sampler)
0:? 'g_samp[1]' (uniform sampler)
0:? 'g_samp[2]' (uniform sampler)
0:? 'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
0:? 'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
0:? 'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
0:? 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
0:? 'not_flattened_a' (global 5-element array of int)
0:? 'color' (layout(location=0 ) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 137
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 128
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 9 "TestFn1("
Name 22 "TestFn2(t11[3];p1[3];"
Name 20 "l_tex"
Name 21 "l_samp"
Name 24 "PS_OUTPUT"
MemberName 24(PS_OUTPUT) 0 "color"
Name 28 "@main(struct-PS_OUTPUT-vf41;"
Name 27 "ps_output"
Name 34 "not_flattened_a"
Name 42 "g_tex[1]"
Name 45 "g_samp[1]"
Name 61 "local_sampler_array"
Name 63 "g_samp[0]"
Name 68 "g_samp[2]"
Name 71 "local_texture_array"
Name 72 "g_tex[0]"
Name 77 "g_tex[2]"
Name 83 "local_float_array"
Name 89 "$Global"
MemberName 89($Global) 0 "g_mats"
MemberName 89($Global) 1 "g_mats_explicit"
MemberName 89($Global) 2 "g_floats"
Name 91 ""
Name 105 "aggShadow"
Name 112 "aggShadow"
Name 123 "ps_output"
Name 124 "param"
Name 128 "color"
Name 131 "g_tex_explicit[0]"
Name 132 "g_tex_explicit[1]"
Name 133 "g_tex_explicit[2]"
Name 134 "g_samp_explicit[0]"
Name 135 "g_samp_explicit[1]"
Name 136 "g_samp_explicit[2]"
Decorate 42(g_tex[1]) DescriptorSet 0
Decorate 45(g_samp[1]) DescriptorSet 0
Decorate 63(g_samp[0]) DescriptorSet 0
Decorate 68(g_samp[2]) DescriptorSet 0
Decorate 72(g_tex[0]) DescriptorSet 0
Decorate 77(g_tex[2]) DescriptorSet 0
Decorate 86 ArrayStride 48
Decorate 87 ArrayStride 48
Decorate 88 ArrayStride 16
MemberDecorate 89($Global) 0 RowMajor
MemberDecorate 89($Global) 0 Offset 0
MemberDecorate 89($Global) 0 MatrixStride 16
MemberDecorate 89($Global) 1 RowMajor
MemberDecorate 89($Global) 1 Offset 192
MemberDecorate 89($Global) 1 MatrixStride 16
MemberDecorate 89($Global) 2 Offset 384
Decorate 89($Global) Block
Decorate 91 DescriptorSet 0
Decorate 128(color) Location 0
Decorate 131(g_tex_explicit[0]) DescriptorSet 0
Decorate 131(g_tex_explicit[0]) Binding 1
Decorate 132(g_tex_explicit[1]) DescriptorSet 0
Decorate 132(g_tex_explicit[1]) Binding 2
Decorate 133(g_tex_explicit[2]) DescriptorSet 0
Decorate 133(g_tex_explicit[2]) Binding 3
Decorate 134(g_samp_explicit[0]) DescriptorSet 0
Decorate 134(g_samp_explicit[0]) Binding 5
Decorate 135(g_samp_explicit[1]) DescriptorSet 0
Decorate 135(g_samp_explicit[1]) Binding 6
Decorate 136(g_samp_explicit[2]) DescriptorSet 0
Decorate 136(g_samp_explicit[2]) Binding 7
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeFunction 7(fvec4)
11: TypeImage 6(float) 1D sampled format:Unknown
12: TypeInt 32 0
13: 12(int) Constant 3
14: TypeArray 11 13
15: TypePointer UniformConstant 14
16: TypeSampler
17: TypeArray 16 13
18: TypePointer UniformConstant 17
19: TypeFunction 7(fvec4) 15(ptr) 18(ptr)
24(PS_OUTPUT): TypeStruct 7(fvec4)
25: TypePointer Function 24(PS_OUTPUT)
26: TypeFunction 2 25(ptr)
30: TypeInt 32 1
31: 12(int) Constant 5
32: TypeArray 30(int) 31
33: TypePointer Private 32
34(not_flattened_a): 33(ptr) Variable Private
35: 30(int) Constant 1
36: 30(int) Constant 2
37: 30(int) Constant 3
38: 30(int) Constant 4
39: 30(int) Constant 5
40: 32 ConstantComposite 35 36 37 38 39
41: TypePointer UniformConstant 11
42(g_tex[1]): 41(ptr) Variable UniformConstant
44: TypePointer UniformConstant 16
45(g_samp[1]): 44(ptr) Variable UniformConstant
47: TypeSampledImage 11
49: 6(float) Constant 1045220557
61(local_sampler_array): 18(ptr) Variable UniformConstant
62: 30(int) Constant 0
63(g_samp[0]): 44(ptr) Variable UniformConstant
68(g_samp[2]): 44(ptr) Variable UniformConstant
71(local_texture_array): 15(ptr) Variable UniformConstant
72(g_tex[0]): 41(ptr) Variable UniformConstant
77(g_tex[2]): 41(ptr) Variable UniformConstant
80: 12(int) Constant 4
81: TypeArray 6(float) 80
82: TypePointer Function 81
84: TypeVector 6(float) 3
85: TypeMatrix 84(fvec3) 3
86: TypeArray 85 80
87: TypeArray 85 80
88: TypeArray 6(float) 80
89($Global): TypeStruct 86 87 88
90: TypePointer Uniform 89($Global)
91: 90(ptr) Variable Uniform
92: TypePointer Uniform 88
96: TypePointer Function 6(float)
105(aggShadow): 15(ptr) Variable UniformConstant
112(aggShadow): 18(ptr) Variable UniformConstant
121: TypePointer Function 7(fvec4)
127: TypePointer Output 7(fvec4)
128(color): 127(ptr) Variable Output
131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant
132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant
133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant
134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant
135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant
136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
123(ps_output): 25(ptr) Variable Function
124(param): 25(ptr) Variable Function
Store 34(not_flattened_a) 40
125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param)
126:24(PS_OUTPUT) Load 124(param)
Store 123(ps_output) 126
129: 121(ptr) AccessChain 123(ps_output) 62
130: 7(fvec4) Load 129
Store 128(color) 130
Return
FunctionEnd
9(TestFn1(): 7(fvec4) Function None 8
10: Label
43: 11 Load 42(g_tex[1])
46: 16 Load 45(g_samp[1])
48: 47 SampledImage 43 46
50: 7(fvec4) ImageSampleImplicitLod 48 49
ReturnValue 50
FunctionEnd
22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19
20(l_tex): 15(ptr) FunctionParameter
21(l_samp): 18(ptr) FunctionParameter
23: Label
53: 41(ptr) AccessChain 20(l_tex) 36
54: 11 Load 53
55: 44(ptr) AccessChain 21(l_samp) 36
56: 16 Load 55
57: 47 SampledImage 54 56
58: 7(fvec4) ImageSampleImplicitLod 57 49
ReturnValue 58
FunctionEnd
28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26
27(ps_output): 25(ptr) FunctionParameter
29: Label
83(local_float_array): 82(ptr) Variable Function
64: 16 Load 63(g_samp[0])
65: 44(ptr) AccessChain 61(local_sampler_array) 62
Store 65 64
66: 16 Load 45(g_samp[1])
67: 44(ptr) AccessChain 61(local_sampler_array) 35
Store 67 66
69: 16 Load 68(g_samp[2])
70: 44(ptr) AccessChain 61(local_sampler_array) 36
Store 70 69
73: 11 Load 72(g_tex[0])
74: 41(ptr) AccessChain 71(local_texture_array) 62
Store 74 73
75: 11 Load 42(g_tex[1])
76: 41(ptr) AccessChain 71(local_texture_array) 35
Store 76 75
78: 11 Load 77(g_tex[2])
79: 41(ptr) AccessChain 71(local_texture_array) 36
Store 79 78
93: 92(ptr) AccessChain 91 36
94: 88 Load 93
95: 6(float) CompositeExtract 94 0
97: 96(ptr) AccessChain 83(local_float_array) 62
Store 97 95
98: 6(float) CompositeExtract 94 1
99: 96(ptr) AccessChain 83(local_float_array) 35
Store 99 98
100: 6(float) CompositeExtract 94 2
101: 96(ptr) AccessChain 83(local_float_array) 36
Store 101 100
102: 6(float) CompositeExtract 94 3
103: 96(ptr) AccessChain 83(local_float_array) 37
Store 103 102
104: 7(fvec4) FunctionCall 9(TestFn1()
106: 11 Load 72(g_tex[0])
107: 41(ptr) AccessChain 105(aggShadow) 62
Store 107 106
108: 11 Load 42(g_tex[1])
109: 41(ptr) AccessChain 105(aggShadow) 35
Store 109 108
110: 11 Load 77(g_tex[2])
111: 41(ptr) AccessChain 105(aggShadow) 36
Store 111 110
113: 16 Load 63(g_samp[0])
114: 44(ptr) AccessChain 112(aggShadow) 62
Store 114 113
115: 16 Load 45(g_samp[1])
116: 44(ptr) AccessChain 112(aggShadow) 35
Store 116 115
117: 16 Load 68(g_samp[2])
118: 44(ptr) AccessChain 112(aggShadow) 36
Store 118 117
119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow)
120: 7(fvec4) FAdd 104 119
122: 121(ptr) AccessChain 27(ps_output) 62
Store 122 120
Return
FunctionEnd