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.samplecmplevelzero.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
@@ -124,24 +124,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)
@@ -164,6 +168,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:
@@ -172,7 +178,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
@@ -294,24 +300,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)
@@ -334,252 +344,265 @@ 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 167
// Id's are bound by 174
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 114 118
EntryPoint Fragment 4 "main" 122 126
ExecutionMode 4 OriginUpperLeft
Name 4 "main"
Name 8 "r01"
Name 11 "g_tTex1df4"
Name 15 "g_sSamp"
Name 29 "r03"
Name 32 "g_tTex1di4"
Name 41 "r05"
Name 45 "g_tTex1du4"
Name 54 "r21"
Name 57 "g_tTex2df4"
Name 74 "r23"
Name 77 "g_tTex2di4"
Name 88 "r25"
Name 91 "g_tTex2du4"
Name 103 "PS_OUTPUT"
MemberName 103(PS_OUTPUT) 0 "Color"
MemberName 103(PS_OUTPUT) 1 "Depth"
Name 105 "psout"
Name 114 "Color"
Name 118 "Depth"
Name 124 "g_tTex3df4"
Name 127 "g_tTex3di4"
Name 130 "g_tTex3du4"
Name 133 "g_tTexcdf4"
Name 136 "g_tTexcdi4"
Name 139 "g_tTexcdu4"
Name 142 "g_tTex1df4a"
Name 145 "g_tTex1di4a"
Name 148 "g_tTex1du4a"
Name 151 "g_tTex2df4a"
Name 154 "g_tTex2di4a"
Name 157 "g_tTex2du4a"
Name 160 "g_tTexcdf4a"
Name 163 "g_tTexcdi4a"
Name 166 "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 32(g_tTex1di4) DescriptorSet 0
Decorate 45(g_tTex1du4) DescriptorSet 0
Decorate 57(g_tTex2df4) DescriptorSet 0
Decorate 77(g_tTex2di4) DescriptorSet 0
Decorate 91(g_tTex2du4) DescriptorSet 0
Decorate 114(Color) Location 0
Decorate 118(Depth) BuiltIn FragDepth
Decorate 124(g_tTex3df4) DescriptorSet 0
Decorate 127(g_tTex3di4) DescriptorSet 0
Decorate 130(g_tTex3du4) DescriptorSet 0
Decorate 133(g_tTexcdf4) DescriptorSet 0
Decorate 136(g_tTexcdi4) DescriptorSet 0
Decorate 139(g_tTexcdu4) DescriptorSet 0
Decorate 142(g_tTex1df4a) DescriptorSet 0
Decorate 145(g_tTex1di4a) DescriptorSet 0
Decorate 148(g_tTex1du4a) DescriptorSet 0
Decorate 151(g_tTex2df4a) DescriptorSet 0
Decorate 154(g_tTex2di4a) DescriptorSet 0
Decorate 157(g_tTex2du4a) DescriptorSet 0
Decorate 160(g_tTexcdf4a) DescriptorSet 0
Decorate 163(g_tTexcdi4a) DescriptorSet 0
Decorate 166(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 34 "r03"
Name 37 "g_tTex1di4"
Name 46 "r05"
Name 50 "g_tTex1du4"
Name 59 "r21"
Name 62 "g_tTex2df4"
Name 79 "r23"
Name 82 "g_tTex2di4"
Name 93 "r25"
Name 96 "g_tTex2du4"
Name 108 "psout"
Name 119 "flattenTemp"
Name 122 "Color"
Name 126 "Depth"
Name 131 "g_tTex3df4"
Name 134 "g_tTex3di4"
Name 137 "g_tTex3du4"
Name 140 "g_tTexcdf4"
Name 143 "g_tTexcdi4"
Name 146 "g_tTexcdu4"
Name 149 "g_tTex1df4a"
Name 152 "g_tTex1di4a"
Name 155 "g_tTex1du4a"
Name 158 "g_tTex2df4a"
Name 161 "g_tTex2di4a"
Name 164 "g_tTex2du4a"
Name 167 "g_tTexcdf4a"
Name 170 "g_tTexcdi4a"
Name 173 "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 37(g_tTex1di4) DescriptorSet 0
Decorate 50(g_tTex1du4) DescriptorSet 0
Decorate 62(g_tTex2df4) DescriptorSet 0
Decorate 82(g_tTex2di4) DescriptorSet 0
Decorate 96(g_tTex2du4) DescriptorSet 0
Decorate 122(Color) Location 0
Decorate 126(Depth) BuiltIn FragDepth
Decorate 131(g_tTex3df4) DescriptorSet 0
Decorate 134(g_tTex3di4) DescriptorSet 0
Decorate 137(g_tTex3du4) DescriptorSet 0
Decorate 140(g_tTexcdf4) DescriptorSet 0
Decorate 143(g_tTexcdi4) DescriptorSet 0
Decorate 146(g_tTexcdu4) DescriptorSet 0
Decorate 149(g_tTex1df4a) DescriptorSet 0
Decorate 152(g_tTex1di4a) DescriptorSet 0
Decorate 155(g_tTex1du4a) DescriptorSet 0
Decorate 158(g_tTex2df4a) DescriptorSet 0
Decorate 161(g_tTex2di4a) DescriptorSet 0
Decorate 164(g_tTex2du4a) DescriptorSet 0
Decorate 167(g_tTexcdf4a) DescriptorSet 0
Decorate 170(g_tTexcdi4a) DescriptorSet 0
Decorate 173(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: 6(float) Constant 0
25: TypeInt 32 1
26: 25(int) Constant 2
30: TypeImage 25(int) 1D sampled format:Unknown
31: TypePointer UniformConstant 30
32(g_tTex1di4): 31(ptr) Variable UniformConstant
35: TypeImage 25(int) 1D depth sampled format:Unknown
36: TypeSampledImage 35
42: TypeInt 32 0
43: TypeImage 42(int) 1D sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex1du4): 44(ptr) Variable UniformConstant
48: TypeImage 42(int) 1D depth sampled format:Unknown
49: TypeSampledImage 48
55: TypeImage 6(float) 2D sampled format:Unknown
56: TypePointer UniformConstant 55
57(g_tTex2df4): 56(ptr) Variable UniformConstant
60: TypeImage 6(float) 2D depth sampled format:Unknown
61: TypeSampledImage 60
63: 6(float) Constant 1045220557
64: 22(fvec2) ConstantComposite 20 63
65: TypeVector 6(float) 3
69: TypeVector 25(int) 2
70: 25(int) Constant 3
71: 69(ivec2) ConstantComposite 26 70
75: TypeImage 25(int) 2D sampled format:Unknown
76: TypePointer UniformConstant 75
77(g_tTex2di4): 76(ptr) Variable UniformConstant
80: TypeImage 25(int) 2D depth sampled format:Unknown
81: TypeSampledImage 80
89: TypeImage 42(int) 2D sampled format:Unknown
90: TypePointer UniformConstant 89
91(g_tTex2du4): 90(ptr) Variable UniformConstant
94: TypeImage 42(int) 2D depth sampled format:Unknown
95: TypeSampledImage 94
102: TypeVector 6(float) 4
103(PS_OUTPUT): TypeStruct 102(fvec4) 6(float)
104: TypePointer Function 103(PS_OUTPUT)
106: 25(int) Constant 0
107: 6(float) Constant 1065353216
108: 102(fvec4) ConstantComposite 107 107 107 107
109: TypePointer Function 102(fvec4)
111: 25(int) Constant 1
113: TypePointer Output 102(fvec4)
114(Color): 113(ptr) Variable Output
117: TypePointer Output 6(float)
118(Depth): 117(ptr) Variable Output
122: TypeImage 6(float) 3D sampled format:Unknown
123: TypePointer UniformConstant 122
124(g_tTex3df4): 123(ptr) Variable UniformConstant
125: TypeImage 25(int) 3D sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTex3di4): 126(ptr) Variable UniformConstant
128: TypeImage 42(int) 3D sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTex3du4): 129(ptr) Variable UniformConstant
131: TypeImage 6(float) Cube sampled format:Unknown
132: TypePointer UniformConstant 131
133(g_tTexcdf4): 132(ptr) Variable UniformConstant
134: TypeImage 25(int) Cube sampled format:Unknown
135: TypePointer UniformConstant 134
136(g_tTexcdi4): 135(ptr) Variable UniformConstant
137: TypeImage 42(int) Cube sampled format:Unknown
138: TypePointer UniformConstant 137
139(g_tTexcdu4): 138(ptr) Variable UniformConstant
140: TypeImage 6(float) 1D array sampled format:Unknown
141: TypePointer UniformConstant 140
142(g_tTex1df4a): 141(ptr) Variable UniformConstant
143: TypeImage 25(int) 1D array sampled format:Unknown
144: TypePointer UniformConstant 143
145(g_tTex1di4a): 144(ptr) Variable UniformConstant
146: TypeImage 42(int) 1D array sampled format:Unknown
147: TypePointer UniformConstant 146
148(g_tTex1du4a): 147(ptr) Variable UniformConstant
149: TypeImage 6(float) 2D array sampled format:Unknown
150: TypePointer UniformConstant 149
151(g_tTex2df4a): 150(ptr) Variable UniformConstant
152: TypeImage 25(int) 2D array sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTex2di4a): 153(ptr) Variable UniformConstant
155: TypeImage 42(int) 2D array sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTex2du4a): 156(ptr) Variable UniformConstant
158: TypeImage 6(float) Cube array sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTexcdf4a): 159(ptr) Variable UniformConstant
161: TypeImage 25(int) Cube array sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTexcdi4a): 162(ptr) Variable UniformConstant
164: TypeImage 42(int) Cube array sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTexcdu4a): 165(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: 6(float) Constant 0
30: TypeInt 32 1
31: 30(int) Constant 2
35: TypeImage 30(int) 1D sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex1di4): 36(ptr) Variable UniformConstant
40: TypeImage 30(int) 1D depth sampled format:Unknown
41: TypeSampledImage 40
47: TypeInt 32 0
48: TypeImage 47(int) 1D sampled format:Unknown
49: TypePointer UniformConstant 48
50(g_tTex1du4): 49(ptr) Variable UniformConstant
53: TypeImage 47(int) 1D depth sampled format:Unknown
54: TypeSampledImage 53
60: TypeImage 6(float) 2D sampled format:Unknown
61: TypePointer UniformConstant 60
62(g_tTex2df4): 61(ptr) Variable UniformConstant
65: TypeImage 6(float) 2D depth sampled format:Unknown
66: TypeSampledImage 65
68: 6(float) Constant 1045220557
69: 27(fvec2) ConstantComposite 25 68
70: TypeVector 6(float) 3
74: TypeVector 30(int) 2
75: 30(int) Constant 3
76: 74(ivec2) ConstantComposite 31 75
80: TypeImage 30(int) 2D sampled format:Unknown
81: TypePointer UniformConstant 80
82(g_tTex2di4): 81(ptr) Variable UniformConstant
85: TypeImage 30(int) 2D depth sampled format:Unknown
86: TypeSampledImage 85
94: TypeImage 47(int) 2D sampled format:Unknown
95: TypePointer UniformConstant 94
96(g_tTex2du4): 95(ptr) Variable UniformConstant
99: TypeImage 47(int) 2D depth sampled format:Unknown
100: TypeSampledImage 99
107: TypePointer Function 8(PS_OUTPUT)
109: 30(int) Constant 0
110: 6(float) Constant 1065353216
111: 7(fvec4) ConstantComposite 110 110 110 110
112: TypePointer Function 7(fvec4)
114: 30(int) Constant 1
121: TypePointer Output 7(fvec4)
122(Color): 121(ptr) Variable Output
125: TypePointer Output 6(float)
126(Depth): 125(ptr) Variable Output
129: TypeImage 6(float) 3D sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTex3df4): 130(ptr) Variable UniformConstant
132: TypeImage 30(int) 3D sampled format:Unknown
133: TypePointer UniformConstant 132
134(g_tTex3di4): 133(ptr) Variable UniformConstant
135: TypeImage 47(int) 3D sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTex3du4): 136(ptr) Variable UniformConstant
138: TypeImage 6(float) Cube sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_tTexcdf4): 139(ptr) Variable UniformConstant
141: TypeImage 30(int) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdi4): 142(ptr) Variable UniformConstant
144: TypeImage 47(int) Cube sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdu4): 145(ptr) Variable UniformConstant
147: TypeImage 6(float) 1D array sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTex1df4a): 148(ptr) Variable UniformConstant
150: TypeImage 30(int) 1D array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTex1di4a): 151(ptr) Variable UniformConstant
153: TypeImage 47(int) 1D array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTex1du4a): 154(ptr) Variable UniformConstant
156: TypeImage 6(float) 2D array sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTex2df4a): 157(ptr) Variable UniformConstant
159: TypeImage 30(int) 2D array sampled format:Unknown
160: TypePointer UniformConstant 159
161(g_tTex2di4a): 160(ptr) Variable UniformConstant
162: TypeImage 47(int) 2D array sampled format:Unknown
163: TypePointer UniformConstant 162
164(g_tTex2du4a): 163(ptr) Variable UniformConstant
165: TypeImage 6(float) Cube array sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTexcdf4a): 166(ptr) Variable UniformConstant
168: TypeImage 30(int) Cube array sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTexcdi4a): 169(ptr) Variable UniformConstant
171: TypeImage 47(int) Cube array sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTexcdu4a): 172(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
8(r01): 7(ptr) Variable Function
29(r03): 7(ptr) Variable Function
41(r05): 7(ptr) Variable Function
54(r21): 7(ptr) Variable Function
74(r23): 7(ptr) Variable Function
88(r25): 7(ptr) Variable Function
105(psout): 104(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
27: 6(float) CompositeExtract 23 1
28: 6(float) ImageSampleDrefExplicitLod 19 23 27 Lod ConstOffset 24 26
Store 8(r01) 28
33: 30 Load 32(g_tTex1di4)
34: 13 Load 15(g_sSamp)
37: 36 SampledImage 33 34
38: 22(fvec2) CompositeConstruct 20 21
39: 6(float) CompositeExtract 38 1
40: 6(float) ImageSampleDrefExplicitLod 37 38 39 Lod ConstOffset 24 26
Store 29(r03) 40
46: 43 Load 45(g_tTex1du4)
47: 13 Load 15(g_sSamp)
50: 49 SampledImage 46 47
51: 22(fvec2) CompositeConstruct 20 21
52: 6(float) CompositeExtract 51 1
53: 6(float) ImageSampleDrefExplicitLod 50 51 52 Lod ConstOffset 24 26
Store 41(r05) 53
58: 55 Load 57(g_tTex2df4)
59: 13 Load 15(g_sSamp)
62: 61 SampledImage 58 59
66: 6(float) CompositeExtract 64 0
67: 6(float) CompositeExtract 64 1
68: 65(fvec3) CompositeConstruct 66 67 21
72: 6(float) CompositeExtract 68 2
73: 6(float) ImageSampleDrefExplicitLod 62 68 72 Lod ConstOffset 24 71
Store 54(r21) 73
78: 75 Load 77(g_tTex2di4)
79: 13 Load 15(g_sSamp)
82: 81 SampledImage 78 79
83: 6(float) CompositeExtract 64 0
84: 6(float) CompositeExtract 64 1
85: 65(fvec3) CompositeConstruct 83 84 21
86: 6(float) CompositeExtract 85 2
87: 6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 24 71
Store 74(r23) 87
92: 89 Load 91(g_tTex2du4)
93: 13 Load 15(g_sSamp)
96: 95 SampledImage 92 93
97: 6(float) CompositeExtract 64 0
98: 6(float) CompositeExtract 64 1
99: 65(fvec3) CompositeConstruct 97 98 21
100: 6(float) CompositeExtract 99 2
101: 6(float) ImageSampleDrefExplicitLod 96 99 100 Lod ConstOffset 24 71
Store 88(r25) 101
110: 109(ptr) AccessChain 105(psout) 106
Store 110 108
112: 7(ptr) AccessChain 105(psout) 111
Store 112 107
115: 109(ptr) AccessChain 105(psout) 106
116: 102(fvec4) Load 115
Store 114(Color) 116
119: 7(ptr) AccessChain 105(psout) 111
120: 6(float) Load 119
Store 118(Depth) 120
119(flattenTemp): 107(ptr) Variable Function
120:8(PS_OUTPUT) FunctionCall 10(@main()
Store 119(flattenTemp) 120
123: 112(ptr) AccessChain 119(flattenTemp) 109
124: 7(fvec4) Load 123
Store 122(Color) 124
127: 12(ptr) AccessChain 119(flattenTemp) 114
128: 6(float) Load 127
Store 126(Depth) 128
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r01): 12(ptr) Variable Function
34(r03): 12(ptr) Variable Function
46(r05): 12(ptr) Variable Function
59(r21): 12(ptr) Variable Function
79(r23): 12(ptr) Variable Function
93(r25): 12(ptr) Variable Function
108(psout): 107(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
32: 6(float) CompositeExtract 28 1
33: 6(float) ImageSampleDrefExplicitLod 24 28 32 Lod ConstOffset 29 31
Store 13(r01) 33
38: 35 Load 37(g_tTex1di4)
39: 18 Load 20(g_sSamp)
42: 41 SampledImage 38 39
43: 27(fvec2) CompositeConstruct 25 26
44: 6(float) CompositeExtract 43 1
45: 6(float) ImageSampleDrefExplicitLod 42 43 44 Lod ConstOffset 29 31
Store 34(r03) 45
51: 48 Load 50(g_tTex1du4)
52: 18 Load 20(g_sSamp)
55: 54 SampledImage 51 52
56: 27(fvec2) CompositeConstruct 25 26
57: 6(float) CompositeExtract 56 1
58: 6(float) ImageSampleDrefExplicitLod 55 56 57 Lod ConstOffset 29 31
Store 46(r05) 58
63: 60 Load 62(g_tTex2df4)
64: 18 Load 20(g_sSamp)
67: 66 SampledImage 63 64
71: 6(float) CompositeExtract 69 0
72: 6(float) CompositeExtract 69 1
73: 70(fvec3) CompositeConstruct 71 72 26
77: 6(float) CompositeExtract 73 2
78: 6(float) ImageSampleDrefExplicitLod 67 73 77 Lod ConstOffset 29 76
Store 59(r21) 78
83: 80 Load 82(g_tTex2di4)
84: 18 Load 20(g_sSamp)
87: 86 SampledImage 83 84
88: 6(float) CompositeExtract 69 0
89: 6(float) CompositeExtract 69 1
90: 70(fvec3) CompositeConstruct 88 89 26
91: 6(float) CompositeExtract 90 2
92: 6(float) ImageSampleDrefExplicitLod 87 90 91 Lod ConstOffset 29 76
Store 79(r23) 92
97: 94 Load 96(g_tTex2du4)
98: 18 Load 20(g_sSamp)
101: 100 SampledImage 97 98
102: 6(float) CompositeExtract 69 0
103: 6(float) CompositeExtract 69 1
104: 70(fvec3) CompositeConstruct 102 103 26
105: 6(float) CompositeExtract 104 2
106: 6(float) ImageSampleDrefExplicitLod 101 104 105 Lod ConstOffset 29 76
Store 93(r25) 106
113: 112(ptr) AccessChain 108(psout) 109
Store 113 111
115: 12(ptr) AccessChain 108(psout) 114
Store 115 110
116:8(PS_OUTPUT) Load 108(psout)
ReturnValue 116
FunctionEnd