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) if (sources.size() == 1 && isScalar(sources[0]) && numTargetComponents > 1)
return smearScalar(precision, sources[0], resultTypeId); 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 // accumulate the arguments for OpCompositeConstruct
std::vector<Id> constituents; std::vector<Id> constituents;
Id scalarTypeId = getScalarTypeId(resultTypeId); Id scalarTypeId = getScalarTypeId(resultTypeId);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

File diff suppressed because it is too large Load diff

View file

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

File diff suppressed because it is too large Load diff