HLSL: Make the entry-point shadow function have non-IO params and return.

This also removes an no longer needed makeTemporary() and rationalizes
makeTypeNonIo()'s interface.
This commit is contained in:
John Kessenich
2017-02-01 18:09:17 -07:00
parent 5d3023af03
commit abd8dca86d
24 changed files with 1146 additions and 1346 deletions

View File

@@ -1,7 +1,7 @@
hlsl.load.basic.dx10.vert
Shader version: 450
0:? Sequence
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (temp 4-component vector of float)
@@ -193,8 +193,8 @@ Shader version: 450
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:47 Pos: direct index for structure (temp 4-component vector of float Position)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Pos: direct index for structure (temp 4-component vector of float)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Constant:
0:47 0 (const int)
0:? Linker Objects
@@ -229,7 +229,7 @@ Linked vertex stage:
Shader version: 450
0:? Sequence
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Function Definition: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Function Parameters:
0:? Sequence
0:51 textureFetch (temp 4-component vector of float)
@@ -421,8 +421,8 @@ Shader version: 450
0:47 Sequence
0:47 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput_Pos' (out 4-component vector of float Position)
0:47 Pos: direct index for structure (temp 4-component vector of float Position)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Position Pos})
0:47 Pos: direct index for structure (temp 4-component vector of float)
0:47 Function Call: @main( (temp structure{temp 4-component vector of float Pos})
0:47 Constant:
0:47 0 (const int)
0:? Linker Objects
@@ -453,14 +453,14 @@ Shader version: 450
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 180
// Id's are bound by 174
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 135 179
EntryPoint Vertex 4 "main" 129 173
Name 4 "main"
Name 8 "VS_OUTPUT"
MemberName 8(VS_OUTPUT) 0 "Pos"
@@ -484,27 +484,24 @@ Shader version: 450
Name 87 "g_tTex3df4"
Name 100 "g_tTex3di4"
Name 110 "g_tTex3du4"
Name 118 "VS_OUTPUT"
MemberName 118(VS_OUTPUT) 0 "Pos"
Name 120 "vsout"
Name 135 "@entryPointOutput_Pos"
Name 140 "g_sSamp"
Name 143 "g_tTexcdf4"
Name 146 "g_tTexcdi4"
Name 149 "g_tTexcdu4"
Name 152 "g_tTex1df4a"
Name 155 "g_tTex1di4a"
Name 158 "g_tTex1du4a"
Name 161 "g_tTex2df4a"
Name 164 "g_tTex2di4a"
Name 167 "g_tTex2du4a"
Name 170 "g_tTexcdf4a"
Name 173 "g_tTexcdi4a"
Name 176 "g_tTexcdu4a"
Name 177 "PerVertex_out"
MemberName 177(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 179 "PerVertex_out"
MemberDecorate 8(VS_OUTPUT) 0 BuiltIn Position
Name 119 "vsout"
Name 129 "@entryPointOutput_Pos"
Name 134 "g_sSamp"
Name 137 "g_tTexcdf4"
Name 140 "g_tTexcdi4"
Name 143 "g_tTexcdu4"
Name 146 "g_tTex1df4a"
Name 149 "g_tTex1di4a"
Name 152 "g_tTex1du4a"
Name 155 "g_tTex2df4a"
Name 158 "g_tTex2di4a"
Name 161 "g_tTex2du4a"
Name 164 "g_tTexcdf4a"
Name 167 "g_tTexcdi4a"
Name 170 "g_tTexcdu4a"
Name 171 "PerVertex_out"
MemberName 171(PerVertex_out) 0 "@entryPointOutput_Pos"
Name 173 "PerVertex_out"
Decorate 14(g_tTex1df4) DescriptorSet 0
Decorate 14(g_tTex1df4) Binding 0
MemberDecorate 20($Global) 0 Offset 0
@@ -525,23 +522,23 @@ Shader version: 450
Decorate 87(g_tTex3df4) DescriptorSet 0
Decorate 100(g_tTex3di4) DescriptorSet 0
Decorate 110(g_tTex3du4) DescriptorSet 0
Decorate 135(@entryPointOutput_Pos) BuiltIn Position
Decorate 140(g_sSamp) DescriptorSet 0
Decorate 140(g_sSamp) Binding 0
Decorate 143(g_tTexcdf4) DescriptorSet 0
Decorate 146(g_tTexcdi4) DescriptorSet 0
Decorate 149(g_tTexcdu4) DescriptorSet 0
Decorate 152(g_tTex1df4a) DescriptorSet 0
Decorate 155(g_tTex1di4a) DescriptorSet 0
Decorate 158(g_tTex1du4a) DescriptorSet 0
Decorate 161(g_tTex2df4a) DescriptorSet 0
Decorate 164(g_tTex2di4a) DescriptorSet 0
Decorate 167(g_tTex2du4a) DescriptorSet 0
Decorate 170(g_tTexcdf4a) DescriptorSet 0
Decorate 173(g_tTexcdi4a) DescriptorSet 0
Decorate 176(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 177(PerVertex_out) 0 BuiltIn Position
Decorate 177(PerVertex_out) Block
Decorate 129(@entryPointOutput_Pos) BuiltIn Position
Decorate 134(g_sSamp) DescriptorSet 0
Decorate 134(g_sSamp) Binding 0
Decorate 137(g_tTexcdf4) DescriptorSet 0
Decorate 140(g_tTexcdi4) DescriptorSet 0
Decorate 143(g_tTexcdu4) DescriptorSet 0
Decorate 146(g_tTex1df4a) DescriptorSet 0
Decorate 149(g_tTex1di4a) DescriptorSet 0
Decorate 152(g_tTex1du4a) DescriptorSet 0
Decorate 155(g_tTex2df4a) DescriptorSet 0
Decorate 158(g_tTex2di4a) DescriptorSet 0
Decorate 161(g_tTex2du4a) DescriptorSet 0
Decorate 164(g_tTexcdf4a) DescriptorSet 0
Decorate 167(g_tTexcdi4a) DescriptorSet 0
Decorate 170(g_tTexcdu4a) DescriptorSet 0
MemberDecorate 171(PerVertex_out) 0 BuiltIn Position
Decorate 171(PerVertex_out) Block
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -594,68 +591,65 @@ Shader version: 450
108: TypeImage 24(int) 3D sampled format:Unknown
109: TypePointer UniformConstant 108
110(g_tTex3du4): 109(ptr) Variable UniformConstant
118(VS_OUTPUT): TypeStruct 7(fvec4)
119: TypePointer Function 118(VS_OUTPUT)
121: 16(int) Constant 0
122: 6(float) Constant 0
123: 7(fvec4) ConstantComposite 122 122 122 122
124: TypePointer Function 7(fvec4)
127: TypePointer Function 8(VS_OUTPUT)
134: TypePointer Output 7(fvec4)
135(@entryPointOutput_Pos): 134(ptr) Variable Output
138: TypeSampler
118: TypePointer Function 8(VS_OUTPUT)
120: 16(int) Constant 0
121: 6(float) Constant 0
122: 7(fvec4) ConstantComposite 121 121 121 121
123: TypePointer Function 7(fvec4)
128: TypePointer Output 7(fvec4)
129(@entryPointOutput_Pos): 128(ptr) Variable Output
132: TypeSampler
133: TypePointer UniformConstant 132
134(g_sSamp): 133(ptr) Variable UniformConstant
135: TypeImage 6(float) Cube sampled format:Unknown
136: TypePointer UniformConstant 135
137(g_tTexcdf4): 136(ptr) Variable UniformConstant
138: TypeImage 16(int) Cube sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_sSamp): 139(ptr) Variable UniformConstant
141: TypeImage 6(float) Cube sampled format:Unknown
140(g_tTexcdi4): 139(ptr) Variable UniformConstant
141: TypeImage 24(int) Cube sampled format:Unknown
142: TypePointer UniformConstant 141
143(g_tTexcdf4): 142(ptr) Variable UniformConstant
144: TypeImage 16(int) Cube sampled format:Unknown
143(g_tTexcdu4): 142(ptr) Variable UniformConstant
144: TypeImage 6(float) 1D array sampled format:Unknown
145: TypePointer UniformConstant 144
146(g_tTexcdi4): 145(ptr) Variable UniformConstant
147: TypeImage 24(int) Cube sampled format:Unknown
146(g_tTex1df4a): 145(ptr) Variable UniformConstant
147: TypeImage 16(int) 1D array sampled format:Unknown
148: TypePointer UniformConstant 147
149(g_tTexcdu4): 148(ptr) Variable UniformConstant
150: TypeImage 6(float) 1D array sampled format:Unknown
149(g_tTex1di4a): 148(ptr) Variable UniformConstant
150: TypeImage 24(int) 1D array sampled format:Unknown
151: TypePointer UniformConstant 150
152(g_tTex1df4a): 151(ptr) Variable UniformConstant
153: TypeImage 16(int) 1D array sampled format:Unknown
152(g_tTex1du4a): 151(ptr) Variable UniformConstant
153: TypeImage 6(float) 2D array sampled format:Unknown
154: TypePointer UniformConstant 153
155(g_tTex1di4a): 154(ptr) Variable UniformConstant
156: TypeImage 24(int) 1D array sampled format:Unknown
155(g_tTex2df4a): 154(ptr) Variable UniformConstant
156: TypeImage 16(int) 2D array sampled format:Unknown
157: TypePointer UniformConstant 156
158(g_tTex1du4a): 157(ptr) Variable UniformConstant
159: TypeImage 6(float) 2D array sampled format:Unknown
158(g_tTex2di4a): 157(ptr) Variable UniformConstant
159: TypeImage 24(int) 2D array sampled format:Unknown
160: TypePointer UniformConstant 159
161(g_tTex2df4a): 160(ptr) Variable UniformConstant
162: TypeImage 16(int) 2D array sampled format:Unknown
161(g_tTex2du4a): 160(ptr) Variable UniformConstant
162: TypeImage 6(float) Cube array sampled format:Unknown
163: TypePointer UniformConstant 162
164(g_tTex2di4a): 163(ptr) Variable UniformConstant
165: TypeImage 24(int) 2D array sampled format:Unknown
164(g_tTexcdf4a): 163(ptr) Variable UniformConstant
165: TypeImage 16(int) Cube array sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTex2du4a): 166(ptr) Variable UniformConstant
168: TypeImage 6(float) Cube array sampled format:Unknown
167(g_tTexcdi4a): 166(ptr) Variable UniformConstant
168: TypeImage 24(int) Cube array sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTexcdf4a): 169(ptr) Variable UniformConstant
171: TypeImage 16(int) Cube array sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTexcdi4a): 172(ptr) Variable UniformConstant
174: TypeImage 24(int) Cube array sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTexcdu4a): 175(ptr) Variable UniformConstant
177(PerVertex_out): TypeStruct 7(fvec4)
178: TypePointer Output 177(PerVertex_out)
179(PerVertex_out): 178(ptr) Variable Output
170(g_tTexcdu4a): 169(ptr) Variable UniformConstant
171(PerVertex_out): TypeStruct 7(fvec4)
172: TypePointer Output 171(PerVertex_out)
173(PerVertex_out): 172(ptr) Variable Output
4(main): 2 Function None 3
5: Label
136:8(VS_OUTPUT) FunctionCall 10(@main()
137: 7(fvec4) CompositeExtract 136 0
Store 135(@entryPointOutput_Pos) 137
130:8(VS_OUTPUT) FunctionCall 10(@main()
131: 7(fvec4) CompositeExtract 130 0
Store 129(@entryPointOutput_Pos) 131
Return
FunctionEnd
10(@main():8(VS_OUTPUT) Function None 9
11: Label
120(vsout): 119(ptr) Variable Function
128: 127(ptr) Variable Function
119(vsout): 118(ptr) Variable Function
15: 12 Load 14(g_tTex1df4)
27: 26(ptr) AccessChain 22 23 25
28: 16(int) Load 27
@@ -716,12 +710,8 @@ Shader version: 450
115: 26(ptr) AccessChain 22 89 94
116: 16(int) Load 115
117: 50(ivec4) ImageFetch 111 114 Lod 116
125: 124(ptr) AccessChain 120(vsout) 121
Store 125 123
126:118(VS_OUTPUT) Load 120(vsout)
129: 7(fvec4) CompositeExtract 126 0
130: 124(ptr) AccessChain 128 121
Store 130 129
131:8(VS_OUTPUT) Load 128
ReturnValue 131
124: 123(ptr) AccessChain 119(vsout) 120
Store 124 122
125:8(VS_OUTPUT) Load 119(vsout)
ReturnValue 125
FunctionEnd