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
This commit is contained in:
John Kessenich 2017-01-19 15:41:47 -07:00
parent 18adbdbbb8
commit 02467d8d94
171 changed files with 37604 additions and 32679 deletions

View file

@ -2,7 +2,7 @@ hlsl.samplecmp.offset.dx10.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:42 Sequence
@ -112,24 +112,28 @@ gl_FragCoord origin is upper left
0:63 1 (const int)
0:63 Constant:
0:63 1.000000
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:65 Color: direct index for structure (temp 4-component vector of float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 0 (const int)
0:65 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:65 Depth: direct index for structure (temp float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 1 (const int)
0:65 Branch: Return
0:65 Branch: Return with expression
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( (temp void)
0:38 Function Parameters:
0:? Sequence
0:38 Sequence
0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:38 Color: direct index for structure (temp 4-component vector of float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 0 (const int)
0:38 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:38 Depth: direct index for structure (temp float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -152,6 +156,8 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
Linked fragment stage:
@ -160,7 +166,7 @@ Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:38 Function Definition: main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Parameters:
0:? Sequence
0:42 Sequence
@ -270,24 +276,28 @@ gl_FragCoord origin is upper left
0:63 1 (const int)
0:63 Constant:
0:63 1.000000
0:65 Sequence
0:65 Sequence
0:65 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:65 Color: direct index for structure (temp 4-component vector of float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 0 (const int)
0:65 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:65 Depth: direct index for structure (temp float)
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:65 Constant:
0:65 1 (const int)
0:65 Branch: Return
0:65 Branch: Return with expression
0:65 'psout' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Definition: main( (temp void)
0:38 Function Parameters:
0:? Sequence
0:38 Sequence
0:38 move second child to first child (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Function Call: @main( (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 move second child to first child (temp 4-component vector of float)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:38 Color: direct index for structure (temp 4-component vector of float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 0 (const int)
0:38 move second child to first child (temp float)
0:? 'Depth' (out float FragDepth)
0:38 Depth: direct index for structure (temp float)
0:38 'flattenTemp' (temp structure{temp 4-component vector of float Color, temp float Depth})
0:38 Constant:
0:38 1 (const int)
0:? Linker Objects
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
0:? 'g_sSamp' (layout(binding=0 ) uniform sampler)
0:? 'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
0:? 'g_tTex1di4' (uniform itexture1D)
@ -310,251 +320,264 @@ gl_FragCoord origin is upper left
0:? 'g_tTexcdf4a' (uniform textureCubeArray)
0:? 'g_tTexcdi4a' (uniform itextureCubeArray)
0:? 'g_tTexcdu4a' (uniform utextureCubeArray)
0:? 'Color' (layout(location=0 ) out 4-component vector of float)
0:? 'Depth' (out float FragDepth)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 166
// Id's are bound by 173
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 113 117
EntryPoint Fragment 4 "main" 121 125
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r01"
Name 11 "g_tTex1df4"
Name 15 "g_sSamp"
Name 28 "r03"
Name 31 "g_tTex1di4"
Name 40 "r05"
Name 44 "g_tTex1du4"
Name 53 "r21"
Name 56 "g_tTex2df4"
Name 73 "r23"
Name 76 "g_tTex2di4"
Name 87 "r25"
Name 90 "g_tTex2du4"
Name 102 "PS_OUTPUT"
MemberName 102(PS_OUTPUT) 0 "Color"
MemberName 102(PS_OUTPUT) 1 "Depth"
Name 104 "psout"
Name 113 "Color"
Name 117 "Depth"
Name 123 "g_tTex3df4"
Name 126 "g_tTex3di4"
Name 129 "g_tTex3du4"
Name 132 "g_tTexcdf4"
Name 135 "g_tTexcdi4"
Name 138 "g_tTexcdu4"
Name 141 "g_tTex1df4a"
Name 144 "g_tTex1di4a"
Name 147 "g_tTex1du4a"
Name 150 "g_tTex2df4a"
Name 153 "g_tTex2di4a"
Name 156 "g_tTex2du4a"
Name 159 "g_tTexcdf4a"
Name 162 "g_tTexcdi4a"
Name 165 "g_tTexcdu4a"
Decorate 11(g_tTex1df4) DescriptorSet 0
Decorate 11(g_tTex1df4) Binding 0
Decorate 15(g_sSamp) DescriptorSet 0
Decorate 15(g_sSamp) Binding 0
Decorate 31(g_tTex1di4) DescriptorSet 0
Decorate 44(g_tTex1du4) DescriptorSet 0
Decorate 56(g_tTex2df4) DescriptorSet 0
Decorate 76(g_tTex2di4) DescriptorSet 0
Decorate 90(g_tTex2du4) DescriptorSet 0
Decorate 113(Color) Location 0
Decorate 117(Depth) BuiltIn FragDepth
Decorate 123(g_tTex3df4) DescriptorSet 0
Decorate 126(g_tTex3di4) DescriptorSet 0
Decorate 129(g_tTex3du4) DescriptorSet 0
Decorate 132(g_tTexcdf4) DescriptorSet 0
Decorate 135(g_tTexcdi4) DescriptorSet 0
Decorate 138(g_tTexcdu4) DescriptorSet 0
Decorate 141(g_tTex1df4a) DescriptorSet 0
Decorate 144(g_tTex1di4a) DescriptorSet 0
Decorate 147(g_tTex1du4a) DescriptorSet 0
Decorate 150(g_tTex2df4a) DescriptorSet 0
Decorate 153(g_tTex2di4a) DescriptorSet 0
Decorate 156(g_tTex2du4a) DescriptorSet 0
Decorate 159(g_tTexcdf4a) DescriptorSet 0
Decorate 162(g_tTexcdi4a) DescriptorSet 0
Decorate 165(g_tTexcdu4a) DescriptorSet 0
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "r01"
Name 16 "g_tTex1df4"
Name 20 "g_sSamp"
Name 33 "r03"
Name 36 "g_tTex1di4"
Name 45 "r05"
Name 49 "g_tTex1du4"
Name 58 "r21"
Name 61 "g_tTex2df4"
Name 78 "r23"
Name 81 "g_tTex2di4"
Name 92 "r25"
Name 95 "g_tTex2du4"
Name 107 "psout"
Name 118 "flattenTemp"
Name 121 "Color"
Name 125 "Depth"
Name 130 "g_tTex3df4"
Name 133 "g_tTex3di4"
Name 136 "g_tTex3du4"
Name 139 "g_tTexcdf4"
Name 142 "g_tTexcdi4"
Name 145 "g_tTexcdu4"
Name 148 "g_tTex1df4a"
Name 151 "g_tTex1di4a"
Name 154 "g_tTex1du4a"
Name 157 "g_tTex2df4a"
Name 160 "g_tTex2di4a"
Name 163 "g_tTex2du4a"
Name 166 "g_tTexcdf4a"
Name 169 "g_tTexcdi4a"
Name 172 "g_tTexcdu4a"
Decorate 16(g_tTex1df4) DescriptorSet 0
Decorate 16(g_tTex1df4) Binding 0
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 36(g_tTex1di4) DescriptorSet 0
Decorate 49(g_tTex1du4) DescriptorSet 0
Decorate 61(g_tTex2df4) DescriptorSet 0
Decorate 81(g_tTex2di4) DescriptorSet 0
Decorate 95(g_tTex2du4) DescriptorSet 0
Decorate 121(Color) Location 0
Decorate 125(Depth) BuiltIn FragDepth
Decorate 130(g_tTex3df4) DescriptorSet 0
Decorate 133(g_tTex3di4) DescriptorSet 0
Decorate 136(g_tTex3du4) DescriptorSet 0
Decorate 139(g_tTexcdf4) DescriptorSet 0
Decorate 142(g_tTexcdi4) DescriptorSet 0
Decorate 145(g_tTexcdu4) DescriptorSet 0
Decorate 148(g_tTex1df4a) DescriptorSet 0
Decorate 151(g_tTex1di4a) DescriptorSet 0
Decorate 154(g_tTex1du4a) DescriptorSet 0
Decorate 157(g_tTex2df4a) DescriptorSet 0
Decorate 160(g_tTex2di4a) DescriptorSet 0
Decorate 163(g_tTex2du4a) DescriptorSet 0
Decorate 166(g_tTexcdf4a) DescriptorSet 0
Decorate 169(g_tTexcdi4a) DescriptorSet 0
Decorate 172(g_tTexcdu4a) DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypeImage 6(float) 1D sampled format:Unknown
10: TypePointer UniformConstant 9
11(g_tTex1df4): 10(ptr) Variable UniformConstant
13: TypeSampler
14: TypePointer UniformConstant 13
15(g_sSamp): 14(ptr) Variable UniformConstant
17: TypeImage 6(float) 1D depth sampled format:Unknown
18: TypeSampledImage 17
20: 6(float) Constant 1036831949
21: 6(float) Constant 1061158912
22: TypeVector 6(float) 2
24: TypeInt 32 1
25: 24(int) Constant 2
29: TypeImage 24(int) 1D sampled format:Unknown
30: TypePointer UniformConstant 29
31(g_tTex1di4): 30(ptr) Variable UniformConstant
34: TypeImage 24(int) 1D depth sampled format:Unknown
35: TypeSampledImage 34
41: TypeInt 32 0
42: TypeImage 41(int) 1D sampled format:Unknown
43: TypePointer UniformConstant 42
44(g_tTex1du4): 43(ptr) Variable UniformConstant
47: TypeImage 41(int) 1D depth sampled format:Unknown
48: TypeSampledImage 47
54: TypeImage 6(float) 2D sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex2df4): 55(ptr) Variable UniformConstant
59: TypeImage 6(float) 2D depth sampled format:Unknown
60: TypeSampledImage 59
62: 6(float) Constant 1045220557
63: 22(fvec2) ConstantComposite 20 62
64: TypeVector 6(float) 3
68: TypeVector 24(int) 2
69: 24(int) Constant 3
70: 68(ivec2) ConstantComposite 25 69
74: TypeImage 24(int) 2D sampled format:Unknown
75: TypePointer UniformConstant 74
76(g_tTex2di4): 75(ptr) Variable UniformConstant
79: TypeImage 24(int) 2D depth sampled format:Unknown
80: TypeSampledImage 79
88: TypeImage 41(int) 2D sampled format:Unknown
89: TypePointer UniformConstant 88
90(g_tTex2du4): 89(ptr) Variable UniformConstant
93: TypeImage 41(int) 2D depth sampled format:Unknown
94: TypeSampledImage 93
101: TypeVector 6(float) 4
102(PS_OUTPUT): TypeStruct 101(fvec4) 6(float)
103: TypePointer Function 102(PS_OUTPUT)
105: 24(int) Constant 0
106: 6(float) Constant 1065353216
107: 101(fvec4) ConstantComposite 106 106 106 106
108: TypePointer Function 101(fvec4)
110: 24(int) Constant 1
112: TypePointer Output 101(fvec4)
113(Color): 112(ptr) Variable Output
116: TypePointer Output 6(float)
117(Depth): 116(ptr) Variable Output
121: TypeImage 6(float) 3D sampled format:Unknown
122: TypePointer UniformConstant 121
123(g_tTex3df4): 122(ptr) Variable UniformConstant
124: TypeImage 24(int) 3D sampled format:Unknown
125: TypePointer UniformConstant 124
126(g_tTex3di4): 125(ptr) Variable UniformConstant
127: TypeImage 41(int) 3D sampled format:Unknown
128: TypePointer UniformConstant 127
129(g_tTex3du4): 128(ptr) Variable UniformConstant
130: TypeImage 6(float) Cube sampled format:Unknown
131: TypePointer UniformConstant 130
132(g_tTexcdf4): 131(ptr) Variable UniformConstant
133: TypeImage 24(int) Cube sampled format:Unknown
134: TypePointer UniformConstant 133
135(g_tTexcdi4): 134(ptr) Variable UniformConstant
136: TypeImage 41(int) Cube sampled format:Unknown
137: TypePointer UniformConstant 136
138(g_tTexcdu4): 137(ptr) Variable UniformConstant
139: TypeImage 6(float) 1D array sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTex1df4a): 140(ptr) Variable UniformConstant
142: TypeImage 24(int) 1D array sampled format:Unknown
143: TypePointer UniformConstant 142
144(g_tTex1di4a): 143(ptr) Variable UniformConstant
145: TypeImage 41(int) 1D array sampled format:Unknown
146: TypePointer UniformConstant 145
147(g_tTex1du4a): 146(ptr) Variable UniformConstant
148: TypeImage 6(float) 2D array sampled format:Unknown
149: TypePointer UniformConstant 148
150(g_tTex2df4a): 149(ptr) Variable UniformConstant
151: TypeImage 24(int) 2D array sampled format:Unknown
152: TypePointer UniformConstant 151
153(g_tTex2di4a): 152(ptr) Variable UniformConstant
154: TypeImage 41(int) 2D array sampled format:Unknown
155: TypePointer UniformConstant 154
156(g_tTex2du4a): 155(ptr) Variable UniformConstant
157: TypeImage 6(float) Cube array sampled format:Unknown
158: TypePointer UniformConstant 157
159(g_tTexcdf4a): 158(ptr) Variable UniformConstant
160: TypeImage 24(int) Cube array sampled format:Unknown
161: TypePointer UniformConstant 160
162(g_tTexcdi4a): 161(ptr) Variable UniformConstant
163: TypeImage 41(int) Cube array sampled format:Unknown
164: TypePointer UniformConstant 163
165(g_tTexcdu4a): 164(ptr) Variable UniformConstant
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeImage 6(float) 1D depth sampled format:Unknown
23: TypeSampledImage 22
25: 6(float) Constant 1036831949
26: 6(float) Constant 1061158912
27: TypeVector 6(float) 2
29: TypeInt 32 1
30: 29(int) Constant 2
34: TypeImage 29(int) 1D sampled format:Unknown
35: TypePointer UniformConstant 34
36(g_tTex1di4): 35(ptr) Variable UniformConstant
39: TypeImage 29(int) 1D depth sampled format:Unknown
40: TypeSampledImage 39
46: TypeInt 32 0
47: TypeImage 46(int) 1D sampled format:Unknown
48: TypePointer UniformConstant 47
49(g_tTex1du4): 48(ptr) Variable UniformConstant
52: TypeImage 46(int) 1D depth sampled format:Unknown
53: TypeSampledImage 52
59: TypeImage 6(float) 2D sampled format:Unknown
60: TypePointer UniformConstant 59
61(g_tTex2df4): 60(ptr) Variable UniformConstant
64: TypeImage 6(float) 2D depth sampled format:Unknown
65: TypeSampledImage 64
67: 6(float) Constant 1045220557
68: 27(fvec2) ConstantComposite 25 67
69: TypeVector 6(float) 3
73: TypeVector 29(int) 2
74: 29(int) Constant 3
75: 73(ivec2) ConstantComposite 30 74
79: TypeImage 29(int) 2D sampled format:Unknown
80: TypePointer UniformConstant 79
81(g_tTex2di4): 80(ptr) Variable UniformConstant
84: TypeImage 29(int) 2D depth sampled format:Unknown
85: TypeSampledImage 84
93: TypeImage 46(int) 2D sampled format:Unknown
94: TypePointer UniformConstant 93
95(g_tTex2du4): 94(ptr) Variable UniformConstant
98: TypeImage 46(int) 2D depth sampled format:Unknown
99: TypeSampledImage 98
106: TypePointer Function 8(PS_OUTPUT)
108: 29(int) Constant 0
109: 6(float) Constant 1065353216
110: 7(fvec4) ConstantComposite 109 109 109 109
111: TypePointer Function 7(fvec4)
113: 29(int) Constant 1
120: TypePointer Output 7(fvec4)
121(Color): 120(ptr) Variable Output
124: TypePointer Output 6(float)
125(Depth): 124(ptr) Variable Output
128: TypeImage 6(float) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3df4): 129(ptr) Variable UniformConstant
131: TypeImage 29(int) 3D sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTex3di4): 132(ptr) Variable UniformConstant
134: TypeImage 46(int) 3D sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTex3du4): 135(ptr) Variable UniformConstant
137: TypeImage 6(float) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdf4): 138(ptr) Variable UniformConstant
140: TypeImage 29(int) Cube sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTexcdi4): 141(ptr) Variable UniformConstant
143: TypeImage 46(int) Cube sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTexcdu4): 144(ptr) Variable UniformConstant
146: TypeImage 6(float) 1D array sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTex1df4a): 147(ptr) Variable UniformConstant
149: TypeImage 29(int) 1D array sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTex1di4a): 150(ptr) Variable UniformConstant
152: TypeImage 46(int) 1D array sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTex1du4a): 153(ptr) Variable UniformConstant
155: TypeImage 6(float) 2D array sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTex2df4a): 156(ptr) Variable UniformConstant
158: TypeImage 29(int) 2D array sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTex2di4a): 159(ptr) Variable UniformConstant
161: TypeImage 46(int) 2D array sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTex2du4a): 162(ptr) Variable UniformConstant
164: TypeImage 6(float) Cube array sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTexcdf4a): 165(ptr) Variable UniformConstant
167: TypeImage 29(int) Cube array sampled format:Unknown
168: TypePointer UniformConstant 167
169(g_tTexcdi4a): 168(ptr) Variable UniformConstant
170: TypeImage 46(int) Cube array sampled format:Unknown
171: TypePointer UniformConstant 170
172(g_tTexcdu4a): 171(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r01): 7(ptr) Variable Function
28(r03): 7(ptr) Variable Function
40(r05): 7(ptr) Variable Function
53(r21): 7(ptr) Variable Function
73(r23): 7(ptr) Variable Function
87(r25): 7(ptr) Variable Function
104(psout): 103(ptr) Variable Function
12: 9 Load 11(g_tTex1df4)
16: 13 Load 15(g_sSamp)
19: 18 SampledImage 12 16
23: 22(fvec2) CompositeConstruct 20 21
26: 6(float) CompositeExtract 23 1
27: 6(float) ImageSampleDrefImplicitLod 19 23 26 ConstOffset 25
Store 8(r01) 27
32: 29 Load 31(g_tTex1di4)
33: 13 Load 15(g_sSamp)
36: 35 SampledImage 32 33
37: 22(fvec2) CompositeConstruct 20 21
38: 6(float) CompositeExtract 37 1
39: 6(float) ImageSampleDrefImplicitLod 36 37 38 ConstOffset 25
Store 28(r03) 39
45: 42 Load 44(g_tTex1du4)
46: 13 Load 15(g_sSamp)
49: 48 SampledImage 45 46
50: 22(fvec2) CompositeConstruct 20 21
51: 6(float) CompositeExtract 50 1
52: 6(float) ImageSampleDrefImplicitLod 49 50 51 ConstOffset 25
Store 40(r05) 52
57: 54 Load 56(g_tTex2df4)
58: 13 Load 15(g_sSamp)
61: 60 SampledImage 57 58
65: 6(float) CompositeExtract 63 0
66: 6(float) CompositeExtract 63 1
67: 64(fvec3) CompositeConstruct 65 66 21
71: 6(float) CompositeExtract 67 2
72: 6(float) ImageSampleDrefImplicitLod 61 67 71 ConstOffset 70
Store 53(r21) 72
77: 74 Load 76(g_tTex2di4)
78: 13 Load 15(g_sSamp)
81: 80 SampledImage 77 78
82: 6(float) CompositeExtract 63 0
83: 6(float) CompositeExtract 63 1
84: 64(fvec3) CompositeConstruct 82 83 21
85: 6(float) CompositeExtract 84 2
86: 6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 70
Store 73(r23) 86
91: 88 Load 90(g_tTex2du4)
92: 13 Load 15(g_sSamp)
95: 94 SampledImage 91 92
96: 6(float) CompositeExtract 63 0
97: 6(float) CompositeExtract 63 1
98: 64(fvec3) CompositeConstruct 96 97 21
99: 6(float) CompositeExtract 98 2
100: 6(float) ImageSampleDrefImplicitLod 95 98 99 ConstOffset 70
Store 87(r25) 100
109: 108(ptr) AccessChain 104(psout) 105
Store 109 107
111: 7(ptr) AccessChain 104(psout) 110
Store 111 106
114: 108(ptr) AccessChain 104(psout) 105
115: 101(fvec4) Load 114
Store 113(Color) 115
118: 7(ptr) AccessChain 104(psout) 110
119: 6(float) Load 118
Store 117(Depth) 119
118(flattenTemp): 106(ptr) Variable Function
119:8(PS_OUTPUT) FunctionCall 10(@main()
Store 118(flattenTemp) 119
122: 111(ptr) AccessChain 118(flattenTemp) 108
123: 7(fvec4) Load 122
Store 121(Color) 123
126: 12(ptr) AccessChain 118(flattenTemp) 113
127: 6(float) Load 126
Store 125(Depth) 127
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r01): 12(ptr) Variable Function
33(r03): 12(ptr) Variable Function
45(r05): 12(ptr) Variable Function
58(r21): 12(ptr) Variable Function
78(r23): 12(ptr) Variable Function
92(r25): 12(ptr) Variable Function
107(psout): 106(ptr) Variable Function
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
24: 23 SampledImage 17 21
28: 27(fvec2) CompositeConstruct 25 26
31: 6(float) CompositeExtract 28 1
32: 6(float) ImageSampleDrefImplicitLod 24 28 31 ConstOffset 30
Store 13(r01) 32
37: 34 Load 36(g_tTex1di4)
38: 18 Load 20(g_sSamp)
41: 40 SampledImage 37 38
42: 27(fvec2) CompositeConstruct 25 26
43: 6(float) CompositeExtract 42 1
44: 6(float) ImageSampleDrefImplicitLod 41 42 43 ConstOffset 30
Store 33(r03) 44
50: 47 Load 49(g_tTex1du4)
51: 18 Load 20(g_sSamp)
54: 53 SampledImage 50 51
55: 27(fvec2) CompositeConstruct 25 26
56: 6(float) CompositeExtract 55 1
57: 6(float) ImageSampleDrefImplicitLod 54 55 56 ConstOffset 30
Store 45(r05) 57
62: 59 Load 61(g_tTex2df4)
63: 18 Load 20(g_sSamp)
66: 65 SampledImage 62 63
70: 6(float) CompositeExtract 68 0
71: 6(float) CompositeExtract 68 1
72: 69(fvec3) CompositeConstruct 70 71 26
76: 6(float) CompositeExtract 72 2
77: 6(float) ImageSampleDrefImplicitLod 66 72 76 ConstOffset 75
Store 58(r21) 77
82: 79 Load 81(g_tTex2di4)
83: 18 Load 20(g_sSamp)
86: 85 SampledImage 82 83
87: 6(float) CompositeExtract 68 0
88: 6(float) CompositeExtract 68 1
89: 69(fvec3) CompositeConstruct 87 88 26
90: 6(float) CompositeExtract 89 2
91: 6(float) ImageSampleDrefImplicitLod 86 89 90 ConstOffset 75
Store 78(r23) 91
96: 93 Load 95(g_tTex2du4)
97: 18 Load 20(g_sSamp)
100: 99 SampledImage 96 97
101: 6(float) CompositeExtract 68 0
102: 6(float) CompositeExtract 68 1
103: 69(fvec3) CompositeConstruct 101 102 26
104: 6(float) CompositeExtract 103 2
105: 6(float) ImageSampleDrefImplicitLod 100 103 104 ConstOffset 75
Store 92(r25) 105
112: 111(ptr) AccessChain 107(psout) 108
Store 112 110
114: 12(ptr) AccessChain 107(psout) 113
Store 114 109
115:8(PS_OUTPUT) Load 107(psout)
ReturnValue 115
FunctionEnd