glslang/Test/baseResults/hlsl.array.flatten.frag.out
John Kessenich d3f1122a44 Whole stack: Fix stale types in the AST linker object nodes, fixing #557.
Rationalizes the entire tracking of the linker object nodes, effecting
GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before
their type snapshot for linker objects.

Should only effect things when the rest of the AST contained no reference to
the symbol, because normal AST nodes were not stale. Also will only effect such
objects when their types were edited.
2016-11-05 10:22:33 -06:00

527 lines
26 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:? 'color' (layout(location=0 ) out 4-component vector of float)
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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
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)
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:? 'color' (layout(location=0 ) out 4-component vector of float)
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:? Linker Objects
0:? 'color' (layout(location=0 ) out 4-component vector of float)
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)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 123
Capability Shader
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 99
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 28 "not_flattened_a"
Name 36 "g_tex[1]"
Name 39 "g_samp[1]"
Name 55 "local_sampler_array"
Name 57 "g_samp[0]"
Name 62 "g_samp[2]"
Name 65 "local_texture_array"
Name 66 "g_tex[0]"
Name 71 "g_tex[2]"
Name 77 "local_float_array"
Name 83 "$Global"
MemberName 83($Global) 0 "g_mats"
MemberName 83($Global) 1 "g_mats_explicit"
MemberName 83($Global) 2 "g_floats"
Name 85 ""
Name 99 "color"
Name 101 "aggShadow"
Name 108 "aggShadow"
Name 117 "g_tex_explicit[0]"
Name 118 "g_tex_explicit[1]"
Name 119 "g_tex_explicit[2]"
Name 120 "g_samp_explicit[0]"
Name 121 "g_samp_explicit[1]"
Name 122 "g_samp_explicit[2]"
Decorate 36(g_tex[1]) DescriptorSet 0
Decorate 39(g_samp[1]) DescriptorSet 0
Decorate 57(g_samp[0]) DescriptorSet 0
Decorate 62(g_samp[2]) DescriptorSet 0
Decorate 66(g_tex[0]) DescriptorSet 0
Decorate 71(g_tex[2]) DescriptorSet 0
Decorate 80 ArrayStride 48
Decorate 81 ArrayStride 48
Decorate 82 ArrayStride 16
MemberDecorate 83($Global) 0 RowMajor
MemberDecorate 83($Global) 0 Offset 0
MemberDecorate 83($Global) 0 MatrixStride 16
MemberDecorate 83($Global) 1 RowMajor
MemberDecorate 83($Global) 1 Offset 192
MemberDecorate 83($Global) 1 MatrixStride 16
MemberDecorate 83($Global) 2 Offset 384
Decorate 83($Global) Block
Decorate 85 DescriptorSet 0
Decorate 99(color) Location 0
Decorate 117(g_tex_explicit[0]) DescriptorSet 0
Decorate 117(g_tex_explicit[0]) Binding 1
Decorate 118(g_tex_explicit[1]) DescriptorSet 0
Decorate 118(g_tex_explicit[1]) Binding 2
Decorate 119(g_tex_explicit[2]) DescriptorSet 0
Decorate 119(g_tex_explicit[2]) Binding 3
Decorate 120(g_samp_explicit[0]) DescriptorSet 0
Decorate 120(g_samp_explicit[0]) Binding 5
Decorate 121(g_samp_explicit[1]) DescriptorSet 0
Decorate 121(g_samp_explicit[1]) Binding 6
Decorate 122(g_samp_explicit[2]) DescriptorSet 0
Decorate 122(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: TypeInt 32 1
25: 12(int) Constant 5
26: TypeArray 24(int) 25
27: TypePointer Private 26
28(not_flattened_a): 27(ptr) Variable Private
29: 24(int) Constant 1
30: 24(int) Constant 2
31: 24(int) Constant 3
32: 24(int) Constant 4
33: 24(int) Constant 5
34: 26 ConstantComposite 29 30 31 32 33
35: TypePointer UniformConstant 11
36(g_tex[1]): 35(ptr) Variable UniformConstant
38: TypePointer UniformConstant 16
39(g_samp[1]): 38(ptr) Variable UniformConstant
41: TypeSampledImage 11
43: 6(float) Constant 1045220557
55(local_sampler_array): 18(ptr) Variable UniformConstant
56: 24(int) Constant 0
57(g_samp[0]): 38(ptr) Variable UniformConstant
62(g_samp[2]): 38(ptr) Variable UniformConstant
65(local_texture_array): 15(ptr) Variable UniformConstant
66(g_tex[0]): 35(ptr) Variable UniformConstant
71(g_tex[2]): 35(ptr) Variable UniformConstant
74: 12(int) Constant 4
75: TypeArray 6(float) 74
76: TypePointer Function 75
78: TypeVector 6(float) 3
79: TypeMatrix 78(fvec3) 3
80: TypeArray 79 74
81: TypeArray 79 74
82: TypeArray 6(float) 74
83($Global): TypeStruct 80 81 82
84: TypePointer Uniform 83($Global)
85: 84(ptr) Variable Uniform
86: TypePointer Uniform 82
90: TypePointer Function 6(float)
98: TypePointer Output 7(fvec4)
99(color): 98(ptr) Variable Output
101(aggShadow): 15(ptr) Variable UniformConstant
108(aggShadow): 18(ptr) Variable UniformConstant
117(g_tex_explicit[0]): 35(ptr) Variable UniformConstant
118(g_tex_explicit[1]): 35(ptr) Variable UniformConstant
119(g_tex_explicit[2]): 35(ptr) Variable UniformConstant
120(g_samp_explicit[0]): 38(ptr) Variable UniformConstant
121(g_samp_explicit[1]): 38(ptr) Variable UniformConstant
122(g_samp_explicit[2]): 38(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
77(local_float_array): 76(ptr) Variable Function
Store 28(not_flattened_a) 34
58: 16 Load 57(g_samp[0])
59: 38(ptr) AccessChain 55(local_sampler_array) 56
Store 59 58
60: 16 Load 39(g_samp[1])
61: 38(ptr) AccessChain 55(local_sampler_array) 29
Store 61 60
63: 16 Load 62(g_samp[2])
64: 38(ptr) AccessChain 55(local_sampler_array) 30
Store 64 63
67: 11 Load 66(g_tex[0])
68: 35(ptr) AccessChain 65(local_texture_array) 56
Store 68 67
69: 11 Load 36(g_tex[1])
70: 35(ptr) AccessChain 65(local_texture_array) 29
Store 70 69
72: 11 Load 71(g_tex[2])
73: 35(ptr) AccessChain 65(local_texture_array) 30
Store 73 72
87: 86(ptr) AccessChain 85 30
88: 82 Load 87
89: 6(float) CompositeExtract 88 0
91: 90(ptr) AccessChain 77(local_float_array) 56
Store 91 89
92: 6(float) CompositeExtract 88 1
93: 90(ptr) AccessChain 77(local_float_array) 29
Store 93 92
94: 6(float) CompositeExtract 88 2
95: 90(ptr) AccessChain 77(local_float_array) 30
Store 95 94
96: 6(float) CompositeExtract 88 3
97: 90(ptr) AccessChain 77(local_float_array) 31
Store 97 96
100: 7(fvec4) FunctionCall 9(TestFn1()
102: 11 Load 66(g_tex[0])
103: 35(ptr) AccessChain 101(aggShadow) 56
Store 103 102
104: 11 Load 36(g_tex[1])
105: 35(ptr) AccessChain 101(aggShadow) 29
Store 105 104
106: 11 Load 71(g_tex[2])
107: 35(ptr) AccessChain 101(aggShadow) 30
Store 107 106
109: 16 Load 57(g_samp[0])
110: 38(ptr) AccessChain 108(aggShadow) 56
Store 110 109
111: 16 Load 39(g_samp[1])
112: 38(ptr) AccessChain 108(aggShadow) 29
Store 112 111
113: 16 Load 62(g_samp[2])
114: 38(ptr) AccessChain 108(aggShadow) 30
Store 114 113
115: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 101(aggShadow) 108(aggShadow)
116: 7(fvec4) FAdd 100 115
Store 99(color) 116
Return
FunctionEnd
9(TestFn1(): 7(fvec4) Function None 8
10: Label
37: 11 Load 36(g_tex[1])
40: 16 Load 39(g_samp[1])
42: 41 SampledImage 37 40
44: 7(fvec4) ImageSampleImplicitLod 42 43
ReturnValue 44
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
47: 35(ptr) AccessChain 20(l_tex) 30
48: 11 Load 47
49: 38(ptr) AccessChain 21(l_samp) 30
50: 16 Load 49
51: 41 SampledImage 48 50
52: 7(fvec4) ImageSampleImplicitLod 51 43
ReturnValue 52
FunctionEnd