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