mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-23 19:29:44 +00:00
02467d8d94
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
581 lines
29 KiB
Plaintext
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
|