Generate vector constructions more efficiently when sizes match

When two vectors are the same size, there is no need to extract the
components and construct a new vector.
This commit is contained in:
Arcady Goldmints-Orlov 2024-06-21 14:07:50 -04:00 committed by arcady-lunarg
parent 2d8b71fc63
commit 33d517470e
13 changed files with 1777 additions and 1867 deletions

View File

@ -3424,6 +3424,12 @@ Id Builder::createConstructor(Decoration precision, const std::vector<Id>& sourc
if (sources.size() == 1 && isScalar(sources[0]) && numTargetComponents > 1)
return smearScalar(precision, sources[0], resultTypeId);
// Special case: 2 vectors of equal size
if (sources.size() == 1 && isVector(sources[0]) && numTargetComponents == getNumComponents(sources[0])) {
assert(resultTypeId == getTypeId(sources[0]));
return sources[0];
}
// accumulate the arguments for OpCompositeConstruct
std::vector<Id> constituents;
Id scalarTypeId = getScalarTypeId(resultTypeId);

View File

@ -400,14 +400,14 @@ using depth_any
Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 209
// Id's are bound by 194
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 166 170
EntryPoint Fragment 4 "main" 151 155
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthReplacing
Source HLSL 500
@ -431,26 +431,26 @@ Validation failed
Name 96 "g_tTex2du4a"
Name 107 "r60"
Name 110 "g_tTexcdf4a"
Name 123 "r62"
Name 126 "g_tTexcdi4a"
Name 137 "r64"
Name 140 "g_tTexcdu4a"
Name 152 "psout"
Name 163 "flattenTemp"
Name 166 "@entryPointOutput.Color"
Name 170 "@entryPointOutput.Depth"
Name 175 "g_tTex1df4"
Name 178 "g_tTex1di4"
Name 181 "g_tTex1du4"
Name 184 "g_tTex2df4"
Name 187 "g_tTex2di4"
Name 190 "g_tTex2du4"
Name 193 "g_tTex3df4"
Name 196 "g_tTex3di4"
Name 199 "g_tTex3du4"
Name 202 "g_tTexcdf4"
Name 205 "g_tTexcdi4"
Name 208 "g_tTexcdu4"
Name 118 "r62"
Name 121 "g_tTexcdi4a"
Name 127 "r64"
Name 130 "g_tTexcdu4a"
Name 137 "psout"
Name 148 "flattenTemp"
Name 151 "@entryPointOutput.Color"
Name 155 "@entryPointOutput.Depth"
Name 160 "g_tTex1df4"
Name 163 "g_tTex1di4"
Name 166 "g_tTex1du4"
Name 169 "g_tTex2df4"
Name 172 "g_tTex2di4"
Name 175 "g_tTex2du4"
Name 178 "g_tTex3df4"
Name 181 "g_tTex3di4"
Name 184 "g_tTex3du4"
Name 187 "g_tTexcdf4"
Name 190 "g_tTexcdi4"
Name 193 "g_tTexcdu4"
Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 16(g_tTex1df4a) Binding 1
Decorate 20(g_sSamp) DescriptorSet 0
@ -467,36 +467,36 @@ Validation failed
Decorate 96(g_tTex2du4a) Binding 6
Decorate 110(g_tTexcdf4a) DescriptorSet 0
Decorate 110(g_tTexcdf4a) Binding 7
Decorate 126(g_tTexcdi4a) DescriptorSet 0
Decorate 126(g_tTexcdi4a) Binding 8
Decorate 140(g_tTexcdu4a) DescriptorSet 0
Decorate 140(g_tTexcdu4a) Binding 9
Decorate 166(@entryPointOutput.Color) Location 0
Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 175(g_tTex1df4) DescriptorSet 0
Decorate 175(g_tTex1df4) Binding 0
Decorate 178(g_tTex1di4) DescriptorSet 0
Decorate 178(g_tTex1di4) Binding 0
Decorate 181(g_tTex1du4) DescriptorSet 0
Decorate 181(g_tTex1du4) Binding 0
Decorate 184(g_tTex2df4) DescriptorSet 0
Decorate 184(g_tTex2df4) Binding 0
Decorate 187(g_tTex2di4) DescriptorSet 0
Decorate 187(g_tTex2di4) Binding 0
Decorate 190(g_tTex2du4) DescriptorSet 0
Decorate 190(g_tTex2du4) Binding 0
Decorate 193(g_tTex3df4) DescriptorSet 0
Decorate 193(g_tTex3df4) Binding 0
Decorate 196(g_tTex3di4) DescriptorSet 0
Decorate 196(g_tTex3di4) Binding 0
Decorate 199(g_tTex3du4) DescriptorSet 0
Decorate 199(g_tTex3du4) Binding 0
Decorate 202(g_tTexcdf4) DescriptorSet 0
Decorate 202(g_tTexcdf4) Binding 0
Decorate 205(g_tTexcdi4) DescriptorSet 0
Decorate 205(g_tTexcdi4) Binding 0
Decorate 208(g_tTexcdu4) DescriptorSet 0
Decorate 208(g_tTexcdu4) Binding 0
Decorate 121(g_tTexcdi4a) DescriptorSet 0
Decorate 121(g_tTexcdi4a) Binding 8
Decorate 130(g_tTexcdu4a) DescriptorSet 0
Decorate 130(g_tTexcdu4a) Binding 9
Decorate 151(@entryPointOutput.Color) Location 0
Decorate 155(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 160(g_tTex1df4) DescriptorSet 0
Decorate 160(g_tTex1df4) Binding 0
Decorate 163(g_tTex1di4) DescriptorSet 0
Decorate 163(g_tTex1di4) Binding 0
Decorate 166(g_tTex1du4) DescriptorSet 0
Decorate 166(g_tTex1du4) Binding 0
Decorate 169(g_tTex2df4) DescriptorSet 0
Decorate 169(g_tTex2df4) Binding 0
Decorate 172(g_tTex2di4) DescriptorSet 0
Decorate 172(g_tTex2di4) Binding 0
Decorate 175(g_tTex2du4) DescriptorSet 0
Decorate 175(g_tTex2du4) Binding 0
Decorate 178(g_tTex3df4) DescriptorSet 0
Decorate 178(g_tTex3df4) Binding 0
Decorate 181(g_tTex3di4) DescriptorSet 0
Decorate 181(g_tTex3di4) Binding 0
Decorate 184(g_tTex3du4) DescriptorSet 0
Decorate 184(g_tTex3du4) Binding 0
Decorate 187(g_tTexcdf4) DescriptorSet 0
Decorate 187(g_tTexcdf4) Binding 0
Decorate 190(g_tTexcdi4) DescriptorSet 0
Decorate 190(g_tTexcdi4) Binding 0
Decorate 193(g_tTexcdu4) DescriptorSet 0
Decorate 193(g_tTexcdu4) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -547,71 +547,71 @@ Validation failed
113: TypeSampledImage 108
115: 6(float) Constant 1053609165
116: 7(fvec4) ConstantComposite 25 26 71 115
124: TypeImage 36(int) Cube depth array sampled format:Unknown
125: TypePointer UniformConstant 124
126(g_tTexcdi4a): 125(ptr) Variable UniformConstant
129: TypeSampledImage 124
138: TypeImage 50(int) Cube depth array sampled format:Unknown
139: TypePointer UniformConstant 138
140(g_tTexcdu4a): 139(ptr) Variable UniformConstant
143: TypeSampledImage 138
151: TypePointer Function 8(PS_OUTPUT)
153: 36(int) Constant 0
154: 6(float) Constant 1065353216
155: 7(fvec4) ConstantComposite 154 154 154 154
156: TypePointer Function 7(fvec4)
158: 36(int) Constant 1
165: TypePointer Output 7(fvec4)
166(@entryPointOutput.Color): 165(ptr) Variable Output
169: TypePointer Output 6(float)
170(@entryPointOutput.Depth): 169(ptr) Variable Output
173: TypeImage 6(float) 1D sampled format:Unknown
119: TypeImage 36(int) Cube depth array sampled format:Unknown
120: TypePointer UniformConstant 119
121(g_tTexcdi4a): 120(ptr) Variable UniformConstant
124: TypeSampledImage 119
128: TypeImage 50(int) Cube depth array sampled format:Unknown
129: TypePointer UniformConstant 128
130(g_tTexcdu4a): 129(ptr) Variable UniformConstant
133: TypeSampledImage 128
136: TypePointer Function 8(PS_OUTPUT)
138: 36(int) Constant 0
139: 6(float) Constant 1065353216
140: 7(fvec4) ConstantComposite 139 139 139 139
141: TypePointer Function 7(fvec4)
143: 36(int) Constant 1
150: TypePointer Output 7(fvec4)
151(@entryPointOutput.Color): 150(ptr) Variable Output
154: TypePointer Output 6(float)
155(@entryPointOutput.Depth): 154(ptr) Variable Output
158: TypeImage 6(float) 1D sampled format:Unknown
159: TypePointer UniformConstant 158
160(g_tTex1df4): 159(ptr) Variable UniformConstant
161: TypeImage 36(int) 1D sampled format:Unknown
162: TypePointer UniformConstant 161
163(g_tTex1di4): 162(ptr) Variable UniformConstant
164: TypeImage 50(int) 1D sampled format:Unknown
165: TypePointer UniformConstant 164
166(g_tTex1du4): 165(ptr) Variable UniformConstant
167: TypeImage 6(float) 2D sampled format:Unknown
168: TypePointer UniformConstant 167
169(g_tTex2df4): 168(ptr) Variable UniformConstant
170: TypeImage 36(int) 2D sampled format:Unknown
171: TypePointer UniformConstant 170
172(g_tTex2di4): 171(ptr) Variable UniformConstant
173: TypeImage 50(int) 2D sampled format:Unknown
174: TypePointer UniformConstant 173
175(g_tTex1df4): 174(ptr) Variable UniformConstant
176: TypeImage 36(int) 1D sampled format:Unknown
175(g_tTex2du4): 174(ptr) Variable UniformConstant
176: TypeImage 6(float) 3D sampled format:Unknown
177: TypePointer UniformConstant 176
178(g_tTex1di4): 177(ptr) Variable UniformConstant
179: TypeImage 50(int) 1D sampled format:Unknown
178(g_tTex3df4): 177(ptr) Variable UniformConstant
179: TypeImage 36(int) 3D sampled format:Unknown
180: TypePointer UniformConstant 179
181(g_tTex1du4): 180(ptr) Variable UniformConstant
182: TypeImage 6(float) 2D sampled format:Unknown
181(g_tTex3di4): 180(ptr) Variable UniformConstant
182: TypeImage 50(int) 3D sampled format:Unknown
183: TypePointer UniformConstant 182
184(g_tTex2df4): 183(ptr) Variable UniformConstant
185: TypeImage 36(int) 2D sampled format:Unknown
184(g_tTex3du4): 183(ptr) Variable UniformConstant
185: TypeImage 6(float) Cube sampled format:Unknown
186: TypePointer UniformConstant 185
187(g_tTex2di4): 186(ptr) Variable UniformConstant
188: TypeImage 50(int) 2D sampled format:Unknown
187(g_tTexcdf4): 186(ptr) Variable UniformConstant
188: TypeImage 36(int) Cube sampled format:Unknown
189: TypePointer UniformConstant 188
190(g_tTex2du4): 189(ptr) Variable UniformConstant
191: TypeImage 6(float) 3D sampled format:Unknown
190(g_tTexcdi4): 189(ptr) Variable UniformConstant
191: TypeImage 50(int) Cube sampled format:Unknown
192: TypePointer UniformConstant 191
193(g_tTex3df4): 192(ptr) Variable UniformConstant
194: TypeImage 36(int) 3D sampled format:Unknown
195: TypePointer UniformConstant 194
196(g_tTex3di4): 195(ptr) Variable UniformConstant
197: TypeImage 50(int) 3D sampled format:Unknown
198: TypePointer UniformConstant 197
199(g_tTex3du4): 198(ptr) Variable UniformConstant
200: TypeImage 6(float) Cube sampled format:Unknown
201: TypePointer UniformConstant 200
202(g_tTexcdf4): 201(ptr) Variable UniformConstant
203: TypeImage 36(int) Cube sampled format:Unknown
204: TypePointer UniformConstant 203
205(g_tTexcdi4): 204(ptr) Variable UniformConstant
206: TypeImage 50(int) Cube sampled format:Unknown
207: TypePointer UniformConstant 206
208(g_tTexcdu4): 207(ptr) Variable UniformConstant
193(g_tTexcdu4): 192(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
163(flattenTemp): 151(ptr) Variable Function
164:8(PS_OUTPUT) FunctionCall 10(@main()
Store 163(flattenTemp) 164
167: 156(ptr) AccessChain 163(flattenTemp) 153
168: 7(fvec4) Load 167
Store 166(@entryPointOutput.Color) 168
171: 12(ptr) AccessChain 163(flattenTemp) 158
172: 6(float) Load 171
Store 170(@entryPointOutput.Depth) 172
148(flattenTemp): 136(ptr) Variable Function
149:8(PS_OUTPUT) FunctionCall 10(@main()
Store 148(flattenTemp) 149
152: 141(ptr) AccessChain 148(flattenTemp) 138
153: 7(fvec4) Load 152
Store 151(@entryPointOutput.Color) 153
156: 12(ptr) AccessChain 148(flattenTemp) 143
157: 6(float) Load 156
Store 155(@entryPointOutput.Depth) 157
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
@ -623,9 +623,9 @@ Validation failed
79(r32): 12(ptr) Variable Function
93(r34): 12(ptr) Variable Function
107(r60): 12(ptr) Variable Function
123(r62): 12(ptr) Variable Function
137(r64): 12(ptr) Variable Function
152(psout): 151(ptr) Variable Function
118(r62): 12(ptr) Variable Function
127(r64): 12(ptr) Variable Function
137(psout): 136(ptr) Variable Function
17: 14 Load 16(g_tTex1df4a)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
@ -686,37 +686,22 @@ Validation failed
111: 108 Load 110(g_tTexcdf4a)
112: 18 Load 20(g_sSamp)
114: 113 SampledImage 111 112
117: 6(float) CompositeExtract 116 0
118: 6(float) CompositeExtract 116 1
119: 6(float) CompositeExtract 116 2
120: 6(float) CompositeExtract 116 3
121: 7(fvec4) CompositeConstruct 117 118 119 120
122: 6(float) ImageSampleDrefImplicitLod 114 121 28
Store 107(r60) 122
127: 124 Load 126(g_tTexcdi4a)
128: 18 Load 20(g_sSamp)
130: 129 SampledImage 127 128
131: 6(float) CompositeExtract 116 0
132: 6(float) CompositeExtract 116 1
133: 6(float) CompositeExtract 116 2
134: 6(float) CompositeExtract 116 3
135: 7(fvec4) CompositeConstruct 131 132 133 134
136: 6(float) ImageSampleDrefImplicitLod 130 135 28
Store 123(r62) 136
141: 138 Load 140(g_tTexcdu4a)
142: 18 Load 20(g_sSamp)
144: 143 SampledImage 141 142
145: 6(float) CompositeExtract 116 0
146: 6(float) CompositeExtract 116 1
147: 6(float) CompositeExtract 116 2
148: 6(float) CompositeExtract 116 3
149: 7(fvec4) CompositeConstruct 145 146 147 148
150: 6(float) ImageSampleDrefImplicitLod 144 149 28
Store 137(r64) 150
157: 156(ptr) AccessChain 152(psout) 153
Store 157 155
159: 12(ptr) AccessChain 152(psout) 158
Store 159 154
160:8(PS_OUTPUT) Load 152(psout)
ReturnValue 160
117: 6(float) ImageSampleDrefImplicitLod 114 116 28
Store 107(r60) 117
122: 119 Load 121(g_tTexcdi4a)
123: 18 Load 20(g_sSamp)
125: 124 SampledImage 122 123
126: 6(float) ImageSampleDrefImplicitLod 125 116 28
Store 118(r62) 126
131: 128 Load 130(g_tTexcdu4a)
132: 18 Load 20(g_sSamp)
134: 133 SampledImage 131 132
135: 6(float) ImageSampleDrefImplicitLod 134 116 28
Store 127(r64) 135
142: 141(ptr) AccessChain 137(psout) 138
Store 142 140
144: 12(ptr) AccessChain 137(psout) 143
Store 144 139
145:8(PS_OUTPUT) Load 137(psout)
ReturnValue 145
FunctionEnd

View File

@ -436,14 +436,14 @@ using depth_any
Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 210
// Id's are bound by 195
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 167 171
EntryPoint Fragment 4 "main" 152 156
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthReplacing
Source HLSL 500
@ -467,26 +467,26 @@ Validation failed
Name 97 "g_tTex2du4a"
Name 108 "r60"
Name 111 "g_tTexcdf4a"
Name 124 "r62"
Name 127 "g_tTexcdi4a"
Name 138 "r64"
Name 141 "g_tTexcdu4a"
Name 153 "psout"
Name 164 "flattenTemp"
Name 167 "@entryPointOutput.Color"
Name 171 "@entryPointOutput.Depth"
Name 176 "g_tTex1df4"
Name 179 "g_tTex1di4"
Name 182 "g_tTex1du4"
Name 185 "g_tTex2df4"
Name 188 "g_tTex2di4"
Name 191 "g_tTex2du4"
Name 194 "g_tTex3df4"
Name 197 "g_tTex3di4"
Name 200 "g_tTex3du4"
Name 203 "g_tTexcdf4"
Name 206 "g_tTexcdi4"
Name 209 "g_tTexcdu4"
Name 119 "r62"
Name 122 "g_tTexcdi4a"
Name 128 "r64"
Name 131 "g_tTexcdu4a"
Name 138 "psout"
Name 149 "flattenTemp"
Name 152 "@entryPointOutput.Color"
Name 156 "@entryPointOutput.Depth"
Name 161 "g_tTex1df4"
Name 164 "g_tTex1di4"
Name 167 "g_tTex1du4"
Name 170 "g_tTex2df4"
Name 173 "g_tTex2di4"
Name 176 "g_tTex2du4"
Name 179 "g_tTex3df4"
Name 182 "g_tTex3di4"
Name 185 "g_tTex3du4"
Name 188 "g_tTexcdf4"
Name 191 "g_tTexcdi4"
Name 194 "g_tTexcdu4"
Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 16(g_tTex1df4a) Binding 1
Decorate 20(g_sSamp) DescriptorSet 0
@ -503,36 +503,36 @@ Validation failed
Decorate 97(g_tTex2du4a) Binding 6
Decorate 111(g_tTexcdf4a) DescriptorSet 0
Decorate 111(g_tTexcdf4a) Binding 7
Decorate 127(g_tTexcdi4a) DescriptorSet 0
Decorate 127(g_tTexcdi4a) Binding 8
Decorate 141(g_tTexcdu4a) DescriptorSet 0
Decorate 141(g_tTexcdu4a) Binding 9
Decorate 167(@entryPointOutput.Color) Location 0
Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 176(g_tTex1df4) DescriptorSet 0
Decorate 176(g_tTex1df4) Binding 0
Decorate 179(g_tTex1di4) DescriptorSet 0
Decorate 179(g_tTex1di4) Binding 0
Decorate 182(g_tTex1du4) DescriptorSet 0
Decorate 182(g_tTex1du4) Binding 0
Decorate 185(g_tTex2df4) DescriptorSet 0
Decorate 185(g_tTex2df4) Binding 0
Decorate 188(g_tTex2di4) DescriptorSet 0
Decorate 188(g_tTex2di4) Binding 0
Decorate 191(g_tTex2du4) DescriptorSet 0
Decorate 191(g_tTex2du4) Binding 0
Decorate 194(g_tTex3df4) DescriptorSet 0
Decorate 194(g_tTex3df4) Binding 0
Decorate 197(g_tTex3di4) DescriptorSet 0
Decorate 197(g_tTex3di4) Binding 0
Decorate 200(g_tTex3du4) DescriptorSet 0
Decorate 200(g_tTex3du4) Binding 0
Decorate 203(g_tTexcdf4) DescriptorSet 0
Decorate 203(g_tTexcdf4) Binding 0
Decorate 206(g_tTexcdi4) DescriptorSet 0
Decorate 206(g_tTexcdi4) Binding 0
Decorate 209(g_tTexcdu4) DescriptorSet 0
Decorate 209(g_tTexcdu4) Binding 0
Decorate 122(g_tTexcdi4a) DescriptorSet 0
Decorate 122(g_tTexcdi4a) Binding 8
Decorate 131(g_tTexcdu4a) DescriptorSet 0
Decorate 131(g_tTexcdu4a) Binding 9
Decorate 152(@entryPointOutput.Color) Location 0
Decorate 156(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 161(g_tTex1df4) DescriptorSet 0
Decorate 161(g_tTex1df4) Binding 0
Decorate 164(g_tTex1di4) DescriptorSet 0
Decorate 164(g_tTex1di4) Binding 0
Decorate 167(g_tTex1du4) DescriptorSet 0
Decorate 167(g_tTex1du4) Binding 0
Decorate 170(g_tTex2df4) DescriptorSet 0
Decorate 170(g_tTex2df4) Binding 0
Decorate 173(g_tTex2di4) DescriptorSet 0
Decorate 173(g_tTex2di4) Binding 0
Decorate 176(g_tTex2du4) DescriptorSet 0
Decorate 176(g_tTex2du4) Binding 0
Decorate 179(g_tTex3df4) DescriptorSet 0
Decorate 179(g_tTex3df4) Binding 0
Decorate 182(g_tTex3di4) DescriptorSet 0
Decorate 182(g_tTex3di4) Binding 0
Decorate 185(g_tTex3du4) DescriptorSet 0
Decorate 185(g_tTex3du4) Binding 0
Decorate 188(g_tTexcdf4) DescriptorSet 0
Decorate 188(g_tTexcdf4) Binding 0
Decorate 191(g_tTexcdi4) DescriptorSet 0
Decorate 191(g_tTexcdi4) Binding 0
Decorate 194(g_tTexcdu4) DescriptorSet 0
Decorate 194(g_tTexcdu4) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -584,71 +584,71 @@ Validation failed
114: TypeSampledImage 109
116: 6(float) Constant 1053609165
117: 7(fvec4) ConstantComposite 25 26 72 116
125: TypeImage 37(int) Cube depth array sampled format:Unknown
126: TypePointer UniformConstant 125
127(g_tTexcdi4a): 126(ptr) Variable UniformConstant
130: TypeSampledImage 125
139: TypeImage 51(int) Cube depth array sampled format:Unknown
140: TypePointer UniformConstant 139
141(g_tTexcdu4a): 140(ptr) Variable UniformConstant
144: TypeSampledImage 139
152: TypePointer Function 8(PS_OUTPUT)
154: 37(int) Constant 0
155: 6(float) Constant 1065353216
156: 7(fvec4) ConstantComposite 155 155 155 155
157: TypePointer Function 7(fvec4)
159: 37(int) Constant 1
166: TypePointer Output 7(fvec4)
167(@entryPointOutput.Color): 166(ptr) Variable Output
170: TypePointer Output 6(float)
171(@entryPointOutput.Depth): 170(ptr) Variable Output
174: TypeImage 6(float) 1D sampled format:Unknown
120: TypeImage 37(int) Cube depth array sampled format:Unknown
121: TypePointer UniformConstant 120
122(g_tTexcdi4a): 121(ptr) Variable UniformConstant
125: TypeSampledImage 120
129: TypeImage 51(int) Cube depth array sampled format:Unknown
130: TypePointer UniformConstant 129
131(g_tTexcdu4a): 130(ptr) Variable UniformConstant
134: TypeSampledImage 129
137: TypePointer Function 8(PS_OUTPUT)
139: 37(int) Constant 0
140: 6(float) Constant 1065353216
141: 7(fvec4) ConstantComposite 140 140 140 140
142: TypePointer Function 7(fvec4)
144: 37(int) Constant 1
151: TypePointer Output 7(fvec4)
152(@entryPointOutput.Color): 151(ptr) Variable Output
155: TypePointer Output 6(float)
156(@entryPointOutput.Depth): 155(ptr) Variable Output
159: TypeImage 6(float) 1D sampled format:Unknown
160: TypePointer UniformConstant 159
161(g_tTex1df4): 160(ptr) Variable UniformConstant
162: TypeImage 37(int) 1D sampled format:Unknown
163: TypePointer UniformConstant 162
164(g_tTex1di4): 163(ptr) Variable UniformConstant
165: TypeImage 51(int) 1D sampled format:Unknown
166: TypePointer UniformConstant 165
167(g_tTex1du4): 166(ptr) Variable UniformConstant
168: TypeImage 6(float) 2D sampled format:Unknown
169: TypePointer UniformConstant 168
170(g_tTex2df4): 169(ptr) Variable UniformConstant
171: TypeImage 37(int) 2D sampled format:Unknown
172: TypePointer UniformConstant 171
173(g_tTex2di4): 172(ptr) Variable UniformConstant
174: TypeImage 51(int) 2D sampled format:Unknown
175: TypePointer UniformConstant 174
176(g_tTex1df4): 175(ptr) Variable UniformConstant
177: TypeImage 37(int) 1D sampled format:Unknown
176(g_tTex2du4): 175(ptr) Variable UniformConstant
177: TypeImage 6(float) 3D sampled format:Unknown
178: TypePointer UniformConstant 177
179(g_tTex1di4): 178(ptr) Variable UniformConstant
180: TypeImage 51(int) 1D sampled format:Unknown
179(g_tTex3df4): 178(ptr) Variable UniformConstant
180: TypeImage 37(int) 3D sampled format:Unknown
181: TypePointer UniformConstant 180
182(g_tTex1du4): 181(ptr) Variable UniformConstant
183: TypeImage 6(float) 2D sampled format:Unknown
182(g_tTex3di4): 181(ptr) Variable UniformConstant
183: TypeImage 51(int) 3D sampled format:Unknown
184: TypePointer UniformConstant 183
185(g_tTex2df4): 184(ptr) Variable UniformConstant
186: TypeImage 37(int) 2D sampled format:Unknown
185(g_tTex3du4): 184(ptr) Variable UniformConstant
186: TypeImage 6(float) Cube sampled format:Unknown
187: TypePointer UniformConstant 186
188(g_tTex2di4): 187(ptr) Variable UniformConstant
189: TypeImage 51(int) 2D sampled format:Unknown
188(g_tTexcdf4): 187(ptr) Variable UniformConstant
189: TypeImage 37(int) Cube sampled format:Unknown
190: TypePointer UniformConstant 189
191(g_tTex2du4): 190(ptr) Variable UniformConstant
192: TypeImage 6(float) 3D sampled format:Unknown
191(g_tTexcdi4): 190(ptr) Variable UniformConstant
192: TypeImage 51(int) Cube sampled format:Unknown
193: TypePointer UniformConstant 192
194(g_tTex3df4): 193(ptr) Variable UniformConstant
195: TypeImage 37(int) 3D sampled format:Unknown
196: TypePointer UniformConstant 195
197(g_tTex3di4): 196(ptr) Variable UniformConstant
198: TypeImage 51(int) 3D sampled format:Unknown
199: TypePointer UniformConstant 198
200(g_tTex3du4): 199(ptr) Variable UniformConstant
201: TypeImage 6(float) Cube sampled format:Unknown
202: TypePointer UniformConstant 201
203(g_tTexcdf4): 202(ptr) Variable UniformConstant
204: TypeImage 37(int) Cube sampled format:Unknown
205: TypePointer UniformConstant 204
206(g_tTexcdi4): 205(ptr) Variable UniformConstant
207: TypeImage 51(int) Cube sampled format:Unknown
208: TypePointer UniformConstant 207
209(g_tTexcdu4): 208(ptr) Variable UniformConstant
194(g_tTexcdu4): 193(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
164(flattenTemp): 152(ptr) Variable Function
165:8(PS_OUTPUT) FunctionCall 10(@main()
Store 164(flattenTemp) 165
168: 157(ptr) AccessChain 164(flattenTemp) 154
169: 7(fvec4) Load 168
Store 167(@entryPointOutput.Color) 169
172: 12(ptr) AccessChain 164(flattenTemp) 159
173: 6(float) Load 172
Store 171(@entryPointOutput.Depth) 173
149(flattenTemp): 137(ptr) Variable Function
150:8(PS_OUTPUT) FunctionCall 10(@main()
Store 149(flattenTemp) 150
153: 142(ptr) AccessChain 149(flattenTemp) 139
154: 7(fvec4) Load 153
Store 152(@entryPointOutput.Color) 154
157: 12(ptr) AccessChain 149(flattenTemp) 144
158: 6(float) Load 157
Store 156(@entryPointOutput.Depth) 158
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
@ -660,9 +660,9 @@ Validation failed
80(r32): 12(ptr) Variable Function
94(r34): 12(ptr) Variable Function
108(r60): 12(ptr) Variable Function
124(r62): 12(ptr) Variable Function
138(r64): 12(ptr) Variable Function
153(psout): 152(ptr) Variable Function
119(r62): 12(ptr) Variable Function
128(r64): 12(ptr) Variable Function
138(psout): 137(ptr) Variable Function
17: 14 Load 16(g_tTex1df4a)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
@ -723,37 +723,22 @@ Validation failed
112: 109 Load 111(g_tTexcdf4a)
113: 18 Load 20(g_sSamp)
115: 114 SampledImage 112 113
118: 6(float) CompositeExtract 117 0
119: 6(float) CompositeExtract 117 1
120: 6(float) CompositeExtract 117 2
121: 6(float) CompositeExtract 117 3
122: 7(fvec4) CompositeConstruct 118 119 120 121
123: 6(float) ImageSampleDrefExplicitLod 115 122 28 Lod 33
Store 108(r60) 123
128: 125 Load 127(g_tTexcdi4a)
129: 18 Load 20(g_sSamp)
131: 130 SampledImage 128 129
132: 6(float) CompositeExtract 117 0
133: 6(float) CompositeExtract 117 1
134: 6(float) CompositeExtract 117 2
135: 6(float) CompositeExtract 117 3
136: 7(fvec4) CompositeConstruct 132 133 134 135
137: 6(float) ImageSampleDrefExplicitLod 131 136 28 Lod 33
Store 124(r62) 137
142: 139 Load 141(g_tTexcdu4a)
143: 18 Load 20(g_sSamp)
145: 144 SampledImage 142 143
146: 6(float) CompositeExtract 117 0
147: 6(float) CompositeExtract 117 1
148: 6(float) CompositeExtract 117 2
149: 6(float) CompositeExtract 117 3
150: 7(fvec4) CompositeConstruct 146 147 148 149
151: 6(float) ImageSampleDrefExplicitLod 145 150 28 Lod 33
Store 138(r64) 151
158: 157(ptr) AccessChain 153(psout) 154
Store 158 156
160: 12(ptr) AccessChain 153(psout) 159
Store 160 155
161:8(PS_OUTPUT) Load 153(psout)
ReturnValue 161
118: 6(float) ImageSampleDrefExplicitLod 115 117 28 Lod 33
Store 108(r60) 118
123: 120 Load 122(g_tTexcdi4a)
124: 18 Load 20(g_sSamp)
126: 125 SampledImage 123 124
127: 6(float) ImageSampleDrefExplicitLod 126 117 28 Lod 33
Store 119(r62) 127
132: 129 Load 131(g_tTexcdu4a)
133: 18 Load 20(g_sSamp)
135: 134 SampledImage 132 133
136: 6(float) ImageSampleDrefExplicitLod 135 117 28 Lod 33
Store 128(r64) 136
143: 142(ptr) AccessChain 138(psout) 139
Store 143 141
145: 12(ptr) AccessChain 138(psout) 144
Store 145 140
146:8(PS_OUTPUT) Load 138(psout)
ReturnValue 146
FunctionEnd

View File

@ -1,10 +1,9 @@
spv.16bitstorage-int.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 187
// Id's are bound by 180
Capability Shader
Capability Int16
Capability StorageUniformBufferBlock16
Capability StorageUniform16
Extension "SPV_KHR_16bit_storage"
@ -342,18 +341,11 @@ spv.16bitstorage-int.frag
Store 173 172
174: 42(ptr) AccessChain 27(b1) 32
175: 7(i16vec2) Load 174
176: 6(int16_t) CompositeExtract 175 0
177: 6(int16_t) CompositeExtract 175 1
178: 7(i16vec2) CompositeConstruct 176 177
179: 42(ptr) AccessChain 19(b2) 32
176: 42(ptr) AccessChain 19(b2) 32
Store 176 175
177: 34(ptr) AccessChain 27(b1) 33
178: 8(i16vec3) Load 177
179: 34(ptr) AccessChain 19(b2) 33
Store 179 178
180: 34(ptr) AccessChain 27(b1) 33
181: 8(i16vec3) Load 180
182: 6(int16_t) CompositeExtract 181 0
183: 6(int16_t) CompositeExtract 181 1
184: 6(int16_t) CompositeExtract 181 2
185: 8(i16vec3) CompositeConstruct 182 183 184
186: 34(ptr) AccessChain 19(b2) 33
Store 186 185
Return
FunctionEnd

View File

@ -1,10 +1,9 @@
spv.16bitstorage-uint.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 189
// Id's are bound by 182
Capability Shader
Capability Int16
Capability StorageUniformBufferBlock16
Capability StorageUniform16
Extension "SPV_KHR_16bit_storage"
@ -344,18 +343,11 @@ spv.16bitstorage-uint.frag
Store 175 174
176: 42(ptr) AccessChain 27(b1) 32
177: 7(i16vec2) Load 176
178: 6(int16_t) CompositeExtract 177 0
179: 6(int16_t) CompositeExtract 177 1
180: 7(i16vec2) CompositeConstruct 178 179
181: 42(ptr) AccessChain 19(b2) 32
178: 42(ptr) AccessChain 19(b2) 32
Store 178 177
179: 34(ptr) AccessChain 27(b1) 33
180: 8(i16vec3) Load 179
181: 34(ptr) AccessChain 19(b2) 33
Store 181 180
182: 34(ptr) AccessChain 27(b1) 33
183: 8(i16vec3) Load 182
184: 6(int16_t) CompositeExtract 183 0
185: 6(int16_t) CompositeExtract 183 1
186: 6(int16_t) CompositeExtract 183 2
187: 8(i16vec3) CompositeConstruct 184 185 186
188: 34(ptr) AccessChain 19(b2) 33
Store 188 187
Return
FunctionEnd

View File

@ -1,10 +1,9 @@
spv.16bitstorage.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 189
// Id's are bound by 182
Capability Shader
Capability Float16
Capability StorageUniformBufferBlock16
Capability StorageUniform16
Extension "SPV_KHR_16bit_storage"
@ -344,18 +343,11 @@ spv.16bitstorage.frag
Store 175 174
176: 43(ptr) AccessChain 27(b1) 32
177: 7(f16vec2) Load 176
178:6(float16_t) CompositeExtract 177 0
179:6(float16_t) CompositeExtract 177 1
180: 7(f16vec2) CompositeConstruct 178 179
181: 43(ptr) AccessChain 19(b2) 32
178: 43(ptr) AccessChain 19(b2) 32
Store 178 177
179: 34(ptr) AccessChain 27(b1) 33
180: 8(f16vec3) Load 179
181: 34(ptr) AccessChain 19(b2) 33
Store 181 180
182: 34(ptr) AccessChain 27(b1) 33
183: 8(f16vec3) Load 182
184:6(float16_t) CompositeExtract 183 0
185:6(float16_t) CompositeExtract 183 1
186:6(float16_t) CompositeExtract 183 2
187: 8(f16vec3) CompositeConstruct 184 185 186
188: 34(ptr) AccessChain 19(b2) 33
Store 188 187
Return
FunctionEnd

View File

@ -1,10 +1,9 @@
spv.8bitstorage-int.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 187
// Id's are bound by 180
Capability Shader
Capability Int8
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
@ -341,18 +340,11 @@ spv.8bitstorage-int.frag
Store 173 172
174: 42(ptr) AccessChain 27(b1) 32
175: 7(i8vec2) Load 174
176: 6(int8_t) CompositeExtract 175 0
177: 6(int8_t) CompositeExtract 175 1
178: 7(i8vec2) CompositeConstruct 176 177
179: 42(ptr) AccessChain 19(b2) 32
176: 42(ptr) AccessChain 19(b2) 32
Store 176 175
177: 34(ptr) AccessChain 27(b1) 33
178: 8(i8vec3) Load 177
179: 34(ptr) AccessChain 19(b2) 33
Store 179 178
180: 34(ptr) AccessChain 27(b1) 33
181: 8(i8vec3) Load 180
182: 6(int8_t) CompositeExtract 181 0
183: 6(int8_t) CompositeExtract 181 1
184: 6(int8_t) CompositeExtract 181 2
185: 8(i8vec3) CompositeConstruct 182 183 184
186: 34(ptr) AccessChain 19(b2) 33
Store 186 185
Return
FunctionEnd

View File

@ -1,10 +1,9 @@
spv.8bitstorage-uint.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 189
// Id's are bound by 182
Capability Shader
Capability Int8
Capability UniformAndStorageBuffer8BitAccess
Extension "SPV_KHR_8bit_storage"
1: ExtInstImport "GLSL.std.450"
@ -343,18 +342,11 @@ spv.8bitstorage-uint.frag
Store 175 174
176: 42(ptr) AccessChain 27(b1) 32
177: 7(i8vec2) Load 176
178: 6(int8_t) CompositeExtract 177 0
179: 6(int8_t) CompositeExtract 177 1
180: 7(i8vec2) CompositeConstruct 178 179
181: 42(ptr) AccessChain 19(b2) 32
178: 42(ptr) AccessChain 19(b2) 32
Store 178 177
179: 34(ptr) AccessChain 27(b1) 33
180: 8(i8vec3) Load 179
181: 34(ptr) AccessChain 19(b2) 33
Store 181 180
182: 34(ptr) AccessChain 27(b1) 33
183: 8(i8vec3) Load 182
184: 6(int8_t) CompositeExtract 183 0
185: 6(int8_t) CompositeExtract 183 1
186: 6(int8_t) CompositeExtract 183 2
187: 8(i8vec3) CompositeConstruct 184 185 186
188: 34(ptr) AccessChain 19(b2) 33
Store 188 187
Return
FunctionEnd

View File

@ -2,7 +2,7 @@ spv.debuginfo.glsl.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 881
// Id's are bound by 877
Capability Shader
Capability ImageQuery
@ -350,8 +350,8 @@ void main()
Name 794 "R"
Name 804 "NdotR"
Name 814 "spec"
Name 865 "param"
Name 870 "param"
Name 861 "param"
Name 866 "param"
Decorate 177(samplerShadowMap) DescriptorSet 0
Decorate 177(samplerShadowMap) Binding 5
MemberDecorate 405(Light) 0 Offset 0
@ -624,10 +624,10 @@ void main()
821: 16(float) Constant 1098907648
826: 16(float) Constant 1075838976
831: 7(int) Constant 184
843: 96(int) Constant 2
860: 7(int) Constant 188
869: 7(int) Constant 190
876: 7(int) Constant 193
839: 96(int) Constant 2
856: 7(int) Constant 188
865: 7(int) Constant 190
872: 7(int) Constant 193
14(main): 4 Function None 5
15: Label
475(fragPos): 75(ptr) Variable Function
@ -653,8 +653,8 @@ void main()
794(R): 75(ptr) Variable Function
804(NdotR): 25(ptr) Variable Function
814(spec): 75(ptr) Variable Function
865(param): 75(ptr) Variable Function
870(param): 75(ptr) Variable Function
861(param): 75(ptr) Variable Function
866(param): 75(ptr) Variable Function
107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44
108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 104 104 12 12
Store 101(global_var) 106
@ -931,56 +931,52 @@ void main()
835: 73(fvec3) VectorTimesScalar 833 834
836: 16(float) Load 767(heightAttenuation)
837: 73(fvec3) VectorTimesScalar 835 836
838: 16(float) CompositeExtract 837 0
839: 16(float) CompositeExtract 837 1
840: 16(float) CompositeExtract 837 2
841: 73(fvec3) CompositeConstruct 838 839 840
842: 96(int) Load 654(i)
844: 678(ptr) AccessChain 431(ubo) 290 842 843
845: 19(fvec4) Load 844
846: 73(fvec3) VectorShuffle 845 845 0 1 2
847: 73(fvec3) FMul 841 846
848: 19(fvec4) Load 512(albedo)
849: 73(fvec3) VectorShuffle 848 848 0 1 2
850: 73(fvec3) FMul 847 849
851: 73(fvec3) Load 636(fragcolor)
852: 73(fvec3) FAdd 851 850
Store 636(fragcolor) 852
838: 96(int) Load 654(i)
840: 678(ptr) AccessChain 431(ubo) 290 838 839
841: 19(fvec4) Load 840
842: 73(fvec3) VectorShuffle 841 841 0 1 2
843: 73(fvec3) FMul 837 842
844: 19(fvec4) Load 512(albedo)
845: 73(fvec3) VectorShuffle 844 844 0 1 2
846: 73(fvec3) FMul 843 845
847: 73(fvec3) Load 636(fragcolor)
848: 73(fvec3) FAdd 847 846
Store 636(fragcolor) 848
Branch 662
662: Label
854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12
853: 96(int) Load 654(i)
856: 96(int) IAdd 853 290
Store 654(i) 856
850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
851: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12
849: 96(int) Load 654(i)
852: 96(int) IAdd 849 290
Store 654(i) 852
Branch 659
661: Label
858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 860 860 12 12
857: 524(ptr) AccessChain 431(ubo) 843
861: 96(int) Load 857
862: 139(bool) SGreaterThan 861 106
SelectionMerge 864 None
BranchConditional 862 863 864
863: Label
867: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 869 869 12 12
866: 73(fvec3) Load 636(fragcolor)
Store 865(param) 866
871: 73(fvec3) Load 475(fragPos)
Store 870(param) 871
872: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 865(param) 870(param)
Store 636(fragcolor) 872
Branch 864
864: Label
874: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
875: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 876 876 12 12
873: 73(fvec3) Load 636(fragcolor)
877: 16(float) CompositeExtract 873 0
878: 16(float) CompositeExtract 873 1
879: 16(float) CompositeExtract 873 2
880: 19(fvec4) CompositeConstruct 877 878 879 115
Store 546(outFragColor) 880
854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 856 856 12 12
853: 524(ptr) AccessChain 431(ubo) 839
857: 96(int) Load 853
858: 139(bool) SGreaterThan 857 106
SelectionMerge 860 None
BranchConditional 858 859 860
859: Label
863: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 865 865 12 12
862: 73(fvec3) Load 636(fragcolor)
Store 861(param) 862
867: 73(fvec3) Load 475(fragPos)
Store 866(param) 867
868: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 861(param) 866(param)
Store 636(fragcolor) 868
Branch 860
860: Label
870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94
871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 872 872 12 12
869: 73(fvec3) Load 636(fragcolor)
873: 16(float) CompositeExtract 869 0
874: 16(float) CompositeExtract 869 1
875: 16(float) CompositeExtract 869 2
876: 19(fvec4) CompositeConstruct 873 874 875 115
Store 546(outFragColor) 876
Return
FunctionEnd
37(textureProj(vf4;f1;vf2;): 16(float) Function None 32

View File

@ -1,7 +1,7 @@
spv.explicittypes.frag
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 576
// Id's are bound by 567
Capability Shader
Capability Float16
@ -80,63 +80,63 @@ spv.explicittypes.frag
Name 399 "f64v"
Name 406 "i8v"
Name 412 "i16v"
Name 429 "u8v"
Name 435 "u16v"
Name 452 "f16v"
Name 465 "bv"
Name 481 "u64v"
Name 482 "i64v"
Name 485 "f64v"
Name 490 "i8v"
Name 496 "i16v"
Name 502 "i32v"
Name 510 "u8v"
Name 516 "u16v"
Name 522 "u32v"
Name 534 "f16v"
Name 537 "f32v"
Name 548 "bv"
Name 573 "Block"
MemberName 573(Block) 0 "i16"
MemberName 573(Block) 1 "i16v2"
MemberName 573(Block) 2 "i16v3"
MemberName 573(Block) 3 "i16v4"
MemberName 573(Block) 4 "u16"
MemberName 573(Block) 5 "u16v2"
MemberName 573(Block) 6 "u16v3"
MemberName 573(Block) 7 "u16v4"
MemberName 573(Block) 8 "i32"
MemberName 573(Block) 9 "i32v2"
MemberName 573(Block) 10 "i32v3"
MemberName 573(Block) 11 "i32v4"
MemberName 573(Block) 12 "u32"
MemberName 573(Block) 13 "u32v2"
MemberName 573(Block) 14 "u32v3"
MemberName 573(Block) 15 "u32v4"
Name 575 "block"
Name 426 "u8v"
Name 432 "u16v"
Name 446 "f16v"
Name 459 "bv"
Name 475 "u64v"
Name 476 "i64v"
Name 479 "f64v"
Name 484 "i8v"
Name 490 "i16v"
Name 496 "i32v"
Name 504 "u8v"
Name 510 "u16v"
Name 516 "u32v"
Name 525 "f16v"
Name 528 "f32v"
Name 539 "bv"
Name 564 "Block"
MemberName 564(Block) 0 "i16"
MemberName 564(Block) 1 "i16v2"
MemberName 564(Block) 2 "i16v3"
MemberName 564(Block) 3 "i16v4"
MemberName 564(Block) 4 "u16"
MemberName 564(Block) 5 "u16v2"
MemberName 564(Block) 6 "u16v3"
MemberName 564(Block) 7 "u16v4"
MemberName 564(Block) 8 "i32"
MemberName 564(Block) 9 "i32v2"
MemberName 564(Block) 10 "i32v3"
MemberName 564(Block) 11 "i32v4"
MemberName 564(Block) 12 "u32"
MemberName 564(Block) 13 "u32v2"
MemberName 564(Block) 14 "u32v3"
MemberName 564(Block) 15 "u32v4"
Name 566 "block"
MemberDecorate 26(Uniforms) 0 Offset 0
Decorate 26(Uniforms) Block
Decorate 28 DescriptorSet 0
Decorate 28 Binding 0
MemberDecorate 573(Block) 0 Offset 0
MemberDecorate 573(Block) 1 Offset 4
MemberDecorate 573(Block) 2 Offset 8
MemberDecorate 573(Block) 3 Offset 16
MemberDecorate 573(Block) 4 Offset 24
MemberDecorate 573(Block) 5 Offset 28
MemberDecorate 573(Block) 6 Offset 32
MemberDecorate 573(Block) 7 Offset 40
MemberDecorate 573(Block) 8 Offset 48
MemberDecorate 573(Block) 9 Offset 56
MemberDecorate 573(Block) 10 Offset 64
MemberDecorate 573(Block) 11 Offset 80
MemberDecorate 573(Block) 12 Offset 96
MemberDecorate 573(Block) 13 Offset 104
MemberDecorate 573(Block) 14 Offset 112
MemberDecorate 573(Block) 15 Offset 128
Decorate 573(Block) Block
Decorate 575(block) DescriptorSet 0
Decorate 575(block) Binding 1
MemberDecorate 564(Block) 0 Offset 0
MemberDecorate 564(Block) 1 Offset 4
MemberDecorate 564(Block) 2 Offset 8
MemberDecorate 564(Block) 3 Offset 16
MemberDecorate 564(Block) 4 Offset 24
MemberDecorate 564(Block) 5 Offset 28
MemberDecorate 564(Block) 6 Offset 32
MemberDecorate 564(Block) 7 Offset 40
MemberDecorate 564(Block) 8 Offset 48
MemberDecorate 564(Block) 9 Offset 56
MemberDecorate 564(Block) 10 Offset 64
MemberDecorate 564(Block) 11 Offset 80
MemberDecorate 564(Block) 12 Offset 96
MemberDecorate 564(Block) 13 Offset 104
MemberDecorate 564(Block) 14 Offset 112
MemberDecorate 564(Block) 15 Offset 128
Decorate 564(Block) Block
Decorate 566(block) DescriptorSet 0
Decorate 566(block) Binding 1
2: TypeVoid
3: TypeFunction 2
16: TypeInt 64 1
@ -249,32 +249,32 @@ spv.explicittypes.frag
372: 91(int16_t) Constant 1
373:145(i16vec2) ConstantComposite 371 371
374:145(i16vec2) ConstantComposite 372 372
467: 29(int) Constant 1
468: 148(ivec2) ConstantComposite 30 30
469: 148(ivec2) ConstantComposite 467 467
472: 19(int) Constant 0
473: 19(int) Constant 1
474: 154(ivec2) ConstantComposite 472 472
475: 154(ivec2) ConstantComposite 473 473
550: 16(int64_t) Constant 0 0
551: 16(int64_t) Constant 1 0
552:162(i64vec2) ConstantComposite 550 550
553:162(i64vec2) ConstantComposite 551 551
556: 38(int64_t) Constant 0 0
557: 38(int64_t) Constant 1 0
558:167(i64vec2) ConstantComposite 556 556
559:167(i64vec2) ConstantComposite 557 557
565: TypeVector 77(int16_t) 3
566: TypeVector 77(int16_t) 4
567: TypeVector 91(int16_t) 3
568: TypeVector 91(int16_t) 4
569: TypeVector 29(int) 3
570: TypeVector 29(int) 4
571: TypeVector 19(int) 3
572: TypeVector 19(int) 4
573(Block): TypeStruct 77(int16_t) 139(i16vec2) 565(i16vec3) 566(i16vec4) 91(int16_t) 145(i16vec2) 567(i16vec3) 568(i16vec4) 29(int) 148(ivec2) 569(ivec3) 570(ivec4) 19(int) 154(ivec2) 571(ivec3) 572(ivec4)
574: TypePointer Uniform 573(Block)
575(block): 574(ptr) Variable Uniform
461: 29(int) Constant 1
462: 148(ivec2) ConstantComposite 30 30
463: 148(ivec2) ConstantComposite 461 461
466: 19(int) Constant 0
467: 19(int) Constant 1
468: 154(ivec2) ConstantComposite 466 466
469: 154(ivec2) ConstantComposite 467 467
541: 16(int64_t) Constant 0 0
542: 16(int64_t) Constant 1 0
543:162(i64vec2) ConstantComposite 541 541
544:162(i64vec2) ConstantComposite 542 542
547: 38(int64_t) Constant 0 0
548: 38(int64_t) Constant 1 0
549:167(i64vec2) ConstantComposite 547 547
550:167(i64vec2) ConstantComposite 548 548
556: TypeVector 77(int16_t) 3
557: TypeVector 77(int16_t) 4
558: TypeVector 91(int16_t) 3
559: TypeVector 91(int16_t) 4
560: TypeVector 29(int) 3
561: TypeVector 29(int) 4
562: TypeVector 19(int) 3
563: TypeVector 19(int) 4
564(Block): TypeStruct 77(int16_t) 139(i16vec2) 556(i16vec3) 557(i16vec4) 91(int16_t) 145(i16vec2) 558(i16vec3) 559(i16vec4) 29(int) 148(ivec2) 560(ivec3) 561(ivec4) 19(int) 154(ivec2) 562(ivec3) 563(ivec4)
565: TypePointer Uniform 564(Block)
566(block): 565(ptr) Variable Uniform
4(main): 2 Function None 3
5: Label
Return
@ -649,10 +649,10 @@ spv.explicittypes.frag
399(f64v): 194(ptr) Variable Function
406(i8v): 135(ptr) Variable Function
412(i16v): 140(ptr) Variable Function
429(u8v): 132(ptr) Variable Function
435(u16v): 221(ptr) Variable Function
452(f16v): 182(ptr) Variable Function
465(bv): 251(ptr) Variable Function
426(u8v): 132(ptr) Variable Function
432(u16v): 221(ptr) Variable Function
446(f16v): 182(ptr) Variable Function
459(bv): 251(ptr) Variable Function
382: 148(ivec2) Load 381(i32v)
383: 154(ivec2) Bitcast 382
Store 380(u32v) 383
@ -697,186 +697,177 @@ spv.explicittypes.frag
417:139(i16vec2) Bitcast 416
Store 412(i16v) 417
418: 148(ivec2) Load 381(i32v)
419: 29(int) CompositeExtract 418 0
420: 29(int) CompositeExtract 418 1
421: 148(ivec2) CompositeConstruct 419 420
Store 381(i32v) 421
422: 154(ivec2) Load 380(u32v)
423: 148(ivec2) Bitcast 422
Store 381(i32v) 423
424: 148(ivec2) Load 381(i32v)
425:162(i64vec2) SConvert 424
Store 381(i32v) 418
419: 154(ivec2) Load 380(u32v)
420: 148(ivec2) Bitcast 419
Store 381(i32v) 420
421: 148(ivec2) Load 381(i32v)
422:162(i64vec2) SConvert 421
Store 384(i64v) 422
423: 154(ivec2) Load 380(u32v)
424:167(i64vec2) UConvert 423
425:162(i64vec2) Bitcast 424
Store 384(i64v) 425
426: 154(ivec2) Load 380(u32v)
427:167(i64vec2) UConvert 426
428:162(i64vec2) Bitcast 427
Store 384(i64v) 428
430: 148(ivec2) Load 381(i32v)
431: 134(i8vec2) SConvert 430
432: 131(i8vec2) Bitcast 431
Store 429(u8v) 432
433: 154(ivec2) Load 380(u32v)
434: 131(i8vec2) UConvert 433
Store 429(u8v) 434
436: 148(ivec2) Load 381(i32v)
437:139(i16vec2) SConvert 436
438:145(i16vec2) Bitcast 437
Store 435(u16v) 438
439: 154(ivec2) Load 380(u32v)
440:145(i16vec2) UConvert 439
Store 435(u16v) 440
427: 148(ivec2) Load 381(i32v)
428: 134(i8vec2) SConvert 427
429: 131(i8vec2) Bitcast 428
Store 426(u8v) 429
430: 154(ivec2) Load 380(u32v)
431: 131(i8vec2) UConvert 430
Store 426(u8v) 431
433: 148(ivec2) Load 381(i32v)
434:139(i16vec2) SConvert 433
435:145(i16vec2) Bitcast 434
Store 432(u16v) 435
436: 154(ivec2) Load 380(u32v)
437:145(i16vec2) UConvert 436
Store 432(u16v) 437
438: 148(ivec2) Load 381(i32v)
439: 154(ivec2) Bitcast 438
Store 380(u32v) 439
440: 154(ivec2) Load 380(u32v)
Store 380(u32v) 440
441: 148(ivec2) Load 381(i32v)
442: 154(ivec2) Bitcast 441
Store 380(u32v) 442
443: 154(ivec2) Load 380(u32v)
444: 19(int) CompositeExtract 443 0
445: 19(int) CompositeExtract 443 1
446: 154(ivec2) CompositeConstruct 444 445
Store 380(u32v) 446
442:162(i64vec2) SConvert 441
443:167(i64vec2) Bitcast 442
Store 387(u64v) 443
444: 154(ivec2) Load 380(u32v)
445:167(i64vec2) UConvert 444
Store 387(u64v) 445
447: 148(ivec2) Load 381(i32v)
448:162(i64vec2) SConvert 447
449:167(i64vec2) Bitcast 448
Store 387(u64v) 449
450: 154(ivec2) Load 380(u32v)
451:167(i64vec2) UConvert 450
Store 387(u64v) 451
453: 148(ivec2) Load 381(i32v)
454:181(f16vec2) ConvertSToF 453
Store 452(f16v) 454
455: 148(ivec2) Load 381(i32v)
456: 187(fvec2) ConvertSToF 455
448:181(f16vec2) ConvertSToF 447
Store 446(f16v) 448
449: 148(ivec2) Load 381(i32v)
450: 187(fvec2) ConvertSToF 449
Store 396(f32v) 450
451: 148(ivec2) Load 381(i32v)
452:193(f64vec2) ConvertSToF 451
Store 399(f64v) 452
453: 154(ivec2) Load 380(u32v)
454:181(f16vec2) ConvertUToF 453
Store 446(f16v) 454
455: 154(ivec2) Load 380(u32v)
456: 187(fvec2) ConvertUToF 455
Store 396(f32v) 456
457: 148(ivec2) Load 381(i32v)
458:193(f64vec2) ConvertSToF 457
457: 154(ivec2) Load 380(u32v)
458:193(f64vec2) ConvertUToF 457
Store 399(f64v) 458
459: 154(ivec2) Load 380(u32v)
460:181(f16vec2) ConvertUToF 459
Store 452(f16v) 460
461: 154(ivec2) Load 380(u32v)
462: 187(fvec2) ConvertUToF 461
Store 396(f32v) 462
463: 154(ivec2) Load 380(u32v)
464:193(f64vec2) ConvertUToF 463
Store 399(f64v) 464
466: 250(bvec2) Load 465(bv)
470: 148(ivec2) Select 466 469 468
Store 381(i32v) 470
471: 250(bvec2) Load 465(bv)
476: 154(ivec2) Select 471 475 474
Store 380(u32v) 476
477: 148(ivec2) Load 381(i32v)
478: 250(bvec2) INotEqual 477 474
Store 465(bv) 478
479: 154(ivec2) Load 380(u32v)
480: 250(bvec2) INotEqual 479 474
Store 465(bv) 480
460: 250(bvec2) Load 459(bv)
464: 148(ivec2) Select 460 463 462
Store 381(i32v) 464
465: 250(bvec2) Load 459(bv)
470: 154(ivec2) Select 465 469 468
Store 380(u32v) 470
471: 148(ivec2) Load 381(i32v)
472: 250(bvec2) INotEqual 471 468
Store 459(bv) 472
473: 154(ivec2) Load 380(u32v)
474: 250(bvec2) INotEqual 473 468
Store 459(bv) 474
Return
FunctionEnd
14(typeCast64(): 2 Function None 3
15: Label
481(u64v): 168(ptr) Variable Function
482(i64v): 163(ptr) Variable Function
485(f64v): 194(ptr) Variable Function
490(i8v): 135(ptr) Variable Function
496(i16v): 140(ptr) Variable Function
502(i32v): 149(ptr) Variable Function
510(u8v): 132(ptr) Variable Function
516(u16v): 221(ptr) Variable Function
522(u32v): 157(ptr) Variable Function
534(f16v): 182(ptr) Variable Function
537(f32v): 188(ptr) Variable Function
548(bv): 251(ptr) Variable Function
483:162(i64vec2) Load 482(i64v)
484:167(i64vec2) Bitcast 483
Store 481(u64v) 484
486:162(i64vec2) Load 482(i64v)
487:193(f64vec2) ConvertSToF 486
Store 485(f64v) 487
488:167(i64vec2) Load 481(u64v)
489:193(f64vec2) ConvertUToF 488
Store 485(f64v) 489
491:162(i64vec2) Load 482(i64v)
492: 134(i8vec2) SConvert 491
Store 490(i8v) 492
493:167(i64vec2) Load 481(u64v)
494: 131(i8vec2) UConvert 493
495: 134(i8vec2) Bitcast 494
Store 490(i8v) 495
497:162(i64vec2) Load 482(i64v)
498:139(i16vec2) SConvert 497
Store 496(i16v) 498
499:167(i64vec2) Load 481(u64v)
500:145(i16vec2) UConvert 499
501:139(i16vec2) Bitcast 500
Store 496(i16v) 501
503:162(i64vec2) Load 482(i64v)
504: 148(ivec2) SConvert 503
Store 502(i32v) 504
505:167(i64vec2) Load 481(u64v)
506: 154(ivec2) UConvert 505
507: 148(ivec2) Bitcast 506
Store 502(i32v) 507
508:167(i64vec2) Load 481(u64v)
509:162(i64vec2) Bitcast 508
Store 482(i64v) 509
511:162(i64vec2) Load 482(i64v)
512: 134(i8vec2) SConvert 511
513: 131(i8vec2) Bitcast 512
Store 510(u8v) 513
514:167(i64vec2) Load 481(u64v)
515: 131(i8vec2) UConvert 514
Store 510(u8v) 515
517:162(i64vec2) Load 482(i64v)
518:139(i16vec2) SConvert 517
519:145(i16vec2) Bitcast 518
Store 516(u16v) 519
520:167(i64vec2) Load 481(u64v)
521:145(i16vec2) UConvert 520
Store 516(u16v) 521
523:162(i64vec2) Load 482(i64v)
524: 148(ivec2) SConvert 523
525: 154(ivec2) Bitcast 524
Store 522(u32v) 525
526:167(i64vec2) Load 481(u64v)
527: 154(ivec2) UConvert 526
Store 522(u32v) 527
528:162(i64vec2) Load 482(i64v)
529:167(i64vec2) Bitcast 528
Store 481(u64v) 529
530:167(i64vec2) Load 481(u64v)
531: 38(int64_t) CompositeExtract 530 0
532: 38(int64_t) CompositeExtract 530 1
533:167(i64vec2) CompositeConstruct 531 532
Store 481(u64v) 533
535:162(i64vec2) Load 482(i64v)
536:181(f16vec2) ConvertSToF 535
Store 534(f16v) 536
538:162(i64vec2) Load 482(i64v)
539: 187(fvec2) ConvertSToF 538
Store 537(f32v) 539
540:162(i64vec2) Load 482(i64v)
541:193(f64vec2) ConvertSToF 540
Store 485(f64v) 541
542:167(i64vec2) Load 481(u64v)
543:181(f16vec2) ConvertUToF 542
Store 534(f16v) 543
544:167(i64vec2) Load 481(u64v)
545: 187(fvec2) ConvertUToF 544
Store 537(f32v) 545
546:167(i64vec2) Load 481(u64v)
547:193(f64vec2) ConvertUToF 546
Store 485(f64v) 547
549: 250(bvec2) Load 548(bv)
554:162(i64vec2) Select 549 553 552
Store 482(i64v) 554
555: 250(bvec2) Load 548(bv)
560:167(i64vec2) Select 555 559 558
Store 481(u64v) 560
561:162(i64vec2) Load 482(i64v)
562: 250(bvec2) INotEqual 561 558
Store 548(bv) 562
563:167(i64vec2) Load 481(u64v)
564: 250(bvec2) INotEqual 563 558
Store 548(bv) 564
475(u64v): 168(ptr) Variable Function
476(i64v): 163(ptr) Variable Function
479(f64v): 194(ptr) Variable Function
484(i8v): 135(ptr) Variable Function
490(i16v): 140(ptr) Variable Function
496(i32v): 149(ptr) Variable Function
504(u8v): 132(ptr) Variable Function
510(u16v): 221(ptr) Variable Function
516(u32v): 157(ptr) Variable Function
525(f16v): 182(ptr) Variable Function
528(f32v): 188(ptr) Variable Function
539(bv): 251(ptr) Variable Function
477:162(i64vec2) Load 476(i64v)
478:167(i64vec2) Bitcast 477
Store 475(u64v) 478
480:162(i64vec2) Load 476(i64v)
481:193(f64vec2) ConvertSToF 480
Store 479(f64v) 481
482:167(i64vec2) Load 475(u64v)
483:193(f64vec2) ConvertUToF 482
Store 479(f64v) 483
485:162(i64vec2) Load 476(i64v)
486: 134(i8vec2) SConvert 485
Store 484(i8v) 486
487:167(i64vec2) Load 475(u64v)
488: 131(i8vec2) UConvert 487
489: 134(i8vec2) Bitcast 488
Store 484(i8v) 489
491:162(i64vec2) Load 476(i64v)
492:139(i16vec2) SConvert 491
Store 490(i16v) 492
493:167(i64vec2) Load 475(u64v)
494:145(i16vec2) UConvert 493
495:139(i16vec2) Bitcast 494
Store 490(i16v) 495
497:162(i64vec2) Load 476(i64v)
498: 148(ivec2) SConvert 497
Store 496(i32v) 498
499:167(i64vec2) Load 475(u64v)
500: 154(ivec2) UConvert 499
501: 148(ivec2) Bitcast 500
Store 496(i32v) 501
502:167(i64vec2) Load 475(u64v)
503:162(i64vec2) Bitcast 502
Store 476(i64v) 503
505:162(i64vec2) Load 476(i64v)
506: 134(i8vec2) SConvert 505
507: 131(i8vec2) Bitcast 506
Store 504(u8v) 507
508:167(i64vec2) Load 475(u64v)
509: 131(i8vec2) UConvert 508
Store 504(u8v) 509
511:162(i64vec2) Load 476(i64v)
512:139(i16vec2) SConvert 511
513:145(i16vec2) Bitcast 512
Store 510(u16v) 513
514:167(i64vec2) Load 475(u64v)
515:145(i16vec2) UConvert 514
Store 510(u16v) 515
517:162(i64vec2) Load 476(i64v)
518: 148(ivec2) SConvert 517
519: 154(ivec2) Bitcast 518
Store 516(u32v) 519
520:167(i64vec2) Load 475(u64v)
521: 154(ivec2) UConvert 520
Store 516(u32v) 521
522:162(i64vec2) Load 476(i64v)
523:167(i64vec2) Bitcast 522
Store 475(u64v) 523
524:167(i64vec2) Load 475(u64v)
Store 475(u64v) 524
526:162(i64vec2) Load 476(i64v)
527:181(f16vec2) ConvertSToF 526
Store 525(f16v) 527
529:162(i64vec2) Load 476(i64v)
530: 187(fvec2) ConvertSToF 529
Store 528(f32v) 530
531:162(i64vec2) Load 476(i64v)
532:193(f64vec2) ConvertSToF 531
Store 479(f64v) 532
533:167(i64vec2) Load 475(u64v)
534:181(f16vec2) ConvertUToF 533
Store 525(f16v) 534
535:167(i64vec2) Load 475(u64v)
536: 187(fvec2) ConvertUToF 535
Store 528(f32v) 536
537:167(i64vec2) Load 475(u64v)
538:193(f64vec2) ConvertUToF 537
Store 479(f64v) 538
540: 250(bvec2) Load 539(bv)
545:162(i64vec2) Select 540 544 543
Store 476(i64v) 545
546: 250(bvec2) Load 539(bv)
551:167(i64vec2) Select 546 550 549
Store 475(u64v) 551
552:162(i64vec2) Load 476(i64v)
553: 250(bvec2) INotEqual 552 549
Store 539(bv) 553
554:167(i64vec2) Load 475(u64v)
555: 250(bvec2) INotEqual 554 549
Store 539(bv) 555
Return
FunctionEnd

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@ spv.floatFetch.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 3503
// Id's are bound by 3500
Capability Shader
Capability ImageGatherExtended
@ -24,7 +24,7 @@ Validation failed
Extension "SPV_AMD_texture_gather_bias_lod"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 127 138 150 197 283 371 866 873 880 2603 3494 3502
EntryPoint Fragment 4 "main" 127 138 150 197 283 371 866 873 880 2603 3491 3499
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_AMD_texture_gather_bias_lod"
@ -184,12 +184,12 @@ Validation failed
Name 3318 "subpass"
Name 3324 "subpassMS"
Name 3330 "result"
Name 3415 "param"
Name 3494 "fragColor"
Name 3497 "tBuffer"
Name 3499 "t2DMS"
Name 3501 "t2DMSArray"
Name 3502 "bias"
Name 3412 "param"
Name 3491 "fragColor"
Name 3494 "tBuffer"
Name 3496 "t2DMS"
Name 3498 "t2DMSArray"
Name 3499 "bias"
Decorate 124(s1D) DescriptorSet 0
Decorate 124(s1D) Binding 0
Decorate 127(c1) Location 0
@ -284,14 +284,14 @@ Validation failed
Decorate 3324(subpassMS) DescriptorSet 3
Decorate 3324(subpassMS) Binding 1
Decorate 3324(subpassMS) InputAttachmentIndex 0
Decorate 3494(fragColor) Location 0
Decorate 3497(tBuffer) DescriptorSet 2
Decorate 3497(tBuffer) Binding 8
Decorate 3499(t2DMS) DescriptorSet 2
Decorate 3499(t2DMS) Binding 9
Decorate 3501(t2DMSArray) DescriptorSet 2
Decorate 3501(t2DMSArray) Binding 10
Decorate 3502(bias) Location 6
Decorate 3491(fragColor) Location 0
Decorate 3494(tBuffer) DescriptorSet 2
Decorate 3494(tBuffer) Binding 8
Decorate 3496(t2DMS) DescriptorSet 2
Decorate 3496(t2DMS) Binding 9
Decorate 3498(t2DMSArray) DescriptorSet 2
Decorate 3498(t2DMSArray) Binding 10
Decorate 3499(bias) Location 6
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@ -486,19 +486,19 @@ Validation failed
3322: TypeImage 6(float) SubpassData multi-sampled nonsampled format:Unknown
3323: TypePointer UniformConstant 3322
3324(subpassMS): 3323(ptr) Variable UniformConstant
3493: TypePointer Output 7(fvec4)
3494(fragColor): 3493(ptr) Variable Output
3496: TypePointer UniformConstant 770
3497(tBuffer): 3496(ptr) Variable UniformConstant
3498: TypePointer UniformConstant 781
3499(t2DMS): 3498(ptr) Variable UniformConstant
3500: TypePointer UniformConstant 792
3501(t2DMSArray): 3500(ptr) Variable UniformConstant
3502(bias): 126(ptr) Variable Input
3490: TypePointer Output 7(fvec4)
3491(fragColor): 3490(ptr) Variable Output
3493: TypePointer UniformConstant 770
3494(tBuffer): 3493(ptr) Variable UniformConstant
3495: TypePointer UniformConstant 781
3496(t2DMS): 3495(ptr) Variable UniformConstant
3497: TypePointer UniformConstant 792
3498(t2DMSArray): 3497(ptr) Variable UniformConstant
3499(bias): 126(ptr) Variable Input
4(main): 2 Function None 3
5: Label
3330(result): 63(ptr) Variable Function
3415(param): 63(ptr) Variable Function
3412(param): 63(ptr) Variable Function
Store 3330(result) 120
3331: 7(fvec4) FunctionCall 9(testTexture()
3332: 7(fvec4) Load 3330(result)
@ -578,141 +578,138 @@ Validation failed
3388: 7(fvec4) FAdd 3387 3386
Store 3330(result) 3388
3389: 52(fvec2) FunctionCall 54(testTextureQueryLod()
3390: 6(float) CompositeExtract 3389 0
3391: 6(float) CompositeExtract 3389 1
3392: 52(fvec2) CompositeConstruct 3390 3391
3393: 7(fvec4) Load 3330(result)
3394: 52(fvec2) VectorShuffle 3393 3393 0 1
3395: 52(fvec2) FAdd 3394 3392
3396: 174(ptr) AccessChain 3330(result) 173
3397: 6(float) CompositeExtract 3395 0
Store 3396 3397
3398: 174(ptr) AccessChain 3330(result) 1447
3399: 6(float) CompositeExtract 3395 1
Store 3398 3399
3400: 47(int) FunctionCall 57(testTextureQueryLevels()
3401: 6(float) ConvertSToF 3400
3390: 7(fvec4) Load 3330(result)
3391: 52(fvec2) VectorShuffle 3390 3390 0 1
3392: 52(fvec2) FAdd 3391 3389
3393: 174(ptr) AccessChain 3330(result) 173
3394: 6(float) CompositeExtract 3392 0
Store 3393 3394
3395: 174(ptr) AccessChain 3330(result) 1447
3396: 6(float) CompositeExtract 3392 1
Store 3395 3396
3397: 47(int) FunctionCall 57(testTextureQueryLevels()
3398: 6(float) ConvertSToF 3397
3399: 174(ptr) AccessChain 3330(result) 173
3400: 6(float) Load 3399
3401: 6(float) FAdd 3400 3398
3402: 174(ptr) AccessChain 3330(result) 173
3403: 6(float) Load 3402
3404: 6(float) FAdd 3403 3401
Store 3402 3401
3403: 47(int) FunctionCall 59(testTextureSamples()
3404: 6(float) ConvertSToF 3403
3405: 174(ptr) AccessChain 3330(result) 173
Store 3405 3404
3406: 47(int) FunctionCall 59(testTextureSamples()
3407: 6(float) ConvertSToF 3406
3406: 6(float) Load 3405
3407: 6(float) FAdd 3406 3404
3408: 174(ptr) AccessChain 3330(result) 173
3409: 6(float) Load 3408
3410: 6(float) FAdd 3409 3407
3411: 174(ptr) AccessChain 3330(result) 173
Store 3411 3410
3412: 7(fvec4) FunctionCall 61(testImageLoad()
Store 3408 3407
3409: 7(fvec4) FunctionCall 61(testImageLoad()
3410: 7(fvec4) Load 3330(result)
3411: 7(fvec4) FAdd 3410 3409
Store 3330(result) 3411
3413: 7(fvec4) Load 3330(result)
3414: 7(fvec4) FAdd 3413 3412
Store 3330(result) 3414
Store 3412(param) 3413
3414: 2 FunctionCall 66(testImageStore(vf4;) 3412(param)
3415: 7(fvec4) FunctionCall 68(testSparseTexture()
3416: 7(fvec4) Load 3330(result)
Store 3415(param) 3416
3417: 2 FunctionCall 66(testImageStore(vf4;) 3415(param)
3418: 7(fvec4) FunctionCall 68(testSparseTexture()
3417: 7(fvec4) FAdd 3416 3415
Store 3330(result) 3417
3418: 7(fvec4) FunctionCall 70(testSparseTextureLod()
3419: 7(fvec4) Load 3330(result)
3420: 7(fvec4) FAdd 3419 3418
Store 3330(result) 3420
3421: 7(fvec4) FunctionCall 70(testSparseTextureLod()
3421: 7(fvec4) FunctionCall 72(testSparseTextureOffset()
3422: 7(fvec4) Load 3330(result)
3423: 7(fvec4) FAdd 3422 3421
Store 3330(result) 3423
3424: 7(fvec4) FunctionCall 72(testSparseTextureOffset()
3424: 7(fvec4) FunctionCall 74(testSparseTextureLodOffset()
3425: 7(fvec4) Load 3330(result)
3426: 7(fvec4) FAdd 3425 3424
Store 3330(result) 3426
3427: 7(fvec4) FunctionCall 74(testSparseTextureLodOffset()
3427: 7(fvec4) FunctionCall 76(testSparseTextureGrad()
3428: 7(fvec4) Load 3330(result)
3429: 7(fvec4) FAdd 3428 3427
Store 3330(result) 3429
3430: 7(fvec4) FunctionCall 76(testSparseTextureGrad()
3430: 7(fvec4) FunctionCall 78(testSparseTextureGradOffset()
3431: 7(fvec4) Load 3330(result)
3432: 7(fvec4) FAdd 3431 3430
Store 3330(result) 3432
3433: 7(fvec4) FunctionCall 78(testSparseTextureGradOffset()
3433: 7(fvec4) FunctionCall 80(testSparseTexelFetch()
3434: 7(fvec4) Load 3330(result)
3435: 7(fvec4) FAdd 3434 3433
Store 3330(result) 3435
3436: 7(fvec4) FunctionCall 80(testSparseTexelFetch()
3436: 7(fvec4) FunctionCall 82(testSparseTexelFetchOffset()
3437: 7(fvec4) Load 3330(result)
3438: 7(fvec4) FAdd 3437 3436
Store 3330(result) 3438
3439: 7(fvec4) FunctionCall 82(testSparseTexelFetchOffset()
3439: 7(fvec4) FunctionCall 84(testSparseTextureGather()
3440: 7(fvec4) Load 3330(result)
3441: 7(fvec4) FAdd 3440 3439
Store 3330(result) 3441
3442: 7(fvec4) FunctionCall 84(testSparseTextureGather()
3442: 7(fvec4) FunctionCall 86(testSparseTextureGatherOffset()
3443: 7(fvec4) Load 3330(result)
3444: 7(fvec4) FAdd 3443 3442
Store 3330(result) 3444
3445: 7(fvec4) FunctionCall 86(testSparseTextureGatherOffset()
3445: 7(fvec4) FunctionCall 88(testSparseTextureGatherOffsets()
3446: 7(fvec4) Load 3330(result)
3447: 7(fvec4) FAdd 3446 3445
Store 3330(result) 3447
3448: 7(fvec4) FunctionCall 88(testSparseTextureGatherOffsets()
3448: 7(fvec4) FunctionCall 90(testSparseTextureGatherLod()
3449: 7(fvec4) Load 3330(result)
3450: 7(fvec4) FAdd 3449 3448
Store 3330(result) 3450
3451: 7(fvec4) FunctionCall 90(testSparseTextureGatherLod()
3451: 7(fvec4) FunctionCall 92(testSparseTextureGatherLodOffset()
3452: 7(fvec4) Load 3330(result)
3453: 7(fvec4) FAdd 3452 3451
Store 3330(result) 3453
3454: 7(fvec4) FunctionCall 92(testSparseTextureGatherLodOffset()
3454: 7(fvec4) FunctionCall 94(testSparseTextureGatherLodOffsets()
3455: 7(fvec4) Load 3330(result)
3456: 7(fvec4) FAdd 3455 3454
Store 3330(result) 3456
3457: 7(fvec4) FunctionCall 94(testSparseTextureGatherLodOffsets()
3457: 7(fvec4) FunctionCall 96(testSparseImageLoad()
3458: 7(fvec4) Load 3330(result)
3459: 7(fvec4) FAdd 3458 3457
Store 3330(result) 3459
3460: 7(fvec4) FunctionCall 96(testSparseImageLoad()
3460: 7(fvec4) FunctionCall 98(testSparseTextureClamp()
3461: 7(fvec4) Load 3330(result)
3462: 7(fvec4) FAdd 3461 3460
Store 3330(result) 3462
3463: 7(fvec4) FunctionCall 98(testSparseTextureClamp()
3463: 7(fvec4) FunctionCall 100(testTextureClamp()
3464: 7(fvec4) Load 3330(result)
3465: 7(fvec4) FAdd 3464 3463
Store 3330(result) 3465
3466: 7(fvec4) FunctionCall 100(testTextureClamp()
3466: 7(fvec4) FunctionCall 102(testSparseTextureOffsetClamp()
3467: 7(fvec4) Load 3330(result)
3468: 7(fvec4) FAdd 3467 3466
Store 3330(result) 3468
3469: 7(fvec4) FunctionCall 102(testSparseTextureOffsetClamp()
3469: 7(fvec4) FunctionCall 104(testTextureOffsetClamp()
3470: 7(fvec4) Load 3330(result)
3471: 7(fvec4) FAdd 3470 3469
Store 3330(result) 3471
3472: 7(fvec4) FunctionCall 104(testTextureOffsetClamp()
3472: 7(fvec4) FunctionCall 76(testSparseTextureGrad()
3473: 7(fvec4) Load 3330(result)
3474: 7(fvec4) FAdd 3473 3472
Store 3330(result) 3474
3475: 7(fvec4) FunctionCall 76(testSparseTextureGrad()
3475: 7(fvec4) FunctionCall 27(testTextureGrad()
3476: 7(fvec4) Load 3330(result)
3477: 7(fvec4) FAdd 3476 3475
Store 3330(result) 3477
3478: 7(fvec4) FunctionCall 27(testTextureGrad()
3478: 7(fvec4) FunctionCall 110(testSparseTextureGradOffsetClamp()
3479: 7(fvec4) Load 3330(result)
3480: 7(fvec4) FAdd 3479 3478
Store 3330(result) 3480
3481: 7(fvec4) FunctionCall 110(testSparseTextureGradOffsetClamp()
3481: 7(fvec4) FunctionCall 112(testTextureGradOffsetClamp()
3482: 7(fvec4) Load 3330(result)
3483: 7(fvec4) FAdd 3482 3481
Store 3330(result) 3483
3484: 7(fvec4) FunctionCall 112(testTextureGradOffsetClamp()
3484: 7(fvec4) FunctionCall 114(testCombinedTextureSampler()
3485: 7(fvec4) Load 3330(result)
3486: 7(fvec4) FAdd 3485 3484
Store 3330(result) 3486
3487: 7(fvec4) FunctionCall 114(testCombinedTextureSampler()
3487: 7(fvec4) FunctionCall 116(testSubpassLoad()
3488: 7(fvec4) Load 3330(result)
3489: 7(fvec4) FAdd 3488 3487
Store 3330(result) 3489
3490: 7(fvec4) FunctionCall 116(testSubpassLoad()
3491: 7(fvec4) Load 3330(result)
3492: 7(fvec4) FAdd 3491 3490
Store 3330(result) 3492
3495: 7(fvec4) Load 3330(result)
Store 3494(fragColor) 3495
3492: 7(fvec4) Load 3330(result)
Store 3491(fragColor) 3492
Return
FunctionEnd
9(testTexture(): 7(fvec4) Function None 8

File diff suppressed because it is too large Load Diff