xref: /aosp_15_r20/external/angle/src/compiler/translator/SymbolTable_autogen.cpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 // GENERATED FILE - DO NOT EDIT.
2 // Generated by gen_builtin_symbols.py using data from builtin_variables.json and
3 // builtin_function_declarations.txt.
4 //
5 // Copyright 2020 The ANGLE Project Authors. All rights reserved.
6 // Use of this source code is governed by a BSD-style license that can be
7 // found in the LICENSE file.
8 //
9 // SymbolTable_autogen.cpp:
10 //   Compile-time initialized built-ins.
11 
12 #include "compiler/translator/SymbolTable.h"
13 
14 #include "angle_gl.h"
15 #include "compiler/translator/ImmutableString.h"
16 #include "compiler/translator/StaticType.h"
17 #include "compiler/translator/Symbol.h"
18 #include "compiler/translator/SymbolTable.h"
19 #include "compiler/translator/tree_util/BuiltIn.h"
20 
21 namespace sh
22 {
23 using Resources = ShBuiltInResources;
24 using TableBase = TSymbolTableBase;
25 
26 struct SymbolIdChecker
27 {
28     static_assert(TSymbolTable::kFirstUserDefinedSymbolId > 2339);
29 };
30 
31 namespace BuiltInName
32 {
33 
34 constexpr const ImmutableString _empty("");
35 constexpr const ImmutableString EmitVertex("EmitVertex");
36 constexpr const ImmutableString EmitVertexES3_2("EmitVertex");
37 constexpr const ImmutableString EndPrimitive("EndPrimitive");
38 constexpr const ImmutableString EndPrimitiveES3_2("EndPrimitive");
39 constexpr const ImmutableString abs("abs");
40 constexpr const ImmutableString acos("acos");
41 constexpr const ImmutableString acosh("acosh");
42 constexpr const ImmutableString all("all");
43 constexpr const ImmutableString angle_BaseInstance("angle_BaseInstance");
44 constexpr const ImmutableString angle_BaseVertex("angle_BaseVertex");
45 constexpr const ImmutableString any("any");
46 constexpr const ImmutableString asin("asin");
47 constexpr const ImmutableString asinh("asinh");
48 constexpr const ImmutableString atan("atan");
49 constexpr const ImmutableString atanh("atanh");
50 constexpr const ImmutableString atomicAdd("atomicAdd");
51 constexpr const ImmutableString atomicAnd("atomicAnd");
52 constexpr const ImmutableString atomicCompSwap("atomicCompSwap");
53 constexpr const ImmutableString atomicCounter("atomicCounter");
54 constexpr const ImmutableString atomicCounterDecrement("atomicCounterDecrement");
55 constexpr const ImmutableString atomicCounterIncrement("atomicCounterIncrement");
56 constexpr const ImmutableString atomicExchange("atomicExchange");
57 constexpr const ImmutableString atomicMax("atomicMax");
58 constexpr const ImmutableString atomicMin("atomicMin");
59 constexpr const ImmutableString atomicOr("atomicOr");
60 constexpr const ImmutableString atomicXor("atomicXor");
61 constexpr const ImmutableString barrier("barrier");
62 constexpr const ImmutableString barrierTCS("barrier");
63 constexpr const ImmutableString barrierTCSES3_2("barrier");
64 constexpr const ImmutableString beginFragmentShaderOrderingINTEL(
65     "beginFragmentShaderOrderingINTEL");
66 constexpr const ImmutableString beginInvocationInterlockARB("beginInvocationInterlockARB");
67 constexpr const ImmutableString beginInvocationInterlockNV("beginInvocationInterlockNV");
68 constexpr const ImmutableString bitCount("bitCount");
69 constexpr const ImmutableString bitfieldExtract("bitfieldExtract");
70 constexpr const ImmutableString bitfieldInsert("bitfieldInsert");
71 constexpr const ImmutableString bitfieldReverse("bitfieldReverse");
72 constexpr const ImmutableString ceil("ceil");
73 constexpr const ImmutableString clamp("clamp");
74 constexpr const ImmutableString cos("cos");
75 constexpr const ImmutableString cosh("cosh");
76 constexpr const ImmutableString cross("cross");
77 constexpr const ImmutableString dFdx("dFdx");
78 constexpr const ImmutableString dFdxExt("dFdx");
79 constexpr const ImmutableString dFdy("dFdy");
80 constexpr const ImmutableString dFdyExt("dFdy");
81 constexpr const ImmutableString degrees("degrees");
82 constexpr const ImmutableString determinant("determinant");
83 constexpr const ImmutableString diff("diff");
84 constexpr const ImmutableString distance("distance");
85 constexpr const ImmutableString dot("dot");
86 constexpr const ImmutableString endInvocationInterlockARB("endInvocationInterlockARB");
87 constexpr const ImmutableString endInvocationInterlockNV("endInvocationInterlockNV");
88 constexpr const ImmutableString equal("equal");
89 constexpr const ImmutableString exp("exp");
90 constexpr const ImmutableString exp2("exp2");
91 constexpr const ImmutableString faceforward("faceforward");
92 constexpr const ImmutableString far("far");
93 constexpr const ImmutableString findLSB("findLSB");
94 constexpr const ImmutableString findMSB("findMSB");
95 constexpr const ImmutableString floatBitsToInt("floatBitsToInt");
96 constexpr const ImmutableString floatBitsToUint("floatBitsToUint");
97 constexpr const ImmutableString floor("floor");
98 constexpr const ImmutableString fma("fma");
99 constexpr const ImmutableString fmaExt("fma");
100 constexpr const ImmutableString fract("fract");
101 constexpr const ImmutableString frexp("frexp");
102 constexpr const ImmutableString fwidth("fwidth");
103 constexpr const ImmutableString fwidthExt("fwidth");
104 constexpr const ImmutableString gl_BaseInstance("gl_BaseInstance");
105 constexpr const ImmutableString gl_BaseVertex("gl_BaseVertex");
106 constexpr const ImmutableString gl_BoundingBox("gl_BoundingBox");
107 constexpr const ImmutableString gl_BoundingBoxEXT("gl_BoundingBoxEXT");
108 constexpr const ImmutableString gl_BoundingBoxOES("gl_BoundingBoxOES");
109 constexpr const ImmutableString gl_ClipDistance("gl_ClipDistance");
110 constexpr const ImmutableString gl_CullDistance("gl_CullDistance");
111 constexpr const ImmutableString gl_DepthRange("gl_DepthRange");
112 constexpr const ImmutableString gl_DepthRangeParameters("gl_DepthRangeParameters");
113 constexpr const ImmutableString gl_DrawID("gl_DrawID");
114 constexpr const ImmutableString gl_FragColor("gl_FragColor");
115 constexpr const ImmutableString gl_FragCoord("gl_FragCoord");
116 constexpr const ImmutableString gl_FragData("gl_FragData");
117 constexpr const ImmutableString gl_FragDepth("gl_FragDepth");
118 constexpr const ImmutableString gl_FragDepthEXT("gl_FragDepthEXT");
119 constexpr const ImmutableString gl_FrontFacing("gl_FrontFacing");
120 constexpr const ImmutableString gl_GlobalInvocationID("gl_GlobalInvocationID");
121 constexpr const ImmutableString gl_HelperInvocation("gl_HelperInvocation");
122 constexpr const ImmutableString gl_InstanceID("gl_InstanceID");
123 constexpr const ImmutableString gl_InstanceIndex("gl_InstanceIndex");
124 constexpr const ImmutableString gl_InvocationID("gl_InvocationID");
125 constexpr const ImmutableString gl_LastFragColor("gl_LastFragColor");
126 constexpr const ImmutableString gl_LastFragColorARM("gl_LastFragColorARM");
127 constexpr const ImmutableString gl_LastFragData("gl_LastFragData");
128 constexpr const ImmutableString gl_LastFragDepthARM("gl_LastFragDepthARM");
129 constexpr const ImmutableString gl_LastFragStencilARM("gl_LastFragStencilARM");
130 constexpr const ImmutableString gl_Layer("gl_Layer");
131 constexpr const ImmutableString gl_LocalInvocationID("gl_LocalInvocationID");
132 constexpr const ImmutableString gl_LocalInvocationIndex("gl_LocalInvocationIndex");
133 constexpr const ImmutableString gl_MaxAtomicCounterBindings("gl_MaxAtomicCounterBindings");
134 constexpr const ImmutableString gl_MaxAtomicCounterBufferSize("gl_MaxAtomicCounterBufferSize");
135 constexpr const ImmutableString gl_MaxClipDistances("gl_MaxClipDistances");
136 constexpr const ImmutableString gl_MaxCombinedAtomicCounterBuffers(
137     "gl_MaxCombinedAtomicCounterBuffers");
138 constexpr const ImmutableString gl_MaxCombinedAtomicCounters("gl_MaxCombinedAtomicCounters");
139 constexpr const ImmutableString gl_MaxCombinedClipAndCullDistances(
140     "gl_MaxCombinedClipAndCullDistances");
141 constexpr const ImmutableString gl_MaxCombinedImageUniforms("gl_MaxCombinedImageUniforms");
142 constexpr const ImmutableString gl_MaxCombinedShaderOutputResources(
143     "gl_MaxCombinedShaderOutputResources");
144 constexpr const ImmutableString gl_MaxCombinedTextureImageUnits("gl_MaxCombinedTextureImageUnits");
145 constexpr const ImmutableString gl_MaxComputeAtomicCounterBuffers(
146     "gl_MaxComputeAtomicCounterBuffers");
147 constexpr const ImmutableString gl_MaxComputeAtomicCounters("gl_MaxComputeAtomicCounters");
148 constexpr const ImmutableString gl_MaxComputeImageUniforms("gl_MaxComputeImageUniforms");
149 constexpr const ImmutableString gl_MaxComputeTextureImageUnits("gl_MaxComputeTextureImageUnits");
150 constexpr const ImmutableString gl_MaxComputeUniformComponents("gl_MaxComputeUniformComponents");
151 constexpr const ImmutableString gl_MaxComputeWorkGroupCount("gl_MaxComputeWorkGroupCount");
152 constexpr const ImmutableString gl_MaxComputeWorkGroupSize("gl_MaxComputeWorkGroupSize");
153 constexpr const ImmutableString gl_MaxCullDistances("gl_MaxCullDistances");
154 constexpr const ImmutableString gl_MaxDrawBuffers("gl_MaxDrawBuffers");
155 constexpr const ImmutableString gl_MaxDualSourceDrawBuffersEXT("gl_MaxDualSourceDrawBuffersEXT");
156 constexpr const ImmutableString gl_MaxFragmentAtomicCounterBuffers(
157     "gl_MaxFragmentAtomicCounterBuffers");
158 constexpr const ImmutableString gl_MaxFragmentAtomicCounters("gl_MaxFragmentAtomicCounters");
159 constexpr const ImmutableString gl_MaxFragmentImageUniforms("gl_MaxFragmentImageUniforms");
160 constexpr const ImmutableString gl_MaxFragmentInputVectors("gl_MaxFragmentInputVectors");
161 constexpr const ImmutableString gl_MaxFragmentUniformVectors("gl_MaxFragmentUniformVectors");
162 constexpr const ImmutableString gl_MaxGeometryAtomicCounterBuffers(
163     "gl_MaxGeometryAtomicCounterBuffers");
164 constexpr const ImmutableString gl_MaxGeometryAtomicCounters("gl_MaxGeometryAtomicCounters");
165 constexpr const ImmutableString gl_MaxGeometryImageUniforms("gl_MaxGeometryImageUniforms");
166 constexpr const ImmutableString gl_MaxGeometryInputComponents("gl_MaxGeometryInputComponents");
167 constexpr const ImmutableString gl_MaxGeometryOutputComponents("gl_MaxGeometryOutputComponents");
168 constexpr const ImmutableString gl_MaxGeometryOutputVertices("gl_MaxGeometryOutputVertices");
169 constexpr const ImmutableString gl_MaxGeometryTextureImageUnits("gl_MaxGeometryTextureImageUnits");
170 constexpr const ImmutableString gl_MaxGeometryTotalOutputComponents(
171     "gl_MaxGeometryTotalOutputComponents");
172 constexpr const ImmutableString gl_MaxGeometryUniformComponents("gl_MaxGeometryUniformComponents");
173 constexpr const ImmutableString gl_MaxImageUnits("gl_MaxImageUnits");
174 constexpr const ImmutableString gl_MaxPatchVertices("gl_MaxPatchVertices");
175 constexpr const ImmutableString gl_MaxProgramTexelOffset("gl_MaxProgramTexelOffset");
176 constexpr const ImmutableString gl_MaxSamples("gl_MaxSamples");
177 constexpr const ImmutableString gl_MaxTessControlAtomicCounterBuffers(
178     "gl_MaxTessControlAtomicCounterBuffers");
179 constexpr const ImmutableString gl_MaxTessControlAtomicCounters("gl_MaxTessControlAtomicCounters");
180 constexpr const ImmutableString gl_MaxTessControlImageUniforms("gl_MaxTessControlImageUniforms");
181 constexpr const ImmutableString gl_MaxTessControlInputComponents(
182     "gl_MaxTessControlInputComponents");
183 constexpr const ImmutableString gl_MaxTessControlOutputComponents(
184     "gl_MaxTessControlOutputComponents");
185 constexpr const ImmutableString gl_MaxTessControlTextureImageUnits(
186     "gl_MaxTessControlTextureImageUnits");
187 constexpr const ImmutableString gl_MaxTessControlTotalOutputComponents(
188     "gl_MaxTessControlTotalOutputComponents");
189 constexpr const ImmutableString gl_MaxTessControlUniformComponents(
190     "gl_MaxTessControlUniformComponents");
191 constexpr const ImmutableString gl_MaxTessEvaluationAtomicCounterBuffers(
192     "gl_MaxTessEvaluationAtomicCounterBuffers");
193 constexpr const ImmutableString gl_MaxTessEvaluationAtomicCounters(
194     "gl_MaxTessEvaluationAtomicCounters");
195 constexpr const ImmutableString gl_MaxTessEvaluationImageUniforms(
196     "gl_MaxTessEvaluationImageUniforms");
197 constexpr const ImmutableString gl_MaxTessEvaluationInputComponents(
198     "gl_MaxTessEvaluationInputComponents");
199 constexpr const ImmutableString gl_MaxTessEvaluationOutputComponents(
200     "gl_MaxTessEvaluationOutputComponents");
201 constexpr const ImmutableString gl_MaxTessEvaluationTextureImageUnits(
202     "gl_MaxTessEvaluationTextureImageUnits");
203 constexpr const ImmutableString gl_MaxTessEvaluationUniformComponents(
204     "gl_MaxTessEvaluationUniformComponents");
205 constexpr const ImmutableString gl_MaxTessGenLevel("gl_MaxTessGenLevel");
206 constexpr const ImmutableString gl_MaxTessPatchComponents("gl_MaxTessPatchComponents");
207 constexpr const ImmutableString gl_MaxTextureImageUnits("gl_MaxTextureImageUnits");
208 constexpr const ImmutableString gl_MaxVaryingVectors("gl_MaxVaryingVectors");
209 constexpr const ImmutableString gl_MaxVertexAtomicCounterBuffers(
210     "gl_MaxVertexAtomicCounterBuffers");
211 constexpr const ImmutableString gl_MaxVertexAtomicCounters("gl_MaxVertexAtomicCounters");
212 constexpr const ImmutableString gl_MaxVertexAttribs("gl_MaxVertexAttribs");
213 constexpr const ImmutableString gl_MaxVertexImageUniforms("gl_MaxVertexImageUniforms");
214 constexpr const ImmutableString gl_MaxVertexOutputVectors("gl_MaxVertexOutputVectors");
215 constexpr const ImmutableString gl_MaxVertexTextureImageUnits("gl_MaxVertexTextureImageUnits");
216 constexpr const ImmutableString gl_MaxVertexUniformVectors("gl_MaxVertexUniformVectors");
217 constexpr const ImmutableString gl_MinProgramTexelOffset("gl_MinProgramTexelOffset");
218 constexpr const ImmutableString gl_NumSamples("gl_NumSamples");
219 constexpr const ImmutableString gl_NumWorkGroups("gl_NumWorkGroups");
220 constexpr const ImmutableString gl_PatchVerticesIn("gl_PatchVerticesIn");
221 constexpr const ImmutableString gl_PerVertex("gl_PerVertex");
222 constexpr const ImmutableString gl_PointCoord("gl_PointCoord");
223 constexpr const ImmutableString gl_PointSize("gl_PointSize");
224 constexpr const ImmutableString gl_Position("gl_Position");
225 constexpr const ImmutableString gl_PrimitiveID("gl_PrimitiveID");
226 constexpr const ImmutableString gl_PrimitiveIDIn("gl_PrimitiveIDIn");
227 constexpr const ImmutableString gl_SampleID("gl_SampleID");
228 constexpr const ImmutableString gl_SampleMask("gl_SampleMask");
229 constexpr const ImmutableString gl_SampleMaskIn("gl_SampleMaskIn");
230 constexpr const ImmutableString gl_SamplePosition("gl_SamplePosition");
231 constexpr const ImmutableString gl_SecondaryFragColorEXT("gl_SecondaryFragColorEXT");
232 constexpr const ImmutableString gl_SecondaryFragDataEXT("gl_SecondaryFragDataEXT");
233 constexpr const ImmutableString gl_TessCoord("gl_TessCoord");
234 constexpr const ImmutableString gl_TessLevelInner("gl_TessLevelInner");
235 constexpr const ImmutableString gl_TessLevelOuter("gl_TessLevelOuter");
236 constexpr const ImmutableString gl_VertexID("gl_VertexID");
237 constexpr const ImmutableString gl_VertexIndex("gl_VertexIndex");
238 constexpr const ImmutableString gl_ViewID_OVR("gl_ViewID_OVR");
239 constexpr const ImmutableString gl_WorkGroupID("gl_WorkGroupID");
240 constexpr const ImmutableString gl_WorkGroupSize("gl_WorkGroupSize");
241 constexpr const ImmutableString gl_in("gl_in");
242 constexpr const ImmutableString gl_out("gl_out");
243 constexpr const ImmutableString greaterThan("greaterThan");
244 constexpr const ImmutableString greaterThanEqual("greaterThanEqual");
245 constexpr const ImmutableString groupMemoryBarrier("groupMemoryBarrier");
246 constexpr const ImmutableString imageAtomicAdd("imageAtomicAdd");
247 constexpr const ImmutableString imageAtomicAddExt("imageAtomicAdd");
248 constexpr const ImmutableString imageAtomicAnd("imageAtomicAnd");
249 constexpr const ImmutableString imageAtomicAndExt("imageAtomicAnd");
250 constexpr const ImmutableString imageAtomicCompSwap("imageAtomicCompSwap");
251 constexpr const ImmutableString imageAtomicCompSwapExt("imageAtomicCompSwap");
252 constexpr const ImmutableString imageAtomicExchange("imageAtomicExchange");
253 constexpr const ImmutableString imageAtomicExchangeExt("imageAtomicExchange");
254 constexpr const ImmutableString imageAtomicMax("imageAtomicMax");
255 constexpr const ImmutableString imageAtomicMaxExt("imageAtomicMax");
256 constexpr const ImmutableString imageAtomicMin("imageAtomicMin");
257 constexpr const ImmutableString imageAtomicMinExt("imageAtomicMin");
258 constexpr const ImmutableString imageAtomicOr("imageAtomicOr");
259 constexpr const ImmutableString imageAtomicOrExt("imageAtomicOr");
260 constexpr const ImmutableString imageAtomicXor("imageAtomicXor");
261 constexpr const ImmutableString imageAtomicXorExt("imageAtomicXor");
262 constexpr const ImmutableString imageLoad("imageLoad");
263 constexpr const ImmutableString imageLoadExt("imageLoad");
264 constexpr const ImmutableString imageSize("imageSize");
265 constexpr const ImmutableString imageSizeExt("imageSize");
266 constexpr const ImmutableString imageStore("imageStore");
267 constexpr const ImmutableString imageStoreExt("imageStore");
268 constexpr const ImmutableString imulExtended("imulExtended");
269 constexpr const ImmutableString intBitsToFloat("intBitsToFloat");
270 constexpr const ImmutableString interpolateAtCenter("interpolateAtCenter");
271 constexpr const ImmutableString interpolateAtCentroid("interpolateAtCentroid");
272 constexpr const ImmutableString interpolateAtCentroidExt("interpolateAtCentroid");
273 constexpr const ImmutableString interpolateAtOffset("interpolateAtOffset");
274 constexpr const ImmutableString interpolateAtOffsetExt("interpolateAtOffset");
275 constexpr const ImmutableString interpolateAtSample("interpolateAtSample");
276 constexpr const ImmutableString interpolateAtSampleExt("interpolateAtSample");
277 constexpr const ImmutableString inverse("inverse");
278 constexpr const ImmutableString inversesqrt("inversesqrt");
279 constexpr const ImmutableString isinf("isinf");
280 constexpr const ImmutableString isnan("isnan");
281 constexpr const ImmutableString ldexp("ldexp");
282 constexpr const ImmutableString length("length");
283 constexpr const ImmutableString lessThan("lessThan");
284 constexpr const ImmutableString lessThanEqual("lessThanEqual");
285 constexpr const ImmutableString log("log");
286 constexpr const ImmutableString log2("log2");
287 constexpr const ImmutableString matrixCompMult("matrixCompMult");
288 constexpr const ImmutableString max("max");
289 constexpr const ImmutableString memoryBarrier("memoryBarrier");
290 constexpr const ImmutableString memoryBarrierAtomicCounter("memoryBarrierAtomicCounter");
291 constexpr const ImmutableString memoryBarrierBuffer("memoryBarrierBuffer");
292 constexpr const ImmutableString memoryBarrierImage("memoryBarrierImage");
293 constexpr const ImmutableString memoryBarrierShared("memoryBarrierShared");
294 constexpr const ImmutableString min("min");
295 constexpr const ImmutableString mix("mix");
296 constexpr const ImmutableString mod("mod");
297 constexpr const ImmutableString modf("modf");
298 constexpr const ImmutableString near("near");
299 constexpr const ImmutableString normalize("normalize");
300 constexpr const ImmutableString notEqual("notEqual");
301 constexpr const ImmutableString notFunc("not");
302 constexpr const ImmutableString numSamples("numSamples");
303 constexpr const ImmutableString outerProduct("outerProduct");
304 constexpr const ImmutableString packHalf2x16("packHalf2x16");
305 constexpr const ImmutableString packSnorm2x16("packSnorm2x16");
306 constexpr const ImmutableString packSnorm4x8("packSnorm4x8");
307 constexpr const ImmutableString packUnorm2x16("packUnorm2x16");
308 constexpr const ImmutableString packUnorm4x8("packUnorm4x8");
309 constexpr const ImmutableString pixelLocalLoadANGLE("pixelLocalLoadANGLE");
310 constexpr const ImmutableString pixelLocalStoreANGLE("pixelLocalStoreANGLE");
311 constexpr const ImmutableString pow("pow");
312 constexpr const ImmutableString radians("radians");
313 constexpr const ImmutableString reflect("reflect");
314 constexpr const ImmutableString refract("refract");
315 constexpr const ImmutableString rgb_2_yuv("rgb_2_yuv");
316 constexpr const ImmutableString round("round");
317 constexpr const ImmutableString roundEven("roundEven");
318 constexpr const ImmutableString samplePosition("samplePosition");
319 constexpr const ImmutableString saturate("saturate");
320 constexpr const ImmutableString shadow2DEXT("shadow2DEXT");
321 constexpr const ImmutableString shadow2DProjEXT("shadow2DProjEXT");
322 constexpr const ImmutableString sign("sign");
323 constexpr const ImmutableString sin("sin");
324 constexpr const ImmutableString sinh("sinh");
325 constexpr const ImmutableString smoothstep("smoothstep");
326 constexpr const ImmutableString sqrt("sqrt");
327 constexpr const ImmutableString step("step");
328 constexpr const ImmutableString subpassLoad("subpassLoad");
329 constexpr const ImmutableString tan("tan");
330 constexpr const ImmutableString tanh("tanh");
331 constexpr const ImmutableString texelFetch("texelFetch");
332 constexpr const ImmutableString texelFetchExt("texelFetch");
333 constexpr const ImmutableString texelFetchOffset("texelFetchOffset");
334 constexpr const ImmutableString texture("texture");
335 constexpr const ImmutableString texture2D("texture2D");
336 constexpr const ImmutableString texture2DGradEXT("texture2DGradEXT");
337 constexpr const ImmutableString texture2DLod("texture2DLod");
338 constexpr const ImmutableString texture2DLodEXT("texture2DLodEXT");
339 constexpr const ImmutableString texture2DProj("texture2DProj");
340 constexpr const ImmutableString texture2DProjGradEXT("texture2DProjGradEXT");
341 constexpr const ImmutableString texture2DProjLod("texture2DProjLod");
342 constexpr const ImmutableString texture2DProjLodEXT("texture2DProjLodEXT");
343 constexpr const ImmutableString texture2DRect("texture2DRect");
344 constexpr const ImmutableString texture2DRectProj("texture2DRectProj");
345 constexpr const ImmutableString texture3D("texture3D");
346 constexpr const ImmutableString texture3DLod("texture3DLod");
347 constexpr const ImmutableString texture3DProj("texture3DProj");
348 constexpr const ImmutableString texture3DProjLod("texture3DProjLod");
349 constexpr const ImmutableString textureCube("textureCube");
350 constexpr const ImmutableString textureCubeGradEXT("textureCubeGradEXT");
351 constexpr const ImmutableString textureCubeLod("textureCubeLod");
352 constexpr const ImmutableString textureCubeLodEXT("textureCubeLodEXT");
353 constexpr const ImmutableString textureExt("texture");
354 constexpr const ImmutableString textureGather("textureGather");
355 constexpr const ImmutableString textureGatherExt("textureGather");
356 constexpr const ImmutableString textureGatherOffset("textureGatherOffset");
357 constexpr const ImmutableString textureGatherOffsets("textureGatherOffsets");
358 constexpr const ImmutableString textureGatherOffsetsExt("textureGatherOffsets");
359 constexpr const ImmutableString textureGrad("textureGrad");
360 constexpr const ImmutableString textureGradExt("textureGrad");
361 constexpr const ImmutableString textureGradOffset("textureGradOffset");
362 constexpr const ImmutableString textureLod("textureLod");
363 constexpr const ImmutableString textureLodExt("textureLod");
364 constexpr const ImmutableString textureLodOffset("textureLodOffset");
365 constexpr const ImmutableString textureOffset("textureOffset");
366 constexpr const ImmutableString textureProj("textureProj");
367 constexpr const ImmutableString textureProjGrad("textureProjGrad");
368 constexpr const ImmutableString textureProjGradOffset("textureProjGradOffset");
369 constexpr const ImmutableString textureProjLod("textureProjLod");
370 constexpr const ImmutableString textureProjLodOffset("textureProjLodOffset");
371 constexpr const ImmutableString textureProjOffset("textureProjOffset");
372 constexpr const ImmutableString textureQueryLOD("textureQueryLOD");
373 constexpr const ImmutableString textureSize("textureSize");
374 constexpr const ImmutableString textureSizeExt("textureSize");
375 constexpr const ImmutableString textureVideoWEBGL("textureVideoWEBGL");
376 constexpr const ImmutableString transpose("transpose");
377 constexpr const ImmutableString trunc("trunc");
378 constexpr const ImmutableString uaddCarry("uaddCarry");
379 constexpr const ImmutableString uintBitsToFloat("uintBitsToFloat");
380 constexpr const ImmutableString umulExtended("umulExtended");
381 constexpr const ImmutableString unpackHalf2x16("unpackHalf2x16");
382 constexpr const ImmutableString unpackSnorm2x16("unpackSnorm2x16");
383 constexpr const ImmutableString unpackSnorm4x8("unpackSnorm4x8");
384 constexpr const ImmutableString unpackUnorm2x16("unpackUnorm2x16");
385 constexpr const ImmutableString unpackUnorm4x8("unpackUnorm4x8");
386 constexpr const ImmutableString usubBorrow("usubBorrow");
387 constexpr const ImmutableString yuv_2_rgb("yuv_2_rgb");
388 
389 }  // namespace BuiltInName
390 
391 // TODO(oetuaho): Would be nice to make this a class instead of a namespace so that we could friend
392 // this from TVariable. Now symbol constructors taking an id have to be public even though they're
393 // not supposed to be accessible from outside of here. http://anglebug.com/42261100
394 namespace BuiltInVariable
395 {
396 
397 constexpr const unsigned int kArraySize4[1] = {4};
398 
399 constexpr const TVariable kangle_BaseInstance(
400     BuiltInId::angle_BaseInstance,
401     BuiltInName::angle_BaseInstance,
402     SymbolType::BuiltIn,
403     std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}},
404     StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>());
405 constexpr const TVariable kangle_BaseVertex(
406     BuiltInId::angle_BaseVertex,
407     BuiltInName::angle_BaseVertex,
408     SymbolType::BuiltIn,
409     std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}},
410     StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>());
411 constexpr const TVariable kgl_BaseInstance(
412     BuiltInId::gl_BaseInstance,
413     BuiltInName::gl_BaseInstance,
414     SymbolType::BuiltIn,
415     std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}},
416     StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>());
417 constexpr const TVariable kgl_BaseVertex(
418     BuiltInId::gl_BaseVertex,
419     BuiltInName::gl_BaseVertex,
420     SymbolType::BuiltIn,
421     std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}},
422     StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>());
423 constexpr const TVariable kgl_DrawID(BuiltInId::gl_DrawID,
424                                      BuiltInName::gl_DrawID,
425                                      SymbolType::BuiltIn,
426                                      std::array<TExtension, 1u>{{TExtension::ANGLE_multi_draw}},
427                                      StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>());
428 constexpr const TVariable kgl_FragColor(BuiltInId::gl_FragColor,
429                                         BuiltInName::gl_FragColor,
430                                         SymbolType::BuiltIn,
431                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
432                                         StaticType::Get<EbtFloat, EbpMedium, EvqFragColor, 4, 1>());
433 constexpr const TVariable kgl_FragCoord(BuiltInId::gl_FragCoord,
434                                         BuiltInName::gl_FragCoord,
435                                         SymbolType::BuiltIn,
436                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
437                                         StaticType::Get<EbtFloat, EbpMedium, EvqFragCoord, 4, 1>());
438 constexpr const TVariable kgl_FragCoord300(
439     BuiltInId::gl_FragCoord300,
440     BuiltInName::gl_FragCoord,
441     SymbolType::BuiltIn,
442     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
443     StaticType::Get<EbtFloat, EbpHigh, EvqFragCoord, 4, 1>());
444 constexpr const TVariable kgl_FragDepth(BuiltInId::gl_FragDepth,
445                                         BuiltInName::gl_FragDepth,
446                                         SymbolType::BuiltIn,
447                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
448                                         StaticType::Get<EbtFloat, EbpHigh, EvqFragDepth, 1, 1>());
449 constexpr const TVariable kgl_FrontFacing(
450     BuiltInId::gl_FrontFacing,
451     BuiltInName::gl_FrontFacing,
452     SymbolType::BuiltIn,
453     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
454     StaticType::Get<EbtBool, EbpUndefined, EvqFrontFacing, 1, 1>());
455 constexpr const TVariable kgl_GlobalInvocationID(
456     BuiltInId::gl_GlobalInvocationID,
457     BuiltInName::gl_GlobalInvocationID,
458     SymbolType::BuiltIn,
459     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
460     StaticType::Get<EbtUInt, EbpHigh, EvqGlobalInvocationID, 3, 1>());
461 constexpr const TVariable kgl_HelperInvocation(
462     BuiltInId::gl_HelperInvocation,
463     BuiltInName::gl_HelperInvocation,
464     SymbolType::BuiltIn,
465     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
466     StaticType::Get<EbtBool, EbpUndefined, EvqHelperInvocation, 1, 1>());
467 constexpr const TVariable kgl_InstanceID(BuiltInId::gl_InstanceID,
468                                          BuiltInName::gl_InstanceID,
469                                          SymbolType::BuiltIn,
470                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
471                                          StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
472 constexpr const TVariable kgl_InstanceIndex(
473     BuiltInId::gl_InstanceIndex,
474     BuiltInName::gl_InstanceIndex,
475     SymbolType::BuiltIn,
476     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
477     StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
478 constexpr const TVariable kgl_InvocationID(
479     BuiltInId::gl_InvocationID,
480     BuiltInName::gl_InvocationID,
481     SymbolType::BuiltIn,
482     std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
483     StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
484 constexpr const TVariable kgl_InvocationIDES3_2(
485     BuiltInId::gl_InvocationIDES3_2,
486     BuiltInName::gl_InvocationID,
487     SymbolType::BuiltIn,
488     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
489     StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
490 constexpr const TVariable kgl_InvocationIDTCS(
491     BuiltInId::gl_InvocationIDTCS,
492     BuiltInName::gl_InvocationID,
493     SymbolType::BuiltIn,
494     std::array<TExtension, 2u>{
495         {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
496     StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
497 constexpr const TVariable kgl_InvocationIDTCSES3_2(
498     BuiltInId::gl_InvocationIDTCSES3_2,
499     BuiltInName::gl_InvocationID,
500     SymbolType::BuiltIn,
501     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
502     StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
503 constexpr const TVariable kgl_LastFragColor(
504     BuiltInId::gl_LastFragColor,
505     BuiltInName::gl_LastFragColor,
506     SymbolType::BuiltIn,
507     std::array<TExtension, 1u>{{TExtension::NV_shader_framebuffer_fetch}},
508     StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>());
509 constexpr const TVariable kgl_LastFragColorARM(
510     BuiltInId::gl_LastFragColorARM,
511     BuiltInName::gl_LastFragColorARM,
512     SymbolType::BuiltIn,
513     std::array<TExtension, 1u>{{TExtension::ARM_shader_framebuffer_fetch}},
514     StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>());
515 constexpr const TVariable kgl_LastFragDepthARM(
516     BuiltInId::gl_LastFragDepthARM,
517     BuiltInName::gl_LastFragDepthARM,
518     SymbolType::BuiltIn,
519     std::array<TExtension, 1u>{{TExtension::ARM_shader_framebuffer_fetch_depth_stencil}},
520     StaticType::Get<EbtFloat, EbpHigh, EvqLastFragDepth, 1, 1>());
521 constexpr const TVariable kgl_LastFragStencilARM(
522     BuiltInId::gl_LastFragStencilARM,
523     BuiltInName::gl_LastFragStencilARM,
524     SymbolType::BuiltIn,
525     std::array<TExtension, 1u>{{TExtension::ARM_shader_framebuffer_fetch_depth_stencil}},
526     StaticType::Get<EbtInt, EbpLow, EvqLastFragStencil, 1, 1>());
527 constexpr const TVariable kgl_Layer(BuiltInId::gl_Layer,
528                                     BuiltInName::gl_Layer,
529                                     SymbolType::BuiltIn,
530                                     std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader,
531                                                                 TExtension::OES_geometry_shader}},
532                                     StaticType::Get<EbtInt, EbpHigh, EvqLayerIn, 1, 1>());
533 constexpr const TVariable kgl_LayerES3_2(BuiltInId::gl_LayerES3_2,
534                                          BuiltInName::gl_Layer,
535                                          SymbolType::BuiltIn,
536                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
537                                          StaticType::Get<EbtInt, EbpHigh, EvqLayerIn, 1, 1>());
538 constexpr const TVariable kgl_LayerGS(BuiltInId::gl_LayerGS,
539                                       BuiltInName::gl_Layer,
540                                       SymbolType::BuiltIn,
541                                       std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader,
542                                                                   TExtension::OES_geometry_shader}},
543                                       StaticType::Get<EbtInt, EbpHigh, EvqLayerOut, 1, 1>());
544 constexpr const TVariable kgl_LayerGSES3_2(BuiltInId::gl_LayerGSES3_2,
545                                            BuiltInName::gl_Layer,
546                                            SymbolType::BuiltIn,
547                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
548                                            StaticType::Get<EbtInt, EbpHigh, EvqLayerOut, 1, 1>());
549 constexpr const TVariable kgl_LayerVS(BuiltInId::gl_LayerVS,
550                                       BuiltInName::gl_Layer,
551                                       SymbolType::BuiltIn,
552                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
553                                       StaticType::Get<EbtInt, EbpHigh, EvqLayerOut, 1, 1>());
554 constexpr const TVariable kgl_LocalInvocationID(
555     BuiltInId::gl_LocalInvocationID,
556     BuiltInName::gl_LocalInvocationID,
557     SymbolType::BuiltIn,
558     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
559     StaticType::Get<EbtUInt, EbpHigh, EvqLocalInvocationID, 3, 1>());
560 constexpr const TVariable kgl_LocalInvocationIndex(
561     BuiltInId::gl_LocalInvocationIndex,
562     BuiltInName::gl_LocalInvocationIndex,
563     SymbolType::BuiltIn,
564     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
565     StaticType::Get<EbtUInt, EbpHigh, EvqLocalInvocationIndex, 1, 1>());
566 constexpr const TVariable kgl_NumSamples(BuiltInId::gl_NumSamples,
567                                          BuiltInName::gl_NumSamples,
568                                          SymbolType::BuiltIn,
569                                          std::array<TExtension, 1u>{
570                                              {TExtension::OES_sample_variables}},
571                                          StaticType::Get<EbtInt, EbpLow, EvqUniform, 1, 1>());
572 constexpr const TVariable kgl_NumSamplesES3_2(BuiltInId::gl_NumSamplesES3_2,
573                                               BuiltInName::gl_NumSamples,
574                                               SymbolType::BuiltIn,
575                                               std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
576                                               StaticType::Get<EbtInt, EbpLow, EvqUniform, 1, 1>());
577 constexpr const TVariable kgl_NumWorkGroups(
578     BuiltInId::gl_NumWorkGroups,
579     BuiltInName::gl_NumWorkGroups,
580     SymbolType::BuiltIn,
581     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
582     StaticType::Get<EbtUInt, EbpHigh, EvqNumWorkGroups, 3, 1>());
583 constexpr const TVariable kgl_PatchVerticesInTCS(
584     BuiltInId::gl_PatchVerticesInTCS,
585     BuiltInName::gl_PatchVerticesIn,
586     SymbolType::BuiltIn,
587     std::array<TExtension, 2u>{
588         {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
589     StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>());
590 constexpr const TVariable kgl_PatchVerticesInTCSES3_2(
591     BuiltInId::gl_PatchVerticesInTCSES3_2,
592     BuiltInName::gl_PatchVerticesIn,
593     SymbolType::BuiltIn,
594     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
595     StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>());
596 constexpr const TVariable kgl_PatchVerticesInTES(
597     BuiltInId::gl_PatchVerticesInTES,
598     BuiltInName::gl_PatchVerticesIn,
599     SymbolType::BuiltIn,
600     std::array<TExtension, 2u>{
601         {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
602     StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>());
603 constexpr const TVariable kgl_PatchVerticesInTESES3_2(
604     BuiltInId::gl_PatchVerticesInTESES3_2,
605     BuiltInName::gl_PatchVerticesIn,
606     SymbolType::BuiltIn,
607     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
608     StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>());
609 constexpr const TVariable kgl_PointCoord(
610     BuiltInId::gl_PointCoord,
611     BuiltInName::gl_PointCoord,
612     SymbolType::BuiltIn,
613     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
614     StaticType::Get<EbtFloat, EbpMedium, EvqPointCoord, 2, 1>());
615 constexpr const TVariable kgl_PointSize(BuiltInId::gl_PointSize,
616                                         BuiltInName::gl_PointSize,
617                                         SymbolType::BuiltIn,
618                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
619                                         StaticType::Get<EbtFloat, EbpMedium, EvqPointSize, 1, 1>());
620 constexpr const TVariable kgl_PointSize300(
621     BuiltInId::gl_PointSize300,
622     BuiltInName::gl_PointSize,
623     SymbolType::BuiltIn,
624     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
625     StaticType::Get<EbtFloat, EbpHigh, EvqPointSize, 1, 1>());
626 constexpr const TVariable kgl_Position(BuiltInId::gl_Position,
627                                        BuiltInName::gl_Position,
628                                        SymbolType::BuiltIn,
629                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
630                                        StaticType::Get<EbtFloat, EbpHigh, EvqPosition, 4, 1>());
631 constexpr const TVariable kgl_PrimitiveID(
632     BuiltInId::gl_PrimitiveID,
633     BuiltInName::gl_PrimitiveID,
634     SymbolType::BuiltIn,
635     std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
636     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
637 constexpr const TVariable kgl_PrimitiveIDES3_2(
638     BuiltInId::gl_PrimitiveIDES3_2,
639     BuiltInName::gl_PrimitiveID,
640     SymbolType::BuiltIn,
641     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
642     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
643 constexpr const TVariable kgl_PrimitiveIDGS(
644     BuiltInId::gl_PrimitiveIDGS,
645     BuiltInName::gl_PrimitiveID,
646     SymbolType::BuiltIn,
647     std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
648     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
649 constexpr const TVariable kgl_PrimitiveIDGSES3_2(
650     BuiltInId::gl_PrimitiveIDGSES3_2,
651     BuiltInName::gl_PrimitiveID,
652     SymbolType::BuiltIn,
653     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
654     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
655 constexpr const TVariable kgl_PrimitiveIDIn(
656     BuiltInId::gl_PrimitiveIDIn,
657     BuiltInName::gl_PrimitiveIDIn,
658     SymbolType::BuiltIn,
659     std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
660     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>());
661 constexpr const TVariable kgl_PrimitiveIDInES3_2(
662     BuiltInId::gl_PrimitiveIDInES3_2,
663     BuiltInName::gl_PrimitiveIDIn,
664     SymbolType::BuiltIn,
665     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
666     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>());
667 constexpr const TVariable kgl_PrimitiveIDTCS(
668     BuiltInId::gl_PrimitiveIDTCS,
669     BuiltInName::gl_PrimitiveID,
670     SymbolType::BuiltIn,
671     std::array<TExtension, 2u>{
672         {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
673     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
674 constexpr const TVariable kgl_PrimitiveIDTCSES3_2(
675     BuiltInId::gl_PrimitiveIDTCSES3_2,
676     BuiltInName::gl_PrimitiveID,
677     SymbolType::BuiltIn,
678     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
679     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
680 constexpr const TVariable kgl_PrimitiveIDTES(
681     BuiltInId::gl_PrimitiveIDTES,
682     BuiltInName::gl_PrimitiveID,
683     SymbolType::BuiltIn,
684     std::array<TExtension, 2u>{
685         {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
686     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
687 constexpr const TVariable kgl_PrimitiveIDTESES3_2(
688     BuiltInId::gl_PrimitiveIDTESES3_2,
689     BuiltInName::gl_PrimitiveID,
690     SymbolType::BuiltIn,
691     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
692     StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
693 constexpr const TVariable kgl_SampleID(BuiltInId::gl_SampleID,
694                                        BuiltInName::gl_SampleID,
695                                        SymbolType::BuiltIn,
696                                        std::array<TExtension, 1u>{
697                                            {TExtension::OES_sample_variables}},
698                                        StaticType::Get<EbtInt, EbpLow, EvqSampleID, 1, 1>());
699 constexpr const TVariable kgl_SampleIDES3_2(BuiltInId::gl_SampleIDES3_2,
700                                             BuiltInName::gl_SampleID,
701                                             SymbolType::BuiltIn,
702                                             std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
703                                             StaticType::Get<EbtInt, EbpLow, EvqSampleID, 1, 1>());
704 constexpr const TVariable kgl_SamplePosition(
705     BuiltInId::gl_SamplePosition,
706     BuiltInName::gl_SamplePosition,
707     SymbolType::BuiltIn,
708     std::array<TExtension, 1u>{{TExtension::OES_sample_variables}},
709     StaticType::Get<EbtFloat, EbpMedium, EvqSamplePosition, 2, 1>());
710 constexpr const TVariable kgl_SamplePositionES3_2(
711     BuiltInId::gl_SamplePositionES3_2,
712     BuiltInName::gl_SamplePosition,
713     SymbolType::BuiltIn,
714     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
715     StaticType::Get<EbtFloat, EbpMedium, EvqSamplePosition, 2, 1>());
716 constexpr const TVariable kgl_SecondaryFragColorEXT(
717     BuiltInId::gl_SecondaryFragColorEXT,
718     BuiltInName::gl_SecondaryFragColorEXT,
719     SymbolType::BuiltIn,
720     std::array<TExtension, 1u>{{TExtension::EXT_blend_func_extended}},
721     StaticType::Get<EbtFloat, EbpMedium, EvqSecondaryFragColorEXT, 4, 1>());
722 constexpr const TVariable kgl_TessCoord(BuiltInId::gl_TessCoord,
723                                         BuiltInName::gl_TessCoord,
724                                         SymbolType::BuiltIn,
725                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
726                                         StaticType::Get<EbtFloat, EbpHigh, EvqTessCoord, 3, 1>());
727 constexpr const TVariable kgl_VertexID(BuiltInId::gl_VertexID,
728                                        BuiltInName::gl_VertexID,
729                                        SymbolType::BuiltIn,
730                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
731                                        StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>());
732 constexpr const TVariable kgl_VertexIndex(BuiltInId::gl_VertexIndex,
733                                           BuiltInName::gl_VertexIndex,
734                                           SymbolType::BuiltIn,
735                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
736                                           StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>());
737 constexpr const TVariable kgl_ViewID_OVR(BuiltInId::gl_ViewID_OVR,
738                                          BuiltInName::gl_ViewID_OVR,
739                                          SymbolType::BuiltIn,
740                                          std::array<TExtension, 1u>{{TExtension::OVR_multiview}},
741                                          StaticType::Get<EbtUInt, EbpHigh, EvqViewIDOVR, 1, 1>());
742 constexpr const TVariable kgl_WorkGroupID(
743     BuiltInId::gl_WorkGroupID,
744     BuiltInName::gl_WorkGroupID,
745     SymbolType::BuiltIn,
746     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
747     StaticType::Get<EbtUInt, EbpHigh, EvqWorkGroupID, 3, 1>());
748 constexpr const TVariable kgl_WorkGroupSize(
749     BuiltInId::gl_WorkGroupSize,
750     BuiltInName::gl_WorkGroupSize,
751     SymbolType::BuiltIn,
752     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
753     StaticType::Get<EbtUInt, EbpHigh, EvqWorkGroupSize, 3, 1>());
754 constexpr const TVariable kpt00B(BuiltInId::pt00B,
755                                  BuiltInName::_empty,
756                                  SymbolType::BuiltIn,
757                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
758                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>());
759 constexpr const TVariable kpt00C(BuiltInId::pt00C,
760                                  BuiltInName::_empty,
761                                  SymbolType::BuiltIn,
762                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
763                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>());
764 constexpr const TVariable kpt00D(BuiltInId::pt00D,
765                                  BuiltInName::_empty,
766                                  SymbolType::BuiltIn,
767                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
768                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>());
769 constexpr const TVariable kpt00E(BuiltInId::pt00E,
770                                  BuiltInName::_empty,
771                                  SymbolType::BuiltIn,
772                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
773                                  StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>());
774 constexpr const TVariable kpt00F(
775     BuiltInId::pt00F,
776     BuiltInName::_empty,
777     SymbolType::BuiltIn,
778     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
779     StaticType::Get<EbtAtomicCounter, EbpUndefined, EvqGlobal, 1, 1>());
780 constexpr const TVariable kpt00G(
781     BuiltInId::pt00G,
782     BuiltInName::_empty,
783     SymbolType::BuiltIn,
784     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
785     StaticType::Get<EbtYuvCscStandardEXT, EbpUndefined, EvqGlobal, 1, 1>());
786 constexpr const TVariable kpt00H(BuiltInId::pt00H,
787                                  BuiltInName::_empty,
788                                  SymbolType::BuiltIn,
789                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
790                                  StaticType::Get<EbtSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
791 constexpr const TVariable kpt00I(BuiltInId::pt00I,
792                                  BuiltInName::_empty,
793                                  SymbolType::BuiltIn,
794                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
795                                  StaticType::Get<EbtSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
796 constexpr const TVariable kpt00J(BuiltInId::pt00J,
797                                  BuiltInName::_empty,
798                                  SymbolType::BuiltIn,
799                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
800                                  StaticType::Get<EbtSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
801 constexpr const TVariable kpt00K(
802     BuiltInId::pt00K,
803     BuiltInName::_empty,
804     SymbolType::BuiltIn,
805     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
806     StaticType::Get<EbtSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
807 constexpr const TVariable kpt00L(
808     BuiltInId::pt00L,
809     BuiltInName::_empty,
810     SymbolType::BuiltIn,
811     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
812     StaticType::Get<EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, 1>());
813 constexpr const TVariable kpt00M(
814     BuiltInId::pt00M,
815     BuiltInName::_empty,
816     SymbolType::BuiltIn,
817     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
818     StaticType::Get<EbtSamplerExternal2DY2YEXT, EbpUndefined, EvqGlobal, 1, 1>());
819 constexpr const TVariable kpt00N(
820     BuiltInId::pt00N,
821     BuiltInName::_empty,
822     SymbolType::BuiltIn,
823     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
824     StaticType::Get<EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, 1>());
825 constexpr const TVariable kpt00O(BuiltInId::pt00O,
826                                  BuiltInName::_empty,
827                                  SymbolType::BuiltIn,
828                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
829                                  StaticType::Get<EbtSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
830 constexpr const TVariable kpt00P(
831     BuiltInId::pt00P,
832     BuiltInName::_empty,
833     SymbolType::BuiltIn,
834     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
835     StaticType::Get<EbtSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
836 constexpr const TVariable kpt00Q(BuiltInId::pt00Q,
837                                  BuiltInName::_empty,
838                                  SymbolType::BuiltIn,
839                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
840                                  StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
841 constexpr const TVariable kpt00R(BuiltInId::pt00R,
842                                  BuiltInName::_empty,
843                                  SymbolType::BuiltIn,
844                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
845                                  StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
846 constexpr const TVariable kpt00S(BuiltInId::pt00S,
847                                  BuiltInName::_empty,
848                                  SymbolType::BuiltIn,
849                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
850                                  StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
851 constexpr const TVariable kpt00T(
852     BuiltInId::pt00T,
853     BuiltInName::_empty,
854     SymbolType::BuiltIn,
855     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
856     StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
857 constexpr const TVariable kpt00U(BuiltInId::pt00U,
858                                  BuiltInName::_empty,
859                                  SymbolType::BuiltIn,
860                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
861                                  StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
862 constexpr const TVariable kpt00V(
863     BuiltInId::pt00V,
864     BuiltInName::_empty,
865     SymbolType::BuiltIn,
866     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
867     StaticType::Get<EbtISampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
868 constexpr const TVariable kpt00W(BuiltInId::pt00W,
869                                  BuiltInName::_empty,
870                                  SymbolType::BuiltIn,
871                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
872                                  StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
873 constexpr const TVariable kpt00X(BuiltInId::pt00X,
874                                  BuiltInName::_empty,
875                                  SymbolType::BuiltIn,
876                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
877                                  StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
878 constexpr const TVariable kpt00Y(BuiltInId::pt00Y,
879                                  BuiltInName::_empty,
880                                  SymbolType::BuiltIn,
881                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
882                                  StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
883 constexpr const TVariable kpt00Z(
884     BuiltInId::pt00Z,
885     BuiltInName::_empty,
886     SymbolType::BuiltIn,
887     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
888     StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
889 constexpr const TVariable kpt00a(BuiltInId::pt00a,
890                                  BuiltInName::_empty,
891                                  SymbolType::BuiltIn,
892                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
893                                  StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
894 constexpr const TVariable kpt00b(
895     BuiltInId::pt00b,
896     BuiltInName::_empty,
897     SymbolType::BuiltIn,
898     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
899     StaticType::Get<EbtUSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
900 constexpr const TVariable kpt00c(
901     BuiltInId::pt00c,
902     BuiltInName::_empty,
903     SymbolType::BuiltIn,
904     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
905     StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
906 constexpr const TVariable kpt00d(
907     BuiltInId::pt00d,
908     BuiltInName::_empty,
909     SymbolType::BuiltIn,
910     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
911     StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
912 constexpr const TVariable kpt00e(
913     BuiltInId::pt00e,
914     BuiltInName::_empty,
915     SymbolType::BuiltIn,
916     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
917     StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
918 constexpr const TVariable kpt00f(
919     BuiltInId::pt00f,
920     BuiltInName::_empty,
921     SymbolType::BuiltIn,
922     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
923     StaticType::Get<EbtSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
924 constexpr const TVariable kpt00g(
925     BuiltInId::pt00g,
926     BuiltInName::_empty,
927     SymbolType::BuiltIn,
928     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
929     StaticType::Get<EbtSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
930 constexpr const TVariable kpt00h(
931     BuiltInId::pt00h,
932     BuiltInName::_empty,
933     SymbolType::BuiltIn,
934     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
935     StaticType::Get<EbtSamplerCubeArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
936 constexpr const TVariable kpt00k(
937     BuiltInId::pt00k,
938     BuiltInName::_empty,
939     SymbolType::BuiltIn,
940     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
941     StaticType::Get<EbtISamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
942 constexpr const TVariable kpt00l(
943     BuiltInId::pt00l,
944     BuiltInName::_empty,
945     SymbolType::BuiltIn,
946     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
947     StaticType::Get<EbtISamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
948 constexpr const TVariable kpt00n(
949     BuiltInId::pt00n,
950     BuiltInName::_empty,
951     SymbolType::BuiltIn,
952     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
953     StaticType::Get<EbtUSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
954 constexpr const TVariable kpt00o(
955     BuiltInId::pt00o,
956     BuiltInName::_empty,
957     SymbolType::BuiltIn,
958     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
959     StaticType::Get<EbtUSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
960 constexpr const TVariable kpt00p(
961     BuiltInId::pt00p,
962     BuiltInName::_empty,
963     SymbolType::BuiltIn,
964     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
965     StaticType::Get<EbtSamplerVideoWEBGL, EbpUndefined, EvqGlobal, 1, 1>());
966 constexpr const TVariable kpt00q(BuiltInId::pt00q,
967                                  BuiltInName::_empty,
968                                  SymbolType::BuiltIn,
969                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
970                                  StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
971 constexpr const TVariable kpt00r(BuiltInId::pt00r,
972                                  BuiltInName::_empty,
973                                  SymbolType::BuiltIn,
974                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
975                                  StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
976 constexpr const TVariable kpt00s(BuiltInId::pt00s,
977                                  BuiltInName::_empty,
978                                  SymbolType::BuiltIn,
979                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
980                                  StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
981 constexpr const TVariable kpt00t(BuiltInId::pt00t,
982                                  BuiltInName::_empty,
983                                  SymbolType::BuiltIn,
984                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
985                                  StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
986 constexpr const TVariable kpt00u(BuiltInId::pt00u,
987                                  BuiltInName::_empty,
988                                  SymbolType::BuiltIn,
989                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
990                                  StaticType::Get<EbtImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
991 constexpr const TVariable kpt00v(
992     BuiltInId::pt00v,
993     BuiltInName::_empty,
994     SymbolType::BuiltIn,
995     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
996     StaticType::Get<EbtImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
997 constexpr const TVariable kpt00w(
998     BuiltInId::pt00w,
999     BuiltInName::_empty,
1000     SymbolType::BuiltIn,
1001     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1002     StaticType::Get<EbtImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
1003 constexpr const TVariable kpt00x(BuiltInId::pt00x,
1004                                  BuiltInName::_empty,
1005                                  SymbolType::BuiltIn,
1006                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1007                                  StaticType::Get<EbtImageRect, EbpUndefined, EvqGlobal, 1, 1>());
1008 constexpr const TVariable kpt00y(BuiltInId::pt00y,
1009                                  BuiltInName::_empty,
1010                                  SymbolType::BuiltIn,
1011                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1012                                  StaticType::Get<EbtImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
1013 constexpr const TVariable kpt00z(BuiltInId::pt00z,
1014                                  BuiltInName::_empty,
1015                                  SymbolType::BuiltIn,
1016                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1017                                  StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
1018 constexpr const TVariable kpt01A(BuiltInId::pt01A,
1019                                  BuiltInName::_empty,
1020                                  SymbolType::BuiltIn,
1021                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1022                                  StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
1023 constexpr const TVariable kpt01B(
1024     BuiltInId::pt01B,
1025     BuiltInName::_empty,
1026     SymbolType::BuiltIn,
1027     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1028     StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
1029 constexpr const TVariable kpt01C(BuiltInId::pt01C,
1030                                  BuiltInName::_empty,
1031                                  SymbolType::BuiltIn,
1032                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1033                                  StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
1034 constexpr const TVariable kpt01D(BuiltInId::pt01D,
1035                                  BuiltInName::_empty,
1036                                  SymbolType::BuiltIn,
1037                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1038                                  StaticType::Get<EbtIImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
1039 constexpr const TVariable kpt01E(
1040     BuiltInId::pt01E,
1041     BuiltInName::_empty,
1042     SymbolType::BuiltIn,
1043     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1044     StaticType::Get<EbtIImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
1045 constexpr const TVariable kpt01F(
1046     BuiltInId::pt01F,
1047     BuiltInName::_empty,
1048     SymbolType::BuiltIn,
1049     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1050     StaticType::Get<EbtIImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
1051 constexpr const TVariable kpt01G(BuiltInId::pt01G,
1052                                  BuiltInName::_empty,
1053                                  SymbolType::BuiltIn,
1054                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1055                                  StaticType::Get<EbtIImageRect, EbpUndefined, EvqGlobal, 1, 1>());
1056 constexpr const TVariable kpt01H(BuiltInId::pt01H,
1057                                  BuiltInName::_empty,
1058                                  SymbolType::BuiltIn,
1059                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1060                                  StaticType::Get<EbtIImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
1061 constexpr const TVariable kpt01I(BuiltInId::pt01I,
1062                                  BuiltInName::_empty,
1063                                  SymbolType::BuiltIn,
1064                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1065                                  StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
1066 constexpr const TVariable kpt01J(BuiltInId::pt01J,
1067                                  BuiltInName::_empty,
1068                                  SymbolType::BuiltIn,
1069                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1070                                  StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>());
1071 constexpr const TVariable kpt01K(
1072     BuiltInId::pt01K,
1073     BuiltInName::_empty,
1074     SymbolType::BuiltIn,
1075     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1076     StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
1077 constexpr const TVariable kpt01L(BuiltInId::pt01L,
1078                                  BuiltInName::_empty,
1079                                  SymbolType::BuiltIn,
1080                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1081                                  StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>());
1082 constexpr const TVariable kpt01M(BuiltInId::pt01M,
1083                                  BuiltInName::_empty,
1084                                  SymbolType::BuiltIn,
1085                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1086                                  StaticType::Get<EbtUImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
1087 constexpr const TVariable kpt01N(
1088     BuiltInId::pt01N,
1089     BuiltInName::_empty,
1090     SymbolType::BuiltIn,
1091     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1092     StaticType::Get<EbtUImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
1093 constexpr const TVariable kpt01O(
1094     BuiltInId::pt01O,
1095     BuiltInName::_empty,
1096     SymbolType::BuiltIn,
1097     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1098     StaticType::Get<EbtUImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
1099 constexpr const TVariable kpt01P(BuiltInId::pt01P,
1100                                  BuiltInName::_empty,
1101                                  SymbolType::BuiltIn,
1102                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1103                                  StaticType::Get<EbtUImageRect, EbpUndefined, EvqGlobal, 1, 1>());
1104 constexpr const TVariable kpt01Q(BuiltInId::pt01Q,
1105                                  BuiltInName::_empty,
1106                                  SymbolType::BuiltIn,
1107                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1108                                  StaticType::Get<EbtUImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
1109 constexpr const TVariable kpt01R(
1110     BuiltInId::pt01R,
1111     BuiltInName::_empty,
1112     SymbolType::BuiltIn,
1113     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1114     StaticType::Get<EbtPixelLocalANGLE, EbpUndefined, EvqGlobal, 1, 1>());
1115 constexpr const TVariable kpt01S(
1116     BuiltInId::pt01S,
1117     BuiltInName::_empty,
1118     SymbolType::BuiltIn,
1119     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1120     StaticType::Get<EbtIPixelLocalANGLE, EbpUndefined, EvqGlobal, 1, 1>());
1121 constexpr const TVariable kpt01T(
1122     BuiltInId::pt01T,
1123     BuiltInName::_empty,
1124     SymbolType::BuiltIn,
1125     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1126     StaticType::Get<EbtUPixelLocalANGLE, EbpUndefined, EvqGlobal, 1, 1>());
1127 constexpr const TVariable kpt01U(BuiltInId::pt01U,
1128                                  BuiltInName::_empty,
1129                                  SymbolType::BuiltIn,
1130                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1131                                  StaticType::Get<EbtSubpassInput, EbpUndefined, EvqGlobal, 1, 1>());
1132 constexpr const TVariable kpt01V(
1133     BuiltInId::pt01V,
1134     BuiltInName::_empty,
1135     SymbolType::BuiltIn,
1136     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1137     StaticType::Get<EbtISubpassInput, EbpUndefined, EvqGlobal, 1, 1>());
1138 constexpr const TVariable kpt01W(
1139     BuiltInId::pt01W,
1140     BuiltInName::_empty,
1141     SymbolType::BuiltIn,
1142     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1143     StaticType::Get<EbtUSubpassInput, EbpUndefined, EvqGlobal, 1, 1>());
1144 constexpr const TVariable kpt10B(BuiltInId::pt10B,
1145                                  BuiltInName::_empty,
1146                                  SymbolType::BuiltIn,
1147                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1148                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>());
1149 constexpr const TVariable kpt10C(BuiltInId::pt10C,
1150                                  BuiltInName::_empty,
1151                                  SymbolType::BuiltIn,
1152                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1153                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>());
1154 constexpr const TVariable kpt10Cx4(
1155     BuiltInId::pt10Cx4,
1156     BuiltInName::_empty,
1157     SymbolType::BuiltIn,
1158     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1159     StaticType::GetArray<EbtInt, EbpUndefined, EvqGlobal, 2, 1, kArraySize4, 1>());
1160 constexpr const TVariable kpt10D(BuiltInId::pt10D,
1161                                  BuiltInName::_empty,
1162                                  SymbolType::BuiltIn,
1163                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1164                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>());
1165 constexpr const TVariable kpt10E(BuiltInId::pt10E,
1166                                  BuiltInName::_empty,
1167                                  SymbolType::BuiltIn,
1168                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1169                                  StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>());
1170 constexpr const TVariable kpt20B(BuiltInId::pt20B,
1171                                  BuiltInName::_empty,
1172                                  SymbolType::BuiltIn,
1173                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1174                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>());
1175 constexpr const TVariable kpt20C(BuiltInId::pt20C,
1176                                  BuiltInName::_empty,
1177                                  SymbolType::BuiltIn,
1178                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1179                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>());
1180 constexpr const TVariable kpt20D(BuiltInId::pt20D,
1181                                  BuiltInName::_empty,
1182                                  SymbolType::BuiltIn,
1183                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1184                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>());
1185 constexpr const TVariable kpt20E(BuiltInId::pt20E,
1186                                  BuiltInName::_empty,
1187                                  SymbolType::BuiltIn,
1188                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1189                                  StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>());
1190 constexpr const TVariable kpt30B(BuiltInId::pt30B,
1191                                  BuiltInName::_empty,
1192                                  SymbolType::BuiltIn,
1193                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1194                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>());
1195 constexpr const TVariable kpt30C(BuiltInId::pt30C,
1196                                  BuiltInName::_empty,
1197                                  SymbolType::BuiltIn,
1198                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1199                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>());
1200 constexpr const TVariable kpt30D(BuiltInId::pt30D,
1201                                  BuiltInName::_empty,
1202                                  SymbolType::BuiltIn,
1203                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1204                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>());
1205 constexpr const TVariable kpt30E(BuiltInId::pt30E,
1206                                  BuiltInName::_empty,
1207                                  SymbolType::BuiltIn,
1208                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1209                                  StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>());
1210 constexpr const TVariable kpt50B(BuiltInId::pt50B,
1211                                  BuiltInName::_empty,
1212                                  SymbolType::BuiltIn,
1213                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1214                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>());
1215 constexpr const TVariable kpt60B(BuiltInId::pt60B,
1216                                  BuiltInName::_empty,
1217                                  SymbolType::BuiltIn,
1218                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1219                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>());
1220 constexpr const TVariable kpt70B(BuiltInId::pt70B,
1221                                  BuiltInName::_empty,
1222                                  SymbolType::BuiltIn,
1223                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1224                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>());
1225 constexpr const TVariable kpt90B(BuiltInId::pt90B,
1226                                  BuiltInName::_empty,
1227                                  SymbolType::BuiltIn,
1228                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1229                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>());
1230 constexpr const TVariable kptA0B(BuiltInId::ptA0B,
1231                                  BuiltInName::_empty,
1232                                  SymbolType::BuiltIn,
1233                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1234                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>());
1235 constexpr const TVariable kptB0B(BuiltInId::ptB0B,
1236                                  BuiltInName::_empty,
1237                                  SymbolType::BuiltIn,
1238                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1239                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>());
1240 constexpr const TVariable kptD0B(BuiltInId::ptD0B,
1241                                  BuiltInName::_empty,
1242                                  SymbolType::BuiltIn,
1243                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1244                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>());
1245 constexpr const TVariable kptE0B(BuiltInId::ptE0B,
1246                                  BuiltInName::_empty,
1247                                  SymbolType::BuiltIn,
1248                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1249                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>());
1250 constexpr const TVariable kptF0B(BuiltInId::ptF0B,
1251                                  BuiltInName::_empty,
1252                                  SymbolType::BuiltIn,
1253                                  std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1254                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>());
1255 constexpr const TVariable kpt_io_00C(BuiltInId::pt_io_00C,
1256                                      BuiltInName::_empty,
1257                                      SymbolType::BuiltIn,
1258                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1259                                      StaticType::Get<EbtInt, EbpUndefined, EvqParamInOut, 1, 1>());
1260 constexpr const TVariable kpt_io_00D(BuiltInId::pt_io_00D,
1261                                      BuiltInName::_empty,
1262                                      SymbolType::BuiltIn,
1263                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1264                                      StaticType::Get<EbtUInt, EbpUndefined, EvqParamInOut, 1, 1>());
1265 constexpr const TVariable kpt_o_00B(BuiltInId::pt_o_00B,
1266                                     BuiltInName::_empty,
1267                                     SymbolType::BuiltIn,
1268                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1269                                     StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 1, 1>());
1270 constexpr const TVariable kpt_o_00C(BuiltInId::pt_o_00C,
1271                                     BuiltInName::_empty,
1272                                     SymbolType::BuiltIn,
1273                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1274                                     StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 1, 1>());
1275 constexpr const TVariable kpt_o_00D(BuiltInId::pt_o_00D,
1276                                     BuiltInName::_empty,
1277                                     SymbolType::BuiltIn,
1278                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1279                                     StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 1, 1>());
1280 constexpr const TVariable kpt_o_10B(BuiltInId::pt_o_10B,
1281                                     BuiltInName::_empty,
1282                                     SymbolType::BuiltIn,
1283                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1284                                     StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 2, 1>());
1285 constexpr const TVariable kpt_o_10C(BuiltInId::pt_o_10C,
1286                                     BuiltInName::_empty,
1287                                     SymbolType::BuiltIn,
1288                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1289                                     StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 2, 1>());
1290 constexpr const TVariable kpt_o_10D(BuiltInId::pt_o_10D,
1291                                     BuiltInName::_empty,
1292                                     SymbolType::BuiltIn,
1293                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1294                                     StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 2, 1>());
1295 constexpr const TVariable kpt_o_20B(BuiltInId::pt_o_20B,
1296                                     BuiltInName::_empty,
1297                                     SymbolType::BuiltIn,
1298                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1299                                     StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 3, 1>());
1300 constexpr const TVariable kpt_o_20C(BuiltInId::pt_o_20C,
1301                                     BuiltInName::_empty,
1302                                     SymbolType::BuiltIn,
1303                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1304                                     StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 3, 1>());
1305 constexpr const TVariable kpt_o_20D(BuiltInId::pt_o_20D,
1306                                     BuiltInName::_empty,
1307                                     SymbolType::BuiltIn,
1308                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1309                                     StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 3, 1>());
1310 constexpr const TVariable kpt_o_30B(BuiltInId::pt_o_30B,
1311                                     BuiltInName::_empty,
1312                                     SymbolType::BuiltIn,
1313                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1314                                     StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 4, 1>());
1315 constexpr const TVariable kpt_o_30C(BuiltInId::pt_o_30C,
1316                                     BuiltInName::_empty,
1317                                     SymbolType::BuiltIn,
1318                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1319                                     StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 4, 1>());
1320 constexpr const TVariable kpt_o_30D(BuiltInId::pt_o_30D,
1321                                     BuiltInName::_empty,
1322                                     SymbolType::BuiltIn,
1323                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
1324                                     StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 4, 1>());
1325 
angle_BaseInstance()1326 const TVariable *angle_BaseInstance()
1327 {
1328     return &kangle_BaseInstance;
1329 }
1330 
angle_BaseVertex()1331 const TVariable *angle_BaseVertex()
1332 {
1333     return &kangle_BaseVertex;
1334 }
1335 
gl_BaseInstance()1336 const TVariable *gl_BaseInstance()
1337 {
1338     return &kgl_BaseInstance;
1339 }
1340 
gl_BaseVertex()1341 const TVariable *gl_BaseVertex()
1342 {
1343     return &kgl_BaseVertex;
1344 }
1345 
gl_DrawID()1346 const TVariable *gl_DrawID()
1347 {
1348     return &kgl_DrawID;
1349 }
1350 
gl_FragColor()1351 const TVariable *gl_FragColor()
1352 {
1353     return &kgl_FragColor;
1354 }
1355 
gl_FragCoord()1356 const TVariable *gl_FragCoord()
1357 {
1358     return &kgl_FragCoord;
1359 }
1360 
gl_FragCoord300()1361 const TVariable *gl_FragCoord300()
1362 {
1363     return &kgl_FragCoord300;
1364 }
1365 
gl_FragDepth()1366 const TVariable *gl_FragDepth()
1367 {
1368     return &kgl_FragDepth;
1369 }
1370 
gl_FrontFacing()1371 const TVariable *gl_FrontFacing()
1372 {
1373     return &kgl_FrontFacing;
1374 }
1375 
gl_GlobalInvocationID()1376 const TVariable *gl_GlobalInvocationID()
1377 {
1378     return &kgl_GlobalInvocationID;
1379 }
1380 
gl_HelperInvocation()1381 const TVariable *gl_HelperInvocation()
1382 {
1383     return &kgl_HelperInvocation;
1384 }
1385 
gl_InstanceID()1386 const TVariable *gl_InstanceID()
1387 {
1388     return &kgl_InstanceID;
1389 }
1390 
gl_InstanceIndex()1391 const TVariable *gl_InstanceIndex()
1392 {
1393     return &kgl_InstanceIndex;
1394 }
1395 
gl_InvocationID()1396 const TVariable *gl_InvocationID()
1397 {
1398     return &kgl_InvocationID;
1399 }
1400 
gl_InvocationIDES3_2()1401 const TVariable *gl_InvocationIDES3_2()
1402 {
1403     return &kgl_InvocationIDES3_2;
1404 }
1405 
gl_InvocationIDTCS()1406 const TVariable *gl_InvocationIDTCS()
1407 {
1408     return &kgl_InvocationIDTCS;
1409 }
1410 
gl_InvocationIDTCSES3_2()1411 const TVariable *gl_InvocationIDTCSES3_2()
1412 {
1413     return &kgl_InvocationIDTCSES3_2;
1414 }
1415 
gl_LastFragColor()1416 const TVariable *gl_LastFragColor()
1417 {
1418     return &kgl_LastFragColor;
1419 }
1420 
gl_LastFragColorARM()1421 const TVariable *gl_LastFragColorARM()
1422 {
1423     return &kgl_LastFragColorARM;
1424 }
1425 
gl_LastFragDepthARM()1426 const TVariable *gl_LastFragDepthARM()
1427 {
1428     return &kgl_LastFragDepthARM;
1429 }
1430 
gl_LastFragStencilARM()1431 const TVariable *gl_LastFragStencilARM()
1432 {
1433     return &kgl_LastFragStencilARM;
1434 }
1435 
gl_Layer()1436 const TVariable *gl_Layer()
1437 {
1438     return &kgl_Layer;
1439 }
1440 
gl_LayerES3_2()1441 const TVariable *gl_LayerES3_2()
1442 {
1443     return &kgl_LayerES3_2;
1444 }
1445 
gl_LayerGS()1446 const TVariable *gl_LayerGS()
1447 {
1448     return &kgl_LayerGS;
1449 }
1450 
gl_LayerGSES3_2()1451 const TVariable *gl_LayerGSES3_2()
1452 {
1453     return &kgl_LayerGSES3_2;
1454 }
1455 
gl_LayerVS()1456 const TVariable *gl_LayerVS()
1457 {
1458     return &kgl_LayerVS;
1459 }
1460 
gl_LocalInvocationID()1461 const TVariable *gl_LocalInvocationID()
1462 {
1463     return &kgl_LocalInvocationID;
1464 }
1465 
gl_LocalInvocationIndex()1466 const TVariable *gl_LocalInvocationIndex()
1467 {
1468     return &kgl_LocalInvocationIndex;
1469 }
1470 
gl_NumSamples()1471 const TVariable *gl_NumSamples()
1472 {
1473     return &kgl_NumSamples;
1474 }
1475 
gl_NumSamplesES3_2()1476 const TVariable *gl_NumSamplesES3_2()
1477 {
1478     return &kgl_NumSamplesES3_2;
1479 }
1480 
gl_NumWorkGroups()1481 const TVariable *gl_NumWorkGroups()
1482 {
1483     return &kgl_NumWorkGroups;
1484 }
1485 
gl_PatchVerticesInTCS()1486 const TVariable *gl_PatchVerticesInTCS()
1487 {
1488     return &kgl_PatchVerticesInTCS;
1489 }
1490 
gl_PatchVerticesInTCSES3_2()1491 const TVariable *gl_PatchVerticesInTCSES3_2()
1492 {
1493     return &kgl_PatchVerticesInTCSES3_2;
1494 }
1495 
gl_PatchVerticesInTES()1496 const TVariable *gl_PatchVerticesInTES()
1497 {
1498     return &kgl_PatchVerticesInTES;
1499 }
1500 
gl_PatchVerticesInTESES3_2()1501 const TVariable *gl_PatchVerticesInTESES3_2()
1502 {
1503     return &kgl_PatchVerticesInTESES3_2;
1504 }
1505 
gl_PointCoord()1506 const TVariable *gl_PointCoord()
1507 {
1508     return &kgl_PointCoord;
1509 }
1510 
gl_PointSize()1511 const TVariable *gl_PointSize()
1512 {
1513     return &kgl_PointSize;
1514 }
1515 
gl_PointSize300()1516 const TVariable *gl_PointSize300()
1517 {
1518     return &kgl_PointSize300;
1519 }
1520 
gl_Position()1521 const TVariable *gl_Position()
1522 {
1523     return &kgl_Position;
1524 }
1525 
gl_PrimitiveID()1526 const TVariable *gl_PrimitiveID()
1527 {
1528     return &kgl_PrimitiveID;
1529 }
1530 
gl_PrimitiveIDES3_2()1531 const TVariable *gl_PrimitiveIDES3_2()
1532 {
1533     return &kgl_PrimitiveIDES3_2;
1534 }
1535 
gl_PrimitiveIDGS()1536 const TVariable *gl_PrimitiveIDGS()
1537 {
1538     return &kgl_PrimitiveIDGS;
1539 }
1540 
gl_PrimitiveIDGSES3_2()1541 const TVariable *gl_PrimitiveIDGSES3_2()
1542 {
1543     return &kgl_PrimitiveIDGSES3_2;
1544 }
1545 
gl_PrimitiveIDIn()1546 const TVariable *gl_PrimitiveIDIn()
1547 {
1548     return &kgl_PrimitiveIDIn;
1549 }
1550 
gl_PrimitiveIDInES3_2()1551 const TVariable *gl_PrimitiveIDInES3_2()
1552 {
1553     return &kgl_PrimitiveIDInES3_2;
1554 }
1555 
gl_PrimitiveIDTCS()1556 const TVariable *gl_PrimitiveIDTCS()
1557 {
1558     return &kgl_PrimitiveIDTCS;
1559 }
1560 
gl_PrimitiveIDTCSES3_2()1561 const TVariable *gl_PrimitiveIDTCSES3_2()
1562 {
1563     return &kgl_PrimitiveIDTCSES3_2;
1564 }
1565 
gl_PrimitiveIDTES()1566 const TVariable *gl_PrimitiveIDTES()
1567 {
1568     return &kgl_PrimitiveIDTES;
1569 }
1570 
gl_PrimitiveIDTESES3_2()1571 const TVariable *gl_PrimitiveIDTESES3_2()
1572 {
1573     return &kgl_PrimitiveIDTESES3_2;
1574 }
1575 
gl_SampleID()1576 const TVariable *gl_SampleID()
1577 {
1578     return &kgl_SampleID;
1579 }
1580 
gl_SampleIDES3_2()1581 const TVariable *gl_SampleIDES3_2()
1582 {
1583     return &kgl_SampleIDES3_2;
1584 }
1585 
gl_SamplePosition()1586 const TVariable *gl_SamplePosition()
1587 {
1588     return &kgl_SamplePosition;
1589 }
1590 
gl_SamplePositionES3_2()1591 const TVariable *gl_SamplePositionES3_2()
1592 {
1593     return &kgl_SamplePositionES3_2;
1594 }
1595 
gl_SecondaryFragColorEXT()1596 const TVariable *gl_SecondaryFragColorEXT()
1597 {
1598     return &kgl_SecondaryFragColorEXT;
1599 }
1600 
gl_TessCoord()1601 const TVariable *gl_TessCoord()
1602 {
1603     return &kgl_TessCoord;
1604 }
1605 
gl_VertexID()1606 const TVariable *gl_VertexID()
1607 {
1608     return &kgl_VertexID;
1609 }
1610 
gl_VertexIndex()1611 const TVariable *gl_VertexIndex()
1612 {
1613     return &kgl_VertexIndex;
1614 }
1615 
gl_ViewID_OVR()1616 const TVariable *gl_ViewID_OVR()
1617 {
1618     return &kgl_ViewID_OVR;
1619 }
1620 
gl_WorkGroupID()1621 const TVariable *gl_WorkGroupID()
1622 {
1623     return &kgl_WorkGroupID;
1624 }
1625 
gl_WorkGroupSize()1626 const TVariable *gl_WorkGroupSize()
1627 {
1628     return &kgl_WorkGroupSize;
1629 }
1630 
1631 }  // namespace BuiltInVariable
1632 
1633 namespace BuiltInParameters
1634 {
1635 
1636 constexpr const TVariable **empty        = nullptr;
1637 constexpr const TVariable *p00B00B00B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
1638                                             &BuiltInVariable::kpt00B};
1639 constexpr const TVariable *p00B00B00E[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
1640                                             &BuiltInVariable::kpt00E};
1641 constexpr const TVariable *p00B00B10B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
1642                                             &BuiltInVariable::kpt10B};
1643 constexpr const TVariable *p00B00B20B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
1644                                             &BuiltInVariable::kpt20B};
1645 constexpr const TVariable *p00B00B30B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
1646                                             &BuiltInVariable::kpt30B};
1647 constexpr const TVariable *p00B00C[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00C};
1648 constexpr const TVariable *p00B10B[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt10B};
1649 constexpr const TVariable *p00B20B[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt20B};
1650 constexpr const TVariable *p00B30B[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt30B};
1651 constexpr const TVariable *p00B_o_00B[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt_o_00B};
1652 constexpr const TVariable *p00B_o_00C[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt_o_00C};
1653 constexpr const TVariable *p00C00C00C00C[4] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
1654                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
1655 constexpr const TVariable *p00C00C00E[3]    = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
1656                                                &BuiltInVariable::kpt00E};
1657 constexpr const TVariable *p00C00C_o_00C_o_00C[4] = {
1658     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C, &BuiltInVariable::kpt_o_00C,
1659     &BuiltInVariable::kpt_o_00C};
1660 constexpr const TVariable *p00D00C00C[3]    = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00C,
1661                                                &BuiltInVariable::kpt00C};
1662 constexpr const TVariable *p00D00D00C00C[4] = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D,
1663                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
1664 constexpr const TVariable *p00D00D00D[3]    = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D,
1665                                                &BuiltInVariable::kpt00D};
1666 constexpr const TVariable *p00D00D00E[3]    = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D,
1667                                                &BuiltInVariable::kpt00E};
1668 constexpr const TVariable *p00D00D_o_00D_o_00D[4] = {
1669     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D, &BuiltInVariable::kpt_o_00D,
1670     &BuiltInVariable::kpt_o_00D};
1671 constexpr const TVariable *p00E00E00E[3]    = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E,
1672                                                &BuiltInVariable::kpt00E};
1673 constexpr const TVariable *p00F[1]          = {&BuiltInVariable::kpt00F};
1674 constexpr const TVariable *p00H00C[2]       = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt00C};
1675 constexpr const TVariable *p00H10B00B10C[4] = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt10B,
1676                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1677 constexpr const TVariable *p00H10B00C[3]    = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt10B,
1678                                                &BuiltInVariable::kpt00C};
1679 constexpr const TVariable *p00H10B10B10B10C[5] = {
1680     &BuiltInVariable::kpt00H, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
1681     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1682 constexpr const TVariable *p00H10B10C00B[4]   = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt10B,
1683                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1684 constexpr const TVariable *p00H10B10C00C[4]   = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt10B,
1685                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C};
1686 constexpr const TVariable *p00H10B10Cx400C[4] = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt10B,
1687                                                  &BuiltInVariable::kpt10Cx4,
1688                                                  &BuiltInVariable::kpt00C};
1689 constexpr const TVariable *p00H10C00C10C[4]   = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt10C,
1690                                                  &BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
1691 constexpr const TVariable *p00H20B00B10C[4]   = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt20B,
1692                                                  &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1693 constexpr const TVariable *p00H20B10B10B10C[5] = {
1694     &BuiltInVariable::kpt00H, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1695     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1696 constexpr const TVariable *p00H20B10C00B[4] = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt20B,
1697                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1698 constexpr const TVariable *p00H30B00B10C[4] = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt30B,
1699                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1700 constexpr const TVariable *p00H30B10B10B10C[5] = {
1701     &BuiltInVariable::kpt00H, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
1702     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1703 constexpr const TVariable *p00H30B10C00B[4] = {&BuiltInVariable::kpt00H, &BuiltInVariable::kpt30B,
1704                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1705 constexpr const TVariable *p00I00C[2]       = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt00C};
1706 constexpr const TVariable *p00I20B00B20C[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B,
1707                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20C};
1708 constexpr const TVariable *p00I20B20B20B20C[5] = {
1709     &BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
1710     &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
1711 constexpr const TVariable *p00I20B20C00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B,
1712                                                &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00B};
1713 constexpr const TVariable *p00I20C00C20C[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20C,
1714                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt20C};
1715 constexpr const TVariable *p00I30B00B20C[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B,
1716                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20C};
1717 constexpr const TVariable *p00I30B20B20B20C[5] = {
1718     &BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B,
1719     &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
1720 constexpr const TVariable *p00I30B20C00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B,
1721                                                &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00B};
1722 constexpr const TVariable *p00J00C[2]       = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt00C};
1723 constexpr const TVariable *p00J20B00B[3]    = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B,
1724                                                &BuiltInVariable::kpt00B};
1725 constexpr const TVariable *p00J20B00C[3]    = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B,
1726                                                &BuiltInVariable::kpt00C};
1727 constexpr const TVariable *p00J20B20B20B[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B,
1728                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1729 constexpr const TVariable *p00K00C[2]       = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt00C};
1730 constexpr const TVariable *p00K10B[2]       = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt10B};
1731 constexpr const TVariable *p00K20B00B10C[4] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
1732                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1733 constexpr const TVariable *p00K20B00C[3]    = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
1734                                                &BuiltInVariable::kpt00C};
1735 constexpr const TVariable *p00K20B10B10B10C[5] = {
1736     &BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1737     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1738 constexpr const TVariable *p00K20B10C00B[4]   = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
1739                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1740 constexpr const TVariable *p00K20B10C00C[4]   = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
1741                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C};
1742 constexpr const TVariable *p00K20B10Cx400C[4] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
1743                                                  &BuiltInVariable::kpt10Cx4,
1744                                                  &BuiltInVariable::kpt00C};
1745 constexpr const TVariable *p00K20C00C10C[4]   = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20C,
1746                                                  &BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
1747 constexpr const TVariable *p00L00C[2]       = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt00C};
1748 constexpr const TVariable *p00L10B00B[3]    = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt10B,
1749                                                &BuiltInVariable::kpt00B};
1750 constexpr const TVariable *p00L10C00C[3]    = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt10C,
1751                                                &BuiltInVariable::kpt00C};
1752 constexpr const TVariable *p00L20B00B[3]    = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B,
1753                                                &BuiltInVariable::kpt00B};
1754 constexpr const TVariable *p00L30B00B[3]    = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt30B,
1755                                                &BuiltInVariable::kpt00B};
1756 constexpr const TVariable *p00M00C[2]       = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt00C};
1757 constexpr const TVariable *p00M10B00B[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt10B,
1758                                                &BuiltInVariable::kpt00B};
1759 constexpr const TVariable *p00M10C00C[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt10C,
1760                                                &BuiltInVariable::kpt00C};
1761 constexpr const TVariable *p00M20B00B[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt20B,
1762                                                &BuiltInVariable::kpt00B};
1763 constexpr const TVariable *p00M30B00B[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt30B,
1764                                                &BuiltInVariable::kpt00B};
1765 constexpr const TVariable *p00N10B[2]       = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt10B};
1766 constexpr const TVariable *p00N20B[2]       = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt20B};
1767 constexpr const TVariable *p00N30B[2]       = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt30B};
1768 constexpr const TVariable *p00O10C00C[3]    = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt10C,
1769                                                &BuiltInVariable::kpt00C};
1770 constexpr const TVariable *p00P20C00C[3]    = {&BuiltInVariable::kpt00P, &BuiltInVariable::kpt20C,
1771                                                &BuiltInVariable::kpt00C};
1772 constexpr const TVariable *p00Q00C[2]       = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt00C};
1773 constexpr const TVariable *p00Q10B00B10C[4] = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10B,
1774                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1775 constexpr const TVariable *p00Q10B00C[3]    = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10B,
1776                                                &BuiltInVariable::kpt00C};
1777 constexpr const TVariable *p00Q10B10B10B10C[5] = {
1778     &BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
1779     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1780 constexpr const TVariable *p00Q10B10C00B[4]   = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10B,
1781                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1782 constexpr const TVariable *p00Q10B10C00C[4]   = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10B,
1783                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C};
1784 constexpr const TVariable *p00Q10B10Cx400C[4] = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10B,
1785                                                  &BuiltInVariable::kpt10Cx4,
1786                                                  &BuiltInVariable::kpt00C};
1787 constexpr const TVariable *p00Q10C00C10C[4]   = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt10C,
1788                                                  &BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
1789 constexpr const TVariable *p00Q20B00B10C[4]   = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt20B,
1790                                                  &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1791 constexpr const TVariable *p00Q20B10B10B10C[5] = {
1792     &BuiltInVariable::kpt00Q, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1793     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1794 constexpr const TVariable *p00Q20B10C00B[4] = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt20B,
1795                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1796 constexpr const TVariable *p00Q30B00B10C[4] = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt30B,
1797                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1798 constexpr const TVariable *p00Q30B10B10B10C[5] = {
1799     &BuiltInVariable::kpt00Q, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
1800     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1801 constexpr const TVariable *p00Q30B10C00B[4] = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt30B,
1802                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1803 constexpr const TVariable *p00R00C[2]       = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt00C};
1804 constexpr const TVariable *p00R20B00B20C[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B,
1805                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20C};
1806 constexpr const TVariable *p00R20B20B20B20C[5] = {
1807     &BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
1808     &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
1809 constexpr const TVariable *p00R20B20C00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B,
1810                                                &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00B};
1811 constexpr const TVariable *p00R20C00C20C[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20C,
1812                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt20C};
1813 constexpr const TVariable *p00R30B00B20C[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B,
1814                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20C};
1815 constexpr const TVariable *p00R30B20B20B20C[5] = {
1816     &BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B,
1817     &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
1818 constexpr const TVariable *p00R30B20C00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B,
1819                                                &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00B};
1820 constexpr const TVariable *p00S00C[2]       = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt00C};
1821 constexpr const TVariable *p00S20B00B[3]    = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B,
1822                                                &BuiltInVariable::kpt00B};
1823 constexpr const TVariable *p00S20B00C[3]    = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B,
1824                                                &BuiltInVariable::kpt00C};
1825 constexpr const TVariable *p00S20B20B20B[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B,
1826                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1827 constexpr const TVariable *p00T00C[2]       = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt00C};
1828 constexpr const TVariable *p00T10B[2]       = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt10B};
1829 constexpr const TVariable *p00T20B00B10C[4] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
1830                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1831 constexpr const TVariable *p00T20B00C[3]    = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
1832                                                &BuiltInVariable::kpt00C};
1833 constexpr const TVariable *p00T20B10B10B10C[5] = {
1834     &BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1835     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1836 constexpr const TVariable *p00T20B10C00B[4]   = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
1837                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1838 constexpr const TVariable *p00T20B10C00C[4]   = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
1839                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C};
1840 constexpr const TVariable *p00T20B10Cx400C[4] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
1841                                                  &BuiltInVariable::kpt10Cx4,
1842                                                  &BuiltInVariable::kpt00C};
1843 constexpr const TVariable *p00T20C00C10C[4]   = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20C,
1844                                                  &BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
1845 constexpr const TVariable *p00U10C00C[3]      = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt10C,
1846                                                  &BuiltInVariable::kpt00C};
1847 constexpr const TVariable *p00V20C00C[3]      = {&BuiltInVariable::kpt00V, &BuiltInVariable::kpt20C,
1848                                                  &BuiltInVariable::kpt00C};
1849 constexpr const TVariable *p00W00C[2]       = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt00C};
1850 constexpr const TVariable *p00W10B00B10C[4] = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt10B,
1851                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1852 constexpr const TVariable *p00W10B00C[3]    = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt10B,
1853                                                &BuiltInVariable::kpt00C};
1854 constexpr const TVariable *p00W10B10B10B10C[5] = {
1855     &BuiltInVariable::kpt00W, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
1856     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1857 constexpr const TVariable *p00W10B10C00B[4]   = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt10B,
1858                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1859 constexpr const TVariable *p00W10B10C00C[4]   = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt10B,
1860                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C};
1861 constexpr const TVariable *p00W10B10Cx400C[4] = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt10B,
1862                                                  &BuiltInVariable::kpt10Cx4,
1863                                                  &BuiltInVariable::kpt00C};
1864 constexpr const TVariable *p00W10C00C10C[4]   = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt10C,
1865                                                  &BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
1866 constexpr const TVariable *p00W20B00B10C[4]   = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt20B,
1867                                                  &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1868 constexpr const TVariable *p00W20B10B10B10C[5] = {
1869     &BuiltInVariable::kpt00W, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1870     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1871 constexpr const TVariable *p00W20B10C00B[4] = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt20B,
1872                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1873 constexpr const TVariable *p00W30B00B10C[4] = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt30B,
1874                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1875 constexpr const TVariable *p00W30B10B10B10C[5] = {
1876     &BuiltInVariable::kpt00W, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
1877     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1878 constexpr const TVariable *p00W30B10C00B[4] = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt30B,
1879                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1880 constexpr const TVariable *p00X00C[2]       = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt00C};
1881 constexpr const TVariable *p00X20B00B20C[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B,
1882                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20C};
1883 constexpr const TVariable *p00X20B20B20B20C[5] = {
1884     &BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
1885     &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
1886 constexpr const TVariable *p00X20B20C00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B,
1887                                                &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00B};
1888 constexpr const TVariable *p00X20C00C20C[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20C,
1889                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt20C};
1890 constexpr const TVariable *p00X30B00B20C[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B,
1891                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20C};
1892 constexpr const TVariable *p00X30B20B20B20C[5] = {
1893     &BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B,
1894     &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
1895 constexpr const TVariable *p00X30B20C00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B,
1896                                                &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00B};
1897 constexpr const TVariable *p00Y00C[2]       = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt00C};
1898 constexpr const TVariable *p00Y20B00B[3]    = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B,
1899                                                &BuiltInVariable::kpt00B};
1900 constexpr const TVariable *p00Y20B00C[3]    = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B,
1901                                                &BuiltInVariable::kpt00C};
1902 constexpr const TVariable *p00Y20B20B20B[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B,
1903                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1904 constexpr const TVariable *p00Z00C[2]       = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt00C};
1905 constexpr const TVariable *p00Z10B[2]       = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt10B};
1906 constexpr const TVariable *p00Z20B00B10C[4] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
1907                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1908 constexpr const TVariable *p00Z20B00C[3]    = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
1909                                                &BuiltInVariable::kpt00C};
1910 constexpr const TVariable *p00Z20B10B10B10C[5] = {
1911     &BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1912     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1913 constexpr const TVariable *p00Z20B10C00B[4]   = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
1914                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1915 constexpr const TVariable *p00Z20B10C00C[4]   = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
1916                                                  &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C};
1917 constexpr const TVariable *p00Z20B10Cx400C[4] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
1918                                                  &BuiltInVariable::kpt10Cx4,
1919                                                  &BuiltInVariable::kpt00C};
1920 constexpr const TVariable *p00Z20C00C10C[4]   = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20C,
1921                                                  &BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
1922 constexpr const TVariable *p00a10C00C[3]      = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt10C,
1923                                                  &BuiltInVariable::kpt00C};
1924 constexpr const TVariable *p00b20C00C[3]      = {&BuiltInVariable::kpt00b, &BuiltInVariable::kpt20C,
1925                                                  &BuiltInVariable::kpt00C};
1926 constexpr const TVariable *p00c00C[2] = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt00C};
1927 constexpr const TVariable *p00c10B00B10Cx4[4] = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt10B,
1928                                                  &BuiltInVariable::kpt00B,
1929                                                  &BuiltInVariable::kpt10Cx4};
1930 constexpr const TVariable *p00c20B00B10C[4]   = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt20B,
1931                                                  &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1932 constexpr const TVariable *p00c20B10B10B10C[5] = {
1933     &BuiltInVariable::kpt00c, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
1934     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1935 constexpr const TVariable *p00c20B10C00B[4] = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt20B,
1936                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1937 constexpr const TVariable *p00c30B00B10C[4] = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt30B,
1938                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1939 constexpr const TVariable *p00c30B10B10B10C[5] = {
1940     &BuiltInVariable::kpt00c, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
1941     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1942 constexpr const TVariable *p00c30B10C00B[4] = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt30B,
1943                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1944 constexpr const TVariable *p00d00C[2]       = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt00C};
1945 constexpr const TVariable *p00d20B00B[3]    = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B,
1946                                                &BuiltInVariable::kpt00B};
1947 constexpr const TVariable *p00d30B00B[3]    = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B,
1948                                                &BuiltInVariable::kpt00B};
1949 constexpr const TVariable *p00d30B20B20B[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B,
1950                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1951 constexpr const TVariable *p00e00C[2]       = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt00C};
1952 constexpr const TVariable *p00e10B[2]       = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt10B};
1953 constexpr const TVariable *p00e20B00B10Cx4[4] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt20B,
1954                                                  &BuiltInVariable::kpt00B,
1955                                                  &BuiltInVariable::kpt10Cx4};
1956 constexpr const TVariable *p00e30B00B10C[4]   = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B,
1957                                                  &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10C};
1958 constexpr const TVariable *p00e30B10B10B10C[5] = {
1959     &BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
1960     &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
1961 constexpr const TVariable *p00e30B10C00B[4] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B,
1962                                                &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00B};
1963 constexpr const TVariable *p00f00C[2]       = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt00C};
1964 constexpr const TVariable *p00g00C[2]       = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt00C};
1965 constexpr const TVariable *p00g20B[2]       = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt20B};
1966 constexpr const TVariable *p00g30B00B[3]    = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt30B,
1967                                                &BuiltInVariable::kpt00B};
1968 constexpr const TVariable *p00g30B00C[3]    = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt30B,
1969                                                &BuiltInVariable::kpt00C};
1970 constexpr const TVariable *p00g30B20B20B[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt30B,
1971                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1972 constexpr const TVariable *p00h00C[2]       = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt00C};
1973 constexpr const TVariable *p00h20B[2]       = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt20B};
1974 constexpr const TVariable *p00h30B00B00B[4] = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt30B,
1975                                                &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B};
1976 constexpr const TVariable *p00k00C[2]       = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt00C};
1977 constexpr const TVariable *p00l00C[2]       = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt00C};
1978 constexpr const TVariable *p00l20B[2]       = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt20B};
1979 constexpr const TVariable *p00l30B00B[3]    = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt30B,
1980                                                &BuiltInVariable::kpt00B};
1981 constexpr const TVariable *p00l30B00C[3]    = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt30B,
1982                                                &BuiltInVariable::kpt00C};
1983 constexpr const TVariable *p00l30B20B20B[4] = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt30B,
1984                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1985 constexpr const TVariable *p00n00C[2]       = {&BuiltInVariable::kpt00n, &BuiltInVariable::kpt00C};
1986 constexpr const TVariable *p00o00C[2]       = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt00C};
1987 constexpr const TVariable *p00o20B[2]       = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt20B};
1988 constexpr const TVariable *p00o30B00B[3]    = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt30B,
1989                                                &BuiltInVariable::kpt00B};
1990 constexpr const TVariable *p00o30B00C[3]    = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt30B,
1991                                                &BuiltInVariable::kpt00C};
1992 constexpr const TVariable *p00o30B20B20B[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt30B,
1993                                                &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
1994 constexpr const TVariable *p00p10B[2]       = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt10B};
1995 constexpr const TVariable *p00q10C00B[3]    = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10C,
1996                                                &BuiltInVariable::kpt00B};
1997 constexpr const TVariable *p00q10C00C00C[4] = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10C,
1998                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
1999 constexpr const TVariable *p00q10C00D00D[4] = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10C,
2000                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2001 constexpr const TVariable *p00q10C30B[3]    = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10C,
2002                                                &BuiltInVariable::kpt30B};
2003 constexpr const TVariable *p00r20C00B[3]    = {&BuiltInVariable::kpt00r, &BuiltInVariable::kpt20C,
2004                                                &BuiltInVariable::kpt00B};
2005 constexpr const TVariable *p00r20C00C00C[4] = {&BuiltInVariable::kpt00r, &BuiltInVariable::kpt20C,
2006                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2007 constexpr const TVariable *p00r20C00D00D[4] = {&BuiltInVariable::kpt00r, &BuiltInVariable::kpt20C,
2008                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2009 constexpr const TVariable *p00r20C30B[3]    = {&BuiltInVariable::kpt00r, &BuiltInVariable::kpt20C,
2010                                                &BuiltInVariable::kpt30B};
2011 constexpr const TVariable *p00s20C00B[3]    = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt20C,
2012                                                &BuiltInVariable::kpt00B};
2013 constexpr const TVariable *p00s20C00C00C[4] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt20C,
2014                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2015 constexpr const TVariable *p00s20C00D00D[4] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt20C,
2016                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2017 constexpr const TVariable *p00s20C30B[3]    = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt20C,
2018                                                &BuiltInVariable::kpt30B};
2019 constexpr const TVariable *p00t20C00B[3]    = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt20C,
2020                                                &BuiltInVariable::kpt00B};
2021 constexpr const TVariable *p00t20C00C00C[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt20C,
2022                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2023 constexpr const TVariable *p00t20C00D00D[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt20C,
2024                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2025 constexpr const TVariable *p00t20C30B[3]    = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt20C,
2026                                                &BuiltInVariable::kpt30B};
2027 constexpr const TVariable *p00u10C00C00B[4] = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt10C,
2028                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00B};
2029 constexpr const TVariable *p00u10C00C00C00C[5] = {
2030     &BuiltInVariable::kpt00u, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2031     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2032 constexpr const TVariable *p00u10C00C00D00D[5] = {
2033     &BuiltInVariable::kpt00u, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2034     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2035 constexpr const TVariable *p00v20C00C00B[4] = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt20C,
2036                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00B};
2037 constexpr const TVariable *p00v20C00C00C00C[5] = {
2038     &BuiltInVariable::kpt00v, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2039     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2040 constexpr const TVariable *p00v20C00C00D00D[5] = {
2041     &BuiltInVariable::kpt00v, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2042     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2043 constexpr const TVariable *p00w20C00B[3]    = {&BuiltInVariable::kpt00w, &BuiltInVariable::kpt20C,
2044                                                &BuiltInVariable::kpt00B};
2045 constexpr const TVariable *p00w20C00C00C[4] = {&BuiltInVariable::kpt00w, &BuiltInVariable::kpt20C,
2046                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2047 constexpr const TVariable *p00w20C00D00D[4] = {&BuiltInVariable::kpt00w, &BuiltInVariable::kpt20C,
2048                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2049 constexpr const TVariable *p00w20C30B[3]    = {&BuiltInVariable::kpt00w, &BuiltInVariable::kpt20C,
2050                                                &BuiltInVariable::kpt30B};
2051 constexpr const TVariable *p00x10C00B[3]    = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt10C,
2052                                                &BuiltInVariable::kpt00B};
2053 constexpr const TVariable *p00x10C00C00C[4] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt10C,
2054                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2055 constexpr const TVariable *p00x10C00D00D[4] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt10C,
2056                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2057 constexpr const TVariable *p00y00C00B[3]    = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt00C,
2058                                                &BuiltInVariable::kpt00B};
2059 constexpr const TVariable *p00y00C00C00C[4] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt00C,
2060                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2061 constexpr const TVariable *p00y00C00D00D[4] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt00C,
2062                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2063 constexpr const TVariable *p00y00C30B[3]    = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt00C,
2064                                                &BuiltInVariable::kpt30B};
2065 constexpr const TVariable *p00z10C00B[3]    = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10C,
2066                                                &BuiltInVariable::kpt00B};
2067 constexpr const TVariable *p00z10C00C00C[4] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10C,
2068                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2069 constexpr const TVariable *p00z10C00D00D[4] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10C,
2070                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2071 constexpr const TVariable *p00z10C30C[3]    = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10C,
2072                                                &BuiltInVariable::kpt30C};
2073 constexpr const TVariable *p01A20C00B[3]    = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20C,
2074                                                &BuiltInVariable::kpt00B};
2075 constexpr const TVariable *p01A20C00C00C[4] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20C,
2076                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2077 constexpr const TVariable *p01A20C00D00D[4] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20C,
2078                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2079 constexpr const TVariable *p01A20C30C[3]    = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20C,
2080                                                &BuiltInVariable::kpt30C};
2081 constexpr const TVariable *p01B20C00B[3]    = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20C,
2082                                                &BuiltInVariable::kpt00B};
2083 constexpr const TVariable *p01B20C00C00C[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20C,
2084                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2085 constexpr const TVariable *p01B20C00D00D[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20C,
2086                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2087 constexpr const TVariable *p01B20C30C[3]    = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20C,
2088                                                &BuiltInVariable::kpt30C};
2089 constexpr const TVariable *p01C20C00B[3]    = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20C,
2090                                                &BuiltInVariable::kpt00B};
2091 constexpr const TVariable *p01C20C00C00C[4] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20C,
2092                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2093 constexpr const TVariable *p01C20C00D00D[4] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20C,
2094                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2095 constexpr const TVariable *p01C20C30C[3]    = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20C,
2096                                                &BuiltInVariable::kpt30C};
2097 constexpr const TVariable *p01D10C00C00B[4] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt10C,
2098                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00B};
2099 constexpr const TVariable *p01D10C00C00C00C[5] = {
2100     &BuiltInVariable::kpt01D, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2101     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2102 constexpr const TVariable *p01D10C00C00D00D[5] = {
2103     &BuiltInVariable::kpt01D, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2104     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2105 constexpr const TVariable *p01E20C00C00B[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20C,
2106                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00B};
2107 constexpr const TVariable *p01E20C00C00C00C[5] = {
2108     &BuiltInVariable::kpt01E, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2109     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2110 constexpr const TVariable *p01E20C00C00D00D[5] = {
2111     &BuiltInVariable::kpt01E, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2112     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2113 constexpr const TVariable *p01F20C00B[3]    = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20C,
2114                                                &BuiltInVariable::kpt00B};
2115 constexpr const TVariable *p01F20C00C00C[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20C,
2116                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2117 constexpr const TVariable *p01F20C00D00D[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20C,
2118                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2119 constexpr const TVariable *p01F20C30C[3]    = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20C,
2120                                                &BuiltInVariable::kpt30C};
2121 constexpr const TVariable *p01G10C00B[3]    = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt10C,
2122                                                &BuiltInVariable::kpt00B};
2123 constexpr const TVariable *p01G10C00C00C[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt10C,
2124                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2125 constexpr const TVariable *p01G10C00D00D[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt10C,
2126                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2127 constexpr const TVariable *p01H00C00B[3]    = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt00C,
2128                                                &BuiltInVariable::kpt00B};
2129 constexpr const TVariable *p01H00C00C00C[4] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt00C,
2130                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2131 constexpr const TVariable *p01H00C00D00D[4] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt00C,
2132                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2133 constexpr const TVariable *p01H00C30C[3]    = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt00C,
2134                                                &BuiltInVariable::kpt30C};
2135 constexpr const TVariable *p01I10C00B[3]    = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10C,
2136                                                &BuiltInVariable::kpt00B};
2137 constexpr const TVariable *p01I10C00C00C[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10C,
2138                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2139 constexpr const TVariable *p01I10C00D00D[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10C,
2140                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2141 constexpr const TVariable *p01I10C30D[3]    = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10C,
2142                                                &BuiltInVariable::kpt30D};
2143 constexpr const TVariable *p01J20C00B[3]    = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20C,
2144                                                &BuiltInVariable::kpt00B};
2145 constexpr const TVariable *p01J20C00C00C[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20C,
2146                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2147 constexpr const TVariable *p01J20C00D00D[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20C,
2148                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2149 constexpr const TVariable *p01J20C30D[3]    = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20C,
2150                                                &BuiltInVariable::kpt30D};
2151 constexpr const TVariable *p01K20C00B[3]    = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20C,
2152                                                &BuiltInVariable::kpt00B};
2153 constexpr const TVariable *p01K20C00C00C[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20C,
2154                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2155 constexpr const TVariable *p01K20C00D00D[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20C,
2156                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2157 constexpr const TVariable *p01K20C30D[3]    = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20C,
2158                                                &BuiltInVariable::kpt30D};
2159 constexpr const TVariable *p01L20C00B[3]    = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20C,
2160                                                &BuiltInVariable::kpt00B};
2161 constexpr const TVariable *p01L20C00C00C[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20C,
2162                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2163 constexpr const TVariable *p01L20C00D00D[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20C,
2164                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2165 constexpr const TVariable *p01L20C30D[3]    = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20C,
2166                                                &BuiltInVariable::kpt30D};
2167 constexpr const TVariable *p01M10C00C00B[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt10C,
2168                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00B};
2169 constexpr const TVariable *p01M10C00C00C00C[5] = {
2170     &BuiltInVariable::kpt01M, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2171     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2172 constexpr const TVariable *p01M10C00C00D00D[5] = {
2173     &BuiltInVariable::kpt01M, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2174     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2175 constexpr const TVariable *p01N20C00C00B[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt20C,
2176                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00B};
2177 constexpr const TVariable *p01N20C00C00C00C[5] = {
2178     &BuiltInVariable::kpt01N, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2179     &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2180 constexpr const TVariable *p01N20C00C00D00D[5] = {
2181     &BuiltInVariable::kpt01N, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2182     &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2183 constexpr const TVariable *p01O20C00B[3]    = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt20C,
2184                                                &BuiltInVariable::kpt00B};
2185 constexpr const TVariable *p01O20C00C00C[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt20C,
2186                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2187 constexpr const TVariable *p01O20C00D00D[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt20C,
2188                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2189 constexpr const TVariable *p01O20C30D[3]    = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt20C,
2190                                                &BuiltInVariable::kpt30D};
2191 constexpr const TVariable *p01P10C00B[3]    = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10C,
2192                                                &BuiltInVariable::kpt00B};
2193 constexpr const TVariable *p01P10C00C00C[4] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10C,
2194                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2195 constexpr const TVariable *p01P10C00D00D[4] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10C,
2196                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2197 constexpr const TVariable *p01Q00C00B[3]    = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt00C,
2198                                                &BuiltInVariable::kpt00B};
2199 constexpr const TVariable *p01Q00C00C00C[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt00C,
2200                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2201 constexpr const TVariable *p01Q00C00D00D[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt00C,
2202                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2203 constexpr const TVariable *p01Q00C30D[3]    = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt00C,
2204                                                &BuiltInVariable::kpt30D};
2205 constexpr const TVariable *p01R30B[2]       = {&BuiltInVariable::kpt01R, &BuiltInVariable::kpt30B};
2206 constexpr const TVariable *p01S30C[2]       = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt30C};
2207 constexpr const TVariable *p01T30D[2]       = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt30D};
2208 constexpr const TVariable *p01U[1]          = {&BuiltInVariable::kpt01U};
2209 constexpr const TVariable *p01V[1]          = {&BuiltInVariable::kpt01V};
2210 constexpr const TVariable *p01W[1]          = {&BuiltInVariable::kpt01W};
2211 constexpr const TVariable *p10B00B00B[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
2212                                                &BuiltInVariable::kpt00B};
2213 constexpr const TVariable *p10B00C[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00C};
2214 constexpr const TVariable *p10B10B00B[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
2215                                                &BuiltInVariable::kpt00B};
2216 constexpr const TVariable *p10B10B10B[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
2217                                                &BuiltInVariable::kpt10B};
2218 constexpr const TVariable *p10B10B10E[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
2219                                                &BuiltInVariable::kpt10E};
2220 constexpr const TVariable *p10B10C[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10C};
2221 constexpr const TVariable *p10B20B[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt20B};
2222 constexpr const TVariable *p10B30B[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt30B};
2223 constexpr const TVariable *p10B_o_10B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10B};
2224 constexpr const TVariable *p10B_o_10C[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10C};
2225 constexpr const TVariable *p10C00C00C[3] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
2226                                             &BuiltInVariable::kpt00C};
2227 constexpr const TVariable *p10C10C00C00C[4] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
2228                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2229 constexpr const TVariable *p10C10C10C[3]    = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
2230                                                &BuiltInVariable::kpt10C};
2231 constexpr const TVariable *p10C10C10E[3]    = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
2232                                                &BuiltInVariable::kpt10E};
2233 constexpr const TVariable *p10C10C_o_10C_o_10C[4] = {
2234     &BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C, &BuiltInVariable::kpt_o_10C,
2235     &BuiltInVariable::kpt_o_10C};
2236 constexpr const TVariable *p10D00C00C[3]    = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt00C,
2237                                                &BuiltInVariable::kpt00C};
2238 constexpr const TVariable *p10D00D00D[3]    = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
2239                                                &BuiltInVariable::kpt00D};
2240 constexpr const TVariable *p10D10D00C00C[4] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D,
2241                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2242 constexpr const TVariable *p10D10D10D[3]    = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D,
2243                                                &BuiltInVariable::kpt10D};
2244 constexpr const TVariable *p10D10D10E[3]    = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D,
2245                                                &BuiltInVariable::kpt10E};
2246 constexpr const TVariable *p10D10D_o_10D_o_10D[4] = {
2247     &BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt_o_10D,
2248     &BuiltInVariable::kpt_o_10D};
2249 constexpr const TVariable *p10E10E10E[3] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E,
2250                                             &BuiltInVariable::kpt10E};
2251 constexpr const TVariable *p20B00B00B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00B,
2252                                             &BuiltInVariable::kpt00B};
2253 constexpr const TVariable *p20B00C[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00C};
2254 constexpr const TVariable *p20B00G[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00G};
2255 constexpr const TVariable *p20B10B[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B};
2256 constexpr const TVariable *p20B20B00B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
2257                                             &BuiltInVariable::kpt00B};
2258 constexpr const TVariable *p20B20B20B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
2259                                             &BuiltInVariable::kpt20B};
2260 constexpr const TVariable *p20B20B20E[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
2261                                             &BuiltInVariable::kpt20E};
2262 constexpr const TVariable *p20B20C[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20C};
2263 constexpr const TVariable *p20B30B[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt30B};
2264 constexpr const TVariable *p20B_o_20B[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt_o_20B};
2265 constexpr const TVariable *p20B_o_20C[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt_o_20C};
2266 constexpr const TVariable *p20C00C00C[3] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
2267                                             &BuiltInVariable::kpt00C};
2268 constexpr const TVariable *p20C20C00C00C[4] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
2269                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2270 constexpr const TVariable *p20C20C20C[3]    = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
2271                                                &BuiltInVariable::kpt20C};
2272 constexpr const TVariable *p20C20C20E[3]    = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
2273                                                &BuiltInVariable::kpt20E};
2274 constexpr const TVariable *p20C20C_o_20C_o_20C[4] = {
2275     &BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C, &BuiltInVariable::kpt_o_20C,
2276     &BuiltInVariable::kpt_o_20C};
2277 constexpr const TVariable *p20D00C00C[3]    = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt00C,
2278                                                &BuiltInVariable::kpt00C};
2279 constexpr const TVariable *p20D00D00D[3]    = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
2280                                                &BuiltInVariable::kpt00D};
2281 constexpr const TVariable *p20D20D00C00C[4] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D,
2282                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2283 constexpr const TVariable *p20D20D20D[3]    = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D,
2284                                                &BuiltInVariable::kpt20D};
2285 constexpr const TVariable *p20D20D20E[3]    = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D,
2286                                                &BuiltInVariable::kpt20E};
2287 constexpr const TVariable *p20D20D_o_20D_o_20D[4] = {
2288     &BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt_o_20D,
2289     &BuiltInVariable::kpt_o_20D};
2290 constexpr const TVariable *p20E20E20E[3] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E,
2291                                             &BuiltInVariable::kpt20E};
2292 constexpr const TVariable *p30B00B00B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B,
2293                                             &BuiltInVariable::kpt00B};
2294 constexpr const TVariable *p30B00C[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt00C};
2295 constexpr const TVariable *p30B10B[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B};
2296 constexpr const TVariable *p30B20B[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B};
2297 constexpr const TVariable *p30B30B00B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B,
2298                                             &BuiltInVariable::kpt00B};
2299 constexpr const TVariable *p30B30B30B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B,
2300                                             &BuiltInVariable::kpt30B};
2301 constexpr const TVariable *p30B30B30E[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B,
2302                                             &BuiltInVariable::kpt30E};
2303 constexpr const TVariable *p30B30C[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30C};
2304 constexpr const TVariable *p30B_o_30B[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt_o_30B};
2305 constexpr const TVariable *p30B_o_30C[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt_o_30C};
2306 constexpr const TVariable *p30C00C00C[3] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt00C,
2307                                             &BuiltInVariable::kpt00C};
2308 constexpr const TVariable *p30C30C00C00C[4] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
2309                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2310 constexpr const TVariable *p30C30C30C[3]    = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
2311                                                &BuiltInVariable::kpt30C};
2312 constexpr const TVariable *p30C30C30E[3]    = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
2313                                                &BuiltInVariable::kpt30E};
2314 constexpr const TVariable *p30C30C_o_30C_o_30C[4] = {
2315     &BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C, &BuiltInVariable::kpt_o_30C,
2316     &BuiltInVariable::kpt_o_30C};
2317 constexpr const TVariable *p30D00C00C[3]    = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt00C,
2318                                                &BuiltInVariable::kpt00C};
2319 constexpr const TVariable *p30D00D00D[3]    = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt00D,
2320                                                &BuiltInVariable::kpt00D};
2321 constexpr const TVariable *p30D30D00C00C[4] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D,
2322                                                &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2323 constexpr const TVariable *p30D30D30D[3]    = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D,
2324                                                &BuiltInVariable::kpt30D};
2325 constexpr const TVariable *p30D30D30E[3]    = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D,
2326                                                &BuiltInVariable::kpt30E};
2327 constexpr const TVariable *p30D30D_o_30D_o_30D[4] = {
2328     &BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D, &BuiltInVariable::kpt_o_30D,
2329     &BuiltInVariable::kpt_o_30D};
2330 constexpr const TVariable *p30E30E30E[3]     = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E,
2331                                                 &BuiltInVariable::kpt30E};
2332 constexpr const TVariable *p50B50B[2]        = {&BuiltInVariable::kpt50B, &BuiltInVariable::kpt50B};
2333 constexpr const TVariable *p60B60B[2]        = {&BuiltInVariable::kpt60B, &BuiltInVariable::kpt60B};
2334 constexpr const TVariable *p70B70B[2]        = {&BuiltInVariable::kpt70B, &BuiltInVariable::kpt70B};
2335 constexpr const TVariable *p90B90B[2]        = {&BuiltInVariable::kpt90B, &BuiltInVariable::kpt90B};
2336 constexpr const TVariable *pA0BA0B[2]        = {&BuiltInVariable::kptA0B, &BuiltInVariable::kptA0B};
2337 constexpr const TVariable *pB0BB0B[2]        = {&BuiltInVariable::kptB0B, &BuiltInVariable::kptB0B};
2338 constexpr const TVariable *pD0BD0B[2]        = {&BuiltInVariable::kptD0B, &BuiltInVariable::kptD0B};
2339 constexpr const TVariable *pE0BE0B[2]        = {&BuiltInVariable::kptE0B, &BuiltInVariable::kptE0B};
2340 constexpr const TVariable *pF0BF0B[2]        = {&BuiltInVariable::kptF0B, &BuiltInVariable::kptF0B};
2341 constexpr const TVariable *p_io_00C00C00C[3] = {&BuiltInVariable::kpt_io_00C,
2342                                                 &BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C};
2343 constexpr const TVariable *p_io_00D00D00D[3] = {&BuiltInVariable::kpt_io_00D,
2344                                                 &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
2345 
2346 }  // namespace BuiltInParameters
2347 
2348 // TODO(oetuaho): Would be nice to make this a class instead of a namespace so that we could friend
2349 // this from TFunction. Now symbol constructors taking an id have to be public even though they're
2350 // not supposed to be accessible from outside of here. http://anglebug.com/42261100
2351 namespace Func
2352 {
2353 
2354 constexpr const TFunction radians_00B(BuiltInId::radians_Float1,
2355                                       BuiltInName::radians,
2356                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2357                                       BuiltInParameters::p00B00B00B,
2358                                       1,
2359                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2360                                       EOpRadians,
2361                                       true);
2362 constexpr const TFunction radians_10B(BuiltInId::radians_Float2,
2363                                       BuiltInName::radians,
2364                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2365                                       BuiltInParameters::p10B00B00B,
2366                                       1,
2367                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2368                                       EOpRadians,
2369                                       true);
2370 constexpr const TFunction radians_20B(BuiltInId::radians_Float3,
2371                                       BuiltInName::radians,
2372                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2373                                       BuiltInParameters::p20B00B00B,
2374                                       1,
2375                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2376                                       EOpRadians,
2377                                       true);
2378 constexpr const TFunction radians_30B(BuiltInId::radians_Float4,
2379                                       BuiltInName::radians,
2380                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2381                                       BuiltInParameters::p30B00B00B,
2382                                       1,
2383                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2384                                       EOpRadians,
2385                                       true);
2386 constexpr const TFunction degrees_00B(BuiltInId::degrees_Float1,
2387                                       BuiltInName::degrees,
2388                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2389                                       BuiltInParameters::p00B00B00B,
2390                                       1,
2391                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2392                                       EOpDegrees,
2393                                       true);
2394 constexpr const TFunction degrees_10B(BuiltInId::degrees_Float2,
2395                                       BuiltInName::degrees,
2396                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2397                                       BuiltInParameters::p10B00B00B,
2398                                       1,
2399                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2400                                       EOpDegrees,
2401                                       true);
2402 constexpr const TFunction degrees_20B(BuiltInId::degrees_Float3,
2403                                       BuiltInName::degrees,
2404                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2405                                       BuiltInParameters::p20B00B00B,
2406                                       1,
2407                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2408                                       EOpDegrees,
2409                                       true);
2410 constexpr const TFunction degrees_30B(BuiltInId::degrees_Float4,
2411                                       BuiltInName::degrees,
2412                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2413                                       BuiltInParameters::p30B00B00B,
2414                                       1,
2415                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2416                                       EOpDegrees,
2417                                       true);
2418 constexpr const TFunction sin_00B(BuiltInId::sin_Float1,
2419                                   BuiltInName::sin,
2420                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2421                                   BuiltInParameters::p00B00B00B,
2422                                   1,
2423                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2424                                   EOpSin,
2425                                   true);
2426 constexpr const TFunction sin_10B(BuiltInId::sin_Float2,
2427                                   BuiltInName::sin,
2428                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2429                                   BuiltInParameters::p10B00B00B,
2430                                   1,
2431                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2432                                   EOpSin,
2433                                   true);
2434 constexpr const TFunction sin_20B(BuiltInId::sin_Float3,
2435                                   BuiltInName::sin,
2436                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2437                                   BuiltInParameters::p20B00B00B,
2438                                   1,
2439                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2440                                   EOpSin,
2441                                   true);
2442 constexpr const TFunction sin_30B(BuiltInId::sin_Float4,
2443                                   BuiltInName::sin,
2444                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2445                                   BuiltInParameters::p30B00B00B,
2446                                   1,
2447                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2448                                   EOpSin,
2449                                   true);
2450 constexpr const TFunction cos_00B(BuiltInId::cos_Float1,
2451                                   BuiltInName::cos,
2452                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2453                                   BuiltInParameters::p00B00B00B,
2454                                   1,
2455                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2456                                   EOpCos,
2457                                   true);
2458 constexpr const TFunction cos_10B(BuiltInId::cos_Float2,
2459                                   BuiltInName::cos,
2460                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2461                                   BuiltInParameters::p10B00B00B,
2462                                   1,
2463                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2464                                   EOpCos,
2465                                   true);
2466 constexpr const TFunction cos_20B(BuiltInId::cos_Float3,
2467                                   BuiltInName::cos,
2468                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2469                                   BuiltInParameters::p20B00B00B,
2470                                   1,
2471                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2472                                   EOpCos,
2473                                   true);
2474 constexpr const TFunction cos_30B(BuiltInId::cos_Float4,
2475                                   BuiltInName::cos,
2476                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2477                                   BuiltInParameters::p30B00B00B,
2478                                   1,
2479                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2480                                   EOpCos,
2481                                   true);
2482 constexpr const TFunction tan_00B(BuiltInId::tan_Float1,
2483                                   BuiltInName::tan,
2484                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2485                                   BuiltInParameters::p00B00B00B,
2486                                   1,
2487                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2488                                   EOpTan,
2489                                   true);
2490 constexpr const TFunction tan_10B(BuiltInId::tan_Float2,
2491                                   BuiltInName::tan,
2492                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2493                                   BuiltInParameters::p10B00B00B,
2494                                   1,
2495                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2496                                   EOpTan,
2497                                   true);
2498 constexpr const TFunction tan_20B(BuiltInId::tan_Float3,
2499                                   BuiltInName::tan,
2500                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2501                                   BuiltInParameters::p20B00B00B,
2502                                   1,
2503                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2504                                   EOpTan,
2505                                   true);
2506 constexpr const TFunction tan_30B(BuiltInId::tan_Float4,
2507                                   BuiltInName::tan,
2508                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2509                                   BuiltInParameters::p30B00B00B,
2510                                   1,
2511                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2512                                   EOpTan,
2513                                   true);
2514 constexpr const TFunction asin_00B(BuiltInId::asin_Float1,
2515                                    BuiltInName::asin,
2516                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2517                                    BuiltInParameters::p00B00B00B,
2518                                    1,
2519                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2520                                    EOpAsin,
2521                                    true);
2522 constexpr const TFunction asin_10B(BuiltInId::asin_Float2,
2523                                    BuiltInName::asin,
2524                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2525                                    BuiltInParameters::p10B00B00B,
2526                                    1,
2527                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2528                                    EOpAsin,
2529                                    true);
2530 constexpr const TFunction asin_20B(BuiltInId::asin_Float3,
2531                                    BuiltInName::asin,
2532                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2533                                    BuiltInParameters::p20B00B00B,
2534                                    1,
2535                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2536                                    EOpAsin,
2537                                    true);
2538 constexpr const TFunction asin_30B(BuiltInId::asin_Float4,
2539                                    BuiltInName::asin,
2540                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2541                                    BuiltInParameters::p30B00B00B,
2542                                    1,
2543                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2544                                    EOpAsin,
2545                                    true);
2546 constexpr const TFunction acos_00B(BuiltInId::acos_Float1,
2547                                    BuiltInName::acos,
2548                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2549                                    BuiltInParameters::p00B00B00B,
2550                                    1,
2551                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2552                                    EOpAcos,
2553                                    true);
2554 constexpr const TFunction acos_10B(BuiltInId::acos_Float2,
2555                                    BuiltInName::acos,
2556                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2557                                    BuiltInParameters::p10B00B00B,
2558                                    1,
2559                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2560                                    EOpAcos,
2561                                    true);
2562 constexpr const TFunction acos_20B(BuiltInId::acos_Float3,
2563                                    BuiltInName::acos,
2564                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2565                                    BuiltInParameters::p20B00B00B,
2566                                    1,
2567                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2568                                    EOpAcos,
2569                                    true);
2570 constexpr const TFunction acos_30B(BuiltInId::acos_Float4,
2571                                    BuiltInName::acos,
2572                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2573                                    BuiltInParameters::p30B00B00B,
2574                                    1,
2575                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2576                                    EOpAcos,
2577                                    true);
2578 constexpr const TFunction atan_00B00B(BuiltInId::atan_Float1_Float1,
2579                                       BuiltInName::atan,
2580                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2581                                       BuiltInParameters::p00B00B00B,
2582                                       2,
2583                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2584                                       EOpAtan,
2585                                       true);
2586 constexpr const TFunction atan_10B10B(BuiltInId::atan_Float2_Float2,
2587                                       BuiltInName::atan,
2588                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2589                                       BuiltInParameters::p10B10B00B,
2590                                       2,
2591                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2592                                       EOpAtan,
2593                                       true);
2594 constexpr const TFunction atan_20B20B(BuiltInId::atan_Float3_Float3,
2595                                       BuiltInName::atan,
2596                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2597                                       BuiltInParameters::p20B20B00B,
2598                                       2,
2599                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2600                                       EOpAtan,
2601                                       true);
2602 constexpr const TFunction atan_30B30B(BuiltInId::atan_Float4_Float4,
2603                                       BuiltInName::atan,
2604                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2605                                       BuiltInParameters::p30B30B00B,
2606                                       2,
2607                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2608                                       EOpAtan,
2609                                       true);
2610 constexpr const TFunction atan_00B(BuiltInId::atan_Float1,
2611                                    BuiltInName::atan,
2612                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2613                                    BuiltInParameters::p00B00B00B,
2614                                    1,
2615                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2616                                    EOpAtan,
2617                                    true);
2618 constexpr const TFunction atan_10B(BuiltInId::atan_Float2,
2619                                    BuiltInName::atan,
2620                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2621                                    BuiltInParameters::p10B00B00B,
2622                                    1,
2623                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2624                                    EOpAtan,
2625                                    true);
2626 constexpr const TFunction atan_20B(BuiltInId::atan_Float3,
2627                                    BuiltInName::atan,
2628                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2629                                    BuiltInParameters::p20B00B00B,
2630                                    1,
2631                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2632                                    EOpAtan,
2633                                    true);
2634 constexpr const TFunction atan_30B(BuiltInId::atan_Float4,
2635                                    BuiltInName::atan,
2636                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2637                                    BuiltInParameters::p30B00B00B,
2638                                    1,
2639                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2640                                    EOpAtan,
2641                                    true);
2642 constexpr const TFunction sinh_00B(BuiltInId::sinh_Float1,
2643                                    BuiltInName::sinh,
2644                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2645                                    BuiltInParameters::p00B00B00B,
2646                                    1,
2647                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2648                                    EOpSinh,
2649                                    true);
2650 constexpr const TFunction sinh_10B(BuiltInId::sinh_Float2,
2651                                    BuiltInName::sinh,
2652                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2653                                    BuiltInParameters::p10B00B00B,
2654                                    1,
2655                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2656                                    EOpSinh,
2657                                    true);
2658 constexpr const TFunction sinh_20B(BuiltInId::sinh_Float3,
2659                                    BuiltInName::sinh,
2660                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2661                                    BuiltInParameters::p20B00B00B,
2662                                    1,
2663                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2664                                    EOpSinh,
2665                                    true);
2666 constexpr const TFunction sinh_30B(BuiltInId::sinh_Float4,
2667                                    BuiltInName::sinh,
2668                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2669                                    BuiltInParameters::p30B00B00B,
2670                                    1,
2671                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2672                                    EOpSinh,
2673                                    true);
2674 constexpr const TFunction cosh_00B(BuiltInId::cosh_Float1,
2675                                    BuiltInName::cosh,
2676                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2677                                    BuiltInParameters::p00B00B00B,
2678                                    1,
2679                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2680                                    EOpCosh,
2681                                    true);
2682 constexpr const TFunction cosh_10B(BuiltInId::cosh_Float2,
2683                                    BuiltInName::cosh,
2684                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2685                                    BuiltInParameters::p10B00B00B,
2686                                    1,
2687                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2688                                    EOpCosh,
2689                                    true);
2690 constexpr const TFunction cosh_20B(BuiltInId::cosh_Float3,
2691                                    BuiltInName::cosh,
2692                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2693                                    BuiltInParameters::p20B00B00B,
2694                                    1,
2695                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2696                                    EOpCosh,
2697                                    true);
2698 constexpr const TFunction cosh_30B(BuiltInId::cosh_Float4,
2699                                    BuiltInName::cosh,
2700                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2701                                    BuiltInParameters::p30B00B00B,
2702                                    1,
2703                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2704                                    EOpCosh,
2705                                    true);
2706 constexpr const TFunction tanh_00B(BuiltInId::tanh_Float1,
2707                                    BuiltInName::tanh,
2708                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2709                                    BuiltInParameters::p00B00B00B,
2710                                    1,
2711                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2712                                    EOpTanh,
2713                                    true);
2714 constexpr const TFunction tanh_10B(BuiltInId::tanh_Float2,
2715                                    BuiltInName::tanh,
2716                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2717                                    BuiltInParameters::p10B00B00B,
2718                                    1,
2719                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2720                                    EOpTanh,
2721                                    true);
2722 constexpr const TFunction tanh_20B(BuiltInId::tanh_Float3,
2723                                    BuiltInName::tanh,
2724                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2725                                    BuiltInParameters::p20B00B00B,
2726                                    1,
2727                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2728                                    EOpTanh,
2729                                    true);
2730 constexpr const TFunction tanh_30B(BuiltInId::tanh_Float4,
2731                                    BuiltInName::tanh,
2732                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2733                                    BuiltInParameters::p30B00B00B,
2734                                    1,
2735                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2736                                    EOpTanh,
2737                                    true);
2738 constexpr const TFunction asinh_00B(BuiltInId::asinh_Float1,
2739                                     BuiltInName::asinh,
2740                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2741                                     BuiltInParameters::p00B00B00B,
2742                                     1,
2743                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2744                                     EOpAsinh,
2745                                     true);
2746 constexpr const TFunction asinh_10B(BuiltInId::asinh_Float2,
2747                                     BuiltInName::asinh,
2748                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2749                                     BuiltInParameters::p10B00B00B,
2750                                     1,
2751                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2752                                     EOpAsinh,
2753                                     true);
2754 constexpr const TFunction asinh_20B(BuiltInId::asinh_Float3,
2755                                     BuiltInName::asinh,
2756                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2757                                     BuiltInParameters::p20B00B00B,
2758                                     1,
2759                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2760                                     EOpAsinh,
2761                                     true);
2762 constexpr const TFunction asinh_30B(BuiltInId::asinh_Float4,
2763                                     BuiltInName::asinh,
2764                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2765                                     BuiltInParameters::p30B00B00B,
2766                                     1,
2767                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2768                                     EOpAsinh,
2769                                     true);
2770 constexpr const TFunction acosh_00B(BuiltInId::acosh_Float1,
2771                                     BuiltInName::acosh,
2772                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2773                                     BuiltInParameters::p00B00B00B,
2774                                     1,
2775                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2776                                     EOpAcosh,
2777                                     true);
2778 constexpr const TFunction acosh_10B(BuiltInId::acosh_Float2,
2779                                     BuiltInName::acosh,
2780                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2781                                     BuiltInParameters::p10B00B00B,
2782                                     1,
2783                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2784                                     EOpAcosh,
2785                                     true);
2786 constexpr const TFunction acosh_20B(BuiltInId::acosh_Float3,
2787                                     BuiltInName::acosh,
2788                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2789                                     BuiltInParameters::p20B00B00B,
2790                                     1,
2791                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2792                                     EOpAcosh,
2793                                     true);
2794 constexpr const TFunction acosh_30B(BuiltInId::acosh_Float4,
2795                                     BuiltInName::acosh,
2796                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2797                                     BuiltInParameters::p30B00B00B,
2798                                     1,
2799                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2800                                     EOpAcosh,
2801                                     true);
2802 constexpr const TFunction atanh_00B(BuiltInId::atanh_Float1,
2803                                     BuiltInName::atanh,
2804                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2805                                     BuiltInParameters::p00B00B00B,
2806                                     1,
2807                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2808                                     EOpAtanh,
2809                                     true);
2810 constexpr const TFunction atanh_10B(BuiltInId::atanh_Float2,
2811                                     BuiltInName::atanh,
2812                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2813                                     BuiltInParameters::p10B00B00B,
2814                                     1,
2815                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2816                                     EOpAtanh,
2817                                     true);
2818 constexpr const TFunction atanh_20B(BuiltInId::atanh_Float3,
2819                                     BuiltInName::atanh,
2820                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2821                                     BuiltInParameters::p20B00B00B,
2822                                     1,
2823                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2824                                     EOpAtanh,
2825                                     true);
2826 constexpr const TFunction atanh_30B(BuiltInId::atanh_Float4,
2827                                     BuiltInName::atanh,
2828                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2829                                     BuiltInParameters::p30B00B00B,
2830                                     1,
2831                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2832                                     EOpAtanh,
2833                                     true);
2834 constexpr const TFunction pow_00B00B(BuiltInId::pow_Float1_Float1,
2835                                      BuiltInName::pow,
2836                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2837                                      BuiltInParameters::p00B00B00B,
2838                                      2,
2839                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2840                                      EOpPow,
2841                                      true);
2842 constexpr const TFunction pow_10B10B(BuiltInId::pow_Float2_Float2,
2843                                      BuiltInName::pow,
2844                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2845                                      BuiltInParameters::p10B10B00B,
2846                                      2,
2847                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2848                                      EOpPow,
2849                                      true);
2850 constexpr const TFunction pow_20B20B(BuiltInId::pow_Float3_Float3,
2851                                      BuiltInName::pow,
2852                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2853                                      BuiltInParameters::p20B20B00B,
2854                                      2,
2855                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2856                                      EOpPow,
2857                                      true);
2858 constexpr const TFunction pow_30B30B(BuiltInId::pow_Float4_Float4,
2859                                      BuiltInName::pow,
2860                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2861                                      BuiltInParameters::p30B30B00B,
2862                                      2,
2863                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2864                                      EOpPow,
2865                                      true);
2866 constexpr const TFunction exp_00B(BuiltInId::exp_Float1,
2867                                   BuiltInName::exp,
2868                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2869                                   BuiltInParameters::p00B00B00B,
2870                                   1,
2871                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2872                                   EOpExp,
2873                                   true);
2874 constexpr const TFunction exp_10B(BuiltInId::exp_Float2,
2875                                   BuiltInName::exp,
2876                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2877                                   BuiltInParameters::p10B00B00B,
2878                                   1,
2879                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2880                                   EOpExp,
2881                                   true);
2882 constexpr const TFunction exp_20B(BuiltInId::exp_Float3,
2883                                   BuiltInName::exp,
2884                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2885                                   BuiltInParameters::p20B00B00B,
2886                                   1,
2887                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2888                                   EOpExp,
2889                                   true);
2890 constexpr const TFunction exp_30B(BuiltInId::exp_Float4,
2891                                   BuiltInName::exp,
2892                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2893                                   BuiltInParameters::p30B00B00B,
2894                                   1,
2895                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2896                                   EOpExp,
2897                                   true);
2898 constexpr const TFunction log_00B(BuiltInId::log_Float1,
2899                                   BuiltInName::log,
2900                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2901                                   BuiltInParameters::p00B00B00B,
2902                                   1,
2903                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2904                                   EOpLog,
2905                                   true);
2906 constexpr const TFunction log_10B(BuiltInId::log_Float2,
2907                                   BuiltInName::log,
2908                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2909                                   BuiltInParameters::p10B00B00B,
2910                                   1,
2911                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2912                                   EOpLog,
2913                                   true);
2914 constexpr const TFunction log_20B(BuiltInId::log_Float3,
2915                                   BuiltInName::log,
2916                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2917                                   BuiltInParameters::p20B00B00B,
2918                                   1,
2919                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2920                                   EOpLog,
2921                                   true);
2922 constexpr const TFunction log_30B(BuiltInId::log_Float4,
2923                                   BuiltInName::log,
2924                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2925                                   BuiltInParameters::p30B00B00B,
2926                                   1,
2927                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2928                                   EOpLog,
2929                                   true);
2930 constexpr const TFunction exp2_00B(BuiltInId::exp2_Float1,
2931                                    BuiltInName::exp2,
2932                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2933                                    BuiltInParameters::p00B00B00B,
2934                                    1,
2935                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2936                                    EOpExp2,
2937                                    true);
2938 constexpr const TFunction exp2_10B(BuiltInId::exp2_Float2,
2939                                    BuiltInName::exp2,
2940                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2941                                    BuiltInParameters::p10B00B00B,
2942                                    1,
2943                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2944                                    EOpExp2,
2945                                    true);
2946 constexpr const TFunction exp2_20B(BuiltInId::exp2_Float3,
2947                                    BuiltInName::exp2,
2948                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2949                                    BuiltInParameters::p20B00B00B,
2950                                    1,
2951                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2952                                    EOpExp2,
2953                                    true);
2954 constexpr const TFunction exp2_30B(BuiltInId::exp2_Float4,
2955                                    BuiltInName::exp2,
2956                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2957                                    BuiltInParameters::p30B00B00B,
2958                                    1,
2959                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2960                                    EOpExp2,
2961                                    true);
2962 constexpr const TFunction log2_00B(BuiltInId::log2_Float1,
2963                                    BuiltInName::log2,
2964                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2965                                    BuiltInParameters::p00B00B00B,
2966                                    1,
2967                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
2968                                    EOpLog2,
2969                                    true);
2970 constexpr const TFunction log2_10B(BuiltInId::log2_Float2,
2971                                    BuiltInName::log2,
2972                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2973                                    BuiltInParameters::p10B00B00B,
2974                                    1,
2975                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
2976                                    EOpLog2,
2977                                    true);
2978 constexpr const TFunction log2_20B(BuiltInId::log2_Float3,
2979                                    BuiltInName::log2,
2980                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2981                                    BuiltInParameters::p20B00B00B,
2982                                    1,
2983                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
2984                                    EOpLog2,
2985                                    true);
2986 constexpr const TFunction log2_30B(BuiltInId::log2_Float4,
2987                                    BuiltInName::log2,
2988                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2989                                    BuiltInParameters::p30B00B00B,
2990                                    1,
2991                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
2992                                    EOpLog2,
2993                                    true);
2994 constexpr const TFunction sqrt_00B(BuiltInId::sqrt_Float1,
2995                                    BuiltInName::sqrt,
2996                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
2997                                    BuiltInParameters::p00B00B00B,
2998                                    1,
2999                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3000                                    EOpSqrt,
3001                                    true);
3002 constexpr const TFunction sqrt_10B(BuiltInId::sqrt_Float2,
3003                                    BuiltInName::sqrt,
3004                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3005                                    BuiltInParameters::p10B00B00B,
3006                                    1,
3007                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3008                                    EOpSqrt,
3009                                    true);
3010 constexpr const TFunction sqrt_20B(BuiltInId::sqrt_Float3,
3011                                    BuiltInName::sqrt,
3012                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3013                                    BuiltInParameters::p20B00B00B,
3014                                    1,
3015                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3016                                    EOpSqrt,
3017                                    true);
3018 constexpr const TFunction sqrt_30B(BuiltInId::sqrt_Float4,
3019                                    BuiltInName::sqrt,
3020                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3021                                    BuiltInParameters::p30B00B00B,
3022                                    1,
3023                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3024                                    EOpSqrt,
3025                                    true);
3026 constexpr const TFunction inversesqrt_00B(
3027     BuiltInId::inversesqrt_Float1,
3028     BuiltInName::inversesqrt,
3029     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3030     BuiltInParameters::p00B00B00B,
3031     1,
3032     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3033     EOpInversesqrt,
3034     true);
3035 constexpr const TFunction inversesqrt_10B(
3036     BuiltInId::inversesqrt_Float2,
3037     BuiltInName::inversesqrt,
3038     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3039     BuiltInParameters::p10B00B00B,
3040     1,
3041     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3042     EOpInversesqrt,
3043     true);
3044 constexpr const TFunction inversesqrt_20B(
3045     BuiltInId::inversesqrt_Float3,
3046     BuiltInName::inversesqrt,
3047     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3048     BuiltInParameters::p20B00B00B,
3049     1,
3050     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3051     EOpInversesqrt,
3052     true);
3053 constexpr const TFunction inversesqrt_30B(
3054     BuiltInId::inversesqrt_Float4,
3055     BuiltInName::inversesqrt,
3056     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3057     BuiltInParameters::p30B00B00B,
3058     1,
3059     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3060     EOpInversesqrt,
3061     true);
3062 constexpr const TFunction abs_00B(BuiltInId::abs_Float1,
3063                                   BuiltInName::abs,
3064                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3065                                   BuiltInParameters::p00B00B00B,
3066                                   1,
3067                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3068                                   EOpAbs,
3069                                   true);
3070 constexpr const TFunction abs_10B(BuiltInId::abs_Float2,
3071                                   BuiltInName::abs,
3072                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3073                                   BuiltInParameters::p10B00B00B,
3074                                   1,
3075                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3076                                   EOpAbs,
3077                                   true);
3078 constexpr const TFunction abs_20B(BuiltInId::abs_Float3,
3079                                   BuiltInName::abs,
3080                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3081                                   BuiltInParameters::p20B00B00B,
3082                                   1,
3083                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3084                                   EOpAbs,
3085                                   true);
3086 constexpr const TFunction abs_30B(BuiltInId::abs_Float4,
3087                                   BuiltInName::abs,
3088                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3089                                   BuiltInParameters::p30B00B00B,
3090                                   1,
3091                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3092                                   EOpAbs,
3093                                   true);
3094 constexpr const TFunction abs_00C(BuiltInId::abs_Int1,
3095                                   BuiltInName::abs,
3096                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3097                                   BuiltInParameters::p00C00C00C00C,
3098                                   1,
3099                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
3100                                   EOpAbs,
3101                                   true);
3102 constexpr const TFunction abs_10C(BuiltInId::abs_Int2,
3103                                   BuiltInName::abs,
3104                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3105                                   BuiltInParameters::p10C00C00C,
3106                                   1,
3107                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3108                                   EOpAbs,
3109                                   true);
3110 constexpr const TFunction abs_20C(BuiltInId::abs_Int3,
3111                                   BuiltInName::abs,
3112                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3113                                   BuiltInParameters::p20C00C00C,
3114                                   1,
3115                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3116                                   EOpAbs,
3117                                   true);
3118 constexpr const TFunction abs_30C(BuiltInId::abs_Int4,
3119                                   BuiltInName::abs,
3120                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3121                                   BuiltInParameters::p30C00C00C,
3122                                   1,
3123                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3124                                   EOpAbs,
3125                                   true);
3126 constexpr const TFunction sign_00B(BuiltInId::sign_Float1,
3127                                    BuiltInName::sign,
3128                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3129                                    BuiltInParameters::p00B00B00B,
3130                                    1,
3131                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3132                                    EOpSign,
3133                                    true);
3134 constexpr const TFunction sign_10B(BuiltInId::sign_Float2,
3135                                    BuiltInName::sign,
3136                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3137                                    BuiltInParameters::p10B00B00B,
3138                                    1,
3139                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3140                                    EOpSign,
3141                                    true);
3142 constexpr const TFunction sign_20B(BuiltInId::sign_Float3,
3143                                    BuiltInName::sign,
3144                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3145                                    BuiltInParameters::p20B00B00B,
3146                                    1,
3147                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3148                                    EOpSign,
3149                                    true);
3150 constexpr const TFunction sign_30B(BuiltInId::sign_Float4,
3151                                    BuiltInName::sign,
3152                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3153                                    BuiltInParameters::p30B00B00B,
3154                                    1,
3155                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3156                                    EOpSign,
3157                                    true);
3158 constexpr const TFunction sign_00C(BuiltInId::sign_Int1,
3159                                    BuiltInName::sign,
3160                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3161                                    BuiltInParameters::p00C00C00C00C,
3162                                    1,
3163                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
3164                                    EOpSign,
3165                                    true);
3166 constexpr const TFunction sign_10C(BuiltInId::sign_Int2,
3167                                    BuiltInName::sign,
3168                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3169                                    BuiltInParameters::p10C00C00C,
3170                                    1,
3171                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3172                                    EOpSign,
3173                                    true);
3174 constexpr const TFunction sign_20C(BuiltInId::sign_Int3,
3175                                    BuiltInName::sign,
3176                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3177                                    BuiltInParameters::p20C00C00C,
3178                                    1,
3179                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3180                                    EOpSign,
3181                                    true);
3182 constexpr const TFunction sign_30C(BuiltInId::sign_Int4,
3183                                    BuiltInName::sign,
3184                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3185                                    BuiltInParameters::p30C00C00C,
3186                                    1,
3187                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3188                                    EOpSign,
3189                                    true);
3190 constexpr const TFunction floor_00B(BuiltInId::floor_Float1,
3191                                     BuiltInName::floor,
3192                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3193                                     BuiltInParameters::p00B00B00B,
3194                                     1,
3195                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3196                                     EOpFloor,
3197                                     true);
3198 constexpr const TFunction floor_10B(BuiltInId::floor_Float2,
3199                                     BuiltInName::floor,
3200                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3201                                     BuiltInParameters::p10B00B00B,
3202                                     1,
3203                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3204                                     EOpFloor,
3205                                     true);
3206 constexpr const TFunction floor_20B(BuiltInId::floor_Float3,
3207                                     BuiltInName::floor,
3208                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3209                                     BuiltInParameters::p20B00B00B,
3210                                     1,
3211                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3212                                     EOpFloor,
3213                                     true);
3214 constexpr const TFunction floor_30B(BuiltInId::floor_Float4,
3215                                     BuiltInName::floor,
3216                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3217                                     BuiltInParameters::p30B00B00B,
3218                                     1,
3219                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3220                                     EOpFloor,
3221                                     true);
3222 constexpr const TFunction trunc_00B(BuiltInId::trunc_Float1,
3223                                     BuiltInName::trunc,
3224                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3225                                     BuiltInParameters::p00B00B00B,
3226                                     1,
3227                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3228                                     EOpTrunc,
3229                                     true);
3230 constexpr const TFunction trunc_10B(BuiltInId::trunc_Float2,
3231                                     BuiltInName::trunc,
3232                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3233                                     BuiltInParameters::p10B00B00B,
3234                                     1,
3235                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3236                                     EOpTrunc,
3237                                     true);
3238 constexpr const TFunction trunc_20B(BuiltInId::trunc_Float3,
3239                                     BuiltInName::trunc,
3240                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3241                                     BuiltInParameters::p20B00B00B,
3242                                     1,
3243                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3244                                     EOpTrunc,
3245                                     true);
3246 constexpr const TFunction trunc_30B(BuiltInId::trunc_Float4,
3247                                     BuiltInName::trunc,
3248                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3249                                     BuiltInParameters::p30B00B00B,
3250                                     1,
3251                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3252                                     EOpTrunc,
3253                                     true);
3254 constexpr const TFunction round_00B(BuiltInId::round_Float1,
3255                                     BuiltInName::round,
3256                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3257                                     BuiltInParameters::p00B00B00B,
3258                                     1,
3259                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3260                                     EOpRound,
3261                                     true);
3262 constexpr const TFunction round_10B(BuiltInId::round_Float2,
3263                                     BuiltInName::round,
3264                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3265                                     BuiltInParameters::p10B00B00B,
3266                                     1,
3267                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3268                                     EOpRound,
3269                                     true);
3270 constexpr const TFunction round_20B(BuiltInId::round_Float3,
3271                                     BuiltInName::round,
3272                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3273                                     BuiltInParameters::p20B00B00B,
3274                                     1,
3275                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3276                                     EOpRound,
3277                                     true);
3278 constexpr const TFunction round_30B(BuiltInId::round_Float4,
3279                                     BuiltInName::round,
3280                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3281                                     BuiltInParameters::p30B00B00B,
3282                                     1,
3283                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3284                                     EOpRound,
3285                                     true);
3286 constexpr const TFunction roundEven_00B(BuiltInId::roundEven_Float1,
3287                                         BuiltInName::roundEven,
3288                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3289                                         BuiltInParameters::p00B00B00B,
3290                                         1,
3291                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3292                                         EOpRoundEven,
3293                                         true);
3294 constexpr const TFunction roundEven_10B(BuiltInId::roundEven_Float2,
3295                                         BuiltInName::roundEven,
3296                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3297                                         BuiltInParameters::p10B00B00B,
3298                                         1,
3299                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3300                                         EOpRoundEven,
3301                                         true);
3302 constexpr const TFunction roundEven_20B(BuiltInId::roundEven_Float3,
3303                                         BuiltInName::roundEven,
3304                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3305                                         BuiltInParameters::p20B00B00B,
3306                                         1,
3307                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3308                                         EOpRoundEven,
3309                                         true);
3310 constexpr const TFunction roundEven_30B(BuiltInId::roundEven_Float4,
3311                                         BuiltInName::roundEven,
3312                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3313                                         BuiltInParameters::p30B00B00B,
3314                                         1,
3315                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3316                                         EOpRoundEven,
3317                                         true);
3318 constexpr const TFunction ceil_00B(BuiltInId::ceil_Float1,
3319                                    BuiltInName::ceil,
3320                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3321                                    BuiltInParameters::p00B00B00B,
3322                                    1,
3323                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3324                                    EOpCeil,
3325                                    true);
3326 constexpr const TFunction ceil_10B(BuiltInId::ceil_Float2,
3327                                    BuiltInName::ceil,
3328                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3329                                    BuiltInParameters::p10B00B00B,
3330                                    1,
3331                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3332                                    EOpCeil,
3333                                    true);
3334 constexpr const TFunction ceil_20B(BuiltInId::ceil_Float3,
3335                                    BuiltInName::ceil,
3336                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3337                                    BuiltInParameters::p20B00B00B,
3338                                    1,
3339                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3340                                    EOpCeil,
3341                                    true);
3342 constexpr const TFunction ceil_30B(BuiltInId::ceil_Float4,
3343                                    BuiltInName::ceil,
3344                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3345                                    BuiltInParameters::p30B00B00B,
3346                                    1,
3347                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3348                                    EOpCeil,
3349                                    true);
3350 constexpr const TFunction fract_00B(BuiltInId::fract_Float1,
3351                                     BuiltInName::fract,
3352                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3353                                     BuiltInParameters::p00B00B00B,
3354                                     1,
3355                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3356                                     EOpFract,
3357                                     true);
3358 constexpr const TFunction fract_10B(BuiltInId::fract_Float2,
3359                                     BuiltInName::fract,
3360                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3361                                     BuiltInParameters::p10B00B00B,
3362                                     1,
3363                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3364                                     EOpFract,
3365                                     true);
3366 constexpr const TFunction fract_20B(BuiltInId::fract_Float3,
3367                                     BuiltInName::fract,
3368                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3369                                     BuiltInParameters::p20B00B00B,
3370                                     1,
3371                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3372                                     EOpFract,
3373                                     true);
3374 constexpr const TFunction fract_30B(BuiltInId::fract_Float4,
3375                                     BuiltInName::fract,
3376                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3377                                     BuiltInParameters::p30B00B00B,
3378                                     1,
3379                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3380                                     EOpFract,
3381                                     true);
3382 constexpr const TFunction mod_00B00B(BuiltInId::mod_Float1_Float1,
3383                                      BuiltInName::mod,
3384                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3385                                      BuiltInParameters::p00B00B00B,
3386                                      2,
3387                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3388                                      EOpMod,
3389                                      true);
3390 constexpr const TFunction mod_10B00B(BuiltInId::mod_Float2_Float1,
3391                                      BuiltInName::mod,
3392                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3393                                      BuiltInParameters::p10B00B00B,
3394                                      2,
3395                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3396                                      EOpMod,
3397                                      true);
3398 constexpr const TFunction mod_20B00B(BuiltInId::mod_Float3_Float1,
3399                                      BuiltInName::mod,
3400                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3401                                      BuiltInParameters::p20B00B00B,
3402                                      2,
3403                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3404                                      EOpMod,
3405                                      true);
3406 constexpr const TFunction mod_30B00B(BuiltInId::mod_Float4_Float1,
3407                                      BuiltInName::mod,
3408                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3409                                      BuiltInParameters::p30B00B00B,
3410                                      2,
3411                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3412                                      EOpMod,
3413                                      true);
3414 constexpr const TFunction mod_10B10B(BuiltInId::mod_Float2_Float2,
3415                                      BuiltInName::mod,
3416                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3417                                      BuiltInParameters::p10B10B00B,
3418                                      2,
3419                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3420                                      EOpMod,
3421                                      true);
3422 constexpr const TFunction mod_20B20B(BuiltInId::mod_Float3_Float3,
3423                                      BuiltInName::mod,
3424                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3425                                      BuiltInParameters::p20B20B00B,
3426                                      2,
3427                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3428                                      EOpMod,
3429                                      true);
3430 constexpr const TFunction mod_30B30B(BuiltInId::mod_Float4_Float4,
3431                                      BuiltInName::mod,
3432                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3433                                      BuiltInParameters::p30B30B00B,
3434                                      2,
3435                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3436                                      EOpMod,
3437                                      true);
3438 constexpr const TFunction min_00B00B(BuiltInId::min_Float1_Float1,
3439                                      BuiltInName::min,
3440                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3441                                      BuiltInParameters::p00B00B00B,
3442                                      2,
3443                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3444                                      EOpMin,
3445                                      true);
3446 constexpr const TFunction min_10B00B(BuiltInId::min_Float2_Float1,
3447                                      BuiltInName::min,
3448                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3449                                      BuiltInParameters::p10B00B00B,
3450                                      2,
3451                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3452                                      EOpMin,
3453                                      true);
3454 constexpr const TFunction min_20B00B(BuiltInId::min_Float3_Float1,
3455                                      BuiltInName::min,
3456                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3457                                      BuiltInParameters::p20B00B00B,
3458                                      2,
3459                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3460                                      EOpMin,
3461                                      true);
3462 constexpr const TFunction min_30B00B(BuiltInId::min_Float4_Float1,
3463                                      BuiltInName::min,
3464                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3465                                      BuiltInParameters::p30B00B00B,
3466                                      2,
3467                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3468                                      EOpMin,
3469                                      true);
3470 constexpr const TFunction min_10B10B(BuiltInId::min_Float2_Float2,
3471                                      BuiltInName::min,
3472                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3473                                      BuiltInParameters::p10B10B00B,
3474                                      2,
3475                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3476                                      EOpMin,
3477                                      true);
3478 constexpr const TFunction min_20B20B(BuiltInId::min_Float3_Float3,
3479                                      BuiltInName::min,
3480                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3481                                      BuiltInParameters::p20B20B00B,
3482                                      2,
3483                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3484                                      EOpMin,
3485                                      true);
3486 constexpr const TFunction min_30B30B(BuiltInId::min_Float4_Float4,
3487                                      BuiltInName::min,
3488                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3489                                      BuiltInParameters::p30B30B00B,
3490                                      2,
3491                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3492                                      EOpMin,
3493                                      true);
3494 constexpr const TFunction min_00C00C(BuiltInId::min_Int1_Int1,
3495                                      BuiltInName::min,
3496                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3497                                      BuiltInParameters::p00C00C00C00C,
3498                                      2,
3499                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
3500                                      EOpMin,
3501                                      true);
3502 constexpr const TFunction min_10C10C(BuiltInId::min_Int2_Int2,
3503                                      BuiltInName::min,
3504                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3505                                      BuiltInParameters::p10C10C00C00C,
3506                                      2,
3507                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3508                                      EOpMin,
3509                                      true);
3510 constexpr const TFunction min_20C20C(BuiltInId::min_Int3_Int3,
3511                                      BuiltInName::min,
3512                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3513                                      BuiltInParameters::p20C20C00C00C,
3514                                      2,
3515                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3516                                      EOpMin,
3517                                      true);
3518 constexpr const TFunction min_30C30C(BuiltInId::min_Int4_Int4,
3519                                      BuiltInName::min,
3520                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3521                                      BuiltInParameters::p30C30C00C00C,
3522                                      2,
3523                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3524                                      EOpMin,
3525                                      true);
3526 constexpr const TFunction min_10C00C(BuiltInId::min_Int2_Int1,
3527                                      BuiltInName::min,
3528                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3529                                      BuiltInParameters::p10C00C00C,
3530                                      2,
3531                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3532                                      EOpMin,
3533                                      true);
3534 constexpr const TFunction min_20C00C(BuiltInId::min_Int3_Int1,
3535                                      BuiltInName::min,
3536                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3537                                      BuiltInParameters::p20C00C00C,
3538                                      2,
3539                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3540                                      EOpMin,
3541                                      true);
3542 constexpr const TFunction min_30C00C(BuiltInId::min_Int4_Int1,
3543                                      BuiltInName::min,
3544                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3545                                      BuiltInParameters::p30C00C00C,
3546                                      2,
3547                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3548                                      EOpMin,
3549                                      true);
3550 constexpr const TFunction min_00D00D(BuiltInId::min_UInt1_UInt1,
3551                                      BuiltInName::min,
3552                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3553                                      BuiltInParameters::p00D00D00C00C,
3554                                      2,
3555                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
3556                                      EOpMin,
3557                                      true);
3558 constexpr const TFunction min_10D10D(BuiltInId::min_UInt2_UInt2,
3559                                      BuiltInName::min,
3560                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3561                                      BuiltInParameters::p10D10D00C00C,
3562                                      2,
3563                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
3564                                      EOpMin,
3565                                      true);
3566 constexpr const TFunction min_20D20D(BuiltInId::min_UInt3_UInt3,
3567                                      BuiltInName::min,
3568                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3569                                      BuiltInParameters::p20D20D00C00C,
3570                                      2,
3571                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
3572                                      EOpMin,
3573                                      true);
3574 constexpr const TFunction min_30D30D(BuiltInId::min_UInt4_UInt4,
3575                                      BuiltInName::min,
3576                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3577                                      BuiltInParameters::p30D30D00C00C,
3578                                      2,
3579                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
3580                                      EOpMin,
3581                                      true);
3582 constexpr const TFunction min_10D00D(BuiltInId::min_UInt2_UInt1,
3583                                      BuiltInName::min,
3584                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3585                                      BuiltInParameters::p10D00D00D,
3586                                      2,
3587                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
3588                                      EOpMin,
3589                                      true);
3590 constexpr const TFunction min_20D00D(BuiltInId::min_UInt3_UInt1,
3591                                      BuiltInName::min,
3592                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3593                                      BuiltInParameters::p20D00D00D,
3594                                      2,
3595                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
3596                                      EOpMin,
3597                                      true);
3598 constexpr const TFunction min_30D00D(BuiltInId::min_UInt4_UInt1,
3599                                      BuiltInName::min,
3600                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3601                                      BuiltInParameters::p30D00D00D,
3602                                      2,
3603                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
3604                                      EOpMin,
3605                                      true);
3606 constexpr const TFunction max_00B00B(BuiltInId::max_Float1_Float1,
3607                                      BuiltInName::max,
3608                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3609                                      BuiltInParameters::p00B00B00B,
3610                                      2,
3611                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3612                                      EOpMax,
3613                                      true);
3614 constexpr const TFunction max_10B00B(BuiltInId::max_Float2_Float1,
3615                                      BuiltInName::max,
3616                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3617                                      BuiltInParameters::p10B00B00B,
3618                                      2,
3619                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3620                                      EOpMax,
3621                                      true);
3622 constexpr const TFunction max_20B00B(BuiltInId::max_Float3_Float1,
3623                                      BuiltInName::max,
3624                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3625                                      BuiltInParameters::p20B00B00B,
3626                                      2,
3627                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3628                                      EOpMax,
3629                                      true);
3630 constexpr const TFunction max_30B00B(BuiltInId::max_Float4_Float1,
3631                                      BuiltInName::max,
3632                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3633                                      BuiltInParameters::p30B00B00B,
3634                                      2,
3635                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3636                                      EOpMax,
3637                                      true);
3638 constexpr const TFunction max_10B10B(BuiltInId::max_Float2_Float2,
3639                                      BuiltInName::max,
3640                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3641                                      BuiltInParameters::p10B10B00B,
3642                                      2,
3643                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3644                                      EOpMax,
3645                                      true);
3646 constexpr const TFunction max_20B20B(BuiltInId::max_Float3_Float3,
3647                                      BuiltInName::max,
3648                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3649                                      BuiltInParameters::p20B20B00B,
3650                                      2,
3651                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3652                                      EOpMax,
3653                                      true);
3654 constexpr const TFunction max_30B30B(BuiltInId::max_Float4_Float4,
3655                                      BuiltInName::max,
3656                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3657                                      BuiltInParameters::p30B30B00B,
3658                                      2,
3659                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3660                                      EOpMax,
3661                                      true);
3662 constexpr const TFunction max_00C00C(BuiltInId::max_Int1_Int1,
3663                                      BuiltInName::max,
3664                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3665                                      BuiltInParameters::p00C00C00C00C,
3666                                      2,
3667                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
3668                                      EOpMax,
3669                                      true);
3670 constexpr const TFunction max_10C10C(BuiltInId::max_Int2_Int2,
3671                                      BuiltInName::max,
3672                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3673                                      BuiltInParameters::p10C10C00C00C,
3674                                      2,
3675                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3676                                      EOpMax,
3677                                      true);
3678 constexpr const TFunction max_20C20C(BuiltInId::max_Int3_Int3,
3679                                      BuiltInName::max,
3680                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3681                                      BuiltInParameters::p20C20C00C00C,
3682                                      2,
3683                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3684                                      EOpMax,
3685                                      true);
3686 constexpr const TFunction max_30C30C(BuiltInId::max_Int4_Int4,
3687                                      BuiltInName::max,
3688                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3689                                      BuiltInParameters::p30C30C00C00C,
3690                                      2,
3691                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3692                                      EOpMax,
3693                                      true);
3694 constexpr const TFunction max_10C00C(BuiltInId::max_Int2_Int1,
3695                                      BuiltInName::max,
3696                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3697                                      BuiltInParameters::p10C00C00C,
3698                                      2,
3699                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3700                                      EOpMax,
3701                                      true);
3702 constexpr const TFunction max_20C00C(BuiltInId::max_Int3_Int1,
3703                                      BuiltInName::max,
3704                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3705                                      BuiltInParameters::p20C00C00C,
3706                                      2,
3707                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3708                                      EOpMax,
3709                                      true);
3710 constexpr const TFunction max_30C00C(BuiltInId::max_Int4_Int1,
3711                                      BuiltInName::max,
3712                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3713                                      BuiltInParameters::p30C00C00C,
3714                                      2,
3715                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3716                                      EOpMax,
3717                                      true);
3718 constexpr const TFunction max_00D00D(BuiltInId::max_UInt1_UInt1,
3719                                      BuiltInName::max,
3720                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3721                                      BuiltInParameters::p00D00D00C00C,
3722                                      2,
3723                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
3724                                      EOpMax,
3725                                      true);
3726 constexpr const TFunction max_10D10D(BuiltInId::max_UInt2_UInt2,
3727                                      BuiltInName::max,
3728                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3729                                      BuiltInParameters::p10D10D00C00C,
3730                                      2,
3731                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
3732                                      EOpMax,
3733                                      true);
3734 constexpr const TFunction max_20D20D(BuiltInId::max_UInt3_UInt3,
3735                                      BuiltInName::max,
3736                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3737                                      BuiltInParameters::p20D20D00C00C,
3738                                      2,
3739                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
3740                                      EOpMax,
3741                                      true);
3742 constexpr const TFunction max_30D30D(BuiltInId::max_UInt4_UInt4,
3743                                      BuiltInName::max,
3744                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3745                                      BuiltInParameters::p30D30D00C00C,
3746                                      2,
3747                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
3748                                      EOpMax,
3749                                      true);
3750 constexpr const TFunction max_10D00D(BuiltInId::max_UInt2_UInt1,
3751                                      BuiltInName::max,
3752                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3753                                      BuiltInParameters::p10D00D00D,
3754                                      2,
3755                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
3756                                      EOpMax,
3757                                      true);
3758 constexpr const TFunction max_20D00D(BuiltInId::max_UInt3_UInt1,
3759                                      BuiltInName::max,
3760                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3761                                      BuiltInParameters::p20D00D00D,
3762                                      2,
3763                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
3764                                      EOpMax,
3765                                      true);
3766 constexpr const TFunction max_30D00D(BuiltInId::max_UInt4_UInt1,
3767                                      BuiltInName::max,
3768                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3769                                      BuiltInParameters::p30D00D00D,
3770                                      2,
3771                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
3772                                      EOpMax,
3773                                      true);
3774 constexpr const TFunction clamp_00B00B00B(
3775     BuiltInId::clamp_Float1_Float1_Float1,
3776     BuiltInName::clamp,
3777     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3778     BuiltInParameters::p00B00B00B,
3779     3,
3780     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3781     EOpClamp,
3782     true);
3783 constexpr const TFunction clamp_10B00B00B(
3784     BuiltInId::clamp_Float2_Float1_Float1,
3785     BuiltInName::clamp,
3786     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3787     BuiltInParameters::p10B00B00B,
3788     3,
3789     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3790     EOpClamp,
3791     true);
3792 constexpr const TFunction clamp_20B00B00B(
3793     BuiltInId::clamp_Float3_Float1_Float1,
3794     BuiltInName::clamp,
3795     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3796     BuiltInParameters::p20B00B00B,
3797     3,
3798     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3799     EOpClamp,
3800     true);
3801 constexpr const TFunction clamp_30B00B00B(
3802     BuiltInId::clamp_Float4_Float1_Float1,
3803     BuiltInName::clamp,
3804     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3805     BuiltInParameters::p30B00B00B,
3806     3,
3807     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3808     EOpClamp,
3809     true);
3810 constexpr const TFunction clamp_10B10B10B(
3811     BuiltInId::clamp_Float2_Float2_Float2,
3812     BuiltInName::clamp,
3813     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3814     BuiltInParameters::p10B10B10B,
3815     3,
3816     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3817     EOpClamp,
3818     true);
3819 constexpr const TFunction clamp_20B20B20B(
3820     BuiltInId::clamp_Float3_Float3_Float3,
3821     BuiltInName::clamp,
3822     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3823     BuiltInParameters::p20B20B20B,
3824     3,
3825     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3826     EOpClamp,
3827     true);
3828 constexpr const TFunction clamp_30B30B30B(
3829     BuiltInId::clamp_Float4_Float4_Float4,
3830     BuiltInName::clamp,
3831     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3832     BuiltInParameters::p30B30B30B,
3833     3,
3834     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3835     EOpClamp,
3836     true);
3837 constexpr const TFunction clamp_00C00C00C(BuiltInId::clamp_Int1_Int1_Int1,
3838                                           BuiltInName::clamp,
3839                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3840                                           BuiltInParameters::p00C00C00C00C,
3841                                           3,
3842                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
3843                                           EOpClamp,
3844                                           true);
3845 constexpr const TFunction clamp_10C00C00C(BuiltInId::clamp_Int2_Int1_Int1,
3846                                           BuiltInName::clamp,
3847                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3848                                           BuiltInParameters::p10C00C00C,
3849                                           3,
3850                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3851                                           EOpClamp,
3852                                           true);
3853 constexpr const TFunction clamp_20C00C00C(BuiltInId::clamp_Int3_Int1_Int1,
3854                                           BuiltInName::clamp,
3855                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3856                                           BuiltInParameters::p20C00C00C,
3857                                           3,
3858                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3859                                           EOpClamp,
3860                                           true);
3861 constexpr const TFunction clamp_30C00C00C(BuiltInId::clamp_Int4_Int1_Int1,
3862                                           BuiltInName::clamp,
3863                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3864                                           BuiltInParameters::p30C00C00C,
3865                                           3,
3866                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3867                                           EOpClamp,
3868                                           true);
3869 constexpr const TFunction clamp_10C10C10C(BuiltInId::clamp_Int2_Int2_Int2,
3870                                           BuiltInName::clamp,
3871                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3872                                           BuiltInParameters::p10C10C10C,
3873                                           3,
3874                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
3875                                           EOpClamp,
3876                                           true);
3877 constexpr const TFunction clamp_20C20C20C(BuiltInId::clamp_Int3_Int3_Int3,
3878                                           BuiltInName::clamp,
3879                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3880                                           BuiltInParameters::p20C20C20C,
3881                                           3,
3882                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
3883                                           EOpClamp,
3884                                           true);
3885 constexpr const TFunction clamp_30C30C30C(BuiltInId::clamp_Int4_Int4_Int4,
3886                                           BuiltInName::clamp,
3887                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3888                                           BuiltInParameters::p30C30C30C,
3889                                           3,
3890                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
3891                                           EOpClamp,
3892                                           true);
3893 constexpr const TFunction clamp_00D00D00D(BuiltInId::clamp_UInt1_UInt1_UInt1,
3894                                           BuiltInName::clamp,
3895                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3896                                           BuiltInParameters::p00D00D00D,
3897                                           3,
3898                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
3899                                           EOpClamp,
3900                                           true);
3901 constexpr const TFunction clamp_10D00D00D(BuiltInId::clamp_UInt2_UInt1_UInt1,
3902                                           BuiltInName::clamp,
3903                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3904                                           BuiltInParameters::p10D00D00D,
3905                                           3,
3906                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
3907                                           EOpClamp,
3908                                           true);
3909 constexpr const TFunction clamp_20D00D00D(BuiltInId::clamp_UInt3_UInt1_UInt1,
3910                                           BuiltInName::clamp,
3911                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3912                                           BuiltInParameters::p20D00D00D,
3913                                           3,
3914                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
3915                                           EOpClamp,
3916                                           true);
3917 constexpr const TFunction clamp_30D00D00D(BuiltInId::clamp_UInt4_UInt1_UInt1,
3918                                           BuiltInName::clamp,
3919                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3920                                           BuiltInParameters::p30D00D00D,
3921                                           3,
3922                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
3923                                           EOpClamp,
3924                                           true);
3925 constexpr const TFunction clamp_10D10D10D(BuiltInId::clamp_UInt2_UInt2_UInt2,
3926                                           BuiltInName::clamp,
3927                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3928                                           BuiltInParameters::p10D10D10D,
3929                                           3,
3930                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
3931                                           EOpClamp,
3932                                           true);
3933 constexpr const TFunction clamp_20D20D20D(BuiltInId::clamp_UInt3_UInt3_UInt3,
3934                                           BuiltInName::clamp,
3935                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3936                                           BuiltInParameters::p20D20D20D,
3937                                           3,
3938                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
3939                                           EOpClamp,
3940                                           true);
3941 constexpr const TFunction clamp_30D30D30D(BuiltInId::clamp_UInt4_UInt4_UInt4,
3942                                           BuiltInName::clamp,
3943                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3944                                           BuiltInParameters::p30D30D30D,
3945                                           3,
3946                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
3947                                           EOpClamp,
3948                                           true);
3949 constexpr const TFunction mix_00B00B00B(BuiltInId::mix_Float1_Float1_Float1,
3950                                         BuiltInName::mix,
3951                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3952                                         BuiltInParameters::p00B00B00B,
3953                                         3,
3954                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
3955                                         EOpMix,
3956                                         true);
3957 constexpr const TFunction mix_10B10B00B(BuiltInId::mix_Float2_Float2_Float1,
3958                                         BuiltInName::mix,
3959                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3960                                         BuiltInParameters::p10B10B00B,
3961                                         3,
3962                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3963                                         EOpMix,
3964                                         true);
3965 constexpr const TFunction mix_20B20B00B(BuiltInId::mix_Float3_Float3_Float1,
3966                                         BuiltInName::mix,
3967                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3968                                         BuiltInParameters::p20B20B00B,
3969                                         3,
3970                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3971                                         EOpMix,
3972                                         true);
3973 constexpr const TFunction mix_30B30B00B(BuiltInId::mix_Float4_Float4_Float1,
3974                                         BuiltInName::mix,
3975                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3976                                         BuiltInParameters::p30B30B00B,
3977                                         3,
3978                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
3979                                         EOpMix,
3980                                         true);
3981 constexpr const TFunction mix_10B10B10B(BuiltInId::mix_Float2_Float2_Float2,
3982                                         BuiltInName::mix,
3983                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3984                                         BuiltInParameters::p10B10B10B,
3985                                         3,
3986                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
3987                                         EOpMix,
3988                                         true);
3989 constexpr const TFunction mix_20B20B20B(BuiltInId::mix_Float3_Float3_Float3,
3990                                         BuiltInName::mix,
3991                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
3992                                         BuiltInParameters::p20B20B20B,
3993                                         3,
3994                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
3995                                         EOpMix,
3996                                         true);
3997 constexpr const TFunction mix_30B30B30B(BuiltInId::mix_Float4_Float4_Float4,
3998                                         BuiltInName::mix,
3999                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4000                                         BuiltInParameters::p30B30B30B,
4001                                         3,
4002                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4003                                         EOpMix,
4004                                         true);
4005 constexpr const TFunction mix_00B00B00E(BuiltInId::mix_Float1_Float1_Bool1,
4006                                         BuiltInName::mix,
4007                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4008                                         BuiltInParameters::p00B00B00E,
4009                                         3,
4010                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4011                                         EOpMix,
4012                                         true);
4013 constexpr const TFunction mix_10B10B10E(BuiltInId::mix_Float2_Float2_Bool2,
4014                                         BuiltInName::mix,
4015                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4016                                         BuiltInParameters::p10B10B10E,
4017                                         3,
4018                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4019                                         EOpMix,
4020                                         true);
4021 constexpr const TFunction mix_20B20B20E(BuiltInId::mix_Float3_Float3_Bool3,
4022                                         BuiltInName::mix,
4023                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4024                                         BuiltInParameters::p20B20B20E,
4025                                         3,
4026                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4027                                         EOpMix,
4028                                         true);
4029 constexpr const TFunction mix_30B30B30E(BuiltInId::mix_Float4_Float4_Bool4,
4030                                         BuiltInName::mix,
4031                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4032                                         BuiltInParameters::p30B30B30E,
4033                                         3,
4034                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4035                                         EOpMix,
4036                                         true);
4037 constexpr const TFunction mix_00C00C00E(BuiltInId::mix_Int1_Int1_Bool1,
4038                                         BuiltInName::mix,
4039                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4040                                         BuiltInParameters::p00C00C00E,
4041                                         3,
4042                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
4043                                         EOpMix,
4044                                         true);
4045 constexpr const TFunction mix_10C10C10E(BuiltInId::mix_Int2_Int2_Bool2,
4046                                         BuiltInName::mix,
4047                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4048                                         BuiltInParameters::p10C10C10E,
4049                                         3,
4050                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
4051                                         EOpMix,
4052                                         true);
4053 constexpr const TFunction mix_20C20C20E(BuiltInId::mix_Int3_Int3_Bool3,
4054                                         BuiltInName::mix,
4055                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4056                                         BuiltInParameters::p20C20C20E,
4057                                         3,
4058                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
4059                                         EOpMix,
4060                                         true);
4061 constexpr const TFunction mix_30C30C30E(BuiltInId::mix_Int4_Int4_Bool4,
4062                                         BuiltInName::mix,
4063                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4064                                         BuiltInParameters::p30C30C30E,
4065                                         3,
4066                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
4067                                         EOpMix,
4068                                         true);
4069 constexpr const TFunction mix_00D00D00E(BuiltInId::mix_UInt1_UInt1_Bool1,
4070                                         BuiltInName::mix,
4071                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4072                                         BuiltInParameters::p00D00D00E,
4073                                         3,
4074                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4075                                         EOpMix,
4076                                         true);
4077 constexpr const TFunction mix_10D10D10E(BuiltInId::mix_UInt2_UInt2_Bool2,
4078                                         BuiltInName::mix,
4079                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4080                                         BuiltInParameters::p10D10D10E,
4081                                         3,
4082                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
4083                                         EOpMix,
4084                                         true);
4085 constexpr const TFunction mix_20D20D20E(BuiltInId::mix_UInt3_UInt3_Bool3,
4086                                         BuiltInName::mix,
4087                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4088                                         BuiltInParameters::p20D20D20E,
4089                                         3,
4090                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
4091                                         EOpMix,
4092                                         true);
4093 constexpr const TFunction mix_30D30D30E(BuiltInId::mix_UInt4_UInt4_Bool4,
4094                                         BuiltInName::mix,
4095                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4096                                         BuiltInParameters::p30D30D30E,
4097                                         3,
4098                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
4099                                         EOpMix,
4100                                         true);
4101 constexpr const TFunction mix_00E00E00E(BuiltInId::mix_Bool1_Bool1_Bool1,
4102                                         BuiltInName::mix,
4103                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4104                                         BuiltInParameters::p00E00E00E,
4105                                         3,
4106                                         StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
4107                                         EOpMix,
4108                                         true);
4109 constexpr const TFunction mix_10E10E10E(BuiltInId::mix_Bool2_Bool2_Bool2,
4110                                         BuiltInName::mix,
4111                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4112                                         BuiltInParameters::p10E10E10E,
4113                                         3,
4114                                         StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
4115                                         EOpMix,
4116                                         true);
4117 constexpr const TFunction mix_20E20E20E(BuiltInId::mix_Bool3_Bool3_Bool3,
4118                                         BuiltInName::mix,
4119                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4120                                         BuiltInParameters::p20E20E20E,
4121                                         3,
4122                                         StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
4123                                         EOpMix,
4124                                         true);
4125 constexpr const TFunction mix_30E30E30E(BuiltInId::mix_Bool4_Bool4_Bool4,
4126                                         BuiltInName::mix,
4127                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4128                                         BuiltInParameters::p30E30E30E,
4129                                         3,
4130                                         StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
4131                                         EOpMix,
4132                                         true);
4133 constexpr const TFunction step_00B00B(BuiltInId::step_Float1_Float1,
4134                                       BuiltInName::step,
4135                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4136                                       BuiltInParameters::p00B00B00B,
4137                                       2,
4138                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4139                                       EOpStep,
4140                                       true);
4141 constexpr const TFunction step_10B10B(BuiltInId::step_Float2_Float2,
4142                                       BuiltInName::step,
4143                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4144                                       BuiltInParameters::p10B10B00B,
4145                                       2,
4146                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4147                                       EOpStep,
4148                                       true);
4149 constexpr const TFunction step_20B20B(BuiltInId::step_Float3_Float3,
4150                                       BuiltInName::step,
4151                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4152                                       BuiltInParameters::p20B20B00B,
4153                                       2,
4154                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4155                                       EOpStep,
4156                                       true);
4157 constexpr const TFunction step_30B30B(BuiltInId::step_Float4_Float4,
4158                                       BuiltInName::step,
4159                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4160                                       BuiltInParameters::p30B30B00B,
4161                                       2,
4162                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4163                                       EOpStep,
4164                                       true);
4165 constexpr const TFunction step_00B10B(BuiltInId::step_Float1_Float2,
4166                                       BuiltInName::step,
4167                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4168                                       BuiltInParameters::p00B10B,
4169                                       2,
4170                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4171                                       EOpStep,
4172                                       true);
4173 constexpr const TFunction step_00B20B(BuiltInId::step_Float1_Float3,
4174                                       BuiltInName::step,
4175                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4176                                       BuiltInParameters::p00B20B,
4177                                       2,
4178                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4179                                       EOpStep,
4180                                       true);
4181 constexpr const TFunction step_00B30B(BuiltInId::step_Float1_Float4,
4182                                       BuiltInName::step,
4183                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4184                                       BuiltInParameters::p00B30B,
4185                                       2,
4186                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4187                                       EOpStep,
4188                                       true);
4189 constexpr const TFunction smoothstep_00B00B00B(
4190     BuiltInId::smoothstep_Float1_Float1_Float1,
4191     BuiltInName::smoothstep,
4192     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4193     BuiltInParameters::p00B00B00B,
4194     3,
4195     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4196     EOpSmoothstep,
4197     true);
4198 constexpr const TFunction smoothstep_10B10B10B(
4199     BuiltInId::smoothstep_Float2_Float2_Float2,
4200     BuiltInName::smoothstep,
4201     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4202     BuiltInParameters::p10B10B10B,
4203     3,
4204     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4205     EOpSmoothstep,
4206     true);
4207 constexpr const TFunction smoothstep_20B20B20B(
4208     BuiltInId::smoothstep_Float3_Float3_Float3,
4209     BuiltInName::smoothstep,
4210     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4211     BuiltInParameters::p20B20B20B,
4212     3,
4213     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4214     EOpSmoothstep,
4215     true);
4216 constexpr const TFunction smoothstep_30B30B30B(
4217     BuiltInId::smoothstep_Float4_Float4_Float4,
4218     BuiltInName::smoothstep,
4219     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4220     BuiltInParameters::p30B30B30B,
4221     3,
4222     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4223     EOpSmoothstep,
4224     true);
4225 constexpr const TFunction smoothstep_00B00B10B(
4226     BuiltInId::smoothstep_Float1_Float1_Float2,
4227     BuiltInName::smoothstep,
4228     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4229     BuiltInParameters::p00B00B10B,
4230     3,
4231     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4232     EOpSmoothstep,
4233     true);
4234 constexpr const TFunction smoothstep_00B00B20B(
4235     BuiltInId::smoothstep_Float1_Float1_Float3,
4236     BuiltInName::smoothstep,
4237     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4238     BuiltInParameters::p00B00B20B,
4239     3,
4240     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4241     EOpSmoothstep,
4242     true);
4243 constexpr const TFunction smoothstep_00B00B30B(
4244     BuiltInId::smoothstep_Float1_Float1_Float4,
4245     BuiltInName::smoothstep,
4246     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4247     BuiltInParameters::p00B00B30B,
4248     3,
4249     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4250     EOpSmoothstep,
4251     true);
4252 constexpr const TFunction modf_00B00B(BuiltInId::modf_Float1_Float1,
4253                                       BuiltInName::modf,
4254                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4255                                       BuiltInParameters::p00B_o_00B,
4256                                       2,
4257                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4258                                       EOpModf,
4259                                       false);
4260 constexpr const TFunction modf_10B10B(BuiltInId::modf_Float2_Float2,
4261                                       BuiltInName::modf,
4262                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4263                                       BuiltInParameters::p10B_o_10B,
4264                                       2,
4265                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4266                                       EOpModf,
4267                                       false);
4268 constexpr const TFunction modf_20B20B(BuiltInId::modf_Float3_Float3,
4269                                       BuiltInName::modf,
4270                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4271                                       BuiltInParameters::p20B_o_20B,
4272                                       2,
4273                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4274                                       EOpModf,
4275                                       false);
4276 constexpr const TFunction modf_30B30B(BuiltInId::modf_Float4_Float4,
4277                                       BuiltInName::modf,
4278                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4279                                       BuiltInParameters::p30B_o_30B,
4280                                       2,
4281                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4282                                       EOpModf,
4283                                       false);
4284 constexpr const TFunction isnan_00B(BuiltInId::isnan_Float1,
4285                                     BuiltInName::isnan,
4286                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4287                                     BuiltInParameters::p00B00B00B,
4288                                     1,
4289                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
4290                                     EOpIsnan,
4291                                     true);
4292 constexpr const TFunction isnan_10B(BuiltInId::isnan_Float2,
4293                                     BuiltInName::isnan,
4294                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4295                                     BuiltInParameters::p10B00B00B,
4296                                     1,
4297                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
4298                                     EOpIsnan,
4299                                     true);
4300 constexpr const TFunction isnan_20B(BuiltInId::isnan_Float3,
4301                                     BuiltInName::isnan,
4302                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4303                                     BuiltInParameters::p20B00B00B,
4304                                     1,
4305                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
4306                                     EOpIsnan,
4307                                     true);
4308 constexpr const TFunction isnan_30B(BuiltInId::isnan_Float4,
4309                                     BuiltInName::isnan,
4310                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4311                                     BuiltInParameters::p30B00B00B,
4312                                     1,
4313                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
4314                                     EOpIsnan,
4315                                     true);
4316 constexpr const TFunction isinf_00B(BuiltInId::isinf_Float1,
4317                                     BuiltInName::isinf,
4318                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4319                                     BuiltInParameters::p00B00B00B,
4320                                     1,
4321                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
4322                                     EOpIsinf,
4323                                     true);
4324 constexpr const TFunction isinf_10B(BuiltInId::isinf_Float2,
4325                                     BuiltInName::isinf,
4326                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4327                                     BuiltInParameters::p10B00B00B,
4328                                     1,
4329                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
4330                                     EOpIsinf,
4331                                     true);
4332 constexpr const TFunction isinf_20B(BuiltInId::isinf_Float3,
4333                                     BuiltInName::isinf,
4334                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4335                                     BuiltInParameters::p20B00B00B,
4336                                     1,
4337                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
4338                                     EOpIsinf,
4339                                     true);
4340 constexpr const TFunction isinf_30B(BuiltInId::isinf_Float4,
4341                                     BuiltInName::isinf,
4342                                     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4343                                     BuiltInParameters::p30B00B00B,
4344                                     1,
4345                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
4346                                     EOpIsinf,
4347                                     true);
4348 constexpr const TFunction floatBitsToInt_00B(
4349     BuiltInId::floatBitsToInt_Float1,
4350     BuiltInName::floatBitsToInt,
4351     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4352     BuiltInParameters::p00B00B00B,
4353     1,
4354     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
4355     EOpFloatBitsToInt,
4356     true);
4357 constexpr const TFunction floatBitsToInt_10B(
4358     BuiltInId::floatBitsToInt_Float2,
4359     BuiltInName::floatBitsToInt,
4360     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4361     BuiltInParameters::p10B00B00B,
4362     1,
4363     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
4364     EOpFloatBitsToInt,
4365     true);
4366 constexpr const TFunction floatBitsToInt_20B(
4367     BuiltInId::floatBitsToInt_Float3,
4368     BuiltInName::floatBitsToInt,
4369     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4370     BuiltInParameters::p20B00B00B,
4371     1,
4372     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
4373     EOpFloatBitsToInt,
4374     true);
4375 constexpr const TFunction floatBitsToInt_30B(
4376     BuiltInId::floatBitsToInt_Float4,
4377     BuiltInName::floatBitsToInt,
4378     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4379     BuiltInParameters::p30B00B00B,
4380     1,
4381     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
4382     EOpFloatBitsToInt,
4383     true);
4384 constexpr const TFunction floatBitsToUint_00B(
4385     BuiltInId::floatBitsToUint_Float1,
4386     BuiltInName::floatBitsToUint,
4387     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4388     BuiltInParameters::p00B00B00B,
4389     1,
4390     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4391     EOpFloatBitsToUint,
4392     true);
4393 constexpr const TFunction floatBitsToUint_10B(
4394     BuiltInId::floatBitsToUint_Float2,
4395     BuiltInName::floatBitsToUint,
4396     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4397     BuiltInParameters::p10B00B00B,
4398     1,
4399     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
4400     EOpFloatBitsToUint,
4401     true);
4402 constexpr const TFunction floatBitsToUint_20B(
4403     BuiltInId::floatBitsToUint_Float3,
4404     BuiltInName::floatBitsToUint,
4405     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4406     BuiltInParameters::p20B00B00B,
4407     1,
4408     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
4409     EOpFloatBitsToUint,
4410     true);
4411 constexpr const TFunction floatBitsToUint_30B(
4412     BuiltInId::floatBitsToUint_Float4,
4413     BuiltInName::floatBitsToUint,
4414     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4415     BuiltInParameters::p30B00B00B,
4416     1,
4417     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
4418     EOpFloatBitsToUint,
4419     true);
4420 constexpr const TFunction intBitsToFloat_00C(
4421     BuiltInId::intBitsToFloat_Int1,
4422     BuiltInName::intBitsToFloat,
4423     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4424     BuiltInParameters::p00C00C00C00C,
4425     1,
4426     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4427     EOpIntBitsToFloat,
4428     true);
4429 constexpr const TFunction intBitsToFloat_10C(
4430     BuiltInId::intBitsToFloat_Int2,
4431     BuiltInName::intBitsToFloat,
4432     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4433     BuiltInParameters::p10C00C00C,
4434     1,
4435     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4436     EOpIntBitsToFloat,
4437     true);
4438 constexpr const TFunction intBitsToFloat_20C(
4439     BuiltInId::intBitsToFloat_Int3,
4440     BuiltInName::intBitsToFloat,
4441     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4442     BuiltInParameters::p20C00C00C,
4443     1,
4444     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4445     EOpIntBitsToFloat,
4446     true);
4447 constexpr const TFunction intBitsToFloat_30C(
4448     BuiltInId::intBitsToFloat_Int4,
4449     BuiltInName::intBitsToFloat,
4450     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4451     BuiltInParameters::p30C00C00C,
4452     1,
4453     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4454     EOpIntBitsToFloat,
4455     true);
4456 constexpr const TFunction uintBitsToFloat_00D(
4457     BuiltInId::uintBitsToFloat_UInt1,
4458     BuiltInName::uintBitsToFloat,
4459     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4460     BuiltInParameters::p00D00C00C,
4461     1,
4462     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4463     EOpUintBitsToFloat,
4464     true);
4465 constexpr const TFunction uintBitsToFloat_10D(
4466     BuiltInId::uintBitsToFloat_UInt2,
4467     BuiltInName::uintBitsToFloat,
4468     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4469     BuiltInParameters::p10D00C00C,
4470     1,
4471     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4472     EOpUintBitsToFloat,
4473     true);
4474 constexpr const TFunction uintBitsToFloat_20D(
4475     BuiltInId::uintBitsToFloat_UInt3,
4476     BuiltInName::uintBitsToFloat,
4477     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4478     BuiltInParameters::p20D00C00C,
4479     1,
4480     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4481     EOpUintBitsToFloat,
4482     true);
4483 constexpr const TFunction uintBitsToFloat_30D(
4484     BuiltInId::uintBitsToFloat_UInt4,
4485     BuiltInName::uintBitsToFloat,
4486     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4487     BuiltInParameters::p30D00C00C,
4488     1,
4489     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4490     EOpUintBitsToFloat,
4491     true);
4492 constexpr const TFunction fma_00B00B00B(BuiltInId::fma_Float1_Float1_Float1,
4493                                         BuiltInName::fma,
4494                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4495                                         BuiltInParameters::p00B00B00B,
4496                                         3,
4497                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4498                                         EOpFma,
4499                                         true);
4500 constexpr const TFunction fma_10B10B10B(BuiltInId::fma_Float2_Float2_Float2,
4501                                         BuiltInName::fma,
4502                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4503                                         BuiltInParameters::p10B10B10B,
4504                                         3,
4505                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4506                                         EOpFma,
4507                                         true);
4508 constexpr const TFunction fma_20B20B20B(BuiltInId::fma_Float3_Float3_Float3,
4509                                         BuiltInName::fma,
4510                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4511                                         BuiltInParameters::p20B20B20B,
4512                                         3,
4513                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4514                                         EOpFma,
4515                                         true);
4516 constexpr const TFunction fma_30B30B30B(BuiltInId::fma_Float4_Float4_Float4,
4517                                         BuiltInName::fma,
4518                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4519                                         BuiltInParameters::p30B30B30B,
4520                                         3,
4521                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4522                                         EOpFma,
4523                                         true);
4524 constexpr const TFunction fmaExt_00B00B00B(
4525     BuiltInId::fmaExt_Float1_Float1_Float1,
4526     BuiltInName::fmaExt,
4527     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
4528     BuiltInParameters::p00B00B00B,
4529     3,
4530     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4531     EOpFma,
4532     true);
4533 constexpr const TFunction fmaExt_10B10B10B(
4534     BuiltInId::fmaExt_Float2_Float2_Float2,
4535     BuiltInName::fmaExt,
4536     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
4537     BuiltInParameters::p10B10B10B,
4538     3,
4539     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4540     EOpFma,
4541     true);
4542 constexpr const TFunction fmaExt_20B20B20B(
4543     BuiltInId::fmaExt_Float3_Float3_Float3,
4544     BuiltInName::fmaExt,
4545     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
4546     BuiltInParameters::p20B20B20B,
4547     3,
4548     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4549     EOpFma,
4550     true);
4551 constexpr const TFunction fmaExt_30B30B30B(
4552     BuiltInId::fmaExt_Float4_Float4_Float4,
4553     BuiltInName::fmaExt,
4554     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
4555     BuiltInParameters::p30B30B30B,
4556     3,
4557     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4558     EOpFma,
4559     true);
4560 constexpr const TFunction frexp_00B00C(BuiltInId::frexp_Float1_Int1,
4561                                        BuiltInName::frexp,
4562                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4563                                        BuiltInParameters::p00B_o_00C,
4564                                        2,
4565                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4566                                        EOpFrexp,
4567                                        false);
4568 constexpr const TFunction frexp_10B10C(BuiltInId::frexp_Float2_Int2,
4569                                        BuiltInName::frexp,
4570                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4571                                        BuiltInParameters::p10B_o_10C,
4572                                        2,
4573                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4574                                        EOpFrexp,
4575                                        false);
4576 constexpr const TFunction frexp_20B20C(BuiltInId::frexp_Float3_Int3,
4577                                        BuiltInName::frexp,
4578                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4579                                        BuiltInParameters::p20B_o_20C,
4580                                        2,
4581                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4582                                        EOpFrexp,
4583                                        false);
4584 constexpr const TFunction frexp_30B30C(BuiltInId::frexp_Float4_Int4,
4585                                        BuiltInName::frexp,
4586                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4587                                        BuiltInParameters::p30B_o_30C,
4588                                        2,
4589                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4590                                        EOpFrexp,
4591                                        false);
4592 constexpr const TFunction ldexp_00B00C(BuiltInId::ldexp_Float1_Int1,
4593                                        BuiltInName::ldexp,
4594                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4595                                        BuiltInParameters::p00B00C,
4596                                        2,
4597                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4598                                        EOpLdexp,
4599                                        true);
4600 constexpr const TFunction ldexp_10B10C(BuiltInId::ldexp_Float2_Int2,
4601                                        BuiltInName::ldexp,
4602                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4603                                        BuiltInParameters::p10B10C,
4604                                        2,
4605                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4606                                        EOpLdexp,
4607                                        true);
4608 constexpr const TFunction ldexp_20B20C(BuiltInId::ldexp_Float3_Int3,
4609                                        BuiltInName::ldexp,
4610                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4611                                        BuiltInParameters::p20B20C,
4612                                        2,
4613                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4614                                        EOpLdexp,
4615                                        true);
4616 constexpr const TFunction ldexp_30B30C(BuiltInId::ldexp_Float4_Int4,
4617                                        BuiltInName::ldexp,
4618                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4619                                        BuiltInParameters::p30B30C,
4620                                        2,
4621                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4622                                        EOpLdexp,
4623                                        true);
4624 constexpr const TFunction packSnorm2x16_10B(
4625     BuiltInId::packSnorm2x16_Float2,
4626     BuiltInName::packSnorm2x16,
4627     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4628     BuiltInParameters::p10B00B00B,
4629     1,
4630     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4631     EOpPackSnorm2x16,
4632     true);
4633 constexpr const TFunction packHalf2x16_10B(
4634     BuiltInId::packHalf2x16_Float2,
4635     BuiltInName::packHalf2x16,
4636     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4637     BuiltInParameters::p10B00B00B,
4638     1,
4639     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4640     EOpPackHalf2x16,
4641     true);
4642 constexpr const TFunction unpackSnorm2x16_00D(
4643     BuiltInId::unpackSnorm2x16_UInt1,
4644     BuiltInName::unpackSnorm2x16,
4645     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4646     BuiltInParameters::p00D00C00C,
4647     1,
4648     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4649     EOpUnpackSnorm2x16,
4650     true);
4651 constexpr const TFunction unpackHalf2x16_00D(
4652     BuiltInId::unpackHalf2x16_UInt1,
4653     BuiltInName::unpackHalf2x16,
4654     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4655     BuiltInParameters::p00D00C00C,
4656     1,
4657     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4658     EOpUnpackHalf2x16,
4659     true);
4660 constexpr const TFunction packUnorm2x16_10B(
4661     BuiltInId::packUnorm2x16_Float2,
4662     BuiltInName::packUnorm2x16,
4663     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4664     BuiltInParameters::p10B00B00B,
4665     1,
4666     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4667     EOpPackUnorm2x16,
4668     true);
4669 constexpr const TFunction unpackUnorm2x16_00D(
4670     BuiltInId::unpackUnorm2x16_UInt1,
4671     BuiltInName::unpackUnorm2x16,
4672     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4673     BuiltInParameters::p00D00C00C,
4674     1,
4675     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4676     EOpUnpackUnorm2x16,
4677     true);
4678 constexpr const TFunction packUnorm4x8_30B(
4679     BuiltInId::packUnorm4x8_Float4,
4680     BuiltInName::packUnorm4x8,
4681     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4682     BuiltInParameters::p30B00B00B,
4683     1,
4684     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4685     EOpPackUnorm4x8,
4686     true);
4687 constexpr const TFunction packSnorm4x8_30B(
4688     BuiltInId::packSnorm4x8_Float4,
4689     BuiltInName::packSnorm4x8,
4690     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4691     BuiltInParameters::p30B00B00B,
4692     1,
4693     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
4694     EOpPackSnorm4x8,
4695     true);
4696 constexpr const TFunction unpackUnorm4x8_00D(
4697     BuiltInId::unpackUnorm4x8_UInt1,
4698     BuiltInName::unpackUnorm4x8,
4699     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4700     BuiltInParameters::p00D00C00C,
4701     1,
4702     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4703     EOpUnpackUnorm4x8,
4704     true);
4705 constexpr const TFunction unpackSnorm4x8_00D(
4706     BuiltInId::unpackSnorm4x8_UInt1,
4707     BuiltInName::unpackSnorm4x8,
4708     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4709     BuiltInParameters::p00D00C00C,
4710     1,
4711     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4712     EOpUnpackSnorm4x8,
4713     true);
4714 constexpr const TFunction length_00B(BuiltInId::length_Float1,
4715                                      BuiltInName::length,
4716                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4717                                      BuiltInParameters::p00B00B00B,
4718                                      1,
4719                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4720                                      EOpLength,
4721                                      true);
4722 constexpr const TFunction length_10B(BuiltInId::length_Float2,
4723                                      BuiltInName::length,
4724                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4725                                      BuiltInParameters::p10B00B00B,
4726                                      1,
4727                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4728                                      EOpLength,
4729                                      true);
4730 constexpr const TFunction length_20B(BuiltInId::length_Float3,
4731                                      BuiltInName::length,
4732                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4733                                      BuiltInParameters::p20B00B00B,
4734                                      1,
4735                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4736                                      EOpLength,
4737                                      true);
4738 constexpr const TFunction length_30B(BuiltInId::length_Float4,
4739                                      BuiltInName::length,
4740                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4741                                      BuiltInParameters::p30B00B00B,
4742                                      1,
4743                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4744                                      EOpLength,
4745                                      true);
4746 constexpr const TFunction distance_00B00B(
4747     BuiltInId::distance_Float1_Float1,
4748     BuiltInName::distance,
4749     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4750     BuiltInParameters::p00B00B00B,
4751     2,
4752     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4753     EOpDistance,
4754     true);
4755 constexpr const TFunction distance_10B10B(
4756     BuiltInId::distance_Float2_Float2,
4757     BuiltInName::distance,
4758     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4759     BuiltInParameters::p10B10B00B,
4760     2,
4761     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4762     EOpDistance,
4763     true);
4764 constexpr const TFunction distance_20B20B(
4765     BuiltInId::distance_Float3_Float3,
4766     BuiltInName::distance,
4767     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4768     BuiltInParameters::p20B20B00B,
4769     2,
4770     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4771     EOpDistance,
4772     true);
4773 constexpr const TFunction distance_30B30B(
4774     BuiltInId::distance_Float4_Float4,
4775     BuiltInName::distance,
4776     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4777     BuiltInParameters::p30B30B00B,
4778     2,
4779     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4780     EOpDistance,
4781     true);
4782 constexpr const TFunction dot_00B00B(BuiltInId::dot_Float1_Float1,
4783                                      BuiltInName::dot,
4784                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4785                                      BuiltInParameters::p00B00B00B,
4786                                      2,
4787                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4788                                      EOpDot,
4789                                      true);
4790 constexpr const TFunction dot_10B10B(BuiltInId::dot_Float2_Float2,
4791                                      BuiltInName::dot,
4792                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4793                                      BuiltInParameters::p10B10B00B,
4794                                      2,
4795                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4796                                      EOpDot,
4797                                      true);
4798 constexpr const TFunction dot_20B20B(BuiltInId::dot_Float3_Float3,
4799                                      BuiltInName::dot,
4800                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4801                                      BuiltInParameters::p20B20B00B,
4802                                      2,
4803                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4804                                      EOpDot,
4805                                      true);
4806 constexpr const TFunction dot_30B30B(BuiltInId::dot_Float4_Float4,
4807                                      BuiltInName::dot,
4808                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4809                                      BuiltInParameters::p30B30B00B,
4810                                      2,
4811                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4812                                      EOpDot,
4813                                      true);
4814 constexpr const TFunction cross_20B20B(BuiltInId::cross_Float3_Float3,
4815                                        BuiltInName::cross,
4816                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4817                                        BuiltInParameters::p20B20B00B,
4818                                        2,
4819                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4820                                        EOpCross,
4821                                        true);
4822 constexpr const TFunction normalize_00B(BuiltInId::normalize_Float1,
4823                                         BuiltInName::normalize,
4824                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4825                                         BuiltInParameters::p00B00B00B,
4826                                         1,
4827                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4828                                         EOpNormalize,
4829                                         true);
4830 constexpr const TFunction normalize_10B(BuiltInId::normalize_Float2,
4831                                         BuiltInName::normalize,
4832                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4833                                         BuiltInParameters::p10B00B00B,
4834                                         1,
4835                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4836                                         EOpNormalize,
4837                                         true);
4838 constexpr const TFunction normalize_20B(BuiltInId::normalize_Float3,
4839                                         BuiltInName::normalize,
4840                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4841                                         BuiltInParameters::p20B00B00B,
4842                                         1,
4843                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4844                                         EOpNormalize,
4845                                         true);
4846 constexpr const TFunction normalize_30B(BuiltInId::normalize_Float4,
4847                                         BuiltInName::normalize,
4848                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4849                                         BuiltInParameters::p30B00B00B,
4850                                         1,
4851                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4852                                         EOpNormalize,
4853                                         true);
4854 constexpr const TFunction faceforward_00B00B00B(
4855     BuiltInId::faceforward_Float1_Float1_Float1,
4856     BuiltInName::faceforward,
4857     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4858     BuiltInParameters::p00B00B00B,
4859     3,
4860     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4861     EOpFaceforward,
4862     true);
4863 constexpr const TFunction faceforward_10B10B10B(
4864     BuiltInId::faceforward_Float2_Float2_Float2,
4865     BuiltInName::faceforward,
4866     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4867     BuiltInParameters::p10B10B10B,
4868     3,
4869     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4870     EOpFaceforward,
4871     true);
4872 constexpr const TFunction faceforward_20B20B20B(
4873     BuiltInId::faceforward_Float3_Float3_Float3,
4874     BuiltInName::faceforward,
4875     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4876     BuiltInParameters::p20B20B20B,
4877     3,
4878     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4879     EOpFaceforward,
4880     true);
4881 constexpr const TFunction faceforward_30B30B30B(
4882     BuiltInId::faceforward_Float4_Float4_Float4,
4883     BuiltInName::faceforward,
4884     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4885     BuiltInParameters::p30B30B30B,
4886     3,
4887     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4888     EOpFaceforward,
4889     true);
4890 constexpr const TFunction reflect_00B00B(BuiltInId::reflect_Float1_Float1,
4891                                          BuiltInName::reflect,
4892                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4893                                          BuiltInParameters::p00B00B00B,
4894                                          2,
4895                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4896                                          EOpReflect,
4897                                          true);
4898 constexpr const TFunction reflect_10B10B(BuiltInId::reflect_Float2_Float2,
4899                                          BuiltInName::reflect,
4900                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4901                                          BuiltInParameters::p10B10B00B,
4902                                          2,
4903                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4904                                          EOpReflect,
4905                                          true);
4906 constexpr const TFunction reflect_20B20B(BuiltInId::reflect_Float3_Float3,
4907                                          BuiltInName::reflect,
4908                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4909                                          BuiltInParameters::p20B20B00B,
4910                                          2,
4911                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4912                                          EOpReflect,
4913                                          true);
4914 constexpr const TFunction reflect_30B30B(BuiltInId::reflect_Float4_Float4,
4915                                          BuiltInName::reflect,
4916                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4917                                          BuiltInParameters::p30B30B00B,
4918                                          2,
4919                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4920                                          EOpReflect,
4921                                          true);
4922 constexpr const TFunction refract_00B00B00B(
4923     BuiltInId::refract_Float1_Float1_Float1,
4924     BuiltInName::refract,
4925     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4926     BuiltInParameters::p00B00B00B,
4927     3,
4928     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
4929     EOpRefract,
4930     true);
4931 constexpr const TFunction refract_10B10B00B(
4932     BuiltInId::refract_Float2_Float2_Float1,
4933     BuiltInName::refract,
4934     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4935     BuiltInParameters::p10B10B00B,
4936     3,
4937     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
4938     EOpRefract,
4939     true);
4940 constexpr const TFunction refract_20B20B00B(
4941     BuiltInId::refract_Float3_Float3_Float1,
4942     BuiltInName::refract,
4943     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4944     BuiltInParameters::p20B20B00B,
4945     3,
4946     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
4947     EOpRefract,
4948     true);
4949 constexpr const TFunction refract_30B30B00B(
4950     BuiltInId::refract_Float4_Float4_Float1,
4951     BuiltInName::refract,
4952     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4953     BuiltInParameters::p30B30B00B,
4954     3,
4955     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
4956     EOpRefract,
4957     true);
4958 constexpr const TFunction matrixCompMult_50B50B(
4959     BuiltInId::matrixCompMult_Float2x2_Float2x2,
4960     BuiltInName::matrixCompMult,
4961     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4962     BuiltInParameters::p50B50B,
4963     2,
4964     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
4965     EOpMatrixCompMult,
4966     true);
4967 constexpr const TFunction matrixCompMult_A0BA0B(
4968     BuiltInId::matrixCompMult_Float3x3_Float3x3,
4969     BuiltInName::matrixCompMult,
4970     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4971     BuiltInParameters::pA0BA0B,
4972     2,
4973     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
4974     EOpMatrixCompMult,
4975     true);
4976 constexpr const TFunction matrixCompMult_F0BF0B(
4977     BuiltInId::matrixCompMult_Float4x4_Float4x4,
4978     BuiltInName::matrixCompMult,
4979     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4980     BuiltInParameters::pF0BF0B,
4981     2,
4982     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
4983     EOpMatrixCompMult,
4984     true);
4985 constexpr const TFunction matrixCompMult_90B90B(
4986     BuiltInId::matrixCompMult_Float2x3_Float2x3,
4987     BuiltInName::matrixCompMult,
4988     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4989     BuiltInParameters::p90B90B,
4990     2,
4991     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
4992     EOpMatrixCompMult,
4993     true);
4994 constexpr const TFunction matrixCompMult_60B60B(
4995     BuiltInId::matrixCompMult_Float3x2_Float3x2,
4996     BuiltInName::matrixCompMult,
4997     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
4998     BuiltInParameters::p60B60B,
4999     2,
5000     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
5001     EOpMatrixCompMult,
5002     true);
5003 constexpr const TFunction matrixCompMult_D0BD0B(
5004     BuiltInId::matrixCompMult_Float2x4_Float2x4,
5005     BuiltInName::matrixCompMult,
5006     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5007     BuiltInParameters::pD0BD0B,
5008     2,
5009     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
5010     EOpMatrixCompMult,
5011     true);
5012 constexpr const TFunction matrixCompMult_70B70B(
5013     BuiltInId::matrixCompMult_Float4x2_Float4x2,
5014     BuiltInName::matrixCompMult,
5015     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5016     BuiltInParameters::p70B70B,
5017     2,
5018     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
5019     EOpMatrixCompMult,
5020     true);
5021 constexpr const TFunction matrixCompMult_E0BE0B(
5022     BuiltInId::matrixCompMult_Float3x4_Float3x4,
5023     BuiltInName::matrixCompMult,
5024     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5025     BuiltInParameters::pE0BE0B,
5026     2,
5027     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
5028     EOpMatrixCompMult,
5029     true);
5030 constexpr const TFunction matrixCompMult_B0BB0B(
5031     BuiltInId::matrixCompMult_Float4x3_Float4x3,
5032     BuiltInName::matrixCompMult,
5033     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5034     BuiltInParameters::pB0BB0B,
5035     2,
5036     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
5037     EOpMatrixCompMult,
5038     true);
5039 constexpr const TFunction outerProduct_10B10B(
5040     BuiltInId::outerProduct_Float2_Float2,
5041     BuiltInName::outerProduct,
5042     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5043     BuiltInParameters::p10B10B00B,
5044     2,
5045     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
5046     EOpOuterProduct,
5047     true);
5048 constexpr const TFunction outerProduct_20B20B(
5049     BuiltInId::outerProduct_Float3_Float3,
5050     BuiltInName::outerProduct,
5051     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5052     BuiltInParameters::p20B20B00B,
5053     2,
5054     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
5055     EOpOuterProduct,
5056     true);
5057 constexpr const TFunction outerProduct_30B30B(
5058     BuiltInId::outerProduct_Float4_Float4,
5059     BuiltInName::outerProduct,
5060     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5061     BuiltInParameters::p30B30B00B,
5062     2,
5063     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
5064     EOpOuterProduct,
5065     true);
5066 constexpr const TFunction outerProduct_20B10B(
5067     BuiltInId::outerProduct_Float3_Float2,
5068     BuiltInName::outerProduct,
5069     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5070     BuiltInParameters::p20B10B,
5071     2,
5072     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
5073     EOpOuterProduct,
5074     true);
5075 constexpr const TFunction outerProduct_10B20B(
5076     BuiltInId::outerProduct_Float2_Float3,
5077     BuiltInName::outerProduct,
5078     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5079     BuiltInParameters::p10B20B,
5080     2,
5081     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
5082     EOpOuterProduct,
5083     true);
5084 constexpr const TFunction outerProduct_30B10B(
5085     BuiltInId::outerProduct_Float4_Float2,
5086     BuiltInName::outerProduct,
5087     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5088     BuiltInParameters::p30B10B,
5089     2,
5090     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
5091     EOpOuterProduct,
5092     true);
5093 constexpr const TFunction outerProduct_10B30B(
5094     BuiltInId::outerProduct_Float2_Float4,
5095     BuiltInName::outerProduct,
5096     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5097     BuiltInParameters::p10B30B,
5098     2,
5099     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
5100     EOpOuterProduct,
5101     true);
5102 constexpr const TFunction outerProduct_30B20B(
5103     BuiltInId::outerProduct_Float4_Float3,
5104     BuiltInName::outerProduct,
5105     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5106     BuiltInParameters::p30B20B,
5107     2,
5108     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
5109     EOpOuterProduct,
5110     true);
5111 constexpr const TFunction outerProduct_20B30B(
5112     BuiltInId::outerProduct_Float3_Float4,
5113     BuiltInName::outerProduct,
5114     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5115     BuiltInParameters::p20B30B,
5116     2,
5117     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
5118     EOpOuterProduct,
5119     true);
5120 constexpr const TFunction transpose_50B(BuiltInId::transpose_Float2x2,
5121                                         BuiltInName::transpose,
5122                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5123                                         BuiltInParameters::p50B50B,
5124                                         1,
5125                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
5126                                         EOpTranspose,
5127                                         true);
5128 constexpr const TFunction transpose_A0B(BuiltInId::transpose_Float3x3,
5129                                         BuiltInName::transpose,
5130                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5131                                         BuiltInParameters::pA0BA0B,
5132                                         1,
5133                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
5134                                         EOpTranspose,
5135                                         true);
5136 constexpr const TFunction transpose_F0B(BuiltInId::transpose_Float4x4,
5137                                         BuiltInName::transpose,
5138                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5139                                         BuiltInParameters::pF0BF0B,
5140                                         1,
5141                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
5142                                         EOpTranspose,
5143                                         true);
5144 constexpr const TFunction transpose_60B(BuiltInId::transpose_Float3x2,
5145                                         BuiltInName::transpose,
5146                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5147                                         BuiltInParameters::p60B60B,
5148                                         1,
5149                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
5150                                         EOpTranspose,
5151                                         true);
5152 constexpr const TFunction transpose_90B(BuiltInId::transpose_Float2x3,
5153                                         BuiltInName::transpose,
5154                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5155                                         BuiltInParameters::p90B90B,
5156                                         1,
5157                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
5158                                         EOpTranspose,
5159                                         true);
5160 constexpr const TFunction transpose_70B(BuiltInId::transpose_Float4x2,
5161                                         BuiltInName::transpose,
5162                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5163                                         BuiltInParameters::p70B70B,
5164                                         1,
5165                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
5166                                         EOpTranspose,
5167                                         true);
5168 constexpr const TFunction transpose_D0B(BuiltInId::transpose_Float2x4,
5169                                         BuiltInName::transpose,
5170                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5171                                         BuiltInParameters::pD0BD0B,
5172                                         1,
5173                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
5174                                         EOpTranspose,
5175                                         true);
5176 constexpr const TFunction transpose_B0B(BuiltInId::transpose_Float4x3,
5177                                         BuiltInName::transpose,
5178                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5179                                         BuiltInParameters::pB0BB0B,
5180                                         1,
5181                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
5182                                         EOpTranspose,
5183                                         true);
5184 constexpr const TFunction transpose_E0B(BuiltInId::transpose_Float3x4,
5185                                         BuiltInName::transpose,
5186                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5187                                         BuiltInParameters::pE0BE0B,
5188                                         1,
5189                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
5190                                         EOpTranspose,
5191                                         true);
5192 constexpr const TFunction determinant_50B(
5193     BuiltInId::determinant_Float2x2,
5194     BuiltInName::determinant,
5195     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5196     BuiltInParameters::p50B50B,
5197     1,
5198     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
5199     EOpDeterminant,
5200     true);
5201 constexpr const TFunction determinant_A0B(
5202     BuiltInId::determinant_Float3x3,
5203     BuiltInName::determinant,
5204     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5205     BuiltInParameters::pA0BA0B,
5206     1,
5207     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
5208     EOpDeterminant,
5209     true);
5210 constexpr const TFunction determinant_F0B(
5211     BuiltInId::determinant_Float4x4,
5212     BuiltInName::determinant,
5213     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5214     BuiltInParameters::pF0BF0B,
5215     1,
5216     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
5217     EOpDeterminant,
5218     true);
5219 constexpr const TFunction inverse_50B(BuiltInId::inverse_Float2x2,
5220                                       BuiltInName::inverse,
5221                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5222                                       BuiltInParameters::p50B50B,
5223                                       1,
5224                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
5225                                       EOpInverse,
5226                                       true);
5227 constexpr const TFunction inverse_A0B(BuiltInId::inverse_Float3x3,
5228                                       BuiltInName::inverse,
5229                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5230                                       BuiltInParameters::pA0BA0B,
5231                                       1,
5232                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
5233                                       EOpInverse,
5234                                       true);
5235 constexpr const TFunction inverse_F0B(BuiltInId::inverse_Float4x4,
5236                                       BuiltInName::inverse,
5237                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5238                                       BuiltInParameters::pF0BF0B,
5239                                       1,
5240                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
5241                                       EOpInverse,
5242                                       true);
5243 constexpr const TFunction lessThan_10B10B(BuiltInId::lessThan_Float2_Float2,
5244                                           BuiltInName::lessThan,
5245                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5246                                           BuiltInParameters::p10B10B00B,
5247                                           2,
5248                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5249                                           EOpLessThanComponentWise,
5250                                           true);
5251 constexpr const TFunction lessThan_20B20B(BuiltInId::lessThan_Float3_Float3,
5252                                           BuiltInName::lessThan,
5253                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5254                                           BuiltInParameters::p20B20B00B,
5255                                           2,
5256                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5257                                           EOpLessThanComponentWise,
5258                                           true);
5259 constexpr const TFunction lessThan_30B30B(BuiltInId::lessThan_Float4_Float4,
5260                                           BuiltInName::lessThan,
5261                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5262                                           BuiltInParameters::p30B30B00B,
5263                                           2,
5264                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5265                                           EOpLessThanComponentWise,
5266                                           true);
5267 constexpr const TFunction lessThan_10C10C(BuiltInId::lessThan_Int2_Int2,
5268                                           BuiltInName::lessThan,
5269                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5270                                           BuiltInParameters::p10C10C00C00C,
5271                                           2,
5272                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5273                                           EOpLessThanComponentWise,
5274                                           true);
5275 constexpr const TFunction lessThan_20C20C(BuiltInId::lessThan_Int3_Int3,
5276                                           BuiltInName::lessThan,
5277                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5278                                           BuiltInParameters::p20C20C00C00C,
5279                                           2,
5280                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5281                                           EOpLessThanComponentWise,
5282                                           true);
5283 constexpr const TFunction lessThan_30C30C(BuiltInId::lessThan_Int4_Int4,
5284                                           BuiltInName::lessThan,
5285                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5286                                           BuiltInParameters::p30C30C00C00C,
5287                                           2,
5288                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5289                                           EOpLessThanComponentWise,
5290                                           true);
5291 constexpr const TFunction lessThan_10D10D(BuiltInId::lessThan_UInt2_UInt2,
5292                                           BuiltInName::lessThan,
5293                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5294                                           BuiltInParameters::p10D10D00C00C,
5295                                           2,
5296                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5297                                           EOpLessThanComponentWise,
5298                                           true);
5299 constexpr const TFunction lessThan_20D20D(BuiltInId::lessThan_UInt3_UInt3,
5300                                           BuiltInName::lessThan,
5301                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5302                                           BuiltInParameters::p20D20D00C00C,
5303                                           2,
5304                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5305                                           EOpLessThanComponentWise,
5306                                           true);
5307 constexpr const TFunction lessThan_30D30D(BuiltInId::lessThan_UInt4_UInt4,
5308                                           BuiltInName::lessThan,
5309                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5310                                           BuiltInParameters::p30D30D00C00C,
5311                                           2,
5312                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5313                                           EOpLessThanComponentWise,
5314                                           true);
5315 constexpr const TFunction lessThanEqual_10B10B(
5316     BuiltInId::lessThanEqual_Float2_Float2,
5317     BuiltInName::lessThanEqual,
5318     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5319     BuiltInParameters::p10B10B00B,
5320     2,
5321     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5322     EOpLessThanEqualComponentWise,
5323     true);
5324 constexpr const TFunction lessThanEqual_20B20B(
5325     BuiltInId::lessThanEqual_Float3_Float3,
5326     BuiltInName::lessThanEqual,
5327     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5328     BuiltInParameters::p20B20B00B,
5329     2,
5330     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5331     EOpLessThanEqualComponentWise,
5332     true);
5333 constexpr const TFunction lessThanEqual_30B30B(
5334     BuiltInId::lessThanEqual_Float4_Float4,
5335     BuiltInName::lessThanEqual,
5336     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5337     BuiltInParameters::p30B30B00B,
5338     2,
5339     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5340     EOpLessThanEqualComponentWise,
5341     true);
5342 constexpr const TFunction lessThanEqual_10C10C(
5343     BuiltInId::lessThanEqual_Int2_Int2,
5344     BuiltInName::lessThanEqual,
5345     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5346     BuiltInParameters::p10C10C00C00C,
5347     2,
5348     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5349     EOpLessThanEqualComponentWise,
5350     true);
5351 constexpr const TFunction lessThanEqual_20C20C(
5352     BuiltInId::lessThanEqual_Int3_Int3,
5353     BuiltInName::lessThanEqual,
5354     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5355     BuiltInParameters::p20C20C00C00C,
5356     2,
5357     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5358     EOpLessThanEqualComponentWise,
5359     true);
5360 constexpr const TFunction lessThanEqual_30C30C(
5361     BuiltInId::lessThanEqual_Int4_Int4,
5362     BuiltInName::lessThanEqual,
5363     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5364     BuiltInParameters::p30C30C00C00C,
5365     2,
5366     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5367     EOpLessThanEqualComponentWise,
5368     true);
5369 constexpr const TFunction lessThanEqual_10D10D(
5370     BuiltInId::lessThanEqual_UInt2_UInt2,
5371     BuiltInName::lessThanEqual,
5372     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5373     BuiltInParameters::p10D10D00C00C,
5374     2,
5375     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5376     EOpLessThanEqualComponentWise,
5377     true);
5378 constexpr const TFunction lessThanEqual_20D20D(
5379     BuiltInId::lessThanEqual_UInt3_UInt3,
5380     BuiltInName::lessThanEqual,
5381     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5382     BuiltInParameters::p20D20D00C00C,
5383     2,
5384     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5385     EOpLessThanEqualComponentWise,
5386     true);
5387 constexpr const TFunction lessThanEqual_30D30D(
5388     BuiltInId::lessThanEqual_UInt4_UInt4,
5389     BuiltInName::lessThanEqual,
5390     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5391     BuiltInParameters::p30D30D00C00C,
5392     2,
5393     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5394     EOpLessThanEqualComponentWise,
5395     true);
5396 constexpr const TFunction greaterThan_10B10B(
5397     BuiltInId::greaterThan_Float2_Float2,
5398     BuiltInName::greaterThan,
5399     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5400     BuiltInParameters::p10B10B00B,
5401     2,
5402     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5403     EOpGreaterThanComponentWise,
5404     true);
5405 constexpr const TFunction greaterThan_20B20B(
5406     BuiltInId::greaterThan_Float3_Float3,
5407     BuiltInName::greaterThan,
5408     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5409     BuiltInParameters::p20B20B00B,
5410     2,
5411     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5412     EOpGreaterThanComponentWise,
5413     true);
5414 constexpr const TFunction greaterThan_30B30B(
5415     BuiltInId::greaterThan_Float4_Float4,
5416     BuiltInName::greaterThan,
5417     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5418     BuiltInParameters::p30B30B00B,
5419     2,
5420     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5421     EOpGreaterThanComponentWise,
5422     true);
5423 constexpr const TFunction greaterThan_10C10C(
5424     BuiltInId::greaterThan_Int2_Int2,
5425     BuiltInName::greaterThan,
5426     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5427     BuiltInParameters::p10C10C00C00C,
5428     2,
5429     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5430     EOpGreaterThanComponentWise,
5431     true);
5432 constexpr const TFunction greaterThan_20C20C(
5433     BuiltInId::greaterThan_Int3_Int3,
5434     BuiltInName::greaterThan,
5435     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5436     BuiltInParameters::p20C20C00C00C,
5437     2,
5438     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5439     EOpGreaterThanComponentWise,
5440     true);
5441 constexpr const TFunction greaterThan_30C30C(
5442     BuiltInId::greaterThan_Int4_Int4,
5443     BuiltInName::greaterThan,
5444     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5445     BuiltInParameters::p30C30C00C00C,
5446     2,
5447     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5448     EOpGreaterThanComponentWise,
5449     true);
5450 constexpr const TFunction greaterThan_10D10D(
5451     BuiltInId::greaterThan_UInt2_UInt2,
5452     BuiltInName::greaterThan,
5453     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5454     BuiltInParameters::p10D10D00C00C,
5455     2,
5456     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5457     EOpGreaterThanComponentWise,
5458     true);
5459 constexpr const TFunction greaterThan_20D20D(
5460     BuiltInId::greaterThan_UInt3_UInt3,
5461     BuiltInName::greaterThan,
5462     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5463     BuiltInParameters::p20D20D00C00C,
5464     2,
5465     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5466     EOpGreaterThanComponentWise,
5467     true);
5468 constexpr const TFunction greaterThan_30D30D(
5469     BuiltInId::greaterThan_UInt4_UInt4,
5470     BuiltInName::greaterThan,
5471     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5472     BuiltInParameters::p30D30D00C00C,
5473     2,
5474     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5475     EOpGreaterThanComponentWise,
5476     true);
5477 constexpr const TFunction greaterThanEqual_10B10B(
5478     BuiltInId::greaterThanEqual_Float2_Float2,
5479     BuiltInName::greaterThanEqual,
5480     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5481     BuiltInParameters::p10B10B00B,
5482     2,
5483     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5484     EOpGreaterThanEqualComponentWise,
5485     true);
5486 constexpr const TFunction greaterThanEqual_20B20B(
5487     BuiltInId::greaterThanEqual_Float3_Float3,
5488     BuiltInName::greaterThanEqual,
5489     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5490     BuiltInParameters::p20B20B00B,
5491     2,
5492     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5493     EOpGreaterThanEqualComponentWise,
5494     true);
5495 constexpr const TFunction greaterThanEqual_30B30B(
5496     BuiltInId::greaterThanEqual_Float4_Float4,
5497     BuiltInName::greaterThanEqual,
5498     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5499     BuiltInParameters::p30B30B00B,
5500     2,
5501     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5502     EOpGreaterThanEqualComponentWise,
5503     true);
5504 constexpr const TFunction greaterThanEqual_10C10C(
5505     BuiltInId::greaterThanEqual_Int2_Int2,
5506     BuiltInName::greaterThanEqual,
5507     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5508     BuiltInParameters::p10C10C00C00C,
5509     2,
5510     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5511     EOpGreaterThanEqualComponentWise,
5512     true);
5513 constexpr const TFunction greaterThanEqual_20C20C(
5514     BuiltInId::greaterThanEqual_Int3_Int3,
5515     BuiltInName::greaterThanEqual,
5516     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5517     BuiltInParameters::p20C20C00C00C,
5518     2,
5519     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5520     EOpGreaterThanEqualComponentWise,
5521     true);
5522 constexpr const TFunction greaterThanEqual_30C30C(
5523     BuiltInId::greaterThanEqual_Int4_Int4,
5524     BuiltInName::greaterThanEqual,
5525     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5526     BuiltInParameters::p30C30C00C00C,
5527     2,
5528     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5529     EOpGreaterThanEqualComponentWise,
5530     true);
5531 constexpr const TFunction greaterThanEqual_10D10D(
5532     BuiltInId::greaterThanEqual_UInt2_UInt2,
5533     BuiltInName::greaterThanEqual,
5534     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5535     BuiltInParameters::p10D10D00C00C,
5536     2,
5537     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5538     EOpGreaterThanEqualComponentWise,
5539     true);
5540 constexpr const TFunction greaterThanEqual_20D20D(
5541     BuiltInId::greaterThanEqual_UInt3_UInt3,
5542     BuiltInName::greaterThanEqual,
5543     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5544     BuiltInParameters::p20D20D00C00C,
5545     2,
5546     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5547     EOpGreaterThanEqualComponentWise,
5548     true);
5549 constexpr const TFunction greaterThanEqual_30D30D(
5550     BuiltInId::greaterThanEqual_UInt4_UInt4,
5551     BuiltInName::greaterThanEqual,
5552     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5553     BuiltInParameters::p30D30D00C00C,
5554     2,
5555     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5556     EOpGreaterThanEqualComponentWise,
5557     true);
5558 constexpr const TFunction equal_10B10B(BuiltInId::equal_Float2_Float2,
5559                                        BuiltInName::equal,
5560                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5561                                        BuiltInParameters::p10B10B00B,
5562                                        2,
5563                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5564                                        EOpEqualComponentWise,
5565                                        true);
5566 constexpr const TFunction equal_20B20B(BuiltInId::equal_Float3_Float3,
5567                                        BuiltInName::equal,
5568                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5569                                        BuiltInParameters::p20B20B00B,
5570                                        2,
5571                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5572                                        EOpEqualComponentWise,
5573                                        true);
5574 constexpr const TFunction equal_30B30B(BuiltInId::equal_Float4_Float4,
5575                                        BuiltInName::equal,
5576                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5577                                        BuiltInParameters::p30B30B00B,
5578                                        2,
5579                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5580                                        EOpEqualComponentWise,
5581                                        true);
5582 constexpr const TFunction equal_10C10C(BuiltInId::equal_Int2_Int2,
5583                                        BuiltInName::equal,
5584                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5585                                        BuiltInParameters::p10C10C00C00C,
5586                                        2,
5587                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5588                                        EOpEqualComponentWise,
5589                                        true);
5590 constexpr const TFunction equal_20C20C(BuiltInId::equal_Int3_Int3,
5591                                        BuiltInName::equal,
5592                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5593                                        BuiltInParameters::p20C20C00C00C,
5594                                        2,
5595                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5596                                        EOpEqualComponentWise,
5597                                        true);
5598 constexpr const TFunction equal_30C30C(BuiltInId::equal_Int4_Int4,
5599                                        BuiltInName::equal,
5600                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5601                                        BuiltInParameters::p30C30C00C00C,
5602                                        2,
5603                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5604                                        EOpEqualComponentWise,
5605                                        true);
5606 constexpr const TFunction equal_10D10D(BuiltInId::equal_UInt2_UInt2,
5607                                        BuiltInName::equal,
5608                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5609                                        BuiltInParameters::p10D10D00C00C,
5610                                        2,
5611                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5612                                        EOpEqualComponentWise,
5613                                        true);
5614 constexpr const TFunction equal_20D20D(BuiltInId::equal_UInt3_UInt3,
5615                                        BuiltInName::equal,
5616                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5617                                        BuiltInParameters::p20D20D00C00C,
5618                                        2,
5619                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5620                                        EOpEqualComponentWise,
5621                                        true);
5622 constexpr const TFunction equal_30D30D(BuiltInId::equal_UInt4_UInt4,
5623                                        BuiltInName::equal,
5624                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5625                                        BuiltInParameters::p30D30D00C00C,
5626                                        2,
5627                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5628                                        EOpEqualComponentWise,
5629                                        true);
5630 constexpr const TFunction equal_10E10E(BuiltInId::equal_Bool2_Bool2,
5631                                        BuiltInName::equal,
5632                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5633                                        BuiltInParameters::p10E10E10E,
5634                                        2,
5635                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5636                                        EOpEqualComponentWise,
5637                                        true);
5638 constexpr const TFunction equal_20E20E(BuiltInId::equal_Bool3_Bool3,
5639                                        BuiltInName::equal,
5640                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5641                                        BuiltInParameters::p20E20E20E,
5642                                        2,
5643                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5644                                        EOpEqualComponentWise,
5645                                        true);
5646 constexpr const TFunction equal_30E30E(BuiltInId::equal_Bool4_Bool4,
5647                                        BuiltInName::equal,
5648                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5649                                        BuiltInParameters::p30E30E30E,
5650                                        2,
5651                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5652                                        EOpEqualComponentWise,
5653                                        true);
5654 constexpr const TFunction notEqual_10B10B(BuiltInId::notEqual_Float2_Float2,
5655                                           BuiltInName::notEqual,
5656                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5657                                           BuiltInParameters::p10B10B00B,
5658                                           2,
5659                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5660                                           EOpNotEqualComponentWise,
5661                                           true);
5662 constexpr const TFunction notEqual_20B20B(BuiltInId::notEqual_Float3_Float3,
5663                                           BuiltInName::notEqual,
5664                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5665                                           BuiltInParameters::p20B20B00B,
5666                                           2,
5667                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5668                                           EOpNotEqualComponentWise,
5669                                           true);
5670 constexpr const TFunction notEqual_30B30B(BuiltInId::notEqual_Float4_Float4,
5671                                           BuiltInName::notEqual,
5672                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5673                                           BuiltInParameters::p30B30B00B,
5674                                           2,
5675                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5676                                           EOpNotEqualComponentWise,
5677                                           true);
5678 constexpr const TFunction notEqual_10C10C(BuiltInId::notEqual_Int2_Int2,
5679                                           BuiltInName::notEqual,
5680                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5681                                           BuiltInParameters::p10C10C00C00C,
5682                                           2,
5683                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5684                                           EOpNotEqualComponentWise,
5685                                           true);
5686 constexpr const TFunction notEqual_20C20C(BuiltInId::notEqual_Int3_Int3,
5687                                           BuiltInName::notEqual,
5688                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5689                                           BuiltInParameters::p20C20C00C00C,
5690                                           2,
5691                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5692                                           EOpNotEqualComponentWise,
5693                                           true);
5694 constexpr const TFunction notEqual_30C30C(BuiltInId::notEqual_Int4_Int4,
5695                                           BuiltInName::notEqual,
5696                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5697                                           BuiltInParameters::p30C30C00C00C,
5698                                           2,
5699                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5700                                           EOpNotEqualComponentWise,
5701                                           true);
5702 constexpr const TFunction notEqual_10D10D(BuiltInId::notEqual_UInt2_UInt2,
5703                                           BuiltInName::notEqual,
5704                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5705                                           BuiltInParameters::p10D10D00C00C,
5706                                           2,
5707                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5708                                           EOpNotEqualComponentWise,
5709                                           true);
5710 constexpr const TFunction notEqual_20D20D(BuiltInId::notEqual_UInt3_UInt3,
5711                                           BuiltInName::notEqual,
5712                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5713                                           BuiltInParameters::p20D20D00C00C,
5714                                           2,
5715                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5716                                           EOpNotEqualComponentWise,
5717                                           true);
5718 constexpr const TFunction notEqual_30D30D(BuiltInId::notEqual_UInt4_UInt4,
5719                                           BuiltInName::notEqual,
5720                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5721                                           BuiltInParameters::p30D30D00C00C,
5722                                           2,
5723                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5724                                           EOpNotEqualComponentWise,
5725                                           true);
5726 constexpr const TFunction notEqual_10E10E(BuiltInId::notEqual_Bool2_Bool2,
5727                                           BuiltInName::notEqual,
5728                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5729                                           BuiltInParameters::p10E10E10E,
5730                                           2,
5731                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5732                                           EOpNotEqualComponentWise,
5733                                           true);
5734 constexpr const TFunction notEqual_20E20E(BuiltInId::notEqual_Bool3_Bool3,
5735                                           BuiltInName::notEqual,
5736                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5737                                           BuiltInParameters::p20E20E20E,
5738                                           2,
5739                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5740                                           EOpNotEqualComponentWise,
5741                                           true);
5742 constexpr const TFunction notEqual_30E30E(BuiltInId::notEqual_Bool4_Bool4,
5743                                           BuiltInName::notEqual,
5744                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5745                                           BuiltInParameters::p30E30E30E,
5746                                           2,
5747                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5748                                           EOpNotEqualComponentWise,
5749                                           true);
5750 constexpr const TFunction any_10E(BuiltInId::any_Bool2,
5751                                   BuiltInName::any,
5752                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5753                                   BuiltInParameters::p10E10E10E,
5754                                   1,
5755                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
5756                                   EOpAny,
5757                                   true);
5758 constexpr const TFunction any_20E(BuiltInId::any_Bool3,
5759                                   BuiltInName::any,
5760                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5761                                   BuiltInParameters::p20E20E20E,
5762                                   1,
5763                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
5764                                   EOpAny,
5765                                   true);
5766 constexpr const TFunction any_30E(BuiltInId::any_Bool4,
5767                                   BuiltInName::any,
5768                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5769                                   BuiltInParameters::p30E30E30E,
5770                                   1,
5771                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
5772                                   EOpAny,
5773                                   true);
5774 constexpr const TFunction all_10E(BuiltInId::all_Bool2,
5775                                   BuiltInName::all,
5776                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5777                                   BuiltInParameters::p10E10E10E,
5778                                   1,
5779                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
5780                                   EOpAll,
5781                                   true);
5782 constexpr const TFunction all_20E(BuiltInId::all_Bool3,
5783                                   BuiltInName::all,
5784                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5785                                   BuiltInParameters::p20E20E20E,
5786                                   1,
5787                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
5788                                   EOpAll,
5789                                   true);
5790 constexpr const TFunction all_30E(BuiltInId::all_Bool4,
5791                                   BuiltInName::all,
5792                                   std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5793                                   BuiltInParameters::p30E30E30E,
5794                                   1,
5795                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
5796                                   EOpAll,
5797                                   true);
5798 constexpr const TFunction notFunc_10E(BuiltInId::notFunc_Bool2,
5799                                       BuiltInName::notFunc,
5800                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5801                                       BuiltInParameters::p10E10E10E,
5802                                       1,
5803                                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
5804                                       EOpNotComponentWise,
5805                                       true);
5806 constexpr const TFunction notFunc_20E(BuiltInId::notFunc_Bool3,
5807                                       BuiltInName::notFunc,
5808                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5809                                       BuiltInParameters::p20E20E20E,
5810                                       1,
5811                                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
5812                                       EOpNotComponentWise,
5813                                       true);
5814 constexpr const TFunction notFunc_30E(BuiltInId::notFunc_Bool4,
5815                                       BuiltInName::notFunc,
5816                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5817                                       BuiltInParameters::p30E30E30E,
5818                                       1,
5819                                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
5820                                       EOpNotComponentWise,
5821                                       true);
5822 constexpr const TFunction bitfieldExtract_00C00C00C(
5823     BuiltInId::bitfieldExtract_Int1_Int1_Int1,
5824     BuiltInName::bitfieldExtract,
5825     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5826     BuiltInParameters::p00C00C00C00C,
5827     3,
5828     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
5829     EOpBitfieldExtract,
5830     true);
5831 constexpr const TFunction bitfieldExtract_10C00C00C(
5832     BuiltInId::bitfieldExtract_Int2_Int1_Int1,
5833     BuiltInName::bitfieldExtract,
5834     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5835     BuiltInParameters::p10C00C00C,
5836     3,
5837     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
5838     EOpBitfieldExtract,
5839     true);
5840 constexpr const TFunction bitfieldExtract_20C00C00C(
5841     BuiltInId::bitfieldExtract_Int3_Int1_Int1,
5842     BuiltInName::bitfieldExtract,
5843     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5844     BuiltInParameters::p20C00C00C,
5845     3,
5846     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
5847     EOpBitfieldExtract,
5848     true);
5849 constexpr const TFunction bitfieldExtract_30C00C00C(
5850     BuiltInId::bitfieldExtract_Int4_Int1_Int1,
5851     BuiltInName::bitfieldExtract,
5852     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5853     BuiltInParameters::p30C00C00C,
5854     3,
5855     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
5856     EOpBitfieldExtract,
5857     true);
5858 constexpr const TFunction bitfieldExtract_00D00C00C(
5859     BuiltInId::bitfieldExtract_UInt1_Int1_Int1,
5860     BuiltInName::bitfieldExtract,
5861     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5862     BuiltInParameters::p00D00C00C,
5863     3,
5864     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
5865     EOpBitfieldExtract,
5866     true);
5867 constexpr const TFunction bitfieldExtract_10D00C00C(
5868     BuiltInId::bitfieldExtract_UInt2_Int1_Int1,
5869     BuiltInName::bitfieldExtract,
5870     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5871     BuiltInParameters::p10D00C00C,
5872     3,
5873     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
5874     EOpBitfieldExtract,
5875     true);
5876 constexpr const TFunction bitfieldExtract_20D00C00C(
5877     BuiltInId::bitfieldExtract_UInt3_Int1_Int1,
5878     BuiltInName::bitfieldExtract,
5879     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5880     BuiltInParameters::p20D00C00C,
5881     3,
5882     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
5883     EOpBitfieldExtract,
5884     true);
5885 constexpr const TFunction bitfieldExtract_30D00C00C(
5886     BuiltInId::bitfieldExtract_UInt4_Int1_Int1,
5887     BuiltInName::bitfieldExtract,
5888     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5889     BuiltInParameters::p30D00C00C,
5890     3,
5891     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
5892     EOpBitfieldExtract,
5893     true);
5894 constexpr const TFunction bitfieldInsert_00C00C00C00C(
5895     BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1,
5896     BuiltInName::bitfieldInsert,
5897     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5898     BuiltInParameters::p00C00C00C00C,
5899     4,
5900     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
5901     EOpBitfieldInsert,
5902     true);
5903 constexpr const TFunction bitfieldInsert_10C10C00C00C(
5904     BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1,
5905     BuiltInName::bitfieldInsert,
5906     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5907     BuiltInParameters::p10C10C00C00C,
5908     4,
5909     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
5910     EOpBitfieldInsert,
5911     true);
5912 constexpr const TFunction bitfieldInsert_20C20C00C00C(
5913     BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1,
5914     BuiltInName::bitfieldInsert,
5915     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5916     BuiltInParameters::p20C20C00C00C,
5917     4,
5918     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
5919     EOpBitfieldInsert,
5920     true);
5921 constexpr const TFunction bitfieldInsert_30C30C00C00C(
5922     BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1,
5923     BuiltInName::bitfieldInsert,
5924     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5925     BuiltInParameters::p30C30C00C00C,
5926     4,
5927     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
5928     EOpBitfieldInsert,
5929     true);
5930 constexpr const TFunction bitfieldInsert_00D00D00C00C(
5931     BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1,
5932     BuiltInName::bitfieldInsert,
5933     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5934     BuiltInParameters::p00D00D00C00C,
5935     4,
5936     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
5937     EOpBitfieldInsert,
5938     true);
5939 constexpr const TFunction bitfieldInsert_10D10D00C00C(
5940     BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1,
5941     BuiltInName::bitfieldInsert,
5942     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5943     BuiltInParameters::p10D10D00C00C,
5944     4,
5945     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
5946     EOpBitfieldInsert,
5947     true);
5948 constexpr const TFunction bitfieldInsert_20D20D00C00C(
5949     BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1,
5950     BuiltInName::bitfieldInsert,
5951     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5952     BuiltInParameters::p20D20D00C00C,
5953     4,
5954     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
5955     EOpBitfieldInsert,
5956     true);
5957 constexpr const TFunction bitfieldInsert_30D30D00C00C(
5958     BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1,
5959     BuiltInName::bitfieldInsert,
5960     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5961     BuiltInParameters::p30D30D00C00C,
5962     4,
5963     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
5964     EOpBitfieldInsert,
5965     true);
5966 constexpr const TFunction bitfieldReverse_00C(
5967     BuiltInId::bitfieldReverse_Int1,
5968     BuiltInName::bitfieldReverse,
5969     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5970     BuiltInParameters::p00C00C00C00C,
5971     1,
5972     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
5973     EOpBitfieldReverse,
5974     true);
5975 constexpr const TFunction bitfieldReverse_10C(
5976     BuiltInId::bitfieldReverse_Int2,
5977     BuiltInName::bitfieldReverse,
5978     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5979     BuiltInParameters::p10C00C00C,
5980     1,
5981     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
5982     EOpBitfieldReverse,
5983     true);
5984 constexpr const TFunction bitfieldReverse_20C(
5985     BuiltInId::bitfieldReverse_Int3,
5986     BuiltInName::bitfieldReverse,
5987     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5988     BuiltInParameters::p20C00C00C,
5989     1,
5990     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
5991     EOpBitfieldReverse,
5992     true);
5993 constexpr const TFunction bitfieldReverse_30C(
5994     BuiltInId::bitfieldReverse_Int4,
5995     BuiltInName::bitfieldReverse,
5996     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
5997     BuiltInParameters::p30C00C00C,
5998     1,
5999     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6000     EOpBitfieldReverse,
6001     true);
6002 constexpr const TFunction bitfieldReverse_00D(
6003     BuiltInId::bitfieldReverse_UInt1,
6004     BuiltInName::bitfieldReverse,
6005     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6006     BuiltInParameters::p00D00C00C,
6007     1,
6008     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
6009     EOpBitfieldReverse,
6010     true);
6011 constexpr const TFunction bitfieldReverse_10D(
6012     BuiltInId::bitfieldReverse_UInt2,
6013     BuiltInName::bitfieldReverse,
6014     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6015     BuiltInParameters::p10D00C00C,
6016     1,
6017     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
6018     EOpBitfieldReverse,
6019     true);
6020 constexpr const TFunction bitfieldReverse_20D(
6021     BuiltInId::bitfieldReverse_UInt3,
6022     BuiltInName::bitfieldReverse,
6023     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6024     BuiltInParameters::p20D00C00C,
6025     1,
6026     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
6027     EOpBitfieldReverse,
6028     true);
6029 constexpr const TFunction bitfieldReverse_30D(
6030     BuiltInId::bitfieldReverse_UInt4,
6031     BuiltInName::bitfieldReverse,
6032     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6033     BuiltInParameters::p30D00C00C,
6034     1,
6035     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6036     EOpBitfieldReverse,
6037     true);
6038 constexpr const TFunction bitCount_00C(BuiltInId::bitCount_Int1,
6039                                        BuiltInName::bitCount,
6040                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6041                                        BuiltInParameters::p00C00C00C00C,
6042                                        1,
6043                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
6044                                        EOpBitCount,
6045                                        true);
6046 constexpr const TFunction bitCount_10C(BuiltInId::bitCount_Int2,
6047                                        BuiltInName::bitCount,
6048                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6049                                        BuiltInParameters::p10C00C00C,
6050                                        1,
6051                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
6052                                        EOpBitCount,
6053                                        true);
6054 constexpr const TFunction bitCount_20C(BuiltInId::bitCount_Int3,
6055                                        BuiltInName::bitCount,
6056                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6057                                        BuiltInParameters::p20C00C00C,
6058                                        1,
6059                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
6060                                        EOpBitCount,
6061                                        true);
6062 constexpr const TFunction bitCount_30C(BuiltInId::bitCount_Int4,
6063                                        BuiltInName::bitCount,
6064                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6065                                        BuiltInParameters::p30C00C00C,
6066                                        1,
6067                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6068                                        EOpBitCount,
6069                                        true);
6070 constexpr const TFunction bitCount_00D(BuiltInId::bitCount_UInt1,
6071                                        BuiltInName::bitCount,
6072                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6073                                        BuiltInParameters::p00D00C00C,
6074                                        1,
6075                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
6076                                        EOpBitCount,
6077                                        true);
6078 constexpr const TFunction bitCount_10D(BuiltInId::bitCount_UInt2,
6079                                        BuiltInName::bitCount,
6080                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6081                                        BuiltInParameters::p10D00C00C,
6082                                        1,
6083                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
6084                                        EOpBitCount,
6085                                        true);
6086 constexpr const TFunction bitCount_20D(BuiltInId::bitCount_UInt3,
6087                                        BuiltInName::bitCount,
6088                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6089                                        BuiltInParameters::p20D00C00C,
6090                                        1,
6091                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
6092                                        EOpBitCount,
6093                                        true);
6094 constexpr const TFunction bitCount_30D(BuiltInId::bitCount_UInt4,
6095                                        BuiltInName::bitCount,
6096                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6097                                        BuiltInParameters::p30D00C00C,
6098                                        1,
6099                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6100                                        EOpBitCount,
6101                                        true);
6102 constexpr const TFunction findLSB_00C(BuiltInId::findLSB_Int1,
6103                                       BuiltInName::findLSB,
6104                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6105                                       BuiltInParameters::p00C00C00C00C,
6106                                       1,
6107                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
6108                                       EOpFindLSB,
6109                                       true);
6110 constexpr const TFunction findLSB_10C(BuiltInId::findLSB_Int2,
6111                                       BuiltInName::findLSB,
6112                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6113                                       BuiltInParameters::p10C00C00C,
6114                                       1,
6115                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
6116                                       EOpFindLSB,
6117                                       true);
6118 constexpr const TFunction findLSB_20C(BuiltInId::findLSB_Int3,
6119                                       BuiltInName::findLSB,
6120                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6121                                       BuiltInParameters::p20C00C00C,
6122                                       1,
6123                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
6124                                       EOpFindLSB,
6125                                       true);
6126 constexpr const TFunction findLSB_30C(BuiltInId::findLSB_Int4,
6127                                       BuiltInName::findLSB,
6128                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6129                                       BuiltInParameters::p30C00C00C,
6130                                       1,
6131                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6132                                       EOpFindLSB,
6133                                       true);
6134 constexpr const TFunction findLSB_00D(BuiltInId::findLSB_UInt1,
6135                                       BuiltInName::findLSB,
6136                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6137                                       BuiltInParameters::p00D00C00C,
6138                                       1,
6139                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
6140                                       EOpFindLSB,
6141                                       true);
6142 constexpr const TFunction findLSB_10D(BuiltInId::findLSB_UInt2,
6143                                       BuiltInName::findLSB,
6144                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6145                                       BuiltInParameters::p10D00C00C,
6146                                       1,
6147                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
6148                                       EOpFindLSB,
6149                                       true);
6150 constexpr const TFunction findLSB_20D(BuiltInId::findLSB_UInt3,
6151                                       BuiltInName::findLSB,
6152                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6153                                       BuiltInParameters::p20D00C00C,
6154                                       1,
6155                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
6156                                       EOpFindLSB,
6157                                       true);
6158 constexpr const TFunction findLSB_30D(BuiltInId::findLSB_UInt4,
6159                                       BuiltInName::findLSB,
6160                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6161                                       BuiltInParameters::p30D00C00C,
6162                                       1,
6163                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6164                                       EOpFindLSB,
6165                                       true);
6166 constexpr const TFunction findMSB_00C(BuiltInId::findMSB_Int1,
6167                                       BuiltInName::findMSB,
6168                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6169                                       BuiltInParameters::p00C00C00C00C,
6170                                       1,
6171                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
6172                                       EOpFindMSB,
6173                                       true);
6174 constexpr const TFunction findMSB_10C(BuiltInId::findMSB_Int2,
6175                                       BuiltInName::findMSB,
6176                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6177                                       BuiltInParameters::p10C00C00C,
6178                                       1,
6179                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
6180                                       EOpFindMSB,
6181                                       true);
6182 constexpr const TFunction findMSB_20C(BuiltInId::findMSB_Int3,
6183                                       BuiltInName::findMSB,
6184                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6185                                       BuiltInParameters::p20C00C00C,
6186                                       1,
6187                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
6188                                       EOpFindMSB,
6189                                       true);
6190 constexpr const TFunction findMSB_30C(BuiltInId::findMSB_Int4,
6191                                       BuiltInName::findMSB,
6192                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6193                                       BuiltInParameters::p30C00C00C,
6194                                       1,
6195                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6196                                       EOpFindMSB,
6197                                       true);
6198 constexpr const TFunction findMSB_00D(BuiltInId::findMSB_UInt1,
6199                                       BuiltInName::findMSB,
6200                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6201                                       BuiltInParameters::p00D00C00C,
6202                                       1,
6203                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
6204                                       EOpFindMSB,
6205                                       true);
6206 constexpr const TFunction findMSB_10D(BuiltInId::findMSB_UInt2,
6207                                       BuiltInName::findMSB,
6208                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6209                                       BuiltInParameters::p10D00C00C,
6210                                       1,
6211                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
6212                                       EOpFindMSB,
6213                                       true);
6214 constexpr const TFunction findMSB_20D(BuiltInId::findMSB_UInt3,
6215                                       BuiltInName::findMSB,
6216                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6217                                       BuiltInParameters::p20D00C00C,
6218                                       1,
6219                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
6220                                       EOpFindMSB,
6221                                       true);
6222 constexpr const TFunction findMSB_30D(BuiltInId::findMSB_UInt4,
6223                                       BuiltInName::findMSB,
6224                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6225                                       BuiltInParameters::p30D00C00C,
6226                                       1,
6227                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6228                                       EOpFindMSB,
6229                                       true);
6230 constexpr const TFunction uaddCarry_00D00D00D(
6231     BuiltInId::uaddCarry_UInt1_UInt1_UInt1,
6232     BuiltInName::uaddCarry,
6233     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6234     BuiltInParameters::p00D00D_o_00D_o_00D,
6235     3,
6236     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
6237     EOpUaddCarry,
6238     false);
6239 constexpr const TFunction uaddCarry_10D10D10D(
6240     BuiltInId::uaddCarry_UInt2_UInt2_UInt2,
6241     BuiltInName::uaddCarry,
6242     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6243     BuiltInParameters::p10D10D_o_10D_o_10D,
6244     3,
6245     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
6246     EOpUaddCarry,
6247     false);
6248 constexpr const TFunction uaddCarry_20D20D20D(
6249     BuiltInId::uaddCarry_UInt3_UInt3_UInt3,
6250     BuiltInName::uaddCarry,
6251     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6252     BuiltInParameters::p20D20D_o_20D_o_20D,
6253     3,
6254     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
6255     EOpUaddCarry,
6256     false);
6257 constexpr const TFunction uaddCarry_30D30D30D(
6258     BuiltInId::uaddCarry_UInt4_UInt4_UInt4,
6259     BuiltInName::uaddCarry,
6260     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6261     BuiltInParameters::p30D30D_o_30D_o_30D,
6262     3,
6263     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6264     EOpUaddCarry,
6265     false);
6266 constexpr const TFunction usubBorrow_00D00D00D(
6267     BuiltInId::usubBorrow_UInt1_UInt1_UInt1,
6268     BuiltInName::usubBorrow,
6269     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6270     BuiltInParameters::p00D00D_o_00D_o_00D,
6271     3,
6272     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
6273     EOpUsubBorrow,
6274     false);
6275 constexpr const TFunction usubBorrow_10D10D10D(
6276     BuiltInId::usubBorrow_UInt2_UInt2_UInt2,
6277     BuiltInName::usubBorrow,
6278     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6279     BuiltInParameters::p10D10D_o_10D_o_10D,
6280     3,
6281     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
6282     EOpUsubBorrow,
6283     false);
6284 constexpr const TFunction usubBorrow_20D20D20D(
6285     BuiltInId::usubBorrow_UInt3_UInt3_UInt3,
6286     BuiltInName::usubBorrow,
6287     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6288     BuiltInParameters::p20D20D_o_20D_o_20D,
6289     3,
6290     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
6291     EOpUsubBorrow,
6292     false);
6293 constexpr const TFunction usubBorrow_30D30D30D(
6294     BuiltInId::usubBorrow_UInt4_UInt4_UInt4,
6295     BuiltInName::usubBorrow,
6296     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6297     BuiltInParameters::p30D30D_o_30D_o_30D,
6298     3,
6299     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6300     EOpUsubBorrow,
6301     false);
6302 constexpr const TFunction umulExtended_00D00D00D00D(
6303     BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1,
6304     BuiltInName::umulExtended,
6305     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6306     BuiltInParameters::p00D00D_o_00D_o_00D,
6307     4,
6308     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6309     EOpUmulExtended,
6310     false);
6311 constexpr const TFunction umulExtended_10D10D10D10D(
6312     BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2,
6313     BuiltInName::umulExtended,
6314     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6315     BuiltInParameters::p10D10D_o_10D_o_10D,
6316     4,
6317     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6318     EOpUmulExtended,
6319     false);
6320 constexpr const TFunction umulExtended_20D20D20D20D(
6321     BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3,
6322     BuiltInName::umulExtended,
6323     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6324     BuiltInParameters::p20D20D_o_20D_o_20D,
6325     4,
6326     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6327     EOpUmulExtended,
6328     false);
6329 constexpr const TFunction umulExtended_30D30D30D30D(
6330     BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4,
6331     BuiltInName::umulExtended,
6332     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6333     BuiltInParameters::p30D30D_o_30D_o_30D,
6334     4,
6335     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6336     EOpUmulExtended,
6337     false);
6338 constexpr const TFunction imulExtended_00C00C00C00C(
6339     BuiltInId::imulExtended_Int1_Int1_Int1_Int1,
6340     BuiltInName::imulExtended,
6341     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6342     BuiltInParameters::p00C00C_o_00C_o_00C,
6343     4,
6344     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6345     EOpImulExtended,
6346     false);
6347 constexpr const TFunction imulExtended_10C10C10C10C(
6348     BuiltInId::imulExtended_Int2_Int2_Int2_Int2,
6349     BuiltInName::imulExtended,
6350     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6351     BuiltInParameters::p10C10C_o_10C_o_10C,
6352     4,
6353     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6354     EOpImulExtended,
6355     false);
6356 constexpr const TFunction imulExtended_20C20C20C20C(
6357     BuiltInId::imulExtended_Int3_Int3_Int3_Int3,
6358     BuiltInName::imulExtended,
6359     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6360     BuiltInParameters::p20C20C_o_20C_o_20C,
6361     4,
6362     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6363     EOpImulExtended,
6364     false);
6365 constexpr const TFunction imulExtended_30C30C30C30C(
6366     BuiltInId::imulExtended_Int4_Int4_Int4_Int4,
6367     BuiltInName::imulExtended,
6368     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6369     BuiltInParameters::p30C30C_o_30C_o_30C,
6370     4,
6371     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
6372     EOpImulExtended,
6373     false);
6374 constexpr const TFunction texture2D_00H10B(
6375     BuiltInId::texture2D_Sampler2D1_Float2,
6376     BuiltInName::texture2D,
6377     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6378     BuiltInParameters::p00H10B00B10C,
6379     2,
6380     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6381     EOpTexture2D,
6382     true);
6383 constexpr const TFunction texture2DProj_00H20B(
6384     BuiltInId::texture2DProj_Sampler2D1_Float3,
6385     BuiltInName::texture2DProj,
6386     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6387     BuiltInParameters::p00H20B00B10C,
6388     2,
6389     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6390     EOpTexture2DProj,
6391     true);
6392 constexpr const TFunction texture2DProj_00H30B(
6393     BuiltInId::texture2DProj_Sampler2D1_Float4,
6394     BuiltInName::texture2DProj,
6395     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6396     BuiltInParameters::p00H30B00B10C,
6397     2,
6398     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6399     EOpTexture2DProj,
6400     true);
6401 constexpr const TFunction textureCube_00J20B(
6402     BuiltInId::textureCube_SamplerCube1_Float3,
6403     BuiltInName::textureCube,
6404     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6405     BuiltInParameters::p00J20B00B,
6406     2,
6407     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6408     EOpTextureCube,
6409     true);
6410 constexpr const TFunction texture3D_00I20B(
6411     BuiltInId::texture3D_Sampler3D1_Float3,
6412     BuiltInName::texture3D,
6413     std::array<TExtension, 1u>{{TExtension::OES_texture_3D}},
6414     BuiltInParameters::p00I20B00B20C,
6415     2,
6416     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6417     EOpTexture3D,
6418     true);
6419 constexpr const TFunction texture3DProj_00I30B(
6420     BuiltInId::texture3DProj_Sampler3D1_Float4,
6421     BuiltInName::texture3DProj,
6422     std::array<TExtension, 1u>{{TExtension::OES_texture_3D}},
6423     BuiltInParameters::p00I30B00B20C,
6424     2,
6425     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6426     EOpTexture3DProj,
6427     true);
6428 constexpr const TFunction shadow2DEXT_00c20B(
6429     BuiltInId::shadow2DEXT_Sampler2DShadow1_Float3,
6430     BuiltInName::shadow2DEXT,
6431     std::array<TExtension, 1u>{{TExtension::EXT_shadow_samplers}},
6432     BuiltInParameters::p00c20B00B10C,
6433     2,
6434     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6435     EOpShadow2DEXT,
6436     true);
6437 constexpr const TFunction shadow2DProjEXT_00c30B(
6438     BuiltInId::shadow2DProjEXT_Sampler2DShadow1_Float4,
6439     BuiltInName::shadow2DProjEXT,
6440     std::array<TExtension, 1u>{{TExtension::EXT_shadow_samplers}},
6441     BuiltInParameters::p00c30B00B10C,
6442     2,
6443     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6444     EOpShadow2DProjEXT,
6445     true);
6446 constexpr const TFunction texture2D_00L10B(
6447     BuiltInId::texture2D_SamplerExternalOES1_Float2,
6448     BuiltInName::texture2D,
6449     std::array<TExtension, 2u>{
6450         {TExtension::OES_EGL_image_external, TExtension::NV_EGL_stream_consumer_external}},
6451     BuiltInParameters::p00L10B00B,
6452     2,
6453     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6454     EOpTexture2D,
6455     true);
6456 constexpr const TFunction texture2DProj_00L20B(
6457     BuiltInId::texture2DProj_SamplerExternalOES1_Float3,
6458     BuiltInName::texture2DProj,
6459     std::array<TExtension, 2u>{
6460         {TExtension::OES_EGL_image_external, TExtension::NV_EGL_stream_consumer_external}},
6461     BuiltInParameters::p00L20B00B,
6462     2,
6463     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6464     EOpTexture2DProj,
6465     true);
6466 constexpr const TFunction texture2DProj_00L30B(
6467     BuiltInId::texture2DProj_SamplerExternalOES1_Float4,
6468     BuiltInName::texture2DProj,
6469     std::array<TExtension, 2u>{
6470         {TExtension::OES_EGL_image_external, TExtension::NV_EGL_stream_consumer_external}},
6471     BuiltInParameters::p00L30B00B,
6472     2,
6473     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6474     EOpTexture2DProj,
6475     true);
6476 constexpr const TFunction texture2DRect_00N10B(
6477     BuiltInId::texture2DRect_Sampler2DRect1_Float2,
6478     BuiltInName::texture2DRect,
6479     std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}},
6480     BuiltInParameters::p00N10B,
6481     2,
6482     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6483     EOpTexture2DRect,
6484     true);
6485 constexpr const TFunction texture2DRectProj_00N20B(
6486     BuiltInId::texture2DRectProj_Sampler2DRect1_Float3,
6487     BuiltInName::texture2DRectProj,
6488     std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}},
6489     BuiltInParameters::p00N20B,
6490     2,
6491     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6492     EOpTexture2DRectProj,
6493     true);
6494 constexpr const TFunction texture2DRectProj_00N30B(
6495     BuiltInId::texture2DRectProj_Sampler2DRect1_Float4,
6496     BuiltInName::texture2DRectProj,
6497     std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}},
6498     BuiltInParameters::p00N30B,
6499     2,
6500     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6501     EOpTexture2DRectProj,
6502     true);
6503 constexpr const TFunction texture2DGradEXT_00H10B10B10B(
6504     BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2,
6505     BuiltInName::texture2DGradEXT,
6506     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6507     BuiltInParameters::p00H10B10B10B10C,
6508     4,
6509     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6510     EOpTexture2DGradEXT,
6511     true);
6512 constexpr const TFunction texture2DProjGradEXT_00H20B10B10B(
6513     BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2,
6514     BuiltInName::texture2DProjGradEXT,
6515     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6516     BuiltInParameters::p00H20B10B10B10C,
6517     4,
6518     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6519     EOpTexture2DProjGradEXT,
6520     true);
6521 constexpr const TFunction texture2DProjGradEXT_00H30B10B10B(
6522     BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2,
6523     BuiltInName::texture2DProjGradEXT,
6524     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6525     BuiltInParameters::p00H30B10B10B10C,
6526     4,
6527     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6528     EOpTexture2DProjGradEXT,
6529     true);
6530 constexpr const TFunction textureCubeGradEXT_00J20B20B20B(
6531     BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3,
6532     BuiltInName::textureCubeGradEXT,
6533     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6534     BuiltInParameters::p00J20B20B20B,
6535     4,
6536     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6537     EOpTextureCubeGradEXT,
6538     true);
6539 constexpr const TFunction textureVideoWEBGL_00p10B(
6540     BuiltInId::textureVideoWEBGL_SamplerVideoWEBGL1_Float2,
6541     BuiltInName::textureVideoWEBGL,
6542     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6543     BuiltInParameters::p00p10B,
6544     2,
6545     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6546     EOpTextureVideoWEBGL,
6547     true);
6548 constexpr const TFunction texture2D_00H10B00B(
6549     BuiltInId::texture2D_Sampler2D1_Float2_Float1,
6550     BuiltInName::texture2D,
6551     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6552     BuiltInParameters::p00H10B00B10C,
6553     3,
6554     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6555     EOpTexture2DBias,
6556     true);
6557 constexpr const TFunction texture2DProj_00H20B00B(
6558     BuiltInId::texture2DProj_Sampler2D1_Float3_Float1,
6559     BuiltInName::texture2DProj,
6560     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6561     BuiltInParameters::p00H20B00B10C,
6562     3,
6563     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6564     EOpTexture2DProjBias,
6565     true);
6566 constexpr const TFunction texture2DProj_00H30B00B(
6567     BuiltInId::texture2DProj_Sampler2D1_Float4_Float1,
6568     BuiltInName::texture2DProj,
6569     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6570     BuiltInParameters::p00H30B00B10C,
6571     3,
6572     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6573     EOpTexture2DProjBias,
6574     true);
6575 constexpr const TFunction textureCube_00J20B00B(
6576     BuiltInId::textureCube_SamplerCube1_Float3_Float1,
6577     BuiltInName::textureCube,
6578     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6579     BuiltInParameters::p00J20B00B,
6580     3,
6581     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6582     EOpTextureCubeBias,
6583     true);
6584 constexpr const TFunction texture3D_00I20B00B(
6585     BuiltInId::texture3D_Sampler3D1_Float3_Float1,
6586     BuiltInName::texture3D,
6587     std::array<TExtension, 1u>{{TExtension::OES_texture_3D}},
6588     BuiltInParameters::p00I20B00B20C,
6589     3,
6590     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6591     EOpTexture3DBias,
6592     true);
6593 constexpr const TFunction texture3DProj_00I30B00B(
6594     BuiltInId::texture3DProj_Sampler3D1_Float4_Float1,
6595     BuiltInName::texture3DProj,
6596     std::array<TExtension, 1u>{{TExtension::OES_texture_3D}},
6597     BuiltInParameters::p00I30B00B20C,
6598     3,
6599     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6600     EOpTexture3DProjBias,
6601     true);
6602 constexpr const TFunction texture3DLod_00I20B00B(
6603     BuiltInId::texture3DLod_Sampler3D1_Float3_Float1,
6604     BuiltInName::texture3DLod,
6605     std::array<TExtension, 1u>{{TExtension::OES_texture_3D}},
6606     BuiltInParameters::p00I20B00B20C,
6607     3,
6608     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6609     EOpTexture3DLod,
6610     true);
6611 constexpr const TFunction texture3DProjLod_00I30B00B(
6612     BuiltInId::texture3DProjLod_Sampler3D1_Float4_Float1,
6613     BuiltInName::texture3DProjLod,
6614     std::array<TExtension, 1u>{{TExtension::OES_texture_3D}},
6615     BuiltInParameters::p00I30B00B20C,
6616     3,
6617     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6618     EOpTexture3DProjLod,
6619     true);
6620 constexpr const TFunction texture2DLod_00H10B00B(
6621     BuiltInId::texture2DLod_Sampler2D1_Float2_Float1,
6622     BuiltInName::texture2DLod,
6623     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6624     BuiltInParameters::p00H10B00B10C,
6625     3,
6626     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6627     EOpTexture2DLodVS,
6628     true);
6629 constexpr const TFunction texture2DProjLod_00H20B00B(
6630     BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1,
6631     BuiltInName::texture2DProjLod,
6632     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6633     BuiltInParameters::p00H20B00B10C,
6634     3,
6635     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6636     EOpTexture2DProjLodVS,
6637     true);
6638 constexpr const TFunction texture2DProjLod_00H30B00B(
6639     BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1,
6640     BuiltInName::texture2DProjLod,
6641     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6642     BuiltInParameters::p00H30B00B10C,
6643     3,
6644     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6645     EOpTexture2DProjLodVS,
6646     true);
6647 constexpr const TFunction textureCubeLod_00J20B00B(
6648     BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1,
6649     BuiltInName::textureCubeLod,
6650     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6651     BuiltInParameters::p00J20B00B,
6652     3,
6653     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6654     EOpTextureCubeLodVS,
6655     true);
6656 constexpr const TFunction texture2DLodEXT_00H10B00B(
6657     BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1,
6658     BuiltInName::texture2DLodEXT,
6659     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6660     BuiltInParameters::p00H10B00B10C,
6661     3,
6662     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6663     EOpTexture2DLodEXTFS,
6664     true);
6665 constexpr const TFunction texture2DProjLodEXT_00H20B00B(
6666     BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1,
6667     BuiltInName::texture2DProjLodEXT,
6668     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6669     BuiltInParameters::p00H20B00B10C,
6670     3,
6671     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6672     EOpTexture2DProjLodEXTFS,
6673     true);
6674 constexpr const TFunction texture2DProjLodEXT_00H30B00B(
6675     BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1,
6676     BuiltInName::texture2DProjLodEXT,
6677     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6678     BuiltInParameters::p00H30B00B10C,
6679     3,
6680     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6681     EOpTexture2DProjLodEXTFS,
6682     true);
6683 constexpr const TFunction textureCubeLodEXT_00J20B00B(
6684     BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1,
6685     BuiltInName::textureCubeLodEXT,
6686     std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}},
6687     BuiltInParameters::p00J20B00B,
6688     3,
6689     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6690     EOpTextureCubeLodEXTFS,
6691     true);
6692 constexpr const TFunction texture_00H10B(BuiltInId::texture_Sampler2D1_Float2,
6693                                          BuiltInName::texture,
6694                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6695                                          BuiltInParameters::p00H10B00B10C,
6696                                          2,
6697                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6698                                          EOpTexture,
6699                                          true);
6700 constexpr const TFunction texture_00Q10B(BuiltInId::texture_ISampler2D1_Float2,
6701                                          BuiltInName::texture,
6702                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6703                                          BuiltInParameters::p00Q10B00B10C,
6704                                          2,
6705                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6706                                          EOpTexture,
6707                                          true);
6708 constexpr const TFunction texture_00W10B(BuiltInId::texture_USampler2D1_Float2,
6709                                          BuiltInName::texture,
6710                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6711                                          BuiltInParameters::p00W10B00B10C,
6712                                          2,
6713                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6714                                          EOpTexture,
6715                                          true);
6716 constexpr const TFunction texture_00I20B(BuiltInId::texture_Sampler3D1_Float3,
6717                                          BuiltInName::texture,
6718                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6719                                          BuiltInParameters::p00I20B00B20C,
6720                                          2,
6721                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6722                                          EOpTexture,
6723                                          true);
6724 constexpr const TFunction texture_00R20B(BuiltInId::texture_ISampler3D1_Float3,
6725                                          BuiltInName::texture,
6726                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6727                                          BuiltInParameters::p00R20B00B20C,
6728                                          2,
6729                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6730                                          EOpTexture,
6731                                          true);
6732 constexpr const TFunction texture_00X20B(BuiltInId::texture_USampler3D1_Float3,
6733                                          BuiltInName::texture,
6734                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6735                                          BuiltInParameters::p00X20B00B20C,
6736                                          2,
6737                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6738                                          EOpTexture,
6739                                          true);
6740 constexpr const TFunction texture_00J20B(BuiltInId::texture_SamplerCube1_Float3,
6741                                          BuiltInName::texture,
6742                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6743                                          BuiltInParameters::p00J20B00B,
6744                                          2,
6745                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6746                                          EOpTexture,
6747                                          true);
6748 constexpr const TFunction texture_00S20B(BuiltInId::texture_ISamplerCube1_Float3,
6749                                          BuiltInName::texture,
6750                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6751                                          BuiltInParameters::p00S20B00B,
6752                                          2,
6753                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6754                                          EOpTexture,
6755                                          true);
6756 constexpr const TFunction texture_00Y20B(BuiltInId::texture_USamplerCube1_Float3,
6757                                          BuiltInName::texture,
6758                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6759                                          BuiltInParameters::p00Y20B00B,
6760                                          2,
6761                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6762                                          EOpTexture,
6763                                          true);
6764 constexpr const TFunction texture_00K20B(BuiltInId::texture_Sampler2DArray1_Float3,
6765                                          BuiltInName::texture,
6766                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6767                                          BuiltInParameters::p00K20B00B10C,
6768                                          2,
6769                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6770                                          EOpTexture,
6771                                          true);
6772 constexpr const TFunction texture_00T20B(BuiltInId::texture_ISampler2DArray1_Float3,
6773                                          BuiltInName::texture,
6774                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6775                                          BuiltInParameters::p00T20B00B10C,
6776                                          2,
6777                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6778                                          EOpTexture,
6779                                          true);
6780 constexpr const TFunction texture_00Z20B(BuiltInId::texture_USampler2DArray1_Float3,
6781                                          BuiltInName::texture,
6782                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6783                                          BuiltInParameters::p00Z20B00B10C,
6784                                          2,
6785                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6786                                          EOpTexture,
6787                                          true);
6788 constexpr const TFunction texture_00c20B(BuiltInId::texture_Sampler2DShadow1_Float3,
6789                                          BuiltInName::texture,
6790                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6791                                          BuiltInParameters::p00c20B00B10C,
6792                                          2,
6793                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6794                                          EOpTexture,
6795                                          true);
6796 constexpr const TFunction texture_00d30B(BuiltInId::texture_SamplerCubeShadow1_Float4,
6797                                          BuiltInName::texture,
6798                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6799                                          BuiltInParameters::p00d30B00B,
6800                                          2,
6801                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6802                                          EOpTexture,
6803                                          true);
6804 constexpr const TFunction texture_00e30B(BuiltInId::texture_Sampler2DArrayShadow1_Float4,
6805                                          BuiltInName::texture,
6806                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6807                                          BuiltInParameters::p00e30B00B10C,
6808                                          2,
6809                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6810                                          EOpTexture,
6811                                          true);
6812 constexpr const TFunction texture_00g30B(BuiltInId::texture_SamplerCubeArray1_Float4,
6813                                          BuiltInName::texture,
6814                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6815                                          BuiltInParameters::p00g30B00B,
6816                                          2,
6817                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6818                                          EOpTexture,
6819                                          true);
6820 constexpr const TFunction texture_00l30B(BuiltInId::texture_ISamplerCubeArray1_Float4,
6821                                          BuiltInName::texture,
6822                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6823                                          BuiltInParameters::p00l30B00B,
6824                                          2,
6825                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6826                                          EOpTexture,
6827                                          true);
6828 constexpr const TFunction texture_00o30B(BuiltInId::texture_USamplerCubeArray1_Float4,
6829                                          BuiltInName::texture,
6830                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6831                                          BuiltInParameters::p00o30B00B,
6832                                          2,
6833                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6834                                          EOpTexture,
6835                                          true);
6836 constexpr const TFunction texture_00h30B00B(
6837     BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1,
6838     BuiltInName::texture,
6839     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6840     BuiltInParameters::p00h30B00B00B,
6841     3,
6842     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6843     EOpTexture,
6844     true);
6845 constexpr const TFunction textureExt_00g30B(
6846     BuiltInId::textureExt_SamplerCubeArray1_Float4,
6847     BuiltInName::textureExt,
6848     std::array<TExtension, 2u>{
6849         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
6850     BuiltInParameters::p00g30B00B,
6851     2,
6852     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6853     EOpTexture,
6854     true);
6855 constexpr const TFunction textureExt_00l30B(
6856     BuiltInId::textureExt_ISamplerCubeArray1_Float4,
6857     BuiltInName::textureExt,
6858     std::array<TExtension, 2u>{
6859         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
6860     BuiltInParameters::p00l30B00B,
6861     2,
6862     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6863     EOpTexture,
6864     true);
6865 constexpr const TFunction textureExt_00o30B(
6866     BuiltInId::textureExt_USamplerCubeArray1_Float4,
6867     BuiltInName::textureExt,
6868     std::array<TExtension, 2u>{
6869         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
6870     BuiltInParameters::p00o30B00B,
6871     2,
6872     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6873     EOpTexture,
6874     true);
6875 constexpr const TFunction textureExt_00h30B00B(
6876     BuiltInId::textureExt_SamplerCubeArrayShadow1_Float4_Float1,
6877     BuiltInName::textureExt,
6878     std::array<TExtension, 2u>{
6879         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
6880     BuiltInParameters::p00h30B00B00B,
6881     3,
6882     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
6883     EOpTexture,
6884     true);
6885 constexpr const TFunction texture_00L10B(BuiltInId::texture_SamplerExternalOES1_Float2,
6886                                          BuiltInName::texture,
6887                                          std::array<TExtension, 1u>{
6888                                              {TExtension::OES_EGL_image_external_essl3}},
6889                                          BuiltInParameters::p00L10B00B,
6890                                          2,
6891                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6892                                          EOpTexture,
6893                                          true);
6894 constexpr const TFunction texture_00M10B(BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2,
6895                                          BuiltInName::texture,
6896                                          std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
6897                                          BuiltInParameters::p00M10B00B,
6898                                          2,
6899                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6900                                          EOpTexture,
6901                                          true);
6902 constexpr const TFunction texture_00N10B(BuiltInId::texture_Sampler2DRect1_Float2,
6903                                          BuiltInName::texture,
6904                                          std::array<TExtension, 1u>{
6905                                              {TExtension::ARB_texture_rectangle}},
6906                                          BuiltInParameters::p00N10B,
6907                                          2,
6908                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6909                                          EOpTexture,
6910                                          true);
6911 constexpr const TFunction texture_00p10B(BuiltInId::texture_SamplerVideoWEBGL1_Float2,
6912                                          BuiltInName::texture,
6913                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6914                                          BuiltInParameters::p00p10B,
6915                                          2,
6916                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6917                                          EOpTexture,
6918                                          true);
6919 constexpr const TFunction textureProj_00H20B(
6920     BuiltInId::textureProj_Sampler2D1_Float3,
6921     BuiltInName::textureProj,
6922     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6923     BuiltInParameters::p00H20B00B10C,
6924     2,
6925     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6926     EOpTextureProj,
6927     true);
6928 constexpr const TFunction textureProj_00Q20B(
6929     BuiltInId::textureProj_ISampler2D1_Float3,
6930     BuiltInName::textureProj,
6931     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6932     BuiltInParameters::p00Q20B00B10C,
6933     2,
6934     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6935     EOpTextureProj,
6936     true);
6937 constexpr const TFunction textureProj_00W20B(
6938     BuiltInId::textureProj_USampler2D1_Float3,
6939     BuiltInName::textureProj,
6940     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6941     BuiltInParameters::p00W20B00B10C,
6942     2,
6943     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6944     EOpTextureProj,
6945     true);
6946 constexpr const TFunction textureProj_00H30B(
6947     BuiltInId::textureProj_Sampler2D1_Float4,
6948     BuiltInName::textureProj,
6949     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6950     BuiltInParameters::p00H30B00B10C,
6951     2,
6952     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6953     EOpTextureProj,
6954     true);
6955 constexpr const TFunction textureProj_00Q30B(
6956     BuiltInId::textureProj_ISampler2D1_Float4,
6957     BuiltInName::textureProj,
6958     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6959     BuiltInParameters::p00Q30B00B10C,
6960     2,
6961     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6962     EOpTextureProj,
6963     true);
6964 constexpr const TFunction textureProj_00W30B(
6965     BuiltInId::textureProj_USampler2D1_Float4,
6966     BuiltInName::textureProj,
6967     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6968     BuiltInParameters::p00W30B00B10C,
6969     2,
6970     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6971     EOpTextureProj,
6972     true);
6973 constexpr const TFunction textureProj_00I30B(
6974     BuiltInId::textureProj_Sampler3D1_Float4,
6975     BuiltInName::textureProj,
6976     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6977     BuiltInParameters::p00I30B00B20C,
6978     2,
6979     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
6980     EOpTextureProj,
6981     true);
6982 constexpr const TFunction textureProj_00R30B(
6983     BuiltInId::textureProj_ISampler3D1_Float4,
6984     BuiltInName::textureProj,
6985     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6986     BuiltInParameters::p00R30B00B20C,
6987     2,
6988     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
6989     EOpTextureProj,
6990     true);
6991 constexpr const TFunction textureProj_00X30B(
6992     BuiltInId::textureProj_USampler3D1_Float4,
6993     BuiltInName::textureProj,
6994     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
6995     BuiltInParameters::p00X30B00B20C,
6996     2,
6997     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
6998     EOpTextureProj,
6999     true);
7000 constexpr const TFunction textureProj_00c30B(
7001     BuiltInId::textureProj_Sampler2DShadow1_Float4,
7002     BuiltInName::textureProj,
7003     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7004     BuiltInParameters::p00c30B00B10C,
7005     2,
7006     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
7007     EOpTextureProj,
7008     true);
7009 constexpr const TFunction textureProj_00L20B(
7010     BuiltInId::textureProj_SamplerExternalOES1_Float3,
7011     BuiltInName::textureProj,
7012     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
7013     BuiltInParameters::p00L20B00B,
7014     2,
7015     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7016     EOpTextureProj,
7017     true);
7018 constexpr const TFunction textureProj_00L30B(
7019     BuiltInId::textureProj_SamplerExternalOES1_Float4,
7020     BuiltInName::textureProj,
7021     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
7022     BuiltInParameters::p00L30B00B,
7023     2,
7024     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7025     EOpTextureProj,
7026     true);
7027 constexpr const TFunction textureProj_00M20B(
7028     BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3,
7029     BuiltInName::textureProj,
7030     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
7031     BuiltInParameters::p00M20B00B,
7032     2,
7033     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7034     EOpTextureProj,
7035     true);
7036 constexpr const TFunction textureProj_00M30B(
7037     BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4,
7038     BuiltInName::textureProj,
7039     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
7040     BuiltInParameters::p00M30B00B,
7041     2,
7042     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7043     EOpTextureProj,
7044     true);
7045 constexpr const TFunction textureProj_00N20B(
7046     BuiltInId::textureProj_Sampler2DRect1_Float3,
7047     BuiltInName::textureProj,
7048     std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}},
7049     BuiltInParameters::p00N20B,
7050     2,
7051     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7052     EOpTextureProj,
7053     true);
7054 constexpr const TFunction textureProj_00N30B(
7055     BuiltInId::textureProj_Sampler2DRect1_Float4,
7056     BuiltInName::textureProj,
7057     std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}},
7058     BuiltInParameters::p00N30B,
7059     2,
7060     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7061     EOpTextureProj,
7062     true);
7063 constexpr const TFunction textureLod_00H10B00B(
7064     BuiltInId::textureLod_Sampler2D1_Float2_Float1,
7065     BuiltInName::textureLod,
7066     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7067     BuiltInParameters::p00H10B00B10C,
7068     3,
7069     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7070     EOpTextureLod,
7071     true);
7072 constexpr const TFunction textureLod_00Q10B00B(
7073     BuiltInId::textureLod_ISampler2D1_Float2_Float1,
7074     BuiltInName::textureLod,
7075     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7076     BuiltInParameters::p00Q10B00B10C,
7077     3,
7078     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7079     EOpTextureLod,
7080     true);
7081 constexpr const TFunction textureLod_00W10B00B(
7082     BuiltInId::textureLod_USampler2D1_Float2_Float1,
7083     BuiltInName::textureLod,
7084     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7085     BuiltInParameters::p00W10B00B10C,
7086     3,
7087     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7088     EOpTextureLod,
7089     true);
7090 constexpr const TFunction textureLod_00I20B00B(
7091     BuiltInId::textureLod_Sampler3D1_Float3_Float1,
7092     BuiltInName::textureLod,
7093     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7094     BuiltInParameters::p00I20B00B20C,
7095     3,
7096     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7097     EOpTextureLod,
7098     true);
7099 constexpr const TFunction textureLod_00R20B00B(
7100     BuiltInId::textureLod_ISampler3D1_Float3_Float1,
7101     BuiltInName::textureLod,
7102     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7103     BuiltInParameters::p00R20B00B20C,
7104     3,
7105     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7106     EOpTextureLod,
7107     true);
7108 constexpr const TFunction textureLod_00X20B00B(
7109     BuiltInId::textureLod_USampler3D1_Float3_Float1,
7110     BuiltInName::textureLod,
7111     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7112     BuiltInParameters::p00X20B00B20C,
7113     3,
7114     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7115     EOpTextureLod,
7116     true);
7117 constexpr const TFunction textureLod_00J20B00B(
7118     BuiltInId::textureLod_SamplerCube1_Float3_Float1,
7119     BuiltInName::textureLod,
7120     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7121     BuiltInParameters::p00J20B00B,
7122     3,
7123     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7124     EOpTextureLod,
7125     true);
7126 constexpr const TFunction textureLod_00S20B00B(
7127     BuiltInId::textureLod_ISamplerCube1_Float3_Float1,
7128     BuiltInName::textureLod,
7129     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7130     BuiltInParameters::p00S20B00B,
7131     3,
7132     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7133     EOpTextureLod,
7134     true);
7135 constexpr const TFunction textureLod_00Y20B00B(
7136     BuiltInId::textureLod_USamplerCube1_Float3_Float1,
7137     BuiltInName::textureLod,
7138     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7139     BuiltInParameters::p00Y20B00B,
7140     3,
7141     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7142     EOpTextureLod,
7143     true);
7144 constexpr const TFunction textureLod_00K20B00B(
7145     BuiltInId::textureLod_Sampler2DArray1_Float3_Float1,
7146     BuiltInName::textureLod,
7147     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7148     BuiltInParameters::p00K20B00B10C,
7149     3,
7150     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7151     EOpTextureLod,
7152     true);
7153 constexpr const TFunction textureLod_00T20B00B(
7154     BuiltInId::textureLod_ISampler2DArray1_Float3_Float1,
7155     BuiltInName::textureLod,
7156     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7157     BuiltInParameters::p00T20B00B10C,
7158     3,
7159     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7160     EOpTextureLod,
7161     true);
7162 constexpr const TFunction textureLod_00Z20B00B(
7163     BuiltInId::textureLod_USampler2DArray1_Float3_Float1,
7164     BuiltInName::textureLod,
7165     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7166     BuiltInParameters::p00Z20B00B10C,
7167     3,
7168     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7169     EOpTextureLod,
7170     true);
7171 constexpr const TFunction textureLod_00c20B00B(
7172     BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1,
7173     BuiltInName::textureLod,
7174     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7175     BuiltInParameters::p00c20B00B10C,
7176     3,
7177     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
7178     EOpTextureLod,
7179     true);
7180 constexpr const TFunction textureLod_00d30B00B(
7181     BuiltInId::textureLod_SamplerCubeShadow1_Float4_Float1,
7182     BuiltInName::textureLod,
7183     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
7184     BuiltInParameters::p00d30B00B,
7185     3,
7186     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
7187     EOpTextureLod,
7188     true);
7189 constexpr const TFunction textureLod_00e30B00B(
7190     BuiltInId::textureLod_Sampler2DArrayShadow1_Float4_Float1,
7191     BuiltInName::textureLod,
7192     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
7193     BuiltInParameters::p00e30B00B10C,
7194     3,
7195     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
7196     EOpTextureLod,
7197     true);
7198 constexpr const TFunction textureLod_00h30B00B00B(
7199     BuiltInId::textureLod_SamplerCubeArrayShadow1_Float4_Float1_Float1,
7200     BuiltInName::textureLod,
7201     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
7202     BuiltInParameters::p00h30B00B00B,
7203     4,
7204     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
7205     EOpTextureLod,
7206     true);
7207 constexpr const TFunction textureLod_00g30B00B(
7208     BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1,
7209     BuiltInName::textureLod,
7210     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7211     BuiltInParameters::p00g30B00B,
7212     3,
7213     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7214     EOpTextureLod,
7215     true);
7216 constexpr const TFunction textureLod_00l30B00B(
7217     BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1,
7218     BuiltInName::textureLod,
7219     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7220     BuiltInParameters::p00l30B00B,
7221     3,
7222     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7223     EOpTextureLod,
7224     true);
7225 constexpr const TFunction textureLod_00o30B00B(
7226     BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1,
7227     BuiltInName::textureLod,
7228     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7229     BuiltInParameters::p00o30B00B,
7230     3,
7231     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7232     EOpTextureLod,
7233     true);
7234 constexpr const TFunction textureLodExt_00g30B00B(
7235     BuiltInId::textureLodExt_SamplerCubeArray1_Float4_Float1,
7236     BuiltInName::textureLodExt,
7237     std::array<TExtension, 2u>{
7238         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7239     BuiltInParameters::p00g30B00B,
7240     3,
7241     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7242     EOpTextureLod,
7243     true);
7244 constexpr const TFunction textureLodExt_00l30B00B(
7245     BuiltInId::textureLodExt_ISamplerCubeArray1_Float4_Float1,
7246     BuiltInName::textureLodExt,
7247     std::array<TExtension, 2u>{
7248         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7249     BuiltInParameters::p00l30B00B,
7250     3,
7251     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7252     EOpTextureLod,
7253     true);
7254 constexpr const TFunction textureLodExt_00o30B00B(
7255     BuiltInId::textureLodExt_USamplerCubeArray1_Float4_Float1,
7256     BuiltInName::textureLodExt,
7257     std::array<TExtension, 2u>{
7258         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7259     BuiltInParameters::p00o30B00B,
7260     3,
7261     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7262     EOpTextureLod,
7263     true);
7264 constexpr const TFunction textureSize_00H00C(
7265     BuiltInId::textureSize_Sampler2D1_Int1,
7266     BuiltInName::textureSize,
7267     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7268     BuiltInParameters::p00H00C,
7269     2,
7270     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7271     EOpTextureSize,
7272     true);
7273 constexpr const TFunction textureSize_00Q00C(
7274     BuiltInId::textureSize_ISampler2D1_Int1,
7275     BuiltInName::textureSize,
7276     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7277     BuiltInParameters::p00Q00C,
7278     2,
7279     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7280     EOpTextureSize,
7281     true);
7282 constexpr const TFunction textureSize_00W00C(
7283     BuiltInId::textureSize_USampler2D1_Int1,
7284     BuiltInName::textureSize,
7285     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7286     BuiltInParameters::p00W00C,
7287     2,
7288     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7289     EOpTextureSize,
7290     true);
7291 constexpr const TFunction textureSize_00I00C(
7292     BuiltInId::textureSize_Sampler3D1_Int1,
7293     BuiltInName::textureSize,
7294     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7295     BuiltInParameters::p00I00C,
7296     2,
7297     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7298     EOpTextureSize,
7299     true);
7300 constexpr const TFunction textureSize_00R00C(
7301     BuiltInId::textureSize_ISampler3D1_Int1,
7302     BuiltInName::textureSize,
7303     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7304     BuiltInParameters::p00R00C,
7305     2,
7306     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7307     EOpTextureSize,
7308     true);
7309 constexpr const TFunction textureSize_00X00C(
7310     BuiltInId::textureSize_USampler3D1_Int1,
7311     BuiltInName::textureSize,
7312     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7313     BuiltInParameters::p00X00C,
7314     2,
7315     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7316     EOpTextureSize,
7317     true);
7318 constexpr const TFunction textureSize_00J00C(
7319     BuiltInId::textureSize_SamplerCube1_Int1,
7320     BuiltInName::textureSize,
7321     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7322     BuiltInParameters::p00J00C,
7323     2,
7324     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7325     EOpTextureSize,
7326     true);
7327 constexpr const TFunction textureSize_00S00C(
7328     BuiltInId::textureSize_ISamplerCube1_Int1,
7329     BuiltInName::textureSize,
7330     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7331     BuiltInParameters::p00S00C,
7332     2,
7333     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7334     EOpTextureSize,
7335     true);
7336 constexpr const TFunction textureSize_00Y00C(
7337     BuiltInId::textureSize_USamplerCube1_Int1,
7338     BuiltInName::textureSize,
7339     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7340     BuiltInParameters::p00Y00C,
7341     2,
7342     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7343     EOpTextureSize,
7344     true);
7345 constexpr const TFunction textureSize_00K00C(
7346     BuiltInId::textureSize_Sampler2DArray1_Int1,
7347     BuiltInName::textureSize,
7348     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7349     BuiltInParameters::p00K00C,
7350     2,
7351     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7352     EOpTextureSize,
7353     true);
7354 constexpr const TFunction textureSize_00T00C(
7355     BuiltInId::textureSize_ISampler2DArray1_Int1,
7356     BuiltInName::textureSize,
7357     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7358     BuiltInParameters::p00T00C,
7359     2,
7360     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7361     EOpTextureSize,
7362     true);
7363 constexpr const TFunction textureSize_00Z00C(
7364     BuiltInId::textureSize_USampler2DArray1_Int1,
7365     BuiltInName::textureSize,
7366     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7367     BuiltInParameters::p00Z00C,
7368     2,
7369     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7370     EOpTextureSize,
7371     true);
7372 constexpr const TFunction textureSize_00c00C(
7373     BuiltInId::textureSize_Sampler2DShadow1_Int1,
7374     BuiltInName::textureSize,
7375     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7376     BuiltInParameters::p00c00C,
7377     2,
7378     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7379     EOpTextureSize,
7380     true);
7381 constexpr const TFunction textureSize_00d00C(
7382     BuiltInId::textureSize_SamplerCubeShadow1_Int1,
7383     BuiltInName::textureSize,
7384     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7385     BuiltInParameters::p00d00C,
7386     2,
7387     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7388     EOpTextureSize,
7389     true);
7390 constexpr const TFunction textureSize_00e00C(
7391     BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
7392     BuiltInName::textureSize,
7393     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7394     BuiltInParameters::p00e00C,
7395     2,
7396     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7397     EOpTextureSize,
7398     true);
7399 constexpr const TFunction textureSize_00g00C(
7400     BuiltInId::textureSize_SamplerCubeArray1_Int1,
7401     BuiltInName::textureSize,
7402     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7403     BuiltInParameters::p00g00C,
7404     2,
7405     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7406     EOpTextureSize,
7407     true);
7408 constexpr const TFunction textureSize_00l00C(
7409     BuiltInId::textureSize_ISamplerCubeArray1_Int1,
7410     BuiltInName::textureSize,
7411     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7412     BuiltInParameters::p00l00C,
7413     2,
7414     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7415     EOpTextureSize,
7416     true);
7417 constexpr const TFunction textureSize_00o00C(
7418     BuiltInId::textureSize_USamplerCubeArray1_Int1,
7419     BuiltInName::textureSize,
7420     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7421     BuiltInParameters::p00o00C,
7422     2,
7423     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7424     EOpTextureSize,
7425     true);
7426 constexpr const TFunction textureSize_00h00C(
7427     BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1,
7428     BuiltInName::textureSize,
7429     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7430     BuiltInParameters::p00h00C,
7431     2,
7432     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7433     EOpTextureSize,
7434     true);
7435 constexpr const TFunction textureSizeExt_00g00C(
7436     BuiltInId::textureSizeExt_SamplerCubeArray1_Int1,
7437     BuiltInName::textureSizeExt,
7438     std::array<TExtension, 2u>{
7439         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7440     BuiltInParameters::p00g00C,
7441     2,
7442     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7443     EOpTextureSize,
7444     true);
7445 constexpr const TFunction textureSizeExt_00l00C(
7446     BuiltInId::textureSizeExt_ISamplerCubeArray1_Int1,
7447     BuiltInName::textureSizeExt,
7448     std::array<TExtension, 2u>{
7449         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7450     BuiltInParameters::p00l00C,
7451     2,
7452     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7453     EOpTextureSize,
7454     true);
7455 constexpr const TFunction textureSizeExt_00o00C(
7456     BuiltInId::textureSizeExt_USamplerCubeArray1_Int1,
7457     BuiltInName::textureSizeExt,
7458     std::array<TExtension, 2u>{
7459         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7460     BuiltInParameters::p00o00C,
7461     2,
7462     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7463     EOpTextureSize,
7464     true);
7465 constexpr const TFunction textureSizeExt_00h00C(
7466     BuiltInId::textureSizeExt_SamplerCubeArrayShadow1_Int1,
7467     BuiltInName::textureSizeExt,
7468     std::array<TExtension, 2u>{
7469         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
7470     BuiltInParameters::p00h00C,
7471     2,
7472     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7473     EOpTextureSize,
7474     true);
7475 constexpr const TFunction textureSize_00f(BuiltInId::textureSize_SamplerBuffer1,
7476                                           BuiltInName::textureSize,
7477                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7478                                           BuiltInParameters::p00f00C,
7479                                           1,
7480                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
7481                                           EOpTextureSize,
7482                                           true);
7483 constexpr const TFunction textureSize_00k(BuiltInId::textureSize_ISamplerBuffer1,
7484                                           BuiltInName::textureSize,
7485                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7486                                           BuiltInParameters::p00k00C,
7487                                           1,
7488                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
7489                                           EOpTextureSize,
7490                                           true);
7491 constexpr const TFunction textureSize_00n(BuiltInId::textureSize_USamplerBuffer1,
7492                                           BuiltInName::textureSize,
7493                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7494                                           BuiltInParameters::p00n00C,
7495                                           1,
7496                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
7497                                           EOpTextureSize,
7498                                           true);
7499 constexpr const TFunction textureSizeExt_00f(
7500     BuiltInId::textureSizeExt_SamplerBuffer1,
7501     BuiltInName::textureSizeExt,
7502     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
7503     BuiltInParameters::p00f00C,
7504     1,
7505     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
7506     EOpTextureSize,
7507     true);
7508 constexpr const TFunction textureSizeExt_00k(
7509     BuiltInId::textureSizeExt_ISamplerBuffer1,
7510     BuiltInName::textureSizeExt,
7511     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
7512     BuiltInParameters::p00k00C,
7513     1,
7514     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
7515     EOpTextureSize,
7516     true);
7517 constexpr const TFunction textureSizeExt_00n(
7518     BuiltInId::textureSizeExt_USamplerBuffer1,
7519     BuiltInName::textureSizeExt,
7520     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
7521     BuiltInParameters::p00n00C,
7522     1,
7523     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
7524     EOpTextureSize,
7525     true);
7526 constexpr const TFunction textureSize_00O(BuiltInId::textureSize_Sampler2DMS1,
7527                                           BuiltInName::textureSize,
7528                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7529                                           BuiltInParameters::p00O10C00C,
7530                                           1,
7531                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7532                                           EOpTextureSize,
7533                                           true);
7534 constexpr const TFunction textureSize_00U(BuiltInId::textureSize_ISampler2DMS1,
7535                                           BuiltInName::textureSize,
7536                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7537                                           BuiltInParameters::p00U10C00C,
7538                                           1,
7539                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7540                                           EOpTextureSize,
7541                                           true);
7542 constexpr const TFunction textureSize_00a(BuiltInId::textureSize_USampler2DMS1,
7543                                           BuiltInName::textureSize,
7544                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7545                                           BuiltInParameters::p00a10C00C,
7546                                           1,
7547                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7548                                           EOpTextureSize,
7549                                           true);
7550 constexpr const TFunction textureSizeExt_00O(
7551     BuiltInId::textureSizeExt_Sampler2DMS1,
7552     BuiltInName::textureSizeExt,
7553     std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}},
7554     BuiltInParameters::p00O10C00C,
7555     1,
7556     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7557     EOpTextureSize,
7558     true);
7559 constexpr const TFunction textureSizeExt_00U(
7560     BuiltInId::textureSizeExt_ISampler2DMS1,
7561     BuiltInName::textureSizeExt,
7562     std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}},
7563     BuiltInParameters::p00U10C00C,
7564     1,
7565     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7566     EOpTextureSize,
7567     true);
7568 constexpr const TFunction textureSizeExt_00a(
7569     BuiltInId::textureSizeExt_USampler2DMS1,
7570     BuiltInName::textureSizeExt,
7571     std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}},
7572     BuiltInParameters::p00a10C00C,
7573     1,
7574     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7575     EOpTextureSize,
7576     true);
7577 constexpr const TFunction textureSize_00P(BuiltInId::textureSize_Sampler2DMSArray1,
7578                                           BuiltInName::textureSize,
7579                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7580                                           BuiltInParameters::p00P20C00C,
7581                                           1,
7582                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7583                                           EOpTextureSize,
7584                                           true);
7585 constexpr const TFunction textureSize_00V(BuiltInId::textureSize_ISampler2DMSArray1,
7586                                           BuiltInName::textureSize,
7587                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7588                                           BuiltInParameters::p00V20C00C,
7589                                           1,
7590                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7591                                           EOpTextureSize,
7592                                           true);
7593 constexpr const TFunction textureSize_00b(BuiltInId::textureSize_USampler2DMSArray1,
7594                                           BuiltInName::textureSize,
7595                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7596                                           BuiltInParameters::p00b20C00C,
7597                                           1,
7598                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7599                                           EOpTextureSize,
7600                                           true);
7601 constexpr const TFunction textureSizeExt_00P(
7602     BuiltInId::textureSizeExt_Sampler2DMSArray1,
7603     BuiltInName::textureSizeExt,
7604     std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}},
7605     BuiltInParameters::p00P20C00C,
7606     1,
7607     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7608     EOpTextureSize,
7609     true);
7610 constexpr const TFunction textureSizeExt_00V(
7611     BuiltInId::textureSizeExt_ISampler2DMSArray1,
7612     BuiltInName::textureSizeExt,
7613     std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}},
7614     BuiltInParameters::p00V20C00C,
7615     1,
7616     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7617     EOpTextureSize,
7618     true);
7619 constexpr const TFunction textureSizeExt_00b(
7620     BuiltInId::textureSizeExt_USampler2DMSArray1,
7621     BuiltInName::textureSizeExt,
7622     std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}},
7623     BuiltInParameters::p00b20C00C,
7624     1,
7625     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
7626     EOpTextureSize,
7627     true);
7628 constexpr const TFunction textureSize_00L00C(
7629     BuiltInId::textureSize_SamplerExternalOES1_Int1,
7630     BuiltInName::textureSize,
7631     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
7632     BuiltInParameters::p00L00C,
7633     2,
7634     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7635     EOpTextureSize,
7636     true);
7637 constexpr const TFunction textureSize_00M00C(
7638     BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1,
7639     BuiltInName::textureSize,
7640     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
7641     BuiltInParameters::p00M00C,
7642     2,
7643     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
7644     EOpTextureSize,
7645     true);
7646 constexpr const TFunction textureProjLod_00H20B00B(
7647     BuiltInId::textureProjLod_Sampler2D1_Float3_Float1,
7648     BuiltInName::textureProjLod,
7649     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7650     BuiltInParameters::p00H20B00B10C,
7651     3,
7652     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7653     EOpTextureProjLod,
7654     true);
7655 constexpr const TFunction textureProjLod_00Q20B00B(
7656     BuiltInId::textureProjLod_ISampler2D1_Float3_Float1,
7657     BuiltInName::textureProjLod,
7658     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7659     BuiltInParameters::p00Q20B00B10C,
7660     3,
7661     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7662     EOpTextureProjLod,
7663     true);
7664 constexpr const TFunction textureProjLod_00W20B00B(
7665     BuiltInId::textureProjLod_USampler2D1_Float3_Float1,
7666     BuiltInName::textureProjLod,
7667     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7668     BuiltInParameters::p00W20B00B10C,
7669     3,
7670     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7671     EOpTextureProjLod,
7672     true);
7673 constexpr const TFunction textureProjLod_00H30B00B(
7674     BuiltInId::textureProjLod_Sampler2D1_Float4_Float1,
7675     BuiltInName::textureProjLod,
7676     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7677     BuiltInParameters::p00H30B00B10C,
7678     3,
7679     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7680     EOpTextureProjLod,
7681     true);
7682 constexpr const TFunction textureProjLod_00Q30B00B(
7683     BuiltInId::textureProjLod_ISampler2D1_Float4_Float1,
7684     BuiltInName::textureProjLod,
7685     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7686     BuiltInParameters::p00Q30B00B10C,
7687     3,
7688     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7689     EOpTextureProjLod,
7690     true);
7691 constexpr const TFunction textureProjLod_00W30B00B(
7692     BuiltInId::textureProjLod_USampler2D1_Float4_Float1,
7693     BuiltInName::textureProjLod,
7694     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7695     BuiltInParameters::p00W30B00B10C,
7696     3,
7697     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7698     EOpTextureProjLod,
7699     true);
7700 constexpr const TFunction textureProjLod_00I30B00B(
7701     BuiltInId::textureProjLod_Sampler3D1_Float4_Float1,
7702     BuiltInName::textureProjLod,
7703     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7704     BuiltInParameters::p00I30B00B20C,
7705     3,
7706     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7707     EOpTextureProjLod,
7708     true);
7709 constexpr const TFunction textureProjLod_00R30B00B(
7710     BuiltInId::textureProjLod_ISampler3D1_Float4_Float1,
7711     BuiltInName::textureProjLod,
7712     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7713     BuiltInParameters::p00R30B00B20C,
7714     3,
7715     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7716     EOpTextureProjLod,
7717     true);
7718 constexpr const TFunction textureProjLod_00X30B00B(
7719     BuiltInId::textureProjLod_USampler3D1_Float4_Float1,
7720     BuiltInName::textureProjLod,
7721     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7722     BuiltInParameters::p00X30B00B20C,
7723     3,
7724     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7725     EOpTextureProjLod,
7726     true);
7727 constexpr const TFunction textureProjLod_00c30B00B(
7728     BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1,
7729     BuiltInName::textureProjLod,
7730     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7731     BuiltInParameters::p00c30B00B10C,
7732     3,
7733     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
7734     EOpTextureProjLod,
7735     true);
7736 constexpr const TFunction texelFetch_00H10C00C(
7737     BuiltInId::texelFetch_Sampler2D1_Int2_Int1,
7738     BuiltInName::texelFetch,
7739     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7740     BuiltInParameters::p00H10C00C10C,
7741     3,
7742     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7743     EOpTexelFetch,
7744     true);
7745 constexpr const TFunction texelFetch_00Q10C00C(
7746     BuiltInId::texelFetch_ISampler2D1_Int2_Int1,
7747     BuiltInName::texelFetch,
7748     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7749     BuiltInParameters::p00Q10C00C10C,
7750     3,
7751     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7752     EOpTexelFetch,
7753     true);
7754 constexpr const TFunction texelFetch_00W10C00C(
7755     BuiltInId::texelFetch_USampler2D1_Int2_Int1,
7756     BuiltInName::texelFetch,
7757     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7758     BuiltInParameters::p00W10C00C10C,
7759     3,
7760     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7761     EOpTexelFetch,
7762     true);
7763 constexpr const TFunction texelFetch_00I20C00C(
7764     BuiltInId::texelFetch_Sampler3D1_Int3_Int1,
7765     BuiltInName::texelFetch,
7766     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7767     BuiltInParameters::p00I20C00C20C,
7768     3,
7769     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7770     EOpTexelFetch,
7771     true);
7772 constexpr const TFunction texelFetch_00R20C00C(
7773     BuiltInId::texelFetch_ISampler3D1_Int3_Int1,
7774     BuiltInName::texelFetch,
7775     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7776     BuiltInParameters::p00R20C00C20C,
7777     3,
7778     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7779     EOpTexelFetch,
7780     true);
7781 constexpr const TFunction texelFetch_00X20C00C(
7782     BuiltInId::texelFetch_USampler3D1_Int3_Int1,
7783     BuiltInName::texelFetch,
7784     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7785     BuiltInParameters::p00X20C00C20C,
7786     3,
7787     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7788     EOpTexelFetch,
7789     true);
7790 constexpr const TFunction texelFetch_00K20C00C(
7791     BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1,
7792     BuiltInName::texelFetch,
7793     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7794     BuiltInParameters::p00K20C00C10C,
7795     3,
7796     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7797     EOpTexelFetch,
7798     true);
7799 constexpr const TFunction texelFetch_00T20C00C(
7800     BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1,
7801     BuiltInName::texelFetch,
7802     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7803     BuiltInParameters::p00T20C00C10C,
7804     3,
7805     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7806     EOpTexelFetch,
7807     true);
7808 constexpr const TFunction texelFetch_00Z20C00C(
7809     BuiltInId::texelFetch_USampler2DArray1_Int3_Int1,
7810     BuiltInName::texelFetch,
7811     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7812     BuiltInParameters::p00Z20C00C10C,
7813     3,
7814     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7815     EOpTexelFetch,
7816     true);
7817 constexpr const TFunction texelFetch_00f00C(
7818     BuiltInId::texelFetch_SamplerBuffer1_Int1,
7819     BuiltInName::texelFetch,
7820     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7821     BuiltInParameters::p00f00C,
7822     2,
7823     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7824     EOpTexelFetch,
7825     true);
7826 constexpr const TFunction texelFetch_00k00C(
7827     BuiltInId::texelFetch_ISamplerBuffer1_Int1,
7828     BuiltInName::texelFetch,
7829     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7830     BuiltInParameters::p00k00C,
7831     2,
7832     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7833     EOpTexelFetch,
7834     true);
7835 constexpr const TFunction texelFetch_00n00C(
7836     BuiltInId::texelFetch_USamplerBuffer1_Int1,
7837     BuiltInName::texelFetch,
7838     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7839     BuiltInParameters::p00n00C,
7840     2,
7841     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7842     EOpTexelFetch,
7843     true);
7844 constexpr const TFunction texelFetchExt_00f00C(
7845     BuiltInId::texelFetchExt_SamplerBuffer1_Int1,
7846     BuiltInName::texelFetchExt,
7847     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
7848     BuiltInParameters::p00f00C,
7849     2,
7850     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7851     EOpTexelFetch,
7852     true);
7853 constexpr const TFunction texelFetchExt_00k00C(
7854     BuiltInId::texelFetchExt_ISamplerBuffer1_Int1,
7855     BuiltInName::texelFetchExt,
7856     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
7857     BuiltInParameters::p00k00C,
7858     2,
7859     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7860     EOpTexelFetch,
7861     true);
7862 constexpr const TFunction texelFetchExt_00n00C(
7863     BuiltInId::texelFetchExt_USamplerBuffer1_Int1,
7864     BuiltInName::texelFetchExt,
7865     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
7866     BuiltInParameters::p00n00C,
7867     2,
7868     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7869     EOpTexelFetch,
7870     true);
7871 constexpr const TFunction texelFetch_00O10C00C(
7872     BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1,
7873     BuiltInName::texelFetch,
7874     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7875     BuiltInParameters::p00O10C00C,
7876     3,
7877     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7878     EOpTexelFetch,
7879     true);
7880 constexpr const TFunction texelFetch_00U10C00C(
7881     BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1,
7882     BuiltInName::texelFetch,
7883     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7884     BuiltInParameters::p00U10C00C,
7885     3,
7886     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7887     EOpTexelFetch,
7888     true);
7889 constexpr const TFunction texelFetch_00a10C00C(
7890     BuiltInId::texelFetch_USampler2DMS1_Int2_Int1,
7891     BuiltInName::texelFetch,
7892     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7893     BuiltInParameters::p00a10C00C,
7894     3,
7895     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7896     EOpTexelFetch,
7897     true);
7898 constexpr const TFunction texelFetchExt_00O10C00C(
7899     BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1,
7900     BuiltInName::texelFetchExt,
7901     std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}},
7902     BuiltInParameters::p00O10C00C,
7903     3,
7904     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7905     EOpTexelFetch,
7906     true);
7907 constexpr const TFunction texelFetchExt_00U10C00C(
7908     BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1,
7909     BuiltInName::texelFetchExt,
7910     std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}},
7911     BuiltInParameters::p00U10C00C,
7912     3,
7913     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7914     EOpTexelFetch,
7915     true);
7916 constexpr const TFunction texelFetchExt_00a10C00C(
7917     BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1,
7918     BuiltInName::texelFetchExt,
7919     std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}},
7920     BuiltInParameters::p00a10C00C,
7921     3,
7922     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7923     EOpTexelFetch,
7924     true);
7925 constexpr const TFunction texelFetch_00P20C00C(
7926     BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1,
7927     BuiltInName::texelFetch,
7928     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7929     BuiltInParameters::p00P20C00C,
7930     3,
7931     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7932     EOpTexelFetch,
7933     true);
7934 constexpr const TFunction texelFetch_00V20C00C(
7935     BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1,
7936     BuiltInName::texelFetch,
7937     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7938     BuiltInParameters::p00V20C00C,
7939     3,
7940     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7941     EOpTexelFetch,
7942     true);
7943 constexpr const TFunction texelFetch_00b20C00C(
7944     BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1,
7945     BuiltInName::texelFetch,
7946     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
7947     BuiltInParameters::p00b20C00C,
7948     3,
7949     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7950     EOpTexelFetch,
7951     true);
7952 constexpr const TFunction texelFetchExt_00P20C00C(
7953     BuiltInId::texelFetchExt_Sampler2DMSArray1_Int3_Int1,
7954     BuiltInName::texelFetchExt,
7955     std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}},
7956     BuiltInParameters::p00P20C00C,
7957     3,
7958     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7959     EOpTexelFetch,
7960     true);
7961 constexpr const TFunction texelFetchExt_00V20C00C(
7962     BuiltInId::texelFetchExt_ISampler2DMSArray1_Int3_Int1,
7963     BuiltInName::texelFetchExt,
7964     std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}},
7965     BuiltInParameters::p00V20C00C,
7966     3,
7967     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
7968     EOpTexelFetch,
7969     true);
7970 constexpr const TFunction texelFetchExt_00b20C00C(
7971     BuiltInId::texelFetchExt_USampler2DMSArray1_Int3_Int1,
7972     BuiltInName::texelFetchExt,
7973     std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}},
7974     BuiltInParameters::p00b20C00C,
7975     3,
7976     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
7977     EOpTexelFetch,
7978     true);
7979 constexpr const TFunction texelFetch_00L10C00C(
7980     BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1,
7981     BuiltInName::texelFetch,
7982     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
7983     BuiltInParameters::p00L10C00C,
7984     3,
7985     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7986     EOpTexelFetch,
7987     true);
7988 constexpr const TFunction texelFetch_00M10C00C(
7989     BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1,
7990     BuiltInName::texelFetch,
7991     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
7992     BuiltInParameters::p00M10C00C,
7993     3,
7994     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
7995     EOpTexelFetch,
7996     true);
7997 constexpr const TFunction textureGrad_00H10B10B10B(
7998     BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2,
7999     BuiltInName::textureGrad,
8000     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8001     BuiltInParameters::p00H10B10B10B10C,
8002     4,
8003     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8004     EOpTextureGrad,
8005     true);
8006 constexpr const TFunction textureGrad_00Q10B10B10B(
8007     BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2,
8008     BuiltInName::textureGrad,
8009     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8010     BuiltInParameters::p00Q10B10B10B10C,
8011     4,
8012     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8013     EOpTextureGrad,
8014     true);
8015 constexpr const TFunction textureGrad_00W10B10B10B(
8016     BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2,
8017     BuiltInName::textureGrad,
8018     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8019     BuiltInParameters::p00W10B10B10B10C,
8020     4,
8021     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8022     EOpTextureGrad,
8023     true);
8024 constexpr const TFunction textureGrad_00I20B20B20B(
8025     BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3,
8026     BuiltInName::textureGrad,
8027     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8028     BuiltInParameters::p00I20B20B20B20C,
8029     4,
8030     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8031     EOpTextureGrad,
8032     true);
8033 constexpr const TFunction textureGrad_00R20B20B20B(
8034     BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3,
8035     BuiltInName::textureGrad,
8036     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8037     BuiltInParameters::p00R20B20B20B20C,
8038     4,
8039     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8040     EOpTextureGrad,
8041     true);
8042 constexpr const TFunction textureGrad_00X20B20B20B(
8043     BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3,
8044     BuiltInName::textureGrad,
8045     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8046     BuiltInParameters::p00X20B20B20B20C,
8047     4,
8048     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8049     EOpTextureGrad,
8050     true);
8051 constexpr const TFunction textureGrad_00J20B20B20B(
8052     BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3,
8053     BuiltInName::textureGrad,
8054     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8055     BuiltInParameters::p00J20B20B20B,
8056     4,
8057     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8058     EOpTextureGrad,
8059     true);
8060 constexpr const TFunction textureGrad_00S20B20B20B(
8061     BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3,
8062     BuiltInName::textureGrad,
8063     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8064     BuiltInParameters::p00S20B20B20B,
8065     4,
8066     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8067     EOpTextureGrad,
8068     true);
8069 constexpr const TFunction textureGrad_00Y20B20B20B(
8070     BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3,
8071     BuiltInName::textureGrad,
8072     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8073     BuiltInParameters::p00Y20B20B20B,
8074     4,
8075     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8076     EOpTextureGrad,
8077     true);
8078 constexpr const TFunction textureGrad_00c20B10B10B(
8079     BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2,
8080     BuiltInName::textureGrad,
8081     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8082     BuiltInParameters::p00c20B10B10B10C,
8083     4,
8084     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8085     EOpTextureGrad,
8086     true);
8087 constexpr const TFunction textureGrad_00d30B20B20B(
8088     BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3,
8089     BuiltInName::textureGrad,
8090     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8091     BuiltInParameters::p00d30B20B20B,
8092     4,
8093     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8094     EOpTextureGrad,
8095     true);
8096 constexpr const TFunction textureGrad_00K20B10B10B(
8097     BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2,
8098     BuiltInName::textureGrad,
8099     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8100     BuiltInParameters::p00K20B10B10B10C,
8101     4,
8102     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8103     EOpTextureGrad,
8104     true);
8105 constexpr const TFunction textureGrad_00T20B10B10B(
8106     BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2,
8107     BuiltInName::textureGrad,
8108     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8109     BuiltInParameters::p00T20B10B10B10C,
8110     4,
8111     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8112     EOpTextureGrad,
8113     true);
8114 constexpr const TFunction textureGrad_00Z20B10B10B(
8115     BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2,
8116     BuiltInName::textureGrad,
8117     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8118     BuiltInParameters::p00Z20B10B10B10C,
8119     4,
8120     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8121     EOpTextureGrad,
8122     true);
8123 constexpr const TFunction textureGrad_00e30B10B10B(
8124     BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2,
8125     BuiltInName::textureGrad,
8126     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8127     BuiltInParameters::p00e30B10B10B10C,
8128     4,
8129     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8130     EOpTextureGrad,
8131     true);
8132 constexpr const TFunction textureGrad_00g30B20B20B(
8133     BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3,
8134     BuiltInName::textureGrad,
8135     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8136     BuiltInParameters::p00g30B20B20B,
8137     4,
8138     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8139     EOpTextureGrad,
8140     true);
8141 constexpr const TFunction textureGrad_00l30B20B20B(
8142     BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3,
8143     BuiltInName::textureGrad,
8144     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8145     BuiltInParameters::p00l30B20B20B,
8146     4,
8147     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8148     EOpTextureGrad,
8149     true);
8150 constexpr const TFunction textureGrad_00o30B20B20B(
8151     BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3,
8152     BuiltInName::textureGrad,
8153     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8154     BuiltInParameters::p00o30B20B20B,
8155     4,
8156     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8157     EOpTextureGrad,
8158     true);
8159 constexpr const TFunction textureGradExt_00g30B20B20B(
8160     BuiltInId::textureGradExt_SamplerCubeArray1_Float4_Float3_Float3,
8161     BuiltInName::textureGradExt,
8162     std::array<TExtension, 2u>{
8163         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
8164     BuiltInParameters::p00g30B20B20B,
8165     4,
8166     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8167     EOpTextureGrad,
8168     true);
8169 constexpr const TFunction textureGradExt_00l30B20B20B(
8170     BuiltInId::textureGradExt_ISamplerCubeArray1_Float4_Float3_Float3,
8171     BuiltInName::textureGradExt,
8172     std::array<TExtension, 2u>{
8173         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
8174     BuiltInParameters::p00l30B20B20B,
8175     4,
8176     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8177     EOpTextureGrad,
8178     true);
8179 constexpr const TFunction textureGradExt_00o30B20B20B(
8180     BuiltInId::textureGradExt_USamplerCubeArray1_Float4_Float3_Float3,
8181     BuiltInName::textureGradExt,
8182     std::array<TExtension, 2u>{
8183         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
8184     BuiltInParameters::p00o30B20B20B,
8185     4,
8186     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8187     EOpTextureGrad,
8188     true);
8189 constexpr const TFunction textureProjGrad_00H20B10B10B(
8190     BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2,
8191     BuiltInName::textureProjGrad,
8192     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8193     BuiltInParameters::p00H20B10B10B10C,
8194     4,
8195     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8196     EOpTextureProjGrad,
8197     true);
8198 constexpr const TFunction textureProjGrad_00Q20B10B10B(
8199     BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2,
8200     BuiltInName::textureProjGrad,
8201     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8202     BuiltInParameters::p00Q20B10B10B10C,
8203     4,
8204     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8205     EOpTextureProjGrad,
8206     true);
8207 constexpr const TFunction textureProjGrad_00W20B10B10B(
8208     BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2,
8209     BuiltInName::textureProjGrad,
8210     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8211     BuiltInParameters::p00W20B10B10B10C,
8212     4,
8213     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8214     EOpTextureProjGrad,
8215     true);
8216 constexpr const TFunction textureProjGrad_00H30B10B10B(
8217     BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2,
8218     BuiltInName::textureProjGrad,
8219     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8220     BuiltInParameters::p00H30B10B10B10C,
8221     4,
8222     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8223     EOpTextureProjGrad,
8224     true);
8225 constexpr const TFunction textureProjGrad_00Q30B10B10B(
8226     BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2,
8227     BuiltInName::textureProjGrad,
8228     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8229     BuiltInParameters::p00Q30B10B10B10C,
8230     4,
8231     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8232     EOpTextureProjGrad,
8233     true);
8234 constexpr const TFunction textureProjGrad_00W30B10B10B(
8235     BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2,
8236     BuiltInName::textureProjGrad,
8237     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8238     BuiltInParameters::p00W30B10B10B10C,
8239     4,
8240     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8241     EOpTextureProjGrad,
8242     true);
8243 constexpr const TFunction textureProjGrad_00I30B20B20B(
8244     BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3,
8245     BuiltInName::textureProjGrad,
8246     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8247     BuiltInParameters::p00I30B20B20B20C,
8248     4,
8249     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8250     EOpTextureProjGrad,
8251     true);
8252 constexpr const TFunction textureProjGrad_00R30B20B20B(
8253     BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3,
8254     BuiltInName::textureProjGrad,
8255     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8256     BuiltInParameters::p00R30B20B20B20C,
8257     4,
8258     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8259     EOpTextureProjGrad,
8260     true);
8261 constexpr const TFunction textureProjGrad_00X30B20B20B(
8262     BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3,
8263     BuiltInName::textureProjGrad,
8264     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8265     BuiltInParameters::p00X30B20B20B20C,
8266     4,
8267     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8268     EOpTextureProjGrad,
8269     true);
8270 constexpr const TFunction textureProjGrad_00c30B10B10B(
8271     BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2,
8272     BuiltInName::textureProjGrad,
8273     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8274     BuiltInParameters::p00c30B10B10B10C,
8275     4,
8276     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8277     EOpTextureProjGrad,
8278     true);
8279 constexpr const TFunction texture_00H10B00B(
8280     BuiltInId::texture_Sampler2D1_Float2_Float1,
8281     BuiltInName::texture,
8282     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8283     BuiltInParameters::p00H10B00B10C,
8284     3,
8285     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8286     EOpTextureBias,
8287     true);
8288 constexpr const TFunction texture_00Q10B00B(
8289     BuiltInId::texture_ISampler2D1_Float2_Float1,
8290     BuiltInName::texture,
8291     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8292     BuiltInParameters::p00Q10B00B10C,
8293     3,
8294     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8295     EOpTextureBias,
8296     true);
8297 constexpr const TFunction texture_00W10B00B(
8298     BuiltInId::texture_USampler2D1_Float2_Float1,
8299     BuiltInName::texture,
8300     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8301     BuiltInParameters::p00W10B00B10C,
8302     3,
8303     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8304     EOpTextureBias,
8305     true);
8306 constexpr const TFunction texture_00I20B00B(
8307     BuiltInId::texture_Sampler3D1_Float3_Float1,
8308     BuiltInName::texture,
8309     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8310     BuiltInParameters::p00I20B00B20C,
8311     3,
8312     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8313     EOpTextureBias,
8314     true);
8315 constexpr const TFunction texture_00R20B00B(
8316     BuiltInId::texture_ISampler3D1_Float3_Float1,
8317     BuiltInName::texture,
8318     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8319     BuiltInParameters::p00R20B00B20C,
8320     3,
8321     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8322     EOpTextureBias,
8323     true);
8324 constexpr const TFunction texture_00X20B00B(
8325     BuiltInId::texture_USampler3D1_Float3_Float1,
8326     BuiltInName::texture,
8327     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8328     BuiltInParameters::p00X20B00B20C,
8329     3,
8330     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8331     EOpTextureBias,
8332     true);
8333 constexpr const TFunction texture_00J20B00B(
8334     BuiltInId::texture_SamplerCube1_Float3_Float1,
8335     BuiltInName::texture,
8336     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8337     BuiltInParameters::p00J20B00B,
8338     3,
8339     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8340     EOpTextureBias,
8341     true);
8342 constexpr const TFunction texture_00S20B00B(
8343     BuiltInId::texture_ISamplerCube1_Float3_Float1,
8344     BuiltInName::texture,
8345     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8346     BuiltInParameters::p00S20B00B,
8347     3,
8348     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8349     EOpTextureBias,
8350     true);
8351 constexpr const TFunction texture_00Y20B00B(
8352     BuiltInId::texture_USamplerCube1_Float3_Float1,
8353     BuiltInName::texture,
8354     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8355     BuiltInParameters::p00Y20B00B,
8356     3,
8357     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8358     EOpTextureBias,
8359     true);
8360 constexpr const TFunction texture_00K20B00B(
8361     BuiltInId::texture_Sampler2DArray1_Float3_Float1,
8362     BuiltInName::texture,
8363     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8364     BuiltInParameters::p00K20B00B10C,
8365     3,
8366     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8367     EOpTextureBias,
8368     true);
8369 constexpr const TFunction texture_00T20B00B(
8370     BuiltInId::texture_ISampler2DArray1_Float3_Float1,
8371     BuiltInName::texture,
8372     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8373     BuiltInParameters::p00T20B00B10C,
8374     3,
8375     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8376     EOpTextureBias,
8377     true);
8378 constexpr const TFunction texture_00Z20B00B(
8379     BuiltInId::texture_USampler2DArray1_Float3_Float1,
8380     BuiltInName::texture,
8381     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8382     BuiltInParameters::p00Z20B00B10C,
8383     3,
8384     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8385     EOpTextureBias,
8386     true);
8387 constexpr const TFunction textureProj_00H20B00B(
8388     BuiltInId::textureProj_Sampler2D1_Float3_Float1,
8389     BuiltInName::textureProj,
8390     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8391     BuiltInParameters::p00H20B00B10C,
8392     3,
8393     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8394     EOpTextureProjBias,
8395     true);
8396 constexpr const TFunction textureProj_00Q20B00B(
8397     BuiltInId::textureProj_ISampler2D1_Float3_Float1,
8398     BuiltInName::textureProj,
8399     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8400     BuiltInParameters::p00Q20B00B10C,
8401     3,
8402     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8403     EOpTextureProjBias,
8404     true);
8405 constexpr const TFunction textureProj_00W20B00B(
8406     BuiltInId::textureProj_USampler2D1_Float3_Float1,
8407     BuiltInName::textureProj,
8408     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8409     BuiltInParameters::p00W20B00B10C,
8410     3,
8411     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8412     EOpTextureProjBias,
8413     true);
8414 constexpr const TFunction textureProj_00H30B00B(
8415     BuiltInId::textureProj_Sampler2D1_Float4_Float1,
8416     BuiltInName::textureProj,
8417     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8418     BuiltInParameters::p00H30B00B10C,
8419     3,
8420     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8421     EOpTextureProjBias,
8422     true);
8423 constexpr const TFunction textureProj_00Q30B00B(
8424     BuiltInId::textureProj_ISampler2D1_Float4_Float1,
8425     BuiltInName::textureProj,
8426     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8427     BuiltInParameters::p00Q30B00B10C,
8428     3,
8429     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8430     EOpTextureProjBias,
8431     true);
8432 constexpr const TFunction textureProj_00W30B00B(
8433     BuiltInId::textureProj_USampler2D1_Float4_Float1,
8434     BuiltInName::textureProj,
8435     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8436     BuiltInParameters::p00W30B00B10C,
8437     3,
8438     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8439     EOpTextureProjBias,
8440     true);
8441 constexpr const TFunction textureProj_00I30B00B(
8442     BuiltInId::textureProj_Sampler3D1_Float4_Float1,
8443     BuiltInName::textureProj,
8444     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8445     BuiltInParameters::p00I30B00B20C,
8446     3,
8447     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8448     EOpTextureProjBias,
8449     true);
8450 constexpr const TFunction textureProj_00R30B00B(
8451     BuiltInId::textureProj_ISampler3D1_Float4_Float1,
8452     BuiltInName::textureProj,
8453     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8454     BuiltInParameters::p00R30B00B20C,
8455     3,
8456     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8457     EOpTextureProjBias,
8458     true);
8459 constexpr const TFunction textureProj_00X30B00B(
8460     BuiltInId::textureProj_USampler3D1_Float4_Float1,
8461     BuiltInName::textureProj,
8462     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8463     BuiltInParameters::p00X30B00B20C,
8464     3,
8465     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8466     EOpTextureProjBias,
8467     true);
8468 constexpr const TFunction texture_00c20B00B(
8469     BuiltInId::texture_Sampler2DShadow1_Float3_Float1,
8470     BuiltInName::texture,
8471     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8472     BuiltInParameters::p00c20B00B10C,
8473     3,
8474     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8475     EOpTextureBias,
8476     true);
8477 constexpr const TFunction texture_00d30B00B(
8478     BuiltInId::texture_SamplerCubeShadow1_Float4_Float1,
8479     BuiltInName::texture,
8480     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8481     BuiltInParameters::p00d30B00B,
8482     3,
8483     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8484     EOpTextureBias,
8485     true);
8486 constexpr const TFunction textureProj_00c30B00B(
8487     BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1,
8488     BuiltInName::textureProj,
8489     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8490     BuiltInParameters::p00c30B00B10C,
8491     3,
8492     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8493     EOpTextureProjBias,
8494     true);
8495 constexpr const TFunction texture_00e30B00B(
8496     BuiltInId::texture_Sampler2DArrayShadow1_Float4_Float1,
8497     BuiltInName::texture,
8498     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
8499     BuiltInParameters::p00e30B00B10C,
8500     3,
8501     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8502     EOpTextureBias,
8503     true);
8504 constexpr const TFunction texture_00g30B00B(
8505     BuiltInId::texture_SamplerCubeArray1_Float4_Float1,
8506     BuiltInName::texture,
8507     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8508     BuiltInParameters::p00g30B00B,
8509     3,
8510     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8511     EOpTextureBias,
8512     true);
8513 constexpr const TFunction texture_00l30B00B(
8514     BuiltInId::texture_ISamplerCubeArray1_Float4_Float1,
8515     BuiltInName::texture,
8516     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8517     BuiltInParameters::p00l30B00B,
8518     3,
8519     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8520     EOpTextureBias,
8521     true);
8522 constexpr const TFunction texture_00o30B00B(
8523     BuiltInId::texture_USamplerCubeArray1_Float4_Float1,
8524     BuiltInName::texture,
8525     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8526     BuiltInParameters::p00o30B00B,
8527     3,
8528     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8529     EOpTextureBias,
8530     true);
8531 constexpr const TFunction textureExt_00g30B00B(
8532     BuiltInId::textureExt_SamplerCubeArray1_Float4_Float1,
8533     BuiltInName::textureExt,
8534     std::array<TExtension, 2u>{
8535         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
8536     BuiltInParameters::p00g30B00B,
8537     3,
8538     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8539     EOpTextureBias,
8540     true);
8541 constexpr const TFunction textureExt_00l30B00B(
8542     BuiltInId::textureExt_ISamplerCubeArray1_Float4_Float1,
8543     BuiltInName::textureExt,
8544     std::array<TExtension, 2u>{
8545         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
8546     BuiltInParameters::p00l30B00B,
8547     3,
8548     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8549     EOpTextureBias,
8550     true);
8551 constexpr const TFunction textureExt_00o30B00B(
8552     BuiltInId::textureExt_USamplerCubeArray1_Float4_Float1,
8553     BuiltInName::textureExt,
8554     std::array<TExtension, 2u>{
8555         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
8556     BuiltInParameters::p00o30B00B,
8557     3,
8558     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8559     EOpTextureBias,
8560     true);
8561 constexpr const TFunction texture_00h30B00B00B(
8562     BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1_Float1,
8563     BuiltInName::texture,
8564     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
8565     BuiltInParameters::p00h30B00B00B,
8566     4,
8567     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8568     EOpTextureBias,
8569     true);
8570 constexpr const TFunction texture_00L10B00B(
8571     BuiltInId::texture_SamplerExternalOES1_Float2_Float1,
8572     BuiltInName::texture,
8573     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
8574     BuiltInParameters::p00L10B00B,
8575     3,
8576     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8577     EOpTextureBias,
8578     true);
8579 constexpr const TFunction textureProj_00L20B00B(
8580     BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1,
8581     BuiltInName::textureProj,
8582     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
8583     BuiltInParameters::p00L20B00B,
8584     3,
8585     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8586     EOpTextureProjBias,
8587     true);
8588 constexpr const TFunction textureProj_00L30B00B(
8589     BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1,
8590     BuiltInName::textureProj,
8591     std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}},
8592     BuiltInParameters::p00L30B00B,
8593     3,
8594     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8595     EOpTextureProjBias,
8596     true);
8597 constexpr const TFunction texture_00M10B00B(
8598     BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1,
8599     BuiltInName::texture,
8600     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
8601     BuiltInParameters::p00M10B00B,
8602     3,
8603     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8604     EOpTextureBias,
8605     true);
8606 constexpr const TFunction textureProj_00M20B00B(
8607     BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1,
8608     BuiltInName::textureProj,
8609     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
8610     BuiltInParameters::p00M20B00B,
8611     3,
8612     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8613     EOpTextureProjBias,
8614     true);
8615 constexpr const TFunction textureProj_00M30B00B(
8616     BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1,
8617     BuiltInName::textureProj,
8618     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
8619     BuiltInParameters::p00M30B00B,
8620     3,
8621     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8622     EOpTextureProjBias,
8623     true);
8624 constexpr const TFunction textureOffset_00H10B10C(
8625     BuiltInId::textureOffset_Sampler2D1_Float2_Int2,
8626     BuiltInName::textureOffset,
8627     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8628     BuiltInParameters::p00H10B10C00B,
8629     3,
8630     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8631     EOpTextureOffset,
8632     true);
8633 constexpr const TFunction textureOffset_00Q10B10C(
8634     BuiltInId::textureOffset_ISampler2D1_Float2_Int2,
8635     BuiltInName::textureOffset,
8636     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8637     BuiltInParameters::p00Q10B10C00B,
8638     3,
8639     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8640     EOpTextureOffset,
8641     true);
8642 constexpr const TFunction textureOffset_00W10B10C(
8643     BuiltInId::textureOffset_USampler2D1_Float2_Int2,
8644     BuiltInName::textureOffset,
8645     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8646     BuiltInParameters::p00W10B10C00B,
8647     3,
8648     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8649     EOpTextureOffset,
8650     true);
8651 constexpr const TFunction textureOffset_00I20B20C(
8652     BuiltInId::textureOffset_Sampler3D1_Float3_Int3,
8653     BuiltInName::textureOffset,
8654     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8655     BuiltInParameters::p00I20B20C00B,
8656     3,
8657     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8658     EOpTextureOffset,
8659     true);
8660 constexpr const TFunction textureOffset_00R20B20C(
8661     BuiltInId::textureOffset_ISampler3D1_Float3_Int3,
8662     BuiltInName::textureOffset,
8663     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8664     BuiltInParameters::p00R20B20C00B,
8665     3,
8666     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8667     EOpTextureOffset,
8668     true);
8669 constexpr const TFunction textureOffset_00X20B20C(
8670     BuiltInId::textureOffset_USampler3D1_Float3_Int3,
8671     BuiltInName::textureOffset,
8672     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8673     BuiltInParameters::p00X20B20C00B,
8674     3,
8675     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8676     EOpTextureOffset,
8677     true);
8678 constexpr const TFunction textureOffset_00c20B10C(
8679     BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2,
8680     BuiltInName::textureOffset,
8681     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8682     BuiltInParameters::p00c20B10C00B,
8683     3,
8684     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8685     EOpTextureOffset,
8686     true);
8687 constexpr const TFunction textureOffset_00K20B10C(
8688     BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2,
8689     BuiltInName::textureOffset,
8690     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8691     BuiltInParameters::p00K20B10C00B,
8692     3,
8693     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8694     EOpTextureOffset,
8695     true);
8696 constexpr const TFunction textureOffset_00T20B10C(
8697     BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2,
8698     BuiltInName::textureOffset,
8699     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8700     BuiltInParameters::p00T20B10C00B,
8701     3,
8702     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8703     EOpTextureOffset,
8704     true);
8705 constexpr const TFunction textureOffset_00Z20B10C(
8706     BuiltInId::textureOffset_USampler2DArray1_Float3_Int2,
8707     BuiltInName::textureOffset,
8708     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8709     BuiltInParameters::p00Z20B10C00B,
8710     3,
8711     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8712     EOpTextureOffset,
8713     true);
8714 constexpr const TFunction textureOffset_00e30B10C(
8715     BuiltInId::textureOffset_Sampler2DArrayShadow1_Float4_Int2,
8716     BuiltInName::textureOffset,
8717     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
8718     BuiltInParameters::p00e30B10C00B,
8719     3,
8720     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8721     EOpTextureOffset,
8722     true);
8723 constexpr const TFunction textureProjOffset_00H20B10C(
8724     BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2,
8725     BuiltInName::textureProjOffset,
8726     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8727     BuiltInParameters::p00H20B10C00B,
8728     3,
8729     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8730     EOpTextureProjOffset,
8731     true);
8732 constexpr const TFunction textureProjOffset_00Q20B10C(
8733     BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2,
8734     BuiltInName::textureProjOffset,
8735     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8736     BuiltInParameters::p00Q20B10C00B,
8737     3,
8738     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8739     EOpTextureProjOffset,
8740     true);
8741 constexpr const TFunction textureProjOffset_00W20B10C(
8742     BuiltInId::textureProjOffset_USampler2D1_Float3_Int2,
8743     BuiltInName::textureProjOffset,
8744     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8745     BuiltInParameters::p00W20B10C00B,
8746     3,
8747     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8748     EOpTextureProjOffset,
8749     true);
8750 constexpr const TFunction textureProjOffset_00H30B10C(
8751     BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2,
8752     BuiltInName::textureProjOffset,
8753     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8754     BuiltInParameters::p00H30B10C00B,
8755     3,
8756     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8757     EOpTextureProjOffset,
8758     true);
8759 constexpr const TFunction textureProjOffset_00Q30B10C(
8760     BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2,
8761     BuiltInName::textureProjOffset,
8762     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8763     BuiltInParameters::p00Q30B10C00B,
8764     3,
8765     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8766     EOpTextureProjOffset,
8767     true);
8768 constexpr const TFunction textureProjOffset_00W30B10C(
8769     BuiltInId::textureProjOffset_USampler2D1_Float4_Int2,
8770     BuiltInName::textureProjOffset,
8771     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8772     BuiltInParameters::p00W30B10C00B,
8773     3,
8774     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8775     EOpTextureProjOffset,
8776     true);
8777 constexpr const TFunction textureProjOffset_00I30B20C(
8778     BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3,
8779     BuiltInName::textureProjOffset,
8780     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8781     BuiltInParameters::p00I30B20C00B,
8782     3,
8783     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8784     EOpTextureProjOffset,
8785     true);
8786 constexpr const TFunction textureProjOffset_00R30B20C(
8787     BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3,
8788     BuiltInName::textureProjOffset,
8789     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8790     BuiltInParameters::p00R30B20C00B,
8791     3,
8792     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8793     EOpTextureProjOffset,
8794     true);
8795 constexpr const TFunction textureProjOffset_00X30B20C(
8796     BuiltInId::textureProjOffset_USampler3D1_Float4_Int3,
8797     BuiltInName::textureProjOffset,
8798     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8799     BuiltInParameters::p00X30B20C00B,
8800     3,
8801     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8802     EOpTextureProjOffset,
8803     true);
8804 constexpr const TFunction textureProjOffset_00c30B10C(
8805     BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2,
8806     BuiltInName::textureProjOffset,
8807     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8808     BuiltInParameters::p00c30B10C00B,
8809     3,
8810     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8811     EOpTextureProjOffset,
8812     true);
8813 constexpr const TFunction textureLodOffset_00H10B00B10C(
8814     BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2,
8815     BuiltInName::textureLodOffset,
8816     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8817     BuiltInParameters::p00H10B00B10C,
8818     4,
8819     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8820     EOpTextureLodOffset,
8821     true);
8822 constexpr const TFunction textureLodOffset_00Q10B00B10C(
8823     BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2,
8824     BuiltInName::textureLodOffset,
8825     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8826     BuiltInParameters::p00Q10B00B10C,
8827     4,
8828     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8829     EOpTextureLodOffset,
8830     true);
8831 constexpr const TFunction textureLodOffset_00W10B00B10C(
8832     BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2,
8833     BuiltInName::textureLodOffset,
8834     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8835     BuiltInParameters::p00W10B00B10C,
8836     4,
8837     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8838     EOpTextureLodOffset,
8839     true);
8840 constexpr const TFunction textureLodOffset_00I20B00B20C(
8841     BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3,
8842     BuiltInName::textureLodOffset,
8843     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8844     BuiltInParameters::p00I20B00B20C,
8845     4,
8846     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8847     EOpTextureLodOffset,
8848     true);
8849 constexpr const TFunction textureLodOffset_00R20B00B20C(
8850     BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3,
8851     BuiltInName::textureLodOffset,
8852     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8853     BuiltInParameters::p00R20B00B20C,
8854     4,
8855     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8856     EOpTextureLodOffset,
8857     true);
8858 constexpr const TFunction textureLodOffset_00X20B00B20C(
8859     BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3,
8860     BuiltInName::textureLodOffset,
8861     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8862     BuiltInParameters::p00X20B00B20C,
8863     4,
8864     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8865     EOpTextureLodOffset,
8866     true);
8867 constexpr const TFunction textureLodOffset_00c20B00B10C(
8868     BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2,
8869     BuiltInName::textureLodOffset,
8870     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8871     BuiltInParameters::p00c20B00B10C,
8872     4,
8873     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8874     EOpTextureLodOffset,
8875     true);
8876 constexpr const TFunction textureLodOffset_00K20B00B10C(
8877     BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2,
8878     BuiltInName::textureLodOffset,
8879     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8880     BuiltInParameters::p00K20B00B10C,
8881     4,
8882     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8883     EOpTextureLodOffset,
8884     true);
8885 constexpr const TFunction textureLodOffset_00T20B00B10C(
8886     BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2,
8887     BuiltInName::textureLodOffset,
8888     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8889     BuiltInParameters::p00T20B00B10C,
8890     4,
8891     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8892     EOpTextureLodOffset,
8893     true);
8894 constexpr const TFunction textureLodOffset_00Z20B00B10C(
8895     BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2,
8896     BuiltInName::textureLodOffset,
8897     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8898     BuiltInParameters::p00Z20B00B10C,
8899     4,
8900     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8901     EOpTextureLodOffset,
8902     true);
8903 constexpr const TFunction textureLodOffset_00e30B00B10C(
8904     BuiltInId::textureLodOffset_Sampler2DArrayShadow1_Float4_Float1_Int2,
8905     BuiltInName::textureLodOffset,
8906     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
8907     BuiltInParameters::p00e30B00B10C,
8908     4,
8909     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
8910     EOpTextureLodOffset,
8911     true);
8912 constexpr const TFunction textureProjLodOffset_00H20B00B10C(
8913     BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2,
8914     BuiltInName::textureProjLodOffset,
8915     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8916     BuiltInParameters::p00H20B00B10C,
8917     4,
8918     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8919     EOpTextureProjLodOffset,
8920     true);
8921 constexpr const TFunction textureProjLodOffset_00Q20B00B10C(
8922     BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2,
8923     BuiltInName::textureProjLodOffset,
8924     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8925     BuiltInParameters::p00Q20B00B10C,
8926     4,
8927     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8928     EOpTextureProjLodOffset,
8929     true);
8930 constexpr const TFunction textureProjLodOffset_00W20B00B10C(
8931     BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2,
8932     BuiltInName::textureProjLodOffset,
8933     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8934     BuiltInParameters::p00W20B00B10C,
8935     4,
8936     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8937     EOpTextureProjLodOffset,
8938     true);
8939 constexpr const TFunction textureProjLodOffset_00H30B00B10C(
8940     BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2,
8941     BuiltInName::textureProjLodOffset,
8942     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8943     BuiltInParameters::p00H30B00B10C,
8944     4,
8945     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8946     EOpTextureProjLodOffset,
8947     true);
8948 constexpr const TFunction textureProjLodOffset_00Q30B00B10C(
8949     BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2,
8950     BuiltInName::textureProjLodOffset,
8951     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8952     BuiltInParameters::p00Q30B00B10C,
8953     4,
8954     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8955     EOpTextureProjLodOffset,
8956     true);
8957 constexpr const TFunction textureProjLodOffset_00W30B00B10C(
8958     BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2,
8959     BuiltInName::textureProjLodOffset,
8960     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8961     BuiltInParameters::p00W30B00B10C,
8962     4,
8963     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8964     EOpTextureProjLodOffset,
8965     true);
8966 constexpr const TFunction textureProjLodOffset_00I30B00B20C(
8967     BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3,
8968     BuiltInName::textureProjLodOffset,
8969     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8970     BuiltInParameters::p00I30B00B20C,
8971     4,
8972     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
8973     EOpTextureProjLodOffset,
8974     true);
8975 constexpr const TFunction textureProjLodOffset_00R30B00B20C(
8976     BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3,
8977     BuiltInName::textureProjLodOffset,
8978     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8979     BuiltInParameters::p00R30B00B20C,
8980     4,
8981     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
8982     EOpTextureProjLodOffset,
8983     true);
8984 constexpr const TFunction textureProjLodOffset_00X30B00B20C(
8985     BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3,
8986     BuiltInName::textureProjLodOffset,
8987     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8988     BuiltInParameters::p00X30B00B20C,
8989     4,
8990     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
8991     EOpTextureProjLodOffset,
8992     true);
8993 constexpr const TFunction textureProjLodOffset_00c30B00B10C(
8994     BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2,
8995     BuiltInName::textureProjLodOffset,
8996     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
8997     BuiltInParameters::p00c30B00B10C,
8998     4,
8999     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9000     EOpTextureProjLodOffset,
9001     true);
9002 constexpr const TFunction texelFetchOffset_00H10C00C10C(
9003     BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2,
9004     BuiltInName::texelFetchOffset,
9005     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9006     BuiltInParameters::p00H10C00C10C,
9007     4,
9008     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9009     EOpTexelFetchOffset,
9010     true);
9011 constexpr const TFunction texelFetchOffset_00Q10C00C10C(
9012     BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2,
9013     BuiltInName::texelFetchOffset,
9014     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9015     BuiltInParameters::p00Q10C00C10C,
9016     4,
9017     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9018     EOpTexelFetchOffset,
9019     true);
9020 constexpr const TFunction texelFetchOffset_00W10C00C10C(
9021     BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2,
9022     BuiltInName::texelFetchOffset,
9023     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9024     BuiltInParameters::p00W10C00C10C,
9025     4,
9026     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9027     EOpTexelFetchOffset,
9028     true);
9029 constexpr const TFunction texelFetchOffset_00I20C00C20C(
9030     BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3,
9031     BuiltInName::texelFetchOffset,
9032     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9033     BuiltInParameters::p00I20C00C20C,
9034     4,
9035     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9036     EOpTexelFetchOffset,
9037     true);
9038 constexpr const TFunction texelFetchOffset_00R20C00C20C(
9039     BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3,
9040     BuiltInName::texelFetchOffset,
9041     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9042     BuiltInParameters::p00R20C00C20C,
9043     4,
9044     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9045     EOpTexelFetchOffset,
9046     true);
9047 constexpr const TFunction texelFetchOffset_00X20C00C20C(
9048     BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3,
9049     BuiltInName::texelFetchOffset,
9050     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9051     BuiltInParameters::p00X20C00C20C,
9052     4,
9053     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9054     EOpTexelFetchOffset,
9055     true);
9056 constexpr const TFunction texelFetchOffset_00K20C00C10C(
9057     BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2,
9058     BuiltInName::texelFetchOffset,
9059     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9060     BuiltInParameters::p00K20C00C10C,
9061     4,
9062     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9063     EOpTexelFetchOffset,
9064     true);
9065 constexpr const TFunction texelFetchOffset_00T20C00C10C(
9066     BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2,
9067     BuiltInName::texelFetchOffset,
9068     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9069     BuiltInParameters::p00T20C00C10C,
9070     4,
9071     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9072     EOpTexelFetchOffset,
9073     true);
9074 constexpr const TFunction texelFetchOffset_00Z20C00C10C(
9075     BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2,
9076     BuiltInName::texelFetchOffset,
9077     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9078     BuiltInParameters::p00Z20C00C10C,
9079     4,
9080     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9081     EOpTexelFetchOffset,
9082     true);
9083 constexpr const TFunction textureGradOffset_00H10B10B10B10C(
9084     BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2,
9085     BuiltInName::textureGradOffset,
9086     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9087     BuiltInParameters::p00H10B10B10B10C,
9088     5,
9089     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9090     EOpTextureGradOffset,
9091     true);
9092 constexpr const TFunction textureGradOffset_00Q10B10B10B10C(
9093     BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2,
9094     BuiltInName::textureGradOffset,
9095     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9096     BuiltInParameters::p00Q10B10B10B10C,
9097     5,
9098     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9099     EOpTextureGradOffset,
9100     true);
9101 constexpr const TFunction textureGradOffset_00W10B10B10B10C(
9102     BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2,
9103     BuiltInName::textureGradOffset,
9104     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9105     BuiltInParameters::p00W10B10B10B10C,
9106     5,
9107     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9108     EOpTextureGradOffset,
9109     true);
9110 constexpr const TFunction textureGradOffset_00I20B20B20B20C(
9111     BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3,
9112     BuiltInName::textureGradOffset,
9113     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9114     BuiltInParameters::p00I20B20B20B20C,
9115     5,
9116     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9117     EOpTextureGradOffset,
9118     true);
9119 constexpr const TFunction textureGradOffset_00R20B20B20B20C(
9120     BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3,
9121     BuiltInName::textureGradOffset,
9122     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9123     BuiltInParameters::p00R20B20B20B20C,
9124     5,
9125     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9126     EOpTextureGradOffset,
9127     true);
9128 constexpr const TFunction textureGradOffset_00X20B20B20B20C(
9129     BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3,
9130     BuiltInName::textureGradOffset,
9131     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9132     BuiltInParameters::p00X20B20B20B20C,
9133     5,
9134     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9135     EOpTextureGradOffset,
9136     true);
9137 constexpr const TFunction textureGradOffset_00c20B10B10B10C(
9138     BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2,
9139     BuiltInName::textureGradOffset,
9140     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9141     BuiltInParameters::p00c20B10B10B10C,
9142     5,
9143     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9144     EOpTextureGradOffset,
9145     true);
9146 constexpr const TFunction textureGradOffset_00K20B10B10B10C(
9147     BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2,
9148     BuiltInName::textureGradOffset,
9149     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9150     BuiltInParameters::p00K20B10B10B10C,
9151     5,
9152     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9153     EOpTextureGradOffset,
9154     true);
9155 constexpr const TFunction textureGradOffset_00T20B10B10B10C(
9156     BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2,
9157     BuiltInName::textureGradOffset,
9158     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9159     BuiltInParameters::p00T20B10B10B10C,
9160     5,
9161     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9162     EOpTextureGradOffset,
9163     true);
9164 constexpr const TFunction textureGradOffset_00Z20B10B10B10C(
9165     BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2,
9166     BuiltInName::textureGradOffset,
9167     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9168     BuiltInParameters::p00Z20B10B10B10C,
9169     5,
9170     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9171     EOpTextureGradOffset,
9172     true);
9173 constexpr const TFunction textureGradOffset_00e30B10B10B10C(
9174     BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2,
9175     BuiltInName::textureGradOffset,
9176     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9177     BuiltInParameters::p00e30B10B10B10C,
9178     5,
9179     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9180     EOpTextureGradOffset,
9181     true);
9182 constexpr const TFunction textureProjGradOffset_00H20B10B10B10C(
9183     BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2,
9184     BuiltInName::textureProjGradOffset,
9185     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9186     BuiltInParameters::p00H20B10B10B10C,
9187     5,
9188     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9189     EOpTextureProjGradOffset,
9190     true);
9191 constexpr const TFunction textureProjGradOffset_00Q20B10B10B10C(
9192     BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2,
9193     BuiltInName::textureProjGradOffset,
9194     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9195     BuiltInParameters::p00Q20B10B10B10C,
9196     5,
9197     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9198     EOpTextureProjGradOffset,
9199     true);
9200 constexpr const TFunction textureProjGradOffset_00W20B10B10B10C(
9201     BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2,
9202     BuiltInName::textureProjGradOffset,
9203     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9204     BuiltInParameters::p00W20B10B10B10C,
9205     5,
9206     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9207     EOpTextureProjGradOffset,
9208     true);
9209 constexpr const TFunction textureProjGradOffset_00H30B10B10B10C(
9210     BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2,
9211     BuiltInName::textureProjGradOffset,
9212     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9213     BuiltInParameters::p00H30B10B10B10C,
9214     5,
9215     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9216     EOpTextureProjGradOffset,
9217     true);
9218 constexpr const TFunction textureProjGradOffset_00Q30B10B10B10C(
9219     BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2,
9220     BuiltInName::textureProjGradOffset,
9221     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9222     BuiltInParameters::p00Q30B10B10B10C,
9223     5,
9224     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9225     EOpTextureProjGradOffset,
9226     true);
9227 constexpr const TFunction textureProjGradOffset_00W30B10B10B10C(
9228     BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2,
9229     BuiltInName::textureProjGradOffset,
9230     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9231     BuiltInParameters::p00W30B10B10B10C,
9232     5,
9233     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9234     EOpTextureProjGradOffset,
9235     true);
9236 constexpr const TFunction textureProjGradOffset_00I30B20B20B20C(
9237     BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3,
9238     BuiltInName::textureProjGradOffset,
9239     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9240     BuiltInParameters::p00I30B20B20B20C,
9241     5,
9242     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9243     EOpTextureProjGradOffset,
9244     true);
9245 constexpr const TFunction textureProjGradOffset_00R30B20B20B20C(
9246     BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3,
9247     BuiltInName::textureProjGradOffset,
9248     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9249     BuiltInParameters::p00R30B20B20B20C,
9250     5,
9251     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9252     EOpTextureProjGradOffset,
9253     true);
9254 constexpr const TFunction textureProjGradOffset_00X30B20B20B20C(
9255     BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3,
9256     BuiltInName::textureProjGradOffset,
9257     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9258     BuiltInParameters::p00X30B20B20B20C,
9259     5,
9260     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9261     EOpTextureProjGradOffset,
9262     true);
9263 constexpr const TFunction textureProjGradOffset_00c30B10B10B10C(
9264     BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2,
9265     BuiltInName::textureProjGradOffset,
9266     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9267     BuiltInParameters::p00c30B10B10B10C,
9268     5,
9269     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9270     EOpTextureProjGradOffset,
9271     true);
9272 constexpr const TFunction textureOffset_00H10B10C00B(
9273     BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1,
9274     BuiltInName::textureOffset,
9275     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9276     BuiltInParameters::p00H10B10C00B,
9277     4,
9278     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9279     EOpTextureOffsetBias,
9280     true);
9281 constexpr const TFunction textureOffset_00Q10B10C00B(
9282     BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1,
9283     BuiltInName::textureOffset,
9284     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9285     BuiltInParameters::p00Q10B10C00B,
9286     4,
9287     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9288     EOpTextureOffsetBias,
9289     true);
9290 constexpr const TFunction textureOffset_00W10B10C00B(
9291     BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1,
9292     BuiltInName::textureOffset,
9293     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9294     BuiltInParameters::p00W10B10C00B,
9295     4,
9296     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9297     EOpTextureOffsetBias,
9298     true);
9299 constexpr const TFunction textureOffset_00I20B20C00B(
9300     BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1,
9301     BuiltInName::textureOffset,
9302     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9303     BuiltInParameters::p00I20B20C00B,
9304     4,
9305     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9306     EOpTextureOffsetBias,
9307     true);
9308 constexpr const TFunction textureOffset_00R20B20C00B(
9309     BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1,
9310     BuiltInName::textureOffset,
9311     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9312     BuiltInParameters::p00R20B20C00B,
9313     4,
9314     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9315     EOpTextureOffsetBias,
9316     true);
9317 constexpr const TFunction textureOffset_00X20B20C00B(
9318     BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1,
9319     BuiltInName::textureOffset,
9320     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9321     BuiltInParameters::p00X20B20C00B,
9322     4,
9323     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9324     EOpTextureOffsetBias,
9325     true);
9326 constexpr const TFunction textureOffset_00c20B10C00B(
9327     BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1,
9328     BuiltInName::textureOffset,
9329     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9330     BuiltInParameters::p00c20B10C00B,
9331     4,
9332     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9333     EOpTextureOffsetBias,
9334     true);
9335 constexpr const TFunction textureOffset_00K20B10C00B(
9336     BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1,
9337     BuiltInName::textureOffset,
9338     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9339     BuiltInParameters::p00K20B10C00B,
9340     4,
9341     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9342     EOpTextureOffsetBias,
9343     true);
9344 constexpr const TFunction textureOffset_00T20B10C00B(
9345     BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1,
9346     BuiltInName::textureOffset,
9347     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9348     BuiltInParameters::p00T20B10C00B,
9349     4,
9350     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9351     EOpTextureOffsetBias,
9352     true);
9353 constexpr const TFunction textureOffset_00Z20B10C00B(
9354     BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1,
9355     BuiltInName::textureOffset,
9356     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9357     BuiltInParameters::p00Z20B10C00B,
9358     4,
9359     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9360     EOpTextureOffsetBias,
9361     true);
9362 constexpr const TFunction textureOffset_00e30B10C00B(
9363     BuiltInId::textureOffset_Sampler2DArrayShadow1_Float4_Int2_Float1,
9364     BuiltInName::textureOffset,
9365     std::array<TExtension, 1u>{{TExtension::EXT_texture_shadow_lod}},
9366     BuiltInParameters::p00e30B10C00B,
9367     4,
9368     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9369     EOpTextureOffsetBias,
9370     true);
9371 constexpr const TFunction textureProjOffset_00H20B10C00B(
9372     BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1,
9373     BuiltInName::textureProjOffset,
9374     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9375     BuiltInParameters::p00H20B10C00B,
9376     4,
9377     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9378     EOpTextureProjOffsetBias,
9379     true);
9380 constexpr const TFunction textureProjOffset_00Q20B10C00B(
9381     BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1,
9382     BuiltInName::textureProjOffset,
9383     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9384     BuiltInParameters::p00Q20B10C00B,
9385     4,
9386     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9387     EOpTextureProjOffsetBias,
9388     true);
9389 constexpr const TFunction textureProjOffset_00W20B10C00B(
9390     BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1,
9391     BuiltInName::textureProjOffset,
9392     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9393     BuiltInParameters::p00W20B10C00B,
9394     4,
9395     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9396     EOpTextureProjOffsetBias,
9397     true);
9398 constexpr const TFunction textureProjOffset_00H30B10C00B(
9399     BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1,
9400     BuiltInName::textureProjOffset,
9401     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9402     BuiltInParameters::p00H30B10C00B,
9403     4,
9404     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9405     EOpTextureProjOffsetBias,
9406     true);
9407 constexpr const TFunction textureProjOffset_00Q30B10C00B(
9408     BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1,
9409     BuiltInName::textureProjOffset,
9410     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9411     BuiltInParameters::p00Q30B10C00B,
9412     4,
9413     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9414     EOpTextureProjOffsetBias,
9415     true);
9416 constexpr const TFunction textureProjOffset_00W30B10C00B(
9417     BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1,
9418     BuiltInName::textureProjOffset,
9419     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9420     BuiltInParameters::p00W30B10C00B,
9421     4,
9422     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9423     EOpTextureProjOffsetBias,
9424     true);
9425 constexpr const TFunction textureProjOffset_00I30B20C00B(
9426     BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1,
9427     BuiltInName::textureProjOffset,
9428     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9429     BuiltInParameters::p00I30B20C00B,
9430     4,
9431     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9432     EOpTextureProjOffsetBias,
9433     true);
9434 constexpr const TFunction textureProjOffset_00R30B20C00B(
9435     BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1,
9436     BuiltInName::textureProjOffset,
9437     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9438     BuiltInParameters::p00R30B20C00B,
9439     4,
9440     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9441     EOpTextureProjOffsetBias,
9442     true);
9443 constexpr const TFunction textureProjOffset_00X30B20C00B(
9444     BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1,
9445     BuiltInName::textureProjOffset,
9446     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9447     BuiltInParameters::p00X30B20C00B,
9448     4,
9449     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9450     EOpTextureProjOffsetBias,
9451     true);
9452 constexpr const TFunction textureProjOffset_00c30B10C00B(
9453     BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1,
9454     BuiltInName::textureProjOffset,
9455     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9456     BuiltInParameters::p00c30B10C00B,
9457     4,
9458     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
9459     EOpTextureProjOffsetBias,
9460     true);
9461 constexpr const TFunction textureGather_00H10B(
9462     BuiltInId::textureGather_Sampler2D1_Float2,
9463     BuiltInName::textureGather,
9464     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9465     BuiltInParameters::p00H10B00B10C,
9466     2,
9467     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9468     EOpTextureGather,
9469     true);
9470 constexpr const TFunction textureGather_00Q10B(
9471     BuiltInId::textureGather_ISampler2D1_Float2,
9472     BuiltInName::textureGather,
9473     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9474     BuiltInParameters::p00Q10B00B10C,
9475     2,
9476     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9477     EOpTextureGather,
9478     true);
9479 constexpr const TFunction textureGather_00W10B(
9480     BuiltInId::textureGather_USampler2D1_Float2,
9481     BuiltInName::textureGather,
9482     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9483     BuiltInParameters::p00W10B00B10C,
9484     2,
9485     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9486     EOpTextureGather,
9487     true);
9488 constexpr const TFunction textureGather_00H10B00C(
9489     BuiltInId::textureGather_Sampler2D1_Float2_Int1,
9490     BuiltInName::textureGather,
9491     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9492     BuiltInParameters::p00H10B00C,
9493     3,
9494     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9495     EOpTextureGather,
9496     true);
9497 constexpr const TFunction textureGather_00Q10B00C(
9498     BuiltInId::textureGather_ISampler2D1_Float2_Int1,
9499     BuiltInName::textureGather,
9500     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9501     BuiltInParameters::p00Q10B00C,
9502     3,
9503     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9504     EOpTextureGather,
9505     true);
9506 constexpr const TFunction textureGather_00W10B00C(
9507     BuiltInId::textureGather_USampler2D1_Float2_Int1,
9508     BuiltInName::textureGather,
9509     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9510     BuiltInParameters::p00W10B00C,
9511     3,
9512     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9513     EOpTextureGather,
9514     true);
9515 constexpr const TFunction textureGather_00K20B(
9516     BuiltInId::textureGather_Sampler2DArray1_Float3,
9517     BuiltInName::textureGather,
9518     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9519     BuiltInParameters::p00K20B00B10C,
9520     2,
9521     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9522     EOpTextureGather,
9523     true);
9524 constexpr const TFunction textureGather_00T20B(
9525     BuiltInId::textureGather_ISampler2DArray1_Float3,
9526     BuiltInName::textureGather,
9527     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9528     BuiltInParameters::p00T20B00B10C,
9529     2,
9530     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9531     EOpTextureGather,
9532     true);
9533 constexpr const TFunction textureGather_00Z20B(
9534     BuiltInId::textureGather_USampler2DArray1_Float3,
9535     BuiltInName::textureGather,
9536     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9537     BuiltInParameters::p00Z20B00B10C,
9538     2,
9539     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9540     EOpTextureGather,
9541     true);
9542 constexpr const TFunction textureGather_00K20B00C(
9543     BuiltInId::textureGather_Sampler2DArray1_Float3_Int1,
9544     BuiltInName::textureGather,
9545     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9546     BuiltInParameters::p00K20B00C,
9547     3,
9548     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9549     EOpTextureGather,
9550     true);
9551 constexpr const TFunction textureGather_00T20B00C(
9552     BuiltInId::textureGather_ISampler2DArray1_Float3_Int1,
9553     BuiltInName::textureGather,
9554     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9555     BuiltInParameters::p00T20B00C,
9556     3,
9557     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9558     EOpTextureGather,
9559     true);
9560 constexpr const TFunction textureGather_00Z20B00C(
9561     BuiltInId::textureGather_USampler2DArray1_Float3_Int1,
9562     BuiltInName::textureGather,
9563     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9564     BuiltInParameters::p00Z20B00C,
9565     3,
9566     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9567     EOpTextureGather,
9568     true);
9569 constexpr const TFunction textureGather_00J20B(
9570     BuiltInId::textureGather_SamplerCube1_Float3,
9571     BuiltInName::textureGather,
9572     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9573     BuiltInParameters::p00J20B00B,
9574     2,
9575     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9576     EOpTextureGather,
9577     true);
9578 constexpr const TFunction textureGather_00S20B(
9579     BuiltInId::textureGather_ISamplerCube1_Float3,
9580     BuiltInName::textureGather,
9581     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9582     BuiltInParameters::p00S20B00B,
9583     2,
9584     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9585     EOpTextureGather,
9586     true);
9587 constexpr const TFunction textureGather_00Y20B(
9588     BuiltInId::textureGather_USamplerCube1_Float3,
9589     BuiltInName::textureGather,
9590     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9591     BuiltInParameters::p00Y20B00B,
9592     2,
9593     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9594     EOpTextureGather,
9595     true);
9596 constexpr const TFunction textureGather_00J20B00C(
9597     BuiltInId::textureGather_SamplerCube1_Float3_Int1,
9598     BuiltInName::textureGather,
9599     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9600     BuiltInParameters::p00J20B00C,
9601     3,
9602     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9603     EOpTextureGather,
9604     true);
9605 constexpr const TFunction textureGather_00S20B00C(
9606     BuiltInId::textureGather_ISamplerCube1_Float3_Int1,
9607     BuiltInName::textureGather,
9608     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9609     BuiltInParameters::p00S20B00C,
9610     3,
9611     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9612     EOpTextureGather,
9613     true);
9614 constexpr const TFunction textureGather_00Y20B00C(
9615     BuiltInId::textureGather_USamplerCube1_Float3_Int1,
9616     BuiltInName::textureGather,
9617     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9618     BuiltInParameters::p00Y20B00C,
9619     3,
9620     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9621     EOpTextureGather,
9622     true);
9623 constexpr const TFunction textureGather_00g30B(
9624     BuiltInId::textureGather_SamplerCubeArray1_Float4,
9625     BuiltInName::textureGather,
9626     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9627     BuiltInParameters::p00g30B00B,
9628     2,
9629     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9630     EOpTextureGather,
9631     true);
9632 constexpr const TFunction textureGather_00l30B(
9633     BuiltInId::textureGather_ISamplerCubeArray1_Float4,
9634     BuiltInName::textureGather,
9635     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9636     BuiltInParameters::p00l30B00B,
9637     2,
9638     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9639     EOpTextureGather,
9640     true);
9641 constexpr const TFunction textureGather_00o30B(
9642     BuiltInId::textureGather_USamplerCubeArray1_Float4,
9643     BuiltInName::textureGather,
9644     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9645     BuiltInParameters::p00o30B00B,
9646     2,
9647     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9648     EOpTextureGather,
9649     true);
9650 constexpr const TFunction textureGather_00g30B00C(
9651     BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1,
9652     BuiltInName::textureGather,
9653     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9654     BuiltInParameters::p00g30B00C,
9655     3,
9656     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9657     EOpTextureGather,
9658     true);
9659 constexpr const TFunction textureGather_00l30B00C(
9660     BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1,
9661     BuiltInName::textureGather,
9662     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9663     BuiltInParameters::p00l30B00C,
9664     3,
9665     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9666     EOpTextureGather,
9667     true);
9668 constexpr const TFunction textureGather_00o30B00C(
9669     BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1,
9670     BuiltInName::textureGather,
9671     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9672     BuiltInParameters::p00o30B00C,
9673     3,
9674     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9675     EOpTextureGather,
9676     true);
9677 constexpr const TFunction textureGather_00h30B00B(
9678     BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1,
9679     BuiltInName::textureGather,
9680     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9681     BuiltInParameters::p00h30B00B00B,
9682     3,
9683     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9684     EOpTextureGather,
9685     true);
9686 constexpr const TFunction textureGatherExt_00g30B(
9687     BuiltInId::textureGatherExt_SamplerCubeArray1_Float4,
9688     BuiltInName::textureGatherExt,
9689     std::array<TExtension, 2u>{
9690         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9691     BuiltInParameters::p00g30B00B,
9692     2,
9693     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9694     EOpTextureGather,
9695     true);
9696 constexpr const TFunction textureGatherExt_00l30B(
9697     BuiltInId::textureGatherExt_ISamplerCubeArray1_Float4,
9698     BuiltInName::textureGatherExt,
9699     std::array<TExtension, 2u>{
9700         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9701     BuiltInParameters::p00l30B00B,
9702     2,
9703     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9704     EOpTextureGather,
9705     true);
9706 constexpr const TFunction textureGatherExt_00o30B(
9707     BuiltInId::textureGatherExt_USamplerCubeArray1_Float4,
9708     BuiltInName::textureGatherExt,
9709     std::array<TExtension, 2u>{
9710         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9711     BuiltInParameters::p00o30B00B,
9712     2,
9713     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9714     EOpTextureGather,
9715     true);
9716 constexpr const TFunction textureGatherExt_00g30B00C(
9717     BuiltInId::textureGatherExt_SamplerCubeArray1_Float4_Int1,
9718     BuiltInName::textureGatherExt,
9719     std::array<TExtension, 2u>{
9720         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9721     BuiltInParameters::p00g30B00C,
9722     3,
9723     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9724     EOpTextureGather,
9725     true);
9726 constexpr const TFunction textureGatherExt_00l30B00C(
9727     BuiltInId::textureGatherExt_ISamplerCubeArray1_Float4_Int1,
9728     BuiltInName::textureGatherExt,
9729     std::array<TExtension, 2u>{
9730         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9731     BuiltInParameters::p00l30B00C,
9732     3,
9733     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9734     EOpTextureGather,
9735     true);
9736 constexpr const TFunction textureGatherExt_00o30B00C(
9737     BuiltInId::textureGatherExt_USamplerCubeArray1_Float4_Int1,
9738     BuiltInName::textureGatherExt,
9739     std::array<TExtension, 2u>{
9740         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9741     BuiltInParameters::p00o30B00C,
9742     3,
9743     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9744     EOpTextureGather,
9745     true);
9746 constexpr const TFunction textureGatherExt_00h30B00B(
9747     BuiltInId::textureGatherExt_SamplerCubeArrayShadow1_Float4_Float1,
9748     BuiltInName::textureGatherExt,
9749     std::array<TExtension, 2u>{
9750         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
9751     BuiltInParameters::p00h30B00B00B,
9752     3,
9753     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9754     EOpTextureGather,
9755     true);
9756 constexpr const TFunction textureGather_00c10B(
9757     BuiltInId::textureGather_Sampler2DShadow1_Float2,
9758     BuiltInName::textureGather,
9759     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9760     BuiltInParameters::p00c10B00B10Cx4,
9761     2,
9762     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9763     EOpTextureGather,
9764     true);
9765 constexpr const TFunction textureGather_00c10B00B(
9766     BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1,
9767     BuiltInName::textureGather,
9768     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9769     BuiltInParameters::p00c10B00B10Cx4,
9770     3,
9771     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9772     EOpTextureGather,
9773     true);
9774 constexpr const TFunction textureGather_00e20B(
9775     BuiltInId::textureGather_Sampler2DArrayShadow1_Float3,
9776     BuiltInName::textureGather,
9777     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9778     BuiltInParameters::p00e20B00B10Cx4,
9779     2,
9780     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9781     EOpTextureGather,
9782     true);
9783 constexpr const TFunction textureGather_00e20B00B(
9784     BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1,
9785     BuiltInName::textureGather,
9786     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9787     BuiltInParameters::p00e20B00B10Cx4,
9788     3,
9789     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9790     EOpTextureGather,
9791     true);
9792 constexpr const TFunction textureGather_00d20B(
9793     BuiltInId::textureGather_SamplerCubeShadow1_Float3,
9794     BuiltInName::textureGather,
9795     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9796     BuiltInParameters::p00d20B00B,
9797     2,
9798     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9799     EOpTextureGather,
9800     true);
9801 constexpr const TFunction textureGather_00d20B00B(
9802     BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1,
9803     BuiltInName::textureGather,
9804     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9805     BuiltInParameters::p00d20B00B,
9806     3,
9807     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9808     EOpTextureGather,
9809     true);
9810 constexpr const TFunction textureGatherOffset_00H10B10C(
9811     BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2,
9812     BuiltInName::textureGatherOffset,
9813     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9814     BuiltInParameters::p00H10B10C00B,
9815     3,
9816     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9817     EOpTextureGatherOffset,
9818     true);
9819 constexpr const TFunction textureGatherOffset_00Q10B10C(
9820     BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2,
9821     BuiltInName::textureGatherOffset,
9822     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9823     BuiltInParameters::p00Q10B10C00B,
9824     3,
9825     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9826     EOpTextureGatherOffset,
9827     true);
9828 constexpr const TFunction textureGatherOffset_00W10B10C(
9829     BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2,
9830     BuiltInName::textureGatherOffset,
9831     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9832     BuiltInParameters::p00W10B10C00B,
9833     3,
9834     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9835     EOpTextureGatherOffset,
9836     true);
9837 constexpr const TFunction textureGatherOffset_00K20B10C(
9838     BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2,
9839     BuiltInName::textureGatherOffset,
9840     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9841     BuiltInParameters::p00K20B10C00B,
9842     3,
9843     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9844     EOpTextureGatherOffset,
9845     true);
9846 constexpr const TFunction textureGatherOffset_00T20B10C(
9847     BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2,
9848     BuiltInName::textureGatherOffset,
9849     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9850     BuiltInParameters::p00T20B10C00B,
9851     3,
9852     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9853     EOpTextureGatherOffset,
9854     true);
9855 constexpr const TFunction textureGatherOffset_00Z20B10C(
9856     BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2,
9857     BuiltInName::textureGatherOffset,
9858     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9859     BuiltInParameters::p00Z20B10C00B,
9860     3,
9861     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9862     EOpTextureGatherOffset,
9863     true);
9864 constexpr const TFunction textureGatherOffset_00c10B00B10C(
9865     BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2,
9866     BuiltInName::textureGatherOffset,
9867     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9868     BuiltInParameters::p00c10B00B10Cx4,
9869     4,
9870     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9871     EOpTextureGatherOffset,
9872     true);
9873 constexpr const TFunction textureGatherOffset_00e20B00B10C(
9874     BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2,
9875     BuiltInName::textureGatherOffset,
9876     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9877     BuiltInParameters::p00e20B00B10Cx4,
9878     4,
9879     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9880     EOpTextureGatherOffset,
9881     true);
9882 constexpr const TFunction textureGatherOffset_00H10B10C00C(
9883     BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1,
9884     BuiltInName::textureGatherOffset,
9885     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9886     BuiltInParameters::p00H10B10C00C,
9887     4,
9888     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9889     EOpTextureGatherOffsetComp,
9890     true);
9891 constexpr const TFunction textureGatherOffset_00Q10B10C00C(
9892     BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1,
9893     BuiltInName::textureGatherOffset,
9894     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9895     BuiltInParameters::p00Q10B10C00C,
9896     4,
9897     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9898     EOpTextureGatherOffsetComp,
9899     true);
9900 constexpr const TFunction textureGatherOffset_00W10B10C00C(
9901     BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1,
9902     BuiltInName::textureGatherOffset,
9903     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9904     BuiltInParameters::p00W10B10C00C,
9905     4,
9906     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9907     EOpTextureGatherOffsetComp,
9908     true);
9909 constexpr const TFunction textureGatherOffset_00K20B10C00C(
9910     BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1,
9911     BuiltInName::textureGatherOffset,
9912     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9913     BuiltInParameters::p00K20B10C00C,
9914     4,
9915     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9916     EOpTextureGatherOffsetComp,
9917     true);
9918 constexpr const TFunction textureGatherOffset_00T20B10C00C(
9919     BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1,
9920     BuiltInName::textureGatherOffset,
9921     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9922     BuiltInParameters::p00T20B10C00C,
9923     4,
9924     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9925     EOpTextureGatherOffsetComp,
9926     true);
9927 constexpr const TFunction textureGatherOffset_00Z20B10C00C(
9928     BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1,
9929     BuiltInName::textureGatherOffset,
9930     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9931     BuiltInParameters::p00Z20B10C00C,
9932     4,
9933     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9934     EOpTextureGatherOffsetComp,
9935     true);
9936 constexpr const TFunction textureGatherOffsets_00H10B10Cx4(
9937     BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2,
9938     BuiltInName::textureGatherOffsets,
9939     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9940     BuiltInParameters::p00H10B10Cx400C,
9941     3,
9942     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9943     EOpTextureGatherOffsets,
9944     true);
9945 constexpr const TFunction textureGatherOffsets_00Q10B10Cx4(
9946     BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2,
9947     BuiltInName::textureGatherOffsets,
9948     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9949     BuiltInParameters::p00Q10B10Cx400C,
9950     3,
9951     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9952     EOpTextureGatherOffsets,
9953     true);
9954 constexpr const TFunction textureGatherOffsets_00W10B10Cx4(
9955     BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2,
9956     BuiltInName::textureGatherOffsets,
9957     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9958     BuiltInParameters::p00W10B10Cx400C,
9959     3,
9960     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9961     EOpTextureGatherOffsets,
9962     true);
9963 constexpr const TFunction textureGatherOffsets_00K20B10Cx4(
9964     BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2,
9965     BuiltInName::textureGatherOffsets,
9966     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9967     BuiltInParameters::p00K20B10Cx400C,
9968     3,
9969     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9970     EOpTextureGatherOffsets,
9971     true);
9972 constexpr const TFunction textureGatherOffsets_00T20B10Cx4(
9973     BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2,
9974     BuiltInName::textureGatherOffsets,
9975     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9976     BuiltInParameters::p00T20B10Cx400C,
9977     3,
9978     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
9979     EOpTextureGatherOffsets,
9980     true);
9981 constexpr const TFunction textureGatherOffsets_00Z20B10Cx4(
9982     BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2,
9983     BuiltInName::textureGatherOffsets,
9984     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9985     BuiltInParameters::p00Z20B10Cx400C,
9986     3,
9987     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
9988     EOpTextureGatherOffsets,
9989     true);
9990 constexpr const TFunction textureGatherOffsets_00c10B00B10Cx4(
9991     BuiltInId::textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2,
9992     BuiltInName::textureGatherOffsets,
9993     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
9994     BuiltInParameters::p00c10B00B10Cx4,
9995     4,
9996     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
9997     EOpTextureGatherOffsets,
9998     true);
9999 constexpr const TFunction textureGatherOffsets_00e20B00B10Cx4(
10000     BuiltInId::textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2,
10001     BuiltInName::textureGatherOffsets,
10002     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10003     BuiltInParameters::p00e20B00B10Cx4,
10004     4,
10005     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10006     EOpTextureGatherOffsets,
10007     true);
10008 constexpr const TFunction textureGatherOffsetsExt_00H10B10Cx4(
10009     BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2,
10010     BuiltInName::textureGatherOffsetsExt,
10011     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10012     BuiltInParameters::p00H10B10Cx400C,
10013     3,
10014     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10015     EOpTextureGatherOffsets,
10016     true);
10017 constexpr const TFunction textureGatherOffsetsExt_00Q10B10Cx4(
10018     BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2,
10019     BuiltInName::textureGatherOffsetsExt,
10020     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10021     BuiltInParameters::p00Q10B10Cx400C,
10022     3,
10023     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
10024     EOpTextureGatherOffsets,
10025     true);
10026 constexpr const TFunction textureGatherOffsetsExt_00W10B10Cx4(
10027     BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2,
10028     BuiltInName::textureGatherOffsetsExt,
10029     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10030     BuiltInParameters::p00W10B10Cx400C,
10031     3,
10032     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
10033     EOpTextureGatherOffsets,
10034     true);
10035 constexpr const TFunction textureGatherOffsetsExt_00K20B10Cx4(
10036     BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2,
10037     BuiltInName::textureGatherOffsetsExt,
10038     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10039     BuiltInParameters::p00K20B10Cx400C,
10040     3,
10041     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10042     EOpTextureGatherOffsets,
10043     true);
10044 constexpr const TFunction textureGatherOffsetsExt_00T20B10Cx4(
10045     BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2,
10046     BuiltInName::textureGatherOffsetsExt,
10047     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10048     BuiltInParameters::p00T20B10Cx400C,
10049     3,
10050     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
10051     EOpTextureGatherOffsets,
10052     true);
10053 constexpr const TFunction textureGatherOffsetsExt_00Z20B10Cx4(
10054     BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2,
10055     BuiltInName::textureGatherOffsetsExt,
10056     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10057     BuiltInParameters::p00Z20B10Cx400C,
10058     3,
10059     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
10060     EOpTextureGatherOffsets,
10061     true);
10062 constexpr const TFunction textureGatherOffsetsExt_00c10B00B10Cx4(
10063     BuiltInId::textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2,
10064     BuiltInName::textureGatherOffsetsExt,
10065     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10066     BuiltInParameters::p00c10B00B10Cx4,
10067     4,
10068     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10069     EOpTextureGatherOffsets,
10070     true);
10071 constexpr const TFunction textureGatherOffsetsExt_00e20B00B10Cx4(
10072     BuiltInId::textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2,
10073     BuiltInName::textureGatherOffsetsExt,
10074     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10075     BuiltInParameters::p00e20B00B10Cx4,
10076     4,
10077     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10078     EOpTextureGatherOffsets,
10079     true);
10080 constexpr const TFunction textureGatherOffsets_00H10B10Cx400C(
10081     BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1,
10082     BuiltInName::textureGatherOffsets,
10083     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10084     BuiltInParameters::p00H10B10Cx400C,
10085     4,
10086     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10087     EOpTextureGatherOffsetsComp,
10088     true);
10089 constexpr const TFunction textureGatherOffsets_00Q10B10Cx400C(
10090     BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1,
10091     BuiltInName::textureGatherOffsets,
10092     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10093     BuiltInParameters::p00Q10B10Cx400C,
10094     4,
10095     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
10096     EOpTextureGatherOffsetsComp,
10097     true);
10098 constexpr const TFunction textureGatherOffsets_00W10B10Cx400C(
10099     BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2_Int1,
10100     BuiltInName::textureGatherOffsets,
10101     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10102     BuiltInParameters::p00W10B10Cx400C,
10103     4,
10104     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
10105     EOpTextureGatherOffsetsComp,
10106     true);
10107 constexpr const TFunction textureGatherOffsets_00K20B10Cx400C(
10108     BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2_Int1,
10109     BuiltInName::textureGatherOffsets,
10110     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10111     BuiltInParameters::p00K20B10Cx400C,
10112     4,
10113     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10114     EOpTextureGatherOffsetsComp,
10115     true);
10116 constexpr const TFunction textureGatherOffsets_00T20B10Cx400C(
10117     BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1,
10118     BuiltInName::textureGatherOffsets,
10119     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10120     BuiltInParameters::p00T20B10Cx400C,
10121     4,
10122     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
10123     EOpTextureGatherOffsetsComp,
10124     true);
10125 constexpr const TFunction textureGatherOffsets_00Z20B10Cx400C(
10126     BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1,
10127     BuiltInName::textureGatherOffsets,
10128     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10129     BuiltInParameters::p00Z20B10Cx400C,
10130     4,
10131     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
10132     EOpTextureGatherOffsetsComp,
10133     true);
10134 constexpr const TFunction textureGatherOffsetsExt_00H10B10Cx400C(
10135     BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2_Int1,
10136     BuiltInName::textureGatherOffsetsExt,
10137     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10138     BuiltInParameters::p00H10B10Cx400C,
10139     4,
10140     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10141     EOpTextureGatherOffsetsComp,
10142     true);
10143 constexpr const TFunction textureGatherOffsetsExt_00Q10B10Cx400C(
10144     BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2_Int1,
10145     BuiltInName::textureGatherOffsetsExt,
10146     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10147     BuiltInParameters::p00Q10B10Cx400C,
10148     4,
10149     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
10150     EOpTextureGatherOffsetsComp,
10151     true);
10152 constexpr const TFunction textureGatherOffsetsExt_00W10B10Cx400C(
10153     BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2_Int1,
10154     BuiltInName::textureGatherOffsetsExt,
10155     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10156     BuiltInParameters::p00W10B10Cx400C,
10157     4,
10158     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
10159     EOpTextureGatherOffsetsComp,
10160     true);
10161 constexpr const TFunction textureGatherOffsetsExt_00K20B10Cx400C(
10162     BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1,
10163     BuiltInName::textureGatherOffsetsExt,
10164     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10165     BuiltInParameters::p00K20B10Cx400C,
10166     4,
10167     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10168     EOpTextureGatherOffsetsComp,
10169     true);
10170 constexpr const TFunction textureGatherOffsetsExt_00T20B10Cx400C(
10171     BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1,
10172     BuiltInName::textureGatherOffsetsExt,
10173     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10174     BuiltInParameters::p00T20B10Cx400C,
10175     4,
10176     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
10177     EOpTextureGatherOffsetsComp,
10178     true);
10179 constexpr const TFunction textureGatherOffsetsExt_00Z20B10Cx400C(
10180     BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1,
10181     BuiltInName::textureGatherOffsetsExt,
10182     std::array<TExtension, 2u>{{TExtension::EXT_gpu_shader5, TExtension::OES_gpu_shader5}},
10183     BuiltInParameters::p00Z20B10Cx400C,
10184     4,
10185     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
10186     EOpTextureGatherOffsetsComp,
10187     true);
10188 constexpr const TFunction textureQueryLOD_00H10B(
10189     BuiltInId::textureQueryLOD_Sampler2D1_Float2,
10190     BuiltInName::textureQueryLOD,
10191     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10192     BuiltInParameters::p00H10B00B10C,
10193     2,
10194     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10195     EOpTextureQueryLOD,
10196     true);
10197 constexpr const TFunction textureQueryLOD_00Q10B(
10198     BuiltInId::textureQueryLOD_ISampler2D1_Float2,
10199     BuiltInName::textureQueryLOD,
10200     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10201     BuiltInParameters::p00Q10B00B10C,
10202     2,
10203     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10204     EOpTextureQueryLOD,
10205     true);
10206 constexpr const TFunction textureQueryLOD_00W10B(
10207     BuiltInId::textureQueryLOD_USampler2D1_Float2,
10208     BuiltInName::textureQueryLOD,
10209     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10210     BuiltInParameters::p00W10B00B10C,
10211     2,
10212     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10213     EOpTextureQueryLOD,
10214     true);
10215 constexpr const TFunction textureQueryLOD_00I20B(
10216     BuiltInId::textureQueryLOD_Sampler3D1_Float3,
10217     BuiltInName::textureQueryLOD,
10218     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10219     BuiltInParameters::p00I20B00B20C,
10220     2,
10221     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10222     EOpTextureQueryLOD,
10223     true);
10224 constexpr const TFunction textureQueryLOD_00R20B(
10225     BuiltInId::textureQueryLOD_ISampler3D1_Float3,
10226     BuiltInName::textureQueryLOD,
10227     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10228     BuiltInParameters::p00R20B00B20C,
10229     2,
10230     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10231     EOpTextureQueryLOD,
10232     true);
10233 constexpr const TFunction textureQueryLOD_00X20B(
10234     BuiltInId::textureQueryLOD_USampler3D1_Float3,
10235     BuiltInName::textureQueryLOD,
10236     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10237     BuiltInParameters::p00X20B00B20C,
10238     2,
10239     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10240     EOpTextureQueryLOD,
10241     true);
10242 constexpr const TFunction textureQueryLOD_00J20B(
10243     BuiltInId::textureQueryLOD_SamplerCube1_Float3,
10244     BuiltInName::textureQueryLOD,
10245     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10246     BuiltInParameters::p00J20B00B,
10247     2,
10248     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10249     EOpTextureQueryLOD,
10250     true);
10251 constexpr const TFunction textureQueryLOD_00S20B(
10252     BuiltInId::textureQueryLOD_ISamplerCube1_Float3,
10253     BuiltInName::textureQueryLOD,
10254     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10255     BuiltInParameters::p00S20B00B,
10256     2,
10257     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10258     EOpTextureQueryLOD,
10259     true);
10260 constexpr const TFunction textureQueryLOD_00Y20B(
10261     BuiltInId::textureQueryLOD_USamplerCube1_Float3,
10262     BuiltInName::textureQueryLOD,
10263     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10264     BuiltInParameters::p00Y20B00B,
10265     2,
10266     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10267     EOpTextureQueryLOD,
10268     true);
10269 constexpr const TFunction textureQueryLOD_00K10B(
10270     BuiltInId::textureQueryLOD_Sampler2DArray1_Float2,
10271     BuiltInName::textureQueryLOD,
10272     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10273     BuiltInParameters::p00K10B,
10274     2,
10275     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10276     EOpTextureQueryLOD,
10277     true);
10278 constexpr const TFunction textureQueryLOD_00T10B(
10279     BuiltInId::textureQueryLOD_ISampler2DArray1_Float2,
10280     BuiltInName::textureQueryLOD,
10281     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10282     BuiltInParameters::p00T10B,
10283     2,
10284     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10285     EOpTextureQueryLOD,
10286     true);
10287 constexpr const TFunction textureQueryLOD_00Z10B(
10288     BuiltInId::textureQueryLOD_USampler2DArray1_Float2,
10289     BuiltInName::textureQueryLOD,
10290     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10291     BuiltInParameters::p00Z10B,
10292     2,
10293     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10294     EOpTextureQueryLOD,
10295     true);
10296 constexpr const TFunction textureQueryLOD_00c10B(
10297     BuiltInId::textureQueryLOD_Sampler2DShadow1_Float2,
10298     BuiltInName::textureQueryLOD,
10299     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10300     BuiltInParameters::p00c10B00B10Cx4,
10301     2,
10302     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10303     EOpTextureQueryLOD,
10304     true);
10305 constexpr const TFunction textureQueryLOD_00d20B(
10306     BuiltInId::textureQueryLOD_SamplerCubeShadow1_Float3,
10307     BuiltInName::textureQueryLOD,
10308     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10309     BuiltInParameters::p00d20B00B,
10310     2,
10311     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10312     EOpTextureQueryLOD,
10313     true);
10314 constexpr const TFunction textureQueryLOD_00e10B(
10315     BuiltInId::textureQueryLOD_Sampler2DArrayShadow1_Float2,
10316     BuiltInName::textureQueryLOD,
10317     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10318     BuiltInParameters::p00e10B,
10319     2,
10320     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10321     EOpTextureQueryLOD,
10322     true);
10323 constexpr const TFunction textureQueryLOD_00g20B(
10324     BuiltInId::textureQueryLOD_SamplerCubeArray1_Float3,
10325     BuiltInName::textureQueryLOD,
10326     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10327     BuiltInParameters::p00g20B,
10328     2,
10329     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10330     EOpTextureQueryLOD,
10331     true);
10332 constexpr const TFunction textureQueryLOD_00l20B(
10333     BuiltInId::textureQueryLOD_ISamplerCubeArray1_Float3,
10334     BuiltInName::textureQueryLOD,
10335     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10336     BuiltInParameters::p00l20B,
10337     2,
10338     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10339     EOpTextureQueryLOD,
10340     true);
10341 constexpr const TFunction textureQueryLOD_00o20B(
10342     BuiltInId::textureQueryLOD_USamplerCubeArray1_Float3,
10343     BuiltInName::textureQueryLOD,
10344     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10345     BuiltInParameters::p00o20B,
10346     2,
10347     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10348     EOpTextureQueryLOD,
10349     true);
10350 constexpr const TFunction textureQueryLOD_00h20B(
10351     BuiltInId::textureQueryLOD_SamplerCubeArrayShadow1_Float3,
10352     BuiltInName::textureQueryLOD,
10353     std::array<TExtension, 1u>{{TExtension::EXT_texture_query_lod}},
10354     BuiltInParameters::p00h20B,
10355     2,
10356     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10357     EOpTextureQueryLOD,
10358     true);
10359 constexpr const TFunction rgb_2_yuv_20B00G(
10360     BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1,
10361     BuiltInName::rgb_2_yuv,
10362     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
10363     BuiltInParameters::p20B00G,
10364     2,
10365     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10366     EOpRgb_2_yuv,
10367     true);
10368 constexpr const TFunction yuv_2_rgb_20B00G(
10369     BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1,
10370     BuiltInName::yuv_2_rgb,
10371     std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}},
10372     BuiltInParameters::p20B00G,
10373     2,
10374     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10375     EOpYuv_2_rgb,
10376     true);
10377 constexpr const TFunction dFdxExt_00B(BuiltInId::dFdxExt_Float1,
10378                                       BuiltInName::dFdxExt,
10379                                       std::array<TExtension, 1u>{
10380                                           {TExtension::OES_standard_derivatives}},
10381                                       BuiltInParameters::p00B00B00B,
10382                                       1,
10383                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10384                                       EOpDFdx,
10385                                       true);
10386 constexpr const TFunction dFdxExt_10B(BuiltInId::dFdxExt_Float2,
10387                                       BuiltInName::dFdxExt,
10388                                       std::array<TExtension, 1u>{
10389                                           {TExtension::OES_standard_derivatives}},
10390                                       BuiltInParameters::p10B00B00B,
10391                                       1,
10392                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10393                                       EOpDFdx,
10394                                       true);
10395 constexpr const TFunction dFdxExt_20B(BuiltInId::dFdxExt_Float3,
10396                                       BuiltInName::dFdxExt,
10397                                       std::array<TExtension, 1u>{
10398                                           {TExtension::OES_standard_derivatives}},
10399                                       BuiltInParameters::p20B00B00B,
10400                                       1,
10401                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10402                                       EOpDFdx,
10403                                       true);
10404 constexpr const TFunction dFdxExt_30B(BuiltInId::dFdxExt_Float4,
10405                                       BuiltInName::dFdxExt,
10406                                       std::array<TExtension, 1u>{
10407                                           {TExtension::OES_standard_derivatives}},
10408                                       BuiltInParameters::p30B00B00B,
10409                                       1,
10410                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10411                                       EOpDFdx,
10412                                       true);
10413 constexpr const TFunction dFdyExt_00B(BuiltInId::dFdyExt_Float1,
10414                                       BuiltInName::dFdyExt,
10415                                       std::array<TExtension, 1u>{
10416                                           {TExtension::OES_standard_derivatives}},
10417                                       BuiltInParameters::p00B00B00B,
10418                                       1,
10419                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10420                                       EOpDFdy,
10421                                       true);
10422 constexpr const TFunction dFdyExt_10B(BuiltInId::dFdyExt_Float2,
10423                                       BuiltInName::dFdyExt,
10424                                       std::array<TExtension, 1u>{
10425                                           {TExtension::OES_standard_derivatives}},
10426                                       BuiltInParameters::p10B00B00B,
10427                                       1,
10428                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10429                                       EOpDFdy,
10430                                       true);
10431 constexpr const TFunction dFdyExt_20B(BuiltInId::dFdyExt_Float3,
10432                                       BuiltInName::dFdyExt,
10433                                       std::array<TExtension, 1u>{
10434                                           {TExtension::OES_standard_derivatives}},
10435                                       BuiltInParameters::p20B00B00B,
10436                                       1,
10437                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10438                                       EOpDFdy,
10439                                       true);
10440 constexpr const TFunction dFdyExt_30B(BuiltInId::dFdyExt_Float4,
10441                                       BuiltInName::dFdyExt,
10442                                       std::array<TExtension, 1u>{
10443                                           {TExtension::OES_standard_derivatives}},
10444                                       BuiltInParameters::p30B00B00B,
10445                                       1,
10446                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10447                                       EOpDFdy,
10448                                       true);
10449 constexpr const TFunction fwidthExt_00B(BuiltInId::fwidthExt_Float1,
10450                                         BuiltInName::fwidthExt,
10451                                         std::array<TExtension, 1u>{
10452                                             {TExtension::OES_standard_derivatives}},
10453                                         BuiltInParameters::p00B00B00B,
10454                                         1,
10455                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10456                                         EOpFwidth,
10457                                         true);
10458 constexpr const TFunction fwidthExt_10B(BuiltInId::fwidthExt_Float2,
10459                                         BuiltInName::fwidthExt,
10460                                         std::array<TExtension, 1u>{
10461                                             {TExtension::OES_standard_derivatives}},
10462                                         BuiltInParameters::p10B00B00B,
10463                                         1,
10464                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10465                                         EOpFwidth,
10466                                         true);
10467 constexpr const TFunction fwidthExt_20B(BuiltInId::fwidthExt_Float3,
10468                                         BuiltInName::fwidthExt,
10469                                         std::array<TExtension, 1u>{
10470                                             {TExtension::OES_standard_derivatives}},
10471                                         BuiltInParameters::p20B00B00B,
10472                                         1,
10473                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10474                                         EOpFwidth,
10475                                         true);
10476 constexpr const TFunction fwidthExt_30B(BuiltInId::fwidthExt_Float4,
10477                                         BuiltInName::fwidthExt,
10478                                         std::array<TExtension, 1u>{
10479                                             {TExtension::OES_standard_derivatives}},
10480                                         BuiltInParameters::p30B00B00B,
10481                                         1,
10482                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10483                                         EOpFwidth,
10484                                         true);
10485 constexpr const TFunction dFdx_00B(BuiltInId::dFdx_Float1,
10486                                    BuiltInName::dFdx,
10487                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10488                                    BuiltInParameters::p00B00B00B,
10489                                    1,
10490                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10491                                    EOpDFdx,
10492                                    true);
10493 constexpr const TFunction dFdx_10B(BuiltInId::dFdx_Float2,
10494                                    BuiltInName::dFdx,
10495                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10496                                    BuiltInParameters::p10B00B00B,
10497                                    1,
10498                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10499                                    EOpDFdx,
10500                                    true);
10501 constexpr const TFunction dFdx_20B(BuiltInId::dFdx_Float3,
10502                                    BuiltInName::dFdx,
10503                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10504                                    BuiltInParameters::p20B00B00B,
10505                                    1,
10506                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10507                                    EOpDFdx,
10508                                    true);
10509 constexpr const TFunction dFdx_30B(BuiltInId::dFdx_Float4,
10510                                    BuiltInName::dFdx,
10511                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10512                                    BuiltInParameters::p30B00B00B,
10513                                    1,
10514                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10515                                    EOpDFdx,
10516                                    true);
10517 constexpr const TFunction dFdy_00B(BuiltInId::dFdy_Float1,
10518                                    BuiltInName::dFdy,
10519                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10520                                    BuiltInParameters::p00B00B00B,
10521                                    1,
10522                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10523                                    EOpDFdy,
10524                                    true);
10525 constexpr const TFunction dFdy_10B(BuiltInId::dFdy_Float2,
10526                                    BuiltInName::dFdy,
10527                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10528                                    BuiltInParameters::p10B00B00B,
10529                                    1,
10530                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10531                                    EOpDFdy,
10532                                    true);
10533 constexpr const TFunction dFdy_20B(BuiltInId::dFdy_Float3,
10534                                    BuiltInName::dFdy,
10535                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10536                                    BuiltInParameters::p20B00B00B,
10537                                    1,
10538                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10539                                    EOpDFdy,
10540                                    true);
10541 constexpr const TFunction dFdy_30B(BuiltInId::dFdy_Float4,
10542                                    BuiltInName::dFdy,
10543                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10544                                    BuiltInParameters::p30B00B00B,
10545                                    1,
10546                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10547                                    EOpDFdy,
10548                                    true);
10549 constexpr const TFunction fwidth_00B(BuiltInId::fwidth_Float1,
10550                                      BuiltInName::fwidth,
10551                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10552                                      BuiltInParameters::p00B00B00B,
10553                                      1,
10554                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10555                                      EOpFwidth,
10556                                      true);
10557 constexpr const TFunction fwidth_10B(BuiltInId::fwidth_Float2,
10558                                      BuiltInName::fwidth,
10559                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10560                                      BuiltInParameters::p10B00B00B,
10561                                      1,
10562                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10563                                      EOpFwidth,
10564                                      true);
10565 constexpr const TFunction fwidth_20B(BuiltInId::fwidth_Float3,
10566                                      BuiltInName::fwidth,
10567                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10568                                      BuiltInParameters::p20B00B00B,
10569                                      1,
10570                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10571                                      EOpFwidth,
10572                                      true);
10573 constexpr const TFunction fwidth_30B(BuiltInId::fwidth_Float4,
10574                                      BuiltInName::fwidth,
10575                                      std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10576                                      BuiltInParameters::p30B00B00B,
10577                                      1,
10578                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10579                                      EOpFwidth,
10580                                      true);
10581 constexpr const TFunction interpolateAtCentroid_00B(
10582     BuiltInId::interpolateAtCentroid_Float1,
10583     BuiltInName::interpolateAtCentroid,
10584     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10585     BuiltInParameters::p00B00B00B,
10586     1,
10587     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10588     EOpInterpolateAtCentroid,
10589     true);
10590 constexpr const TFunction interpolateAtCentroid_10B(
10591     BuiltInId::interpolateAtCentroid_Float2,
10592     BuiltInName::interpolateAtCentroid,
10593     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10594     BuiltInParameters::p10B00B00B,
10595     1,
10596     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10597     EOpInterpolateAtCentroid,
10598     true);
10599 constexpr const TFunction interpolateAtCentroid_20B(
10600     BuiltInId::interpolateAtCentroid_Float3,
10601     BuiltInName::interpolateAtCentroid,
10602     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10603     BuiltInParameters::p20B00B00B,
10604     1,
10605     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10606     EOpInterpolateAtCentroid,
10607     true);
10608 constexpr const TFunction interpolateAtCentroid_30B(
10609     BuiltInId::interpolateAtCentroid_Float4,
10610     BuiltInName::interpolateAtCentroid,
10611     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10612     BuiltInParameters::p30B00B00B,
10613     1,
10614     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10615     EOpInterpolateAtCentroid,
10616     true);
10617 constexpr const TFunction interpolateAtSample_00B00C(
10618     BuiltInId::interpolateAtSample_Float1_Int1,
10619     BuiltInName::interpolateAtSample,
10620     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10621     BuiltInParameters::p00B00C,
10622     2,
10623     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10624     EOpInterpolateAtSample,
10625     true);
10626 constexpr const TFunction interpolateAtSample_10B00C(
10627     BuiltInId::interpolateAtSample_Float2_Int1,
10628     BuiltInName::interpolateAtSample,
10629     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10630     BuiltInParameters::p10B00C,
10631     2,
10632     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10633     EOpInterpolateAtSample,
10634     true);
10635 constexpr const TFunction interpolateAtSample_20B00C(
10636     BuiltInId::interpolateAtSample_Float3_Int1,
10637     BuiltInName::interpolateAtSample,
10638     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10639     BuiltInParameters::p20B00C,
10640     2,
10641     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10642     EOpInterpolateAtSample,
10643     true);
10644 constexpr const TFunction interpolateAtSample_30B00C(
10645     BuiltInId::interpolateAtSample_Float4_Int1,
10646     BuiltInName::interpolateAtSample,
10647     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10648     BuiltInParameters::p30B00C,
10649     2,
10650     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10651     EOpInterpolateAtSample,
10652     true);
10653 constexpr const TFunction interpolateAtOffset_00B10B(
10654     BuiltInId::interpolateAtOffset_Float1_Float2,
10655     BuiltInName::interpolateAtOffset,
10656     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10657     BuiltInParameters::p00B10B,
10658     2,
10659     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10660     EOpInterpolateAtOffset,
10661     true);
10662 constexpr const TFunction interpolateAtOffset_10B10B(
10663     BuiltInId::interpolateAtOffset_Float2_Float2,
10664     BuiltInName::interpolateAtOffset,
10665     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10666     BuiltInParameters::p10B10B00B,
10667     2,
10668     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10669     EOpInterpolateAtOffset,
10670     true);
10671 constexpr const TFunction interpolateAtOffset_20B10B(
10672     BuiltInId::interpolateAtOffset_Float3_Float2,
10673     BuiltInName::interpolateAtOffset,
10674     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10675     BuiltInParameters::p20B10B,
10676     2,
10677     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10678     EOpInterpolateAtOffset,
10679     true);
10680 constexpr const TFunction interpolateAtOffset_30B10B(
10681     BuiltInId::interpolateAtOffset_Float4_Float2,
10682     BuiltInName::interpolateAtOffset,
10683     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10684     BuiltInParameters::p30B10B,
10685     2,
10686     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10687     EOpInterpolateAtOffset,
10688     true);
10689 constexpr const TFunction interpolateAtCentroidExt_00B(
10690     BuiltInId::interpolateAtCentroidExt_Float1,
10691     BuiltInName::interpolateAtCentroidExt,
10692     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10693     BuiltInParameters::p00B00B00B,
10694     1,
10695     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10696     EOpInterpolateAtCentroid,
10697     true);
10698 constexpr const TFunction interpolateAtCentroidExt_10B(
10699     BuiltInId::interpolateAtCentroidExt_Float2,
10700     BuiltInName::interpolateAtCentroidExt,
10701     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10702     BuiltInParameters::p10B00B00B,
10703     1,
10704     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10705     EOpInterpolateAtCentroid,
10706     true);
10707 constexpr const TFunction interpolateAtCentroidExt_20B(
10708     BuiltInId::interpolateAtCentroidExt_Float3,
10709     BuiltInName::interpolateAtCentroidExt,
10710     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10711     BuiltInParameters::p20B00B00B,
10712     1,
10713     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10714     EOpInterpolateAtCentroid,
10715     true);
10716 constexpr const TFunction interpolateAtCentroidExt_30B(
10717     BuiltInId::interpolateAtCentroidExt_Float4,
10718     BuiltInName::interpolateAtCentroidExt,
10719     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10720     BuiltInParameters::p30B00B00B,
10721     1,
10722     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10723     EOpInterpolateAtCentroid,
10724     true);
10725 constexpr const TFunction interpolateAtSampleExt_00B00C(
10726     BuiltInId::interpolateAtSampleExt_Float1_Int1,
10727     BuiltInName::interpolateAtSampleExt,
10728     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10729     BuiltInParameters::p00B00C,
10730     2,
10731     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10732     EOpInterpolateAtSample,
10733     true);
10734 constexpr const TFunction interpolateAtSampleExt_10B00C(
10735     BuiltInId::interpolateAtSampleExt_Float2_Int1,
10736     BuiltInName::interpolateAtSampleExt,
10737     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10738     BuiltInParameters::p10B00C,
10739     2,
10740     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10741     EOpInterpolateAtSample,
10742     true);
10743 constexpr const TFunction interpolateAtSampleExt_20B00C(
10744     BuiltInId::interpolateAtSampleExt_Float3_Int1,
10745     BuiltInName::interpolateAtSampleExt,
10746     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10747     BuiltInParameters::p20B00C,
10748     2,
10749     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10750     EOpInterpolateAtSample,
10751     true);
10752 constexpr const TFunction interpolateAtSampleExt_30B00C(
10753     BuiltInId::interpolateAtSampleExt_Float4_Int1,
10754     BuiltInName::interpolateAtSampleExt,
10755     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10756     BuiltInParameters::p30B00C,
10757     2,
10758     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10759     EOpInterpolateAtSample,
10760     true);
10761 constexpr const TFunction interpolateAtOffsetExt_00B10B(
10762     BuiltInId::interpolateAtOffsetExt_Float1_Float2,
10763     BuiltInName::interpolateAtOffsetExt,
10764     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10765     BuiltInParameters::p00B10B,
10766     2,
10767     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
10768     EOpInterpolateAtOffset,
10769     true);
10770 constexpr const TFunction interpolateAtOffsetExt_10B10B(
10771     BuiltInId::interpolateAtOffsetExt_Float2_Float2,
10772     BuiltInName::interpolateAtOffsetExt,
10773     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10774     BuiltInParameters::p10B10B00B,
10775     2,
10776     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
10777     EOpInterpolateAtOffset,
10778     true);
10779 constexpr const TFunction interpolateAtOffsetExt_20B10B(
10780     BuiltInId::interpolateAtOffsetExt_Float3_Float2,
10781     BuiltInName::interpolateAtOffsetExt,
10782     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10783     BuiltInParameters::p20B10B,
10784     2,
10785     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
10786     EOpInterpolateAtOffset,
10787     true);
10788 constexpr const TFunction interpolateAtOffsetExt_30B10B(
10789     BuiltInId::interpolateAtOffsetExt_Float4_Float2,
10790     BuiltInName::interpolateAtOffsetExt,
10791     std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}},
10792     BuiltInParameters::p30B10B,
10793     2,
10794     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
10795     EOpInterpolateAtOffset,
10796     true);
10797 constexpr const TFunction atomicCounter_00F(
10798     BuiltInId::atomicCounter_AtomicCounter1,
10799     BuiltInName::atomicCounter,
10800     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10801     BuiltInParameters::p00F,
10802     1,
10803     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10804     EOpAtomicCounter,
10805     false);
10806 constexpr const TFunction atomicCounterIncrement_00F(
10807     BuiltInId::atomicCounterIncrement_AtomicCounter1,
10808     BuiltInName::atomicCounterIncrement,
10809     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10810     BuiltInParameters::p00F,
10811     1,
10812     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10813     EOpAtomicCounterIncrement,
10814     false);
10815 constexpr const TFunction atomicCounterDecrement_00F(
10816     BuiltInId::atomicCounterDecrement_AtomicCounter1,
10817     BuiltInName::atomicCounterDecrement,
10818     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10819     BuiltInParameters::p00F,
10820     1,
10821     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10822     EOpAtomicCounterDecrement,
10823     false);
10824 constexpr const TFunction atomicAdd_00D00D(
10825     BuiltInId::atomicAdd_UInt1_UInt1,
10826     BuiltInName::atomicAdd,
10827     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10828     BuiltInParameters::p_io_00D00D00D,
10829     2,
10830     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10831     EOpAtomicAdd,
10832     false);
10833 constexpr const TFunction atomicAdd_00C00C(BuiltInId::atomicAdd_Int1_Int1,
10834                                            BuiltInName::atomicAdd,
10835                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10836                                            BuiltInParameters::p_io_00C00C00C,
10837                                            2,
10838                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10839                                            EOpAtomicAdd,
10840                                            false);
10841 constexpr const TFunction atomicMin_00D00D(
10842     BuiltInId::atomicMin_UInt1_UInt1,
10843     BuiltInName::atomicMin,
10844     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10845     BuiltInParameters::p_io_00D00D00D,
10846     2,
10847     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10848     EOpAtomicMin,
10849     false);
10850 constexpr const TFunction atomicMin_00C00C(BuiltInId::atomicMin_Int1_Int1,
10851                                            BuiltInName::atomicMin,
10852                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10853                                            BuiltInParameters::p_io_00C00C00C,
10854                                            2,
10855                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10856                                            EOpAtomicMin,
10857                                            false);
10858 constexpr const TFunction atomicMax_00D00D(
10859     BuiltInId::atomicMax_UInt1_UInt1,
10860     BuiltInName::atomicMax,
10861     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10862     BuiltInParameters::p_io_00D00D00D,
10863     2,
10864     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10865     EOpAtomicMax,
10866     false);
10867 constexpr const TFunction atomicMax_00C00C(BuiltInId::atomicMax_Int1_Int1,
10868                                            BuiltInName::atomicMax,
10869                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10870                                            BuiltInParameters::p_io_00C00C00C,
10871                                            2,
10872                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10873                                            EOpAtomicMax,
10874                                            false);
10875 constexpr const TFunction atomicAnd_00D00D(
10876     BuiltInId::atomicAnd_UInt1_UInt1,
10877     BuiltInName::atomicAnd,
10878     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10879     BuiltInParameters::p_io_00D00D00D,
10880     2,
10881     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10882     EOpAtomicAnd,
10883     false);
10884 constexpr const TFunction atomicAnd_00C00C(BuiltInId::atomicAnd_Int1_Int1,
10885                                            BuiltInName::atomicAnd,
10886                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10887                                            BuiltInParameters::p_io_00C00C00C,
10888                                            2,
10889                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10890                                            EOpAtomicAnd,
10891                                            false);
10892 constexpr const TFunction atomicOr_00D00D(BuiltInId::atomicOr_UInt1_UInt1,
10893                                           BuiltInName::atomicOr,
10894                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10895                                           BuiltInParameters::p_io_00D00D00D,
10896                                           2,
10897                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10898                                           EOpAtomicOr,
10899                                           false);
10900 constexpr const TFunction atomicOr_00C00C(BuiltInId::atomicOr_Int1_Int1,
10901                                           BuiltInName::atomicOr,
10902                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10903                                           BuiltInParameters::p_io_00C00C00C,
10904                                           2,
10905                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10906                                           EOpAtomicOr,
10907                                           false);
10908 constexpr const TFunction atomicXor_00D00D(
10909     BuiltInId::atomicXor_UInt1_UInt1,
10910     BuiltInName::atomicXor,
10911     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10912     BuiltInParameters::p_io_00D00D00D,
10913     2,
10914     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10915     EOpAtomicXor,
10916     false);
10917 constexpr const TFunction atomicXor_00C00C(BuiltInId::atomicXor_Int1_Int1,
10918                                            BuiltInName::atomicXor,
10919                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10920                                            BuiltInParameters::p_io_00C00C00C,
10921                                            2,
10922                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10923                                            EOpAtomicXor,
10924                                            false);
10925 constexpr const TFunction atomicExchange_00D00D(
10926     BuiltInId::atomicExchange_UInt1_UInt1,
10927     BuiltInName::atomicExchange,
10928     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10929     BuiltInParameters::p_io_00D00D00D,
10930     2,
10931     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10932     EOpAtomicExchange,
10933     false);
10934 constexpr const TFunction atomicExchange_00C00C(
10935     BuiltInId::atomicExchange_Int1_Int1,
10936     BuiltInName::atomicExchange,
10937     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10938     BuiltInParameters::p_io_00C00C00C,
10939     2,
10940     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10941     EOpAtomicExchange,
10942     false);
10943 constexpr const TFunction atomicCompSwap_00D00D00D(
10944     BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1,
10945     BuiltInName::atomicCompSwap,
10946     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10947     BuiltInParameters::p_io_00D00D00D,
10948     3,
10949     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
10950     EOpAtomicCompSwap,
10951     false);
10952 constexpr const TFunction atomicCompSwap_00C00C00C(
10953     BuiltInId::atomicCompSwap_Int1_Int1_Int1,
10954     BuiltInName::atomicCompSwap,
10955     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10956     BuiltInParameters::p_io_00C00C00C,
10957     3,
10958     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
10959     EOpAtomicCompSwap,
10960     false);
10961 constexpr const TFunction imageSize_00q(BuiltInId::imageSize_Image2D1,
10962                                         BuiltInName::imageSize,
10963                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10964                                         BuiltInParameters::p00q10C00B,
10965                                         1,
10966                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
10967                                         EOpImageSize,
10968                                         true);
10969 constexpr const TFunction imageSize_00z(BuiltInId::imageSize_IImage2D1,
10970                                         BuiltInName::imageSize,
10971                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10972                                         BuiltInParameters::p00z10C00B,
10973                                         1,
10974                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
10975                                         EOpImageSize,
10976                                         true);
10977 constexpr const TFunction imageSize_01I(BuiltInId::imageSize_UImage2D1,
10978                                         BuiltInName::imageSize,
10979                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10980                                         BuiltInParameters::p01I10C00B,
10981                                         1,
10982                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
10983                                         EOpImageSize,
10984                                         true);
10985 constexpr const TFunction imageSize_00r(BuiltInId::imageSize_Image3D1,
10986                                         BuiltInName::imageSize,
10987                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10988                                         BuiltInParameters::p00r20C00B,
10989                                         1,
10990                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
10991                                         EOpImageSize,
10992                                         true);
10993 constexpr const TFunction imageSize_01A(BuiltInId::imageSize_IImage3D1,
10994                                         BuiltInName::imageSize,
10995                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
10996                                         BuiltInParameters::p01A20C00B,
10997                                         1,
10998                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
10999                                         EOpImageSize,
11000                                         true);
11001 constexpr const TFunction imageSize_01J(BuiltInId::imageSize_UImage3D1,
11002                                         BuiltInName::imageSize,
11003                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11004                                         BuiltInParameters::p01J20C00B,
11005                                         1,
11006                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11007                                         EOpImageSize,
11008                                         true);
11009 constexpr const TFunction imageSize_00s(BuiltInId::imageSize_Image2DArray1,
11010                                         BuiltInName::imageSize,
11011                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11012                                         BuiltInParameters::p00s20C00B,
11013                                         1,
11014                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11015                                         EOpImageSize,
11016                                         true);
11017 constexpr const TFunction imageSize_01B(BuiltInId::imageSize_IImage2DArray1,
11018                                         BuiltInName::imageSize,
11019                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11020                                         BuiltInParameters::p01B20C00B,
11021                                         1,
11022                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11023                                         EOpImageSize,
11024                                         true);
11025 constexpr const TFunction imageSize_01K(BuiltInId::imageSize_UImage2DArray1,
11026                                         BuiltInName::imageSize,
11027                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11028                                         BuiltInParameters::p01K20C00B,
11029                                         1,
11030                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11031                                         EOpImageSize,
11032                                         true);
11033 constexpr const TFunction imageSize_00t(BuiltInId::imageSize_ImageCube1,
11034                                         BuiltInName::imageSize,
11035                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11036                                         BuiltInParameters::p00t20C00B,
11037                                         1,
11038                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
11039                                         EOpImageSize,
11040                                         true);
11041 constexpr const TFunction imageSize_01C(BuiltInId::imageSize_IImageCube1,
11042                                         BuiltInName::imageSize,
11043                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11044                                         BuiltInParameters::p01C20C00B,
11045                                         1,
11046                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
11047                                         EOpImageSize,
11048                                         true);
11049 constexpr const TFunction imageSize_01L(BuiltInId::imageSize_UImageCube1,
11050                                         BuiltInName::imageSize,
11051                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11052                                         BuiltInParameters::p01L20C00B,
11053                                         1,
11054                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
11055                                         EOpImageSize,
11056                                         true);
11057 constexpr const TFunction imageSize_00w(BuiltInId::imageSize_ImageCubeArray1,
11058                                         BuiltInName::imageSize,
11059                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11060                                         BuiltInParameters::p00w20C00B,
11061                                         1,
11062                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11063                                         EOpImageSize,
11064                                         true);
11065 constexpr const TFunction imageSize_01F(BuiltInId::imageSize_IImageCubeArray1,
11066                                         BuiltInName::imageSize,
11067                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11068                                         BuiltInParameters::p01F20C00B,
11069                                         1,
11070                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11071                                         EOpImageSize,
11072                                         true);
11073 constexpr const TFunction imageSize_01O(BuiltInId::imageSize_UImageCubeArray1,
11074                                         BuiltInName::imageSize,
11075                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11076                                         BuiltInParameters::p01O20C00B,
11077                                         1,
11078                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11079                                         EOpImageSize,
11080                                         true);
11081 constexpr const TFunction imageSizeExt_00w(BuiltInId::imageSizeExt_ImageCubeArray1,
11082                                            BuiltInName::imageSizeExt,
11083                                            std::array<TExtension, 2u>{
11084                                                {TExtension::OES_texture_cube_map_array,
11085                                                 TExtension::EXT_texture_cube_map_array}},
11086                                            BuiltInParameters::p00w20C00B,
11087                                            1,
11088                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11089                                            EOpImageSize,
11090                                            true);
11091 constexpr const TFunction imageSizeExt_01F(BuiltInId::imageSizeExt_IImageCubeArray1,
11092                                            BuiltInName::imageSizeExt,
11093                                            std::array<TExtension, 2u>{
11094                                                {TExtension::OES_texture_cube_map_array,
11095                                                 TExtension::EXT_texture_cube_map_array}},
11096                                            BuiltInParameters::p01F20C00B,
11097                                            1,
11098                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11099                                            EOpImageSize,
11100                                            true);
11101 constexpr const TFunction imageSizeExt_01O(BuiltInId::imageSizeExt_UImageCubeArray1,
11102                                            BuiltInName::imageSizeExt,
11103                                            std::array<TExtension, 2u>{
11104                                                {TExtension::OES_texture_cube_map_array,
11105                                                 TExtension::EXT_texture_cube_map_array}},
11106                                            BuiltInParameters::p01O20C00B,
11107                                            1,
11108                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
11109                                            EOpImageSize,
11110                                            true);
11111 constexpr const TFunction imageSize_00y(BuiltInId::imageSize_ImageBuffer1,
11112                                         BuiltInName::imageSize,
11113                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11114                                         BuiltInParameters::p00y00C00B,
11115                                         1,
11116                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11117                                         EOpImageSize,
11118                                         true);
11119 constexpr const TFunction imageSize_01H(BuiltInId::imageSize_IImageBuffer1,
11120                                         BuiltInName::imageSize,
11121                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11122                                         BuiltInParameters::p01H00C00B,
11123                                         1,
11124                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11125                                         EOpImageSize,
11126                                         true);
11127 constexpr const TFunction imageSize_01Q(BuiltInId::imageSize_UImageBuffer1,
11128                                         BuiltInName::imageSize,
11129                                         std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11130                                         BuiltInParameters::p01Q00C00B,
11131                                         1,
11132                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11133                                         EOpImageSize,
11134                                         true);
11135 constexpr const TFunction imageSizeExt_00y(
11136     BuiltInId::imageSizeExt_ImageBuffer1,
11137     BuiltInName::imageSizeExt,
11138     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11139     BuiltInParameters::p00y00C00B,
11140     1,
11141     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11142     EOpImageSize,
11143     true);
11144 constexpr const TFunction imageSizeExt_01H(
11145     BuiltInId::imageSizeExt_IImageBuffer1,
11146     BuiltInName::imageSizeExt,
11147     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11148     BuiltInParameters::p01H00C00B,
11149     1,
11150     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11151     EOpImageSize,
11152     true);
11153 constexpr const TFunction imageSizeExt_01Q(
11154     BuiltInId::imageSizeExt_UImageBuffer1,
11155     BuiltInName::imageSizeExt,
11156     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11157     BuiltInParameters::p01Q00C00B,
11158     1,
11159     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11160     EOpImageSize,
11161     true);
11162 constexpr const TFunction imageStore_00q10C30B(
11163     BuiltInId::imageStore_Image2D1_Int2_Float4,
11164     BuiltInName::imageStore,
11165     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11166     BuiltInParameters::p00q10C30B,
11167     3,
11168     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11169     EOpImageStore,
11170     false);
11171 constexpr const TFunction imageStore_00z10C30C(
11172     BuiltInId::imageStore_IImage2D1_Int2_Int4,
11173     BuiltInName::imageStore,
11174     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11175     BuiltInParameters::p00z10C30C,
11176     3,
11177     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11178     EOpImageStore,
11179     false);
11180 constexpr const TFunction imageStore_01I10C30D(
11181     BuiltInId::imageStore_UImage2D1_Int2_UInt4,
11182     BuiltInName::imageStore,
11183     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11184     BuiltInParameters::p01I10C30D,
11185     3,
11186     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11187     EOpImageStore,
11188     false);
11189 constexpr const TFunction imageStore_00r20C30B(
11190     BuiltInId::imageStore_Image3D1_Int3_Float4,
11191     BuiltInName::imageStore,
11192     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11193     BuiltInParameters::p00r20C30B,
11194     3,
11195     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11196     EOpImageStore,
11197     false);
11198 constexpr const TFunction imageStore_01A20C30C(
11199     BuiltInId::imageStore_IImage3D1_Int3_Int4,
11200     BuiltInName::imageStore,
11201     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11202     BuiltInParameters::p01A20C30C,
11203     3,
11204     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11205     EOpImageStore,
11206     false);
11207 constexpr const TFunction imageStore_01J20C30D(
11208     BuiltInId::imageStore_UImage3D1_Int3_UInt4,
11209     BuiltInName::imageStore,
11210     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11211     BuiltInParameters::p01J20C30D,
11212     3,
11213     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11214     EOpImageStore,
11215     false);
11216 constexpr const TFunction imageStore_00s20C30B(
11217     BuiltInId::imageStore_Image2DArray1_Int3_Float4,
11218     BuiltInName::imageStore,
11219     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11220     BuiltInParameters::p00s20C30B,
11221     3,
11222     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11223     EOpImageStore,
11224     false);
11225 constexpr const TFunction imageStore_01B20C30C(
11226     BuiltInId::imageStore_IImage2DArray1_Int3_Int4,
11227     BuiltInName::imageStore,
11228     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11229     BuiltInParameters::p01B20C30C,
11230     3,
11231     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11232     EOpImageStore,
11233     false);
11234 constexpr const TFunction imageStore_01K20C30D(
11235     BuiltInId::imageStore_UImage2DArray1_Int3_UInt4,
11236     BuiltInName::imageStore,
11237     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11238     BuiltInParameters::p01K20C30D,
11239     3,
11240     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11241     EOpImageStore,
11242     false);
11243 constexpr const TFunction imageStore_00t20C30B(
11244     BuiltInId::imageStore_ImageCube1_Int3_Float4,
11245     BuiltInName::imageStore,
11246     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11247     BuiltInParameters::p00t20C30B,
11248     3,
11249     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11250     EOpImageStore,
11251     false);
11252 constexpr const TFunction imageStore_01C20C30C(
11253     BuiltInId::imageStore_IImageCube1_Int3_Int4,
11254     BuiltInName::imageStore,
11255     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11256     BuiltInParameters::p01C20C30C,
11257     3,
11258     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11259     EOpImageStore,
11260     false);
11261 constexpr const TFunction imageStore_01L20C30D(
11262     BuiltInId::imageStore_UImageCube1_Int3_UInt4,
11263     BuiltInName::imageStore,
11264     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11265     BuiltInParameters::p01L20C30D,
11266     3,
11267     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11268     EOpImageStore,
11269     false);
11270 constexpr const TFunction imageStore_00w20C30B(
11271     BuiltInId::imageStore_ImageCubeArray1_Int3_Float4,
11272     BuiltInName::imageStore,
11273     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11274     BuiltInParameters::p00w20C30B,
11275     3,
11276     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11277     EOpImageStore,
11278     false);
11279 constexpr const TFunction imageStore_01F20C30C(
11280     BuiltInId::imageStore_IImageCubeArray1_Int3_Int4,
11281     BuiltInName::imageStore,
11282     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11283     BuiltInParameters::p01F20C30C,
11284     3,
11285     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11286     EOpImageStore,
11287     false);
11288 constexpr const TFunction imageStore_01O20C30D(
11289     BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4,
11290     BuiltInName::imageStore,
11291     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11292     BuiltInParameters::p01O20C30D,
11293     3,
11294     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11295     EOpImageStore,
11296     false);
11297 constexpr const TFunction imageStoreExt_00w20C30B(
11298     BuiltInId::imageStoreExt_ImageCubeArray1_Int3_Float4,
11299     BuiltInName::imageStoreExt,
11300     std::array<TExtension, 2u>{
11301         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
11302     BuiltInParameters::p00w20C30B,
11303     3,
11304     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11305     EOpImageStore,
11306     false);
11307 constexpr const TFunction imageStoreExt_01F20C30C(
11308     BuiltInId::imageStoreExt_IImageCubeArray1_Int3_Int4,
11309     BuiltInName::imageStoreExt,
11310     std::array<TExtension, 2u>{
11311         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
11312     BuiltInParameters::p01F20C30C,
11313     3,
11314     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11315     EOpImageStore,
11316     false);
11317 constexpr const TFunction imageStoreExt_01O20C30D(
11318     BuiltInId::imageStoreExt_UImageCubeArray1_Int3_UInt4,
11319     BuiltInName::imageStoreExt,
11320     std::array<TExtension, 2u>{
11321         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
11322     BuiltInParameters::p01O20C30D,
11323     3,
11324     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11325     EOpImageStore,
11326     false);
11327 constexpr const TFunction imageStore_00y00C30B(
11328     BuiltInId::imageStore_ImageBuffer1_Int1_Float4,
11329     BuiltInName::imageStore,
11330     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11331     BuiltInParameters::p00y00C30B,
11332     3,
11333     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11334     EOpImageStore,
11335     false);
11336 constexpr const TFunction imageStore_01H00C30C(
11337     BuiltInId::imageStore_IImageBuffer1_Int1_Int4,
11338     BuiltInName::imageStore,
11339     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11340     BuiltInParameters::p01H00C30C,
11341     3,
11342     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11343     EOpImageStore,
11344     false);
11345 constexpr const TFunction imageStore_01Q00C30D(
11346     BuiltInId::imageStore_UImageBuffer1_Int1_UInt4,
11347     BuiltInName::imageStore,
11348     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11349     BuiltInParameters::p01Q00C30D,
11350     3,
11351     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11352     EOpImageStore,
11353     false);
11354 constexpr const TFunction imageStoreExt_00y00C30B(
11355     BuiltInId::imageStoreExt_ImageBuffer1_Int1_Float4,
11356     BuiltInName::imageStoreExt,
11357     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11358     BuiltInParameters::p00y00C30B,
11359     3,
11360     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11361     EOpImageStore,
11362     false);
11363 constexpr const TFunction imageStoreExt_01H00C30C(
11364     BuiltInId::imageStoreExt_IImageBuffer1_Int1_Int4,
11365     BuiltInName::imageStoreExt,
11366     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11367     BuiltInParameters::p01H00C30C,
11368     3,
11369     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11370     EOpImageStore,
11371     false);
11372 constexpr const TFunction imageStoreExt_01Q00C30D(
11373     BuiltInId::imageStoreExt_UImageBuffer1_Int1_UInt4,
11374     BuiltInName::imageStoreExt,
11375     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11376     BuiltInParameters::p01Q00C30D,
11377     3,
11378     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
11379     EOpImageStore,
11380     false);
11381 constexpr const TFunction imageLoad_00q10C(
11382     BuiltInId::imageLoad_Image2D1_Int2,
11383     BuiltInName::imageLoad,
11384     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11385     BuiltInParameters::p00q10C00B,
11386     2,
11387     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11388     EOpImageLoad,
11389     true);
11390 constexpr const TFunction imageLoad_00z10C(BuiltInId::imageLoad_IImage2D1_Int2,
11391                                            BuiltInName::imageLoad,
11392                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11393                                            BuiltInParameters::p00z10C00B,
11394                                            2,
11395                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11396                                            EOpImageLoad,
11397                                            true);
11398 constexpr const TFunction imageLoad_01I10C(
11399     BuiltInId::imageLoad_UImage2D1_Int2,
11400     BuiltInName::imageLoad,
11401     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11402     BuiltInParameters::p01I10C00B,
11403     2,
11404     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11405     EOpImageLoad,
11406     true);
11407 constexpr const TFunction imageLoad_00r20C(
11408     BuiltInId::imageLoad_Image3D1_Int3,
11409     BuiltInName::imageLoad,
11410     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11411     BuiltInParameters::p00r20C00B,
11412     2,
11413     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11414     EOpImageLoad,
11415     true);
11416 constexpr const TFunction imageLoad_01A20C(BuiltInId::imageLoad_IImage3D1_Int3,
11417                                            BuiltInName::imageLoad,
11418                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11419                                            BuiltInParameters::p01A20C00B,
11420                                            2,
11421                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11422                                            EOpImageLoad,
11423                                            true);
11424 constexpr const TFunction imageLoad_01J20C(
11425     BuiltInId::imageLoad_UImage3D1_Int3,
11426     BuiltInName::imageLoad,
11427     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11428     BuiltInParameters::p01J20C00B,
11429     2,
11430     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11431     EOpImageLoad,
11432     true);
11433 constexpr const TFunction imageLoad_00s20C(
11434     BuiltInId::imageLoad_Image2DArray1_Int3,
11435     BuiltInName::imageLoad,
11436     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11437     BuiltInParameters::p00s20C00B,
11438     2,
11439     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11440     EOpImageLoad,
11441     true);
11442 constexpr const TFunction imageLoad_01B20C(BuiltInId::imageLoad_IImage2DArray1_Int3,
11443                                            BuiltInName::imageLoad,
11444                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11445                                            BuiltInParameters::p01B20C00B,
11446                                            2,
11447                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11448                                            EOpImageLoad,
11449                                            true);
11450 constexpr const TFunction imageLoad_01K20C(
11451     BuiltInId::imageLoad_UImage2DArray1_Int3,
11452     BuiltInName::imageLoad,
11453     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11454     BuiltInParameters::p01K20C00B,
11455     2,
11456     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11457     EOpImageLoad,
11458     true);
11459 constexpr const TFunction imageLoad_00t20C(
11460     BuiltInId::imageLoad_ImageCube1_Int3,
11461     BuiltInName::imageLoad,
11462     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11463     BuiltInParameters::p00t20C00B,
11464     2,
11465     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11466     EOpImageLoad,
11467     true);
11468 constexpr const TFunction imageLoad_01C20C(BuiltInId::imageLoad_IImageCube1_Int3,
11469                                            BuiltInName::imageLoad,
11470                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11471                                            BuiltInParameters::p01C20C00B,
11472                                            2,
11473                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11474                                            EOpImageLoad,
11475                                            true);
11476 constexpr const TFunction imageLoad_01L20C(
11477     BuiltInId::imageLoad_UImageCube1_Int3,
11478     BuiltInName::imageLoad,
11479     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11480     BuiltInParameters::p01L20C00B,
11481     2,
11482     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11483     EOpImageLoad,
11484     true);
11485 constexpr const TFunction imageLoad_00w20C(
11486     BuiltInId::imageLoad_ImageCubeArray1_Int3,
11487     BuiltInName::imageLoad,
11488     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11489     BuiltInParameters::p00w20C00B,
11490     2,
11491     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11492     EOpImageLoad,
11493     true);
11494 constexpr const TFunction imageLoad_01F20C(BuiltInId::imageLoad_IImageCubeArray1_Int3,
11495                                            BuiltInName::imageLoad,
11496                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11497                                            BuiltInParameters::p01F20C00B,
11498                                            2,
11499                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11500                                            EOpImageLoad,
11501                                            true);
11502 constexpr const TFunction imageLoad_01O20C(
11503     BuiltInId::imageLoad_UImageCubeArray1_Int3,
11504     BuiltInName::imageLoad,
11505     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11506     BuiltInParameters::p01O20C00B,
11507     2,
11508     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11509     EOpImageLoad,
11510     true);
11511 constexpr const TFunction imageLoadExt_00w20C(
11512     BuiltInId::imageLoadExt_ImageCubeArray1_Int3,
11513     BuiltInName::imageLoadExt,
11514     std::array<TExtension, 2u>{
11515         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
11516     BuiltInParameters::p00w20C00B,
11517     2,
11518     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11519     EOpImageLoad,
11520     true);
11521 constexpr const TFunction imageLoadExt_01F20C(
11522     BuiltInId::imageLoadExt_IImageCubeArray1_Int3,
11523     BuiltInName::imageLoadExt,
11524     std::array<TExtension, 2u>{
11525         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
11526     BuiltInParameters::p01F20C00B,
11527     2,
11528     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11529     EOpImageLoad,
11530     true);
11531 constexpr const TFunction imageLoadExt_01O20C(
11532     BuiltInId::imageLoadExt_UImageCubeArray1_Int3,
11533     BuiltInName::imageLoadExt,
11534     std::array<TExtension, 2u>{
11535         {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}},
11536     BuiltInParameters::p01O20C00B,
11537     2,
11538     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11539     EOpImageLoad,
11540     true);
11541 constexpr const TFunction imageLoad_00y00C(
11542     BuiltInId::imageLoad_ImageBuffer1_Int1,
11543     BuiltInName::imageLoad,
11544     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11545     BuiltInParameters::p00y00C00B,
11546     2,
11547     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11548     EOpImageLoad,
11549     true);
11550 constexpr const TFunction imageLoad_01H00C(BuiltInId::imageLoad_IImageBuffer1_Int1,
11551                                            BuiltInName::imageLoad,
11552                                            std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11553                                            BuiltInParameters::p01H00C00B,
11554                                            2,
11555                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11556                                            EOpImageLoad,
11557                                            true);
11558 constexpr const TFunction imageLoad_01Q00C(
11559     BuiltInId::imageLoad_UImageBuffer1_Int1,
11560     BuiltInName::imageLoad,
11561     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11562     BuiltInParameters::p01Q00C00B,
11563     2,
11564     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11565     EOpImageLoad,
11566     true);
11567 constexpr const TFunction imageLoadExt_00y00C(
11568     BuiltInId::imageLoadExt_ImageBuffer1_Int1,
11569     BuiltInName::imageLoadExt,
11570     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11571     BuiltInParameters::p00y00C00B,
11572     2,
11573     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
11574     EOpImageLoad,
11575     true);
11576 constexpr const TFunction imageLoadExt_01H00C(
11577     BuiltInId::imageLoadExt_IImageBuffer1_Int1,
11578     BuiltInName::imageLoadExt,
11579     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11580     BuiltInParameters::p01H00C00B,
11581     2,
11582     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
11583     EOpImageLoad,
11584     true);
11585 constexpr const TFunction imageLoadExt_01Q00C(
11586     BuiltInId::imageLoadExt_UImageBuffer1_Int1,
11587     BuiltInName::imageLoadExt,
11588     std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}},
11589     BuiltInParameters::p01Q00C00B,
11590     2,
11591     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
11592     EOpImageLoad,
11593     true);
11594 constexpr const TFunction imageAtomicAdd_00q10C00D(
11595     BuiltInId::imageAtomicAdd_Image2D1_Int2_UInt1,
11596     BuiltInName::imageAtomicAdd,
11597     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11598     BuiltInParameters::p00q10C00D00D,
11599     3,
11600     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11601     EOpImageAtomicAdd,
11602     false);
11603 constexpr const TFunction imageAtomicAdd_00z10C00D(
11604     BuiltInId::imageAtomicAdd_IImage2D1_Int2_UInt1,
11605     BuiltInName::imageAtomicAdd,
11606     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11607     BuiltInParameters::p00z10C00D00D,
11608     3,
11609     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11610     EOpImageAtomicAdd,
11611     false);
11612 constexpr const TFunction imageAtomicAdd_01I10C00D(
11613     BuiltInId::imageAtomicAdd_UImage2D1_Int2_UInt1,
11614     BuiltInName::imageAtomicAdd,
11615     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11616     BuiltInParameters::p01I10C00D00D,
11617     3,
11618     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11619     EOpImageAtomicAdd,
11620     false);
11621 constexpr const TFunction imageAtomicAdd_00r20C00D(
11622     BuiltInId::imageAtomicAdd_Image3D1_Int3_UInt1,
11623     BuiltInName::imageAtomicAdd,
11624     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11625     BuiltInParameters::p00r20C00D00D,
11626     3,
11627     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11628     EOpImageAtomicAdd,
11629     false);
11630 constexpr const TFunction imageAtomicAdd_01A20C00D(
11631     BuiltInId::imageAtomicAdd_IImage3D1_Int3_UInt1,
11632     BuiltInName::imageAtomicAdd,
11633     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11634     BuiltInParameters::p01A20C00D00D,
11635     3,
11636     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11637     EOpImageAtomicAdd,
11638     false);
11639 constexpr const TFunction imageAtomicAdd_01J20C00D(
11640     BuiltInId::imageAtomicAdd_UImage3D1_Int3_UInt1,
11641     BuiltInName::imageAtomicAdd,
11642     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11643     BuiltInParameters::p01J20C00D00D,
11644     3,
11645     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11646     EOpImageAtomicAdd,
11647     false);
11648 constexpr const TFunction imageAtomicAdd_00t20C00D(
11649     BuiltInId::imageAtomicAdd_ImageCube1_Int3_UInt1,
11650     BuiltInName::imageAtomicAdd,
11651     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11652     BuiltInParameters::p00t20C00D00D,
11653     3,
11654     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11655     EOpImageAtomicAdd,
11656     false);
11657 constexpr const TFunction imageAtomicAdd_01C20C00D(
11658     BuiltInId::imageAtomicAdd_IImageCube1_Int3_UInt1,
11659     BuiltInName::imageAtomicAdd,
11660     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11661     BuiltInParameters::p01C20C00D00D,
11662     3,
11663     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11664     EOpImageAtomicAdd,
11665     false);
11666 constexpr const TFunction imageAtomicAdd_01L20C00D(
11667     BuiltInId::imageAtomicAdd_UImageCube1_Int3_UInt1,
11668     BuiltInName::imageAtomicAdd,
11669     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11670     BuiltInParameters::p01L20C00D00D,
11671     3,
11672     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11673     EOpImageAtomicAdd,
11674     false);
11675 constexpr const TFunction imageAtomicAdd_00y00C00D(
11676     BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_UInt1,
11677     BuiltInName::imageAtomicAdd,
11678     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11679     BuiltInParameters::p00y00C00D00D,
11680     3,
11681     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11682     EOpImageAtomicAdd,
11683     false);
11684 constexpr const TFunction imageAtomicAdd_01H00C00D(
11685     BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_UInt1,
11686     BuiltInName::imageAtomicAdd,
11687     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11688     BuiltInParameters::p01H00C00D00D,
11689     3,
11690     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11691     EOpImageAtomicAdd,
11692     false);
11693 constexpr const TFunction imageAtomicAdd_01Q00C00D(
11694     BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_UInt1,
11695     BuiltInName::imageAtomicAdd,
11696     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11697     BuiltInParameters::p01Q00C00D00D,
11698     3,
11699     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11700     EOpImageAtomicAdd,
11701     false);
11702 constexpr const TFunction imageAtomicAdd_00s20C00D(
11703     BuiltInId::imageAtomicAdd_Image2DArray1_Int3_UInt1,
11704     BuiltInName::imageAtomicAdd,
11705     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11706     BuiltInParameters::p00s20C00D00D,
11707     3,
11708     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11709     EOpImageAtomicAdd,
11710     false);
11711 constexpr const TFunction imageAtomicAdd_01B20C00D(
11712     BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_UInt1,
11713     BuiltInName::imageAtomicAdd,
11714     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11715     BuiltInParameters::p01B20C00D00D,
11716     3,
11717     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11718     EOpImageAtomicAdd,
11719     false);
11720 constexpr const TFunction imageAtomicAdd_01K20C00D(
11721     BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_UInt1,
11722     BuiltInName::imageAtomicAdd,
11723     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11724     BuiltInParameters::p01K20C00D00D,
11725     3,
11726     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11727     EOpImageAtomicAdd,
11728     false);
11729 constexpr const TFunction imageAtomicAdd_00w20C00D(
11730     BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_UInt1,
11731     BuiltInName::imageAtomicAdd,
11732     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11733     BuiltInParameters::p00w20C00D00D,
11734     3,
11735     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11736     EOpImageAtomicAdd,
11737     false);
11738 constexpr const TFunction imageAtomicAdd_01F20C00D(
11739     BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_UInt1,
11740     BuiltInName::imageAtomicAdd,
11741     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11742     BuiltInParameters::p01F20C00D00D,
11743     3,
11744     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11745     EOpImageAtomicAdd,
11746     false);
11747 constexpr const TFunction imageAtomicAdd_01O20C00D(
11748     BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_UInt1,
11749     BuiltInName::imageAtomicAdd,
11750     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11751     BuiltInParameters::p01O20C00D00D,
11752     3,
11753     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11754     EOpImageAtomicAdd,
11755     false);
11756 constexpr const TFunction imageAtomicAdd_00x10C00D(
11757     BuiltInId::imageAtomicAdd_ImageRect1_Int2_UInt1,
11758     BuiltInName::imageAtomicAdd,
11759     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11760     BuiltInParameters::p00x10C00D00D,
11761     3,
11762     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11763     EOpImageAtomicAdd,
11764     false);
11765 constexpr const TFunction imageAtomicAdd_01G10C00D(
11766     BuiltInId::imageAtomicAdd_IImageRect1_Int2_UInt1,
11767     BuiltInName::imageAtomicAdd,
11768     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11769     BuiltInParameters::p01G10C00D00D,
11770     3,
11771     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11772     EOpImageAtomicAdd,
11773     false);
11774 constexpr const TFunction imageAtomicAdd_01P10C00D(
11775     BuiltInId::imageAtomicAdd_UImageRect1_Int2_UInt1,
11776     BuiltInName::imageAtomicAdd,
11777     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11778     BuiltInParameters::p01P10C00D00D,
11779     3,
11780     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11781     EOpImageAtomicAdd,
11782     false);
11783 constexpr const TFunction imageAtomicAdd_00u10C00C00D(
11784     BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_UInt1,
11785     BuiltInName::imageAtomicAdd,
11786     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11787     BuiltInParameters::p00u10C00C00D00D,
11788     4,
11789     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11790     EOpImageAtomicAdd,
11791     false);
11792 constexpr const TFunction imageAtomicAdd_01D10C00C00D(
11793     BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_UInt1,
11794     BuiltInName::imageAtomicAdd,
11795     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11796     BuiltInParameters::p01D10C00C00D00D,
11797     4,
11798     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11799     EOpImageAtomicAdd,
11800     false);
11801 constexpr const TFunction imageAtomicAdd_01M10C00C00D(
11802     BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_UInt1,
11803     BuiltInName::imageAtomicAdd,
11804     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11805     BuiltInParameters::p01M10C00C00D00D,
11806     4,
11807     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11808     EOpImageAtomicAdd,
11809     false);
11810 constexpr const TFunction imageAtomicAdd_00v20C00C00D(
11811     BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_UInt1,
11812     BuiltInName::imageAtomicAdd,
11813     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11814     BuiltInParameters::p00v20C00C00D00D,
11815     4,
11816     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11817     EOpImageAtomicAdd,
11818     false);
11819 constexpr const TFunction imageAtomicAdd_01E20C00C00D(
11820     BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_UInt1,
11821     BuiltInName::imageAtomicAdd,
11822     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11823     BuiltInParameters::p01E20C00C00D00D,
11824     4,
11825     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11826     EOpImageAtomicAdd,
11827     false);
11828 constexpr const TFunction imageAtomicAdd_01N20C00C00D(
11829     BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_UInt1,
11830     BuiltInName::imageAtomicAdd,
11831     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11832     BuiltInParameters::p01N20C00C00D00D,
11833     4,
11834     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
11835     EOpImageAtomicAdd,
11836     false);
11837 constexpr const TFunction imageAtomicAdd_00q10C00C(
11838     BuiltInId::imageAtomicAdd_Image2D1_Int2_Int1,
11839     BuiltInName::imageAtomicAdd,
11840     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11841     BuiltInParameters::p00q10C00C00C,
11842     3,
11843     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11844     EOpImageAtomicAdd,
11845     false);
11846 constexpr const TFunction imageAtomicAdd_00z10C00C(
11847     BuiltInId::imageAtomicAdd_IImage2D1_Int2_Int1,
11848     BuiltInName::imageAtomicAdd,
11849     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11850     BuiltInParameters::p00z10C00C00C,
11851     3,
11852     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11853     EOpImageAtomicAdd,
11854     false);
11855 constexpr const TFunction imageAtomicAdd_01I10C00C(
11856     BuiltInId::imageAtomicAdd_UImage2D1_Int2_Int1,
11857     BuiltInName::imageAtomicAdd,
11858     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11859     BuiltInParameters::p01I10C00C00C,
11860     3,
11861     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11862     EOpImageAtomicAdd,
11863     false);
11864 constexpr const TFunction imageAtomicAdd_00r20C00C(
11865     BuiltInId::imageAtomicAdd_Image3D1_Int3_Int1,
11866     BuiltInName::imageAtomicAdd,
11867     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11868     BuiltInParameters::p00r20C00C00C,
11869     3,
11870     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11871     EOpImageAtomicAdd,
11872     false);
11873 constexpr const TFunction imageAtomicAdd_01A20C00C(
11874     BuiltInId::imageAtomicAdd_IImage3D1_Int3_Int1,
11875     BuiltInName::imageAtomicAdd,
11876     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11877     BuiltInParameters::p01A20C00C00C,
11878     3,
11879     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11880     EOpImageAtomicAdd,
11881     false);
11882 constexpr const TFunction imageAtomicAdd_01J20C00C(
11883     BuiltInId::imageAtomicAdd_UImage3D1_Int3_Int1,
11884     BuiltInName::imageAtomicAdd,
11885     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11886     BuiltInParameters::p01J20C00C00C,
11887     3,
11888     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11889     EOpImageAtomicAdd,
11890     false);
11891 constexpr const TFunction imageAtomicAdd_00t20C00C(
11892     BuiltInId::imageAtomicAdd_ImageCube1_Int3_Int1,
11893     BuiltInName::imageAtomicAdd,
11894     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11895     BuiltInParameters::p00t20C00C00C,
11896     3,
11897     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11898     EOpImageAtomicAdd,
11899     false);
11900 constexpr const TFunction imageAtomicAdd_01C20C00C(
11901     BuiltInId::imageAtomicAdd_IImageCube1_Int3_Int1,
11902     BuiltInName::imageAtomicAdd,
11903     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11904     BuiltInParameters::p01C20C00C00C,
11905     3,
11906     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11907     EOpImageAtomicAdd,
11908     false);
11909 constexpr const TFunction imageAtomicAdd_01L20C00C(
11910     BuiltInId::imageAtomicAdd_UImageCube1_Int3_Int1,
11911     BuiltInName::imageAtomicAdd,
11912     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11913     BuiltInParameters::p01L20C00C00C,
11914     3,
11915     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11916     EOpImageAtomicAdd,
11917     false);
11918 constexpr const TFunction imageAtomicAdd_00y00C00C(
11919     BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_Int1,
11920     BuiltInName::imageAtomicAdd,
11921     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11922     BuiltInParameters::p00y00C00C00C,
11923     3,
11924     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11925     EOpImageAtomicAdd,
11926     false);
11927 constexpr const TFunction imageAtomicAdd_01H00C00C(
11928     BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_Int1,
11929     BuiltInName::imageAtomicAdd,
11930     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11931     BuiltInParameters::p01H00C00C00C,
11932     3,
11933     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11934     EOpImageAtomicAdd,
11935     false);
11936 constexpr const TFunction imageAtomicAdd_01Q00C00C(
11937     BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_Int1,
11938     BuiltInName::imageAtomicAdd,
11939     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11940     BuiltInParameters::p01Q00C00C00C,
11941     3,
11942     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11943     EOpImageAtomicAdd,
11944     false);
11945 constexpr const TFunction imageAtomicAdd_00s20C00C(
11946     BuiltInId::imageAtomicAdd_Image2DArray1_Int3_Int1,
11947     BuiltInName::imageAtomicAdd,
11948     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11949     BuiltInParameters::p00s20C00C00C,
11950     3,
11951     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11952     EOpImageAtomicAdd,
11953     false);
11954 constexpr const TFunction imageAtomicAdd_01B20C00C(
11955     BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_Int1,
11956     BuiltInName::imageAtomicAdd,
11957     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11958     BuiltInParameters::p01B20C00C00C,
11959     3,
11960     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11961     EOpImageAtomicAdd,
11962     false);
11963 constexpr const TFunction imageAtomicAdd_01K20C00C(
11964     BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_Int1,
11965     BuiltInName::imageAtomicAdd,
11966     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11967     BuiltInParameters::p01K20C00C00C,
11968     3,
11969     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11970     EOpImageAtomicAdd,
11971     false);
11972 constexpr const TFunction imageAtomicAdd_00w20C00C(
11973     BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_Int1,
11974     BuiltInName::imageAtomicAdd,
11975     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11976     BuiltInParameters::p00w20C00C00C,
11977     3,
11978     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11979     EOpImageAtomicAdd,
11980     false);
11981 constexpr const TFunction imageAtomicAdd_01F20C00C(
11982     BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_Int1,
11983     BuiltInName::imageAtomicAdd,
11984     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11985     BuiltInParameters::p01F20C00C00C,
11986     3,
11987     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11988     EOpImageAtomicAdd,
11989     false);
11990 constexpr const TFunction imageAtomicAdd_01O20C00C(
11991     BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_Int1,
11992     BuiltInName::imageAtomicAdd,
11993     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
11994     BuiltInParameters::p01O20C00C00C,
11995     3,
11996     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
11997     EOpImageAtomicAdd,
11998     false);
11999 constexpr const TFunction imageAtomicAdd_00x10C00C(
12000     BuiltInId::imageAtomicAdd_ImageRect1_Int2_Int1,
12001     BuiltInName::imageAtomicAdd,
12002     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12003     BuiltInParameters::p00x10C00C00C,
12004     3,
12005     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12006     EOpImageAtomicAdd,
12007     false);
12008 constexpr const TFunction imageAtomicAdd_01G10C00C(
12009     BuiltInId::imageAtomicAdd_IImageRect1_Int2_Int1,
12010     BuiltInName::imageAtomicAdd,
12011     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12012     BuiltInParameters::p01G10C00C00C,
12013     3,
12014     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12015     EOpImageAtomicAdd,
12016     false);
12017 constexpr const TFunction imageAtomicAdd_01P10C00C(
12018     BuiltInId::imageAtomicAdd_UImageRect1_Int2_Int1,
12019     BuiltInName::imageAtomicAdd,
12020     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12021     BuiltInParameters::p01P10C00C00C,
12022     3,
12023     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12024     EOpImageAtomicAdd,
12025     false);
12026 constexpr const TFunction imageAtomicAdd_00u10C00C00C(
12027     BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_Int1,
12028     BuiltInName::imageAtomicAdd,
12029     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12030     BuiltInParameters::p00u10C00C00C00C,
12031     4,
12032     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12033     EOpImageAtomicAdd,
12034     false);
12035 constexpr const TFunction imageAtomicAdd_01D10C00C00C(
12036     BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_Int1,
12037     BuiltInName::imageAtomicAdd,
12038     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12039     BuiltInParameters::p01D10C00C00C00C,
12040     4,
12041     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12042     EOpImageAtomicAdd,
12043     false);
12044 constexpr const TFunction imageAtomicAdd_01M10C00C00C(
12045     BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_Int1,
12046     BuiltInName::imageAtomicAdd,
12047     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12048     BuiltInParameters::p01M10C00C00C00C,
12049     4,
12050     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12051     EOpImageAtomicAdd,
12052     false);
12053 constexpr const TFunction imageAtomicAdd_00v20C00C00C(
12054     BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_Int1,
12055     BuiltInName::imageAtomicAdd,
12056     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12057     BuiltInParameters::p00v20C00C00C00C,
12058     4,
12059     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12060     EOpImageAtomicAdd,
12061     false);
12062 constexpr const TFunction imageAtomicAdd_01E20C00C00C(
12063     BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_Int1,
12064     BuiltInName::imageAtomicAdd,
12065     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12066     BuiltInParameters::p01E20C00C00C00C,
12067     4,
12068     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12069     EOpImageAtomicAdd,
12070     false);
12071 constexpr const TFunction imageAtomicAdd_01N20C00C00C(
12072     BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_Int1,
12073     BuiltInName::imageAtomicAdd,
12074     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12075     BuiltInParameters::p01N20C00C00C00C,
12076     4,
12077     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12078     EOpImageAtomicAdd,
12079     false);
12080 constexpr const TFunction imageAtomicMin_00q10C00D(
12081     BuiltInId::imageAtomicMin_Image2D1_Int2_UInt1,
12082     BuiltInName::imageAtomicMin,
12083     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12084     BuiltInParameters::p00q10C00D00D,
12085     3,
12086     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12087     EOpImageAtomicMin,
12088     false);
12089 constexpr const TFunction imageAtomicMin_00z10C00D(
12090     BuiltInId::imageAtomicMin_IImage2D1_Int2_UInt1,
12091     BuiltInName::imageAtomicMin,
12092     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12093     BuiltInParameters::p00z10C00D00D,
12094     3,
12095     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12096     EOpImageAtomicMin,
12097     false);
12098 constexpr const TFunction imageAtomicMin_01I10C00D(
12099     BuiltInId::imageAtomicMin_UImage2D1_Int2_UInt1,
12100     BuiltInName::imageAtomicMin,
12101     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12102     BuiltInParameters::p01I10C00D00D,
12103     3,
12104     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12105     EOpImageAtomicMin,
12106     false);
12107 constexpr const TFunction imageAtomicMin_00r20C00D(
12108     BuiltInId::imageAtomicMin_Image3D1_Int3_UInt1,
12109     BuiltInName::imageAtomicMin,
12110     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12111     BuiltInParameters::p00r20C00D00D,
12112     3,
12113     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12114     EOpImageAtomicMin,
12115     false);
12116 constexpr const TFunction imageAtomicMin_01A20C00D(
12117     BuiltInId::imageAtomicMin_IImage3D1_Int3_UInt1,
12118     BuiltInName::imageAtomicMin,
12119     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12120     BuiltInParameters::p01A20C00D00D,
12121     3,
12122     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12123     EOpImageAtomicMin,
12124     false);
12125 constexpr const TFunction imageAtomicMin_01J20C00D(
12126     BuiltInId::imageAtomicMin_UImage3D1_Int3_UInt1,
12127     BuiltInName::imageAtomicMin,
12128     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12129     BuiltInParameters::p01J20C00D00D,
12130     3,
12131     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12132     EOpImageAtomicMin,
12133     false);
12134 constexpr const TFunction imageAtomicMin_00t20C00D(
12135     BuiltInId::imageAtomicMin_ImageCube1_Int3_UInt1,
12136     BuiltInName::imageAtomicMin,
12137     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12138     BuiltInParameters::p00t20C00D00D,
12139     3,
12140     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12141     EOpImageAtomicMin,
12142     false);
12143 constexpr const TFunction imageAtomicMin_01C20C00D(
12144     BuiltInId::imageAtomicMin_IImageCube1_Int3_UInt1,
12145     BuiltInName::imageAtomicMin,
12146     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12147     BuiltInParameters::p01C20C00D00D,
12148     3,
12149     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12150     EOpImageAtomicMin,
12151     false);
12152 constexpr const TFunction imageAtomicMin_01L20C00D(
12153     BuiltInId::imageAtomicMin_UImageCube1_Int3_UInt1,
12154     BuiltInName::imageAtomicMin,
12155     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12156     BuiltInParameters::p01L20C00D00D,
12157     3,
12158     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12159     EOpImageAtomicMin,
12160     false);
12161 constexpr const TFunction imageAtomicMin_00y00C00D(
12162     BuiltInId::imageAtomicMin_ImageBuffer1_Int1_UInt1,
12163     BuiltInName::imageAtomicMin,
12164     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12165     BuiltInParameters::p00y00C00D00D,
12166     3,
12167     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12168     EOpImageAtomicMin,
12169     false);
12170 constexpr const TFunction imageAtomicMin_01H00C00D(
12171     BuiltInId::imageAtomicMin_IImageBuffer1_Int1_UInt1,
12172     BuiltInName::imageAtomicMin,
12173     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12174     BuiltInParameters::p01H00C00D00D,
12175     3,
12176     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12177     EOpImageAtomicMin,
12178     false);
12179 constexpr const TFunction imageAtomicMin_01Q00C00D(
12180     BuiltInId::imageAtomicMin_UImageBuffer1_Int1_UInt1,
12181     BuiltInName::imageAtomicMin,
12182     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12183     BuiltInParameters::p01Q00C00D00D,
12184     3,
12185     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12186     EOpImageAtomicMin,
12187     false);
12188 constexpr const TFunction imageAtomicMin_00s20C00D(
12189     BuiltInId::imageAtomicMin_Image2DArray1_Int3_UInt1,
12190     BuiltInName::imageAtomicMin,
12191     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12192     BuiltInParameters::p00s20C00D00D,
12193     3,
12194     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12195     EOpImageAtomicMin,
12196     false);
12197 constexpr const TFunction imageAtomicMin_01B20C00D(
12198     BuiltInId::imageAtomicMin_IImage2DArray1_Int3_UInt1,
12199     BuiltInName::imageAtomicMin,
12200     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12201     BuiltInParameters::p01B20C00D00D,
12202     3,
12203     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12204     EOpImageAtomicMin,
12205     false);
12206 constexpr const TFunction imageAtomicMin_01K20C00D(
12207     BuiltInId::imageAtomicMin_UImage2DArray1_Int3_UInt1,
12208     BuiltInName::imageAtomicMin,
12209     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12210     BuiltInParameters::p01K20C00D00D,
12211     3,
12212     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12213     EOpImageAtomicMin,
12214     false);
12215 constexpr const TFunction imageAtomicMin_00w20C00D(
12216     BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_UInt1,
12217     BuiltInName::imageAtomicMin,
12218     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12219     BuiltInParameters::p00w20C00D00D,
12220     3,
12221     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12222     EOpImageAtomicMin,
12223     false);
12224 constexpr const TFunction imageAtomicMin_01F20C00D(
12225     BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_UInt1,
12226     BuiltInName::imageAtomicMin,
12227     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12228     BuiltInParameters::p01F20C00D00D,
12229     3,
12230     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12231     EOpImageAtomicMin,
12232     false);
12233 constexpr const TFunction imageAtomicMin_01O20C00D(
12234     BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_UInt1,
12235     BuiltInName::imageAtomicMin,
12236     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12237     BuiltInParameters::p01O20C00D00D,
12238     3,
12239     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12240     EOpImageAtomicMin,
12241     false);
12242 constexpr const TFunction imageAtomicMin_00x10C00D(
12243     BuiltInId::imageAtomicMin_ImageRect1_Int2_UInt1,
12244     BuiltInName::imageAtomicMin,
12245     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12246     BuiltInParameters::p00x10C00D00D,
12247     3,
12248     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12249     EOpImageAtomicMin,
12250     false);
12251 constexpr const TFunction imageAtomicMin_01G10C00D(
12252     BuiltInId::imageAtomicMin_IImageRect1_Int2_UInt1,
12253     BuiltInName::imageAtomicMin,
12254     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12255     BuiltInParameters::p01G10C00D00D,
12256     3,
12257     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12258     EOpImageAtomicMin,
12259     false);
12260 constexpr const TFunction imageAtomicMin_01P10C00D(
12261     BuiltInId::imageAtomicMin_UImageRect1_Int2_UInt1,
12262     BuiltInName::imageAtomicMin,
12263     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12264     BuiltInParameters::p01P10C00D00D,
12265     3,
12266     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12267     EOpImageAtomicMin,
12268     false);
12269 constexpr const TFunction imageAtomicMin_00u10C00C00D(
12270     BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_UInt1,
12271     BuiltInName::imageAtomicMin,
12272     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12273     BuiltInParameters::p00u10C00C00D00D,
12274     4,
12275     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12276     EOpImageAtomicMin,
12277     false);
12278 constexpr const TFunction imageAtomicMin_01D10C00C00D(
12279     BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_UInt1,
12280     BuiltInName::imageAtomicMin,
12281     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12282     BuiltInParameters::p01D10C00C00D00D,
12283     4,
12284     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12285     EOpImageAtomicMin,
12286     false);
12287 constexpr const TFunction imageAtomicMin_01M10C00C00D(
12288     BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_UInt1,
12289     BuiltInName::imageAtomicMin,
12290     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12291     BuiltInParameters::p01M10C00C00D00D,
12292     4,
12293     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12294     EOpImageAtomicMin,
12295     false);
12296 constexpr const TFunction imageAtomicMin_00v20C00C00D(
12297     BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_UInt1,
12298     BuiltInName::imageAtomicMin,
12299     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12300     BuiltInParameters::p00v20C00C00D00D,
12301     4,
12302     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12303     EOpImageAtomicMin,
12304     false);
12305 constexpr const TFunction imageAtomicMin_01E20C00C00D(
12306     BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_UInt1,
12307     BuiltInName::imageAtomicMin,
12308     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12309     BuiltInParameters::p01E20C00C00D00D,
12310     4,
12311     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12312     EOpImageAtomicMin,
12313     false);
12314 constexpr const TFunction imageAtomicMin_01N20C00C00D(
12315     BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_UInt1,
12316     BuiltInName::imageAtomicMin,
12317     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12318     BuiltInParameters::p01N20C00C00D00D,
12319     4,
12320     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12321     EOpImageAtomicMin,
12322     false);
12323 constexpr const TFunction imageAtomicMin_00q10C00C(
12324     BuiltInId::imageAtomicMin_Image2D1_Int2_Int1,
12325     BuiltInName::imageAtomicMin,
12326     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12327     BuiltInParameters::p00q10C00C00C,
12328     3,
12329     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12330     EOpImageAtomicMin,
12331     false);
12332 constexpr const TFunction imageAtomicMin_00z10C00C(
12333     BuiltInId::imageAtomicMin_IImage2D1_Int2_Int1,
12334     BuiltInName::imageAtomicMin,
12335     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12336     BuiltInParameters::p00z10C00C00C,
12337     3,
12338     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12339     EOpImageAtomicMin,
12340     false);
12341 constexpr const TFunction imageAtomicMin_01I10C00C(
12342     BuiltInId::imageAtomicMin_UImage2D1_Int2_Int1,
12343     BuiltInName::imageAtomicMin,
12344     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12345     BuiltInParameters::p01I10C00C00C,
12346     3,
12347     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12348     EOpImageAtomicMin,
12349     false);
12350 constexpr const TFunction imageAtomicMin_00r20C00C(
12351     BuiltInId::imageAtomicMin_Image3D1_Int3_Int1,
12352     BuiltInName::imageAtomicMin,
12353     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12354     BuiltInParameters::p00r20C00C00C,
12355     3,
12356     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12357     EOpImageAtomicMin,
12358     false);
12359 constexpr const TFunction imageAtomicMin_01A20C00C(
12360     BuiltInId::imageAtomicMin_IImage3D1_Int3_Int1,
12361     BuiltInName::imageAtomicMin,
12362     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12363     BuiltInParameters::p01A20C00C00C,
12364     3,
12365     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12366     EOpImageAtomicMin,
12367     false);
12368 constexpr const TFunction imageAtomicMin_01J20C00C(
12369     BuiltInId::imageAtomicMin_UImage3D1_Int3_Int1,
12370     BuiltInName::imageAtomicMin,
12371     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12372     BuiltInParameters::p01J20C00C00C,
12373     3,
12374     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12375     EOpImageAtomicMin,
12376     false);
12377 constexpr const TFunction imageAtomicMin_00t20C00C(
12378     BuiltInId::imageAtomicMin_ImageCube1_Int3_Int1,
12379     BuiltInName::imageAtomicMin,
12380     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12381     BuiltInParameters::p00t20C00C00C,
12382     3,
12383     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12384     EOpImageAtomicMin,
12385     false);
12386 constexpr const TFunction imageAtomicMin_01C20C00C(
12387     BuiltInId::imageAtomicMin_IImageCube1_Int3_Int1,
12388     BuiltInName::imageAtomicMin,
12389     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12390     BuiltInParameters::p01C20C00C00C,
12391     3,
12392     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12393     EOpImageAtomicMin,
12394     false);
12395 constexpr const TFunction imageAtomicMin_01L20C00C(
12396     BuiltInId::imageAtomicMin_UImageCube1_Int3_Int1,
12397     BuiltInName::imageAtomicMin,
12398     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12399     BuiltInParameters::p01L20C00C00C,
12400     3,
12401     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12402     EOpImageAtomicMin,
12403     false);
12404 constexpr const TFunction imageAtomicMin_00y00C00C(
12405     BuiltInId::imageAtomicMin_ImageBuffer1_Int1_Int1,
12406     BuiltInName::imageAtomicMin,
12407     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12408     BuiltInParameters::p00y00C00C00C,
12409     3,
12410     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12411     EOpImageAtomicMin,
12412     false);
12413 constexpr const TFunction imageAtomicMin_01H00C00C(
12414     BuiltInId::imageAtomicMin_IImageBuffer1_Int1_Int1,
12415     BuiltInName::imageAtomicMin,
12416     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12417     BuiltInParameters::p01H00C00C00C,
12418     3,
12419     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12420     EOpImageAtomicMin,
12421     false);
12422 constexpr const TFunction imageAtomicMin_01Q00C00C(
12423     BuiltInId::imageAtomicMin_UImageBuffer1_Int1_Int1,
12424     BuiltInName::imageAtomicMin,
12425     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12426     BuiltInParameters::p01Q00C00C00C,
12427     3,
12428     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12429     EOpImageAtomicMin,
12430     false);
12431 constexpr const TFunction imageAtomicMin_00s20C00C(
12432     BuiltInId::imageAtomicMin_Image2DArray1_Int3_Int1,
12433     BuiltInName::imageAtomicMin,
12434     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12435     BuiltInParameters::p00s20C00C00C,
12436     3,
12437     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12438     EOpImageAtomicMin,
12439     false);
12440 constexpr const TFunction imageAtomicMin_01B20C00C(
12441     BuiltInId::imageAtomicMin_IImage2DArray1_Int3_Int1,
12442     BuiltInName::imageAtomicMin,
12443     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12444     BuiltInParameters::p01B20C00C00C,
12445     3,
12446     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12447     EOpImageAtomicMin,
12448     false);
12449 constexpr const TFunction imageAtomicMin_01K20C00C(
12450     BuiltInId::imageAtomicMin_UImage2DArray1_Int3_Int1,
12451     BuiltInName::imageAtomicMin,
12452     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12453     BuiltInParameters::p01K20C00C00C,
12454     3,
12455     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12456     EOpImageAtomicMin,
12457     false);
12458 constexpr const TFunction imageAtomicMin_00w20C00C(
12459     BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_Int1,
12460     BuiltInName::imageAtomicMin,
12461     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12462     BuiltInParameters::p00w20C00C00C,
12463     3,
12464     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12465     EOpImageAtomicMin,
12466     false);
12467 constexpr const TFunction imageAtomicMin_01F20C00C(
12468     BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_Int1,
12469     BuiltInName::imageAtomicMin,
12470     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12471     BuiltInParameters::p01F20C00C00C,
12472     3,
12473     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12474     EOpImageAtomicMin,
12475     false);
12476 constexpr const TFunction imageAtomicMin_01O20C00C(
12477     BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_Int1,
12478     BuiltInName::imageAtomicMin,
12479     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12480     BuiltInParameters::p01O20C00C00C,
12481     3,
12482     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12483     EOpImageAtomicMin,
12484     false);
12485 constexpr const TFunction imageAtomicMin_00x10C00C(
12486     BuiltInId::imageAtomicMin_ImageRect1_Int2_Int1,
12487     BuiltInName::imageAtomicMin,
12488     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12489     BuiltInParameters::p00x10C00C00C,
12490     3,
12491     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12492     EOpImageAtomicMin,
12493     false);
12494 constexpr const TFunction imageAtomicMin_01G10C00C(
12495     BuiltInId::imageAtomicMin_IImageRect1_Int2_Int1,
12496     BuiltInName::imageAtomicMin,
12497     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12498     BuiltInParameters::p01G10C00C00C,
12499     3,
12500     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12501     EOpImageAtomicMin,
12502     false);
12503 constexpr const TFunction imageAtomicMin_01P10C00C(
12504     BuiltInId::imageAtomicMin_UImageRect1_Int2_Int1,
12505     BuiltInName::imageAtomicMin,
12506     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12507     BuiltInParameters::p01P10C00C00C,
12508     3,
12509     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12510     EOpImageAtomicMin,
12511     false);
12512 constexpr const TFunction imageAtomicMin_00u10C00C00C(
12513     BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_Int1,
12514     BuiltInName::imageAtomicMin,
12515     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12516     BuiltInParameters::p00u10C00C00C00C,
12517     4,
12518     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12519     EOpImageAtomicMin,
12520     false);
12521 constexpr const TFunction imageAtomicMin_01D10C00C00C(
12522     BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_Int1,
12523     BuiltInName::imageAtomicMin,
12524     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12525     BuiltInParameters::p01D10C00C00C00C,
12526     4,
12527     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12528     EOpImageAtomicMin,
12529     false);
12530 constexpr const TFunction imageAtomicMin_01M10C00C00C(
12531     BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_Int1,
12532     BuiltInName::imageAtomicMin,
12533     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12534     BuiltInParameters::p01M10C00C00C00C,
12535     4,
12536     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12537     EOpImageAtomicMin,
12538     false);
12539 constexpr const TFunction imageAtomicMin_00v20C00C00C(
12540     BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_Int1,
12541     BuiltInName::imageAtomicMin,
12542     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12543     BuiltInParameters::p00v20C00C00C00C,
12544     4,
12545     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12546     EOpImageAtomicMin,
12547     false);
12548 constexpr const TFunction imageAtomicMin_01E20C00C00C(
12549     BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_Int1,
12550     BuiltInName::imageAtomicMin,
12551     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12552     BuiltInParameters::p01E20C00C00C00C,
12553     4,
12554     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12555     EOpImageAtomicMin,
12556     false);
12557 constexpr const TFunction imageAtomicMin_01N20C00C00C(
12558     BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_Int1,
12559     BuiltInName::imageAtomicMin,
12560     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12561     BuiltInParameters::p01N20C00C00C00C,
12562     4,
12563     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12564     EOpImageAtomicMin,
12565     false);
12566 constexpr const TFunction imageAtomicMax_00q10C00D(
12567     BuiltInId::imageAtomicMax_Image2D1_Int2_UInt1,
12568     BuiltInName::imageAtomicMax,
12569     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12570     BuiltInParameters::p00q10C00D00D,
12571     3,
12572     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12573     EOpImageAtomicMax,
12574     false);
12575 constexpr const TFunction imageAtomicMax_00z10C00D(
12576     BuiltInId::imageAtomicMax_IImage2D1_Int2_UInt1,
12577     BuiltInName::imageAtomicMax,
12578     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12579     BuiltInParameters::p00z10C00D00D,
12580     3,
12581     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12582     EOpImageAtomicMax,
12583     false);
12584 constexpr const TFunction imageAtomicMax_01I10C00D(
12585     BuiltInId::imageAtomicMax_UImage2D1_Int2_UInt1,
12586     BuiltInName::imageAtomicMax,
12587     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12588     BuiltInParameters::p01I10C00D00D,
12589     3,
12590     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12591     EOpImageAtomicMax,
12592     false);
12593 constexpr const TFunction imageAtomicMax_00r20C00D(
12594     BuiltInId::imageAtomicMax_Image3D1_Int3_UInt1,
12595     BuiltInName::imageAtomicMax,
12596     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12597     BuiltInParameters::p00r20C00D00D,
12598     3,
12599     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12600     EOpImageAtomicMax,
12601     false);
12602 constexpr const TFunction imageAtomicMax_01A20C00D(
12603     BuiltInId::imageAtomicMax_IImage3D1_Int3_UInt1,
12604     BuiltInName::imageAtomicMax,
12605     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12606     BuiltInParameters::p01A20C00D00D,
12607     3,
12608     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12609     EOpImageAtomicMax,
12610     false);
12611 constexpr const TFunction imageAtomicMax_01J20C00D(
12612     BuiltInId::imageAtomicMax_UImage3D1_Int3_UInt1,
12613     BuiltInName::imageAtomicMax,
12614     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12615     BuiltInParameters::p01J20C00D00D,
12616     3,
12617     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12618     EOpImageAtomicMax,
12619     false);
12620 constexpr const TFunction imageAtomicMax_00t20C00D(
12621     BuiltInId::imageAtomicMax_ImageCube1_Int3_UInt1,
12622     BuiltInName::imageAtomicMax,
12623     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12624     BuiltInParameters::p00t20C00D00D,
12625     3,
12626     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12627     EOpImageAtomicMax,
12628     false);
12629 constexpr const TFunction imageAtomicMax_01C20C00D(
12630     BuiltInId::imageAtomicMax_IImageCube1_Int3_UInt1,
12631     BuiltInName::imageAtomicMax,
12632     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12633     BuiltInParameters::p01C20C00D00D,
12634     3,
12635     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12636     EOpImageAtomicMax,
12637     false);
12638 constexpr const TFunction imageAtomicMax_01L20C00D(
12639     BuiltInId::imageAtomicMax_UImageCube1_Int3_UInt1,
12640     BuiltInName::imageAtomicMax,
12641     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12642     BuiltInParameters::p01L20C00D00D,
12643     3,
12644     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12645     EOpImageAtomicMax,
12646     false);
12647 constexpr const TFunction imageAtomicMax_00y00C00D(
12648     BuiltInId::imageAtomicMax_ImageBuffer1_Int1_UInt1,
12649     BuiltInName::imageAtomicMax,
12650     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12651     BuiltInParameters::p00y00C00D00D,
12652     3,
12653     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12654     EOpImageAtomicMax,
12655     false);
12656 constexpr const TFunction imageAtomicMax_01H00C00D(
12657     BuiltInId::imageAtomicMax_IImageBuffer1_Int1_UInt1,
12658     BuiltInName::imageAtomicMax,
12659     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12660     BuiltInParameters::p01H00C00D00D,
12661     3,
12662     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12663     EOpImageAtomicMax,
12664     false);
12665 constexpr const TFunction imageAtomicMax_01Q00C00D(
12666     BuiltInId::imageAtomicMax_UImageBuffer1_Int1_UInt1,
12667     BuiltInName::imageAtomicMax,
12668     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12669     BuiltInParameters::p01Q00C00D00D,
12670     3,
12671     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12672     EOpImageAtomicMax,
12673     false);
12674 constexpr const TFunction imageAtomicMax_00s20C00D(
12675     BuiltInId::imageAtomicMax_Image2DArray1_Int3_UInt1,
12676     BuiltInName::imageAtomicMax,
12677     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12678     BuiltInParameters::p00s20C00D00D,
12679     3,
12680     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12681     EOpImageAtomicMax,
12682     false);
12683 constexpr const TFunction imageAtomicMax_01B20C00D(
12684     BuiltInId::imageAtomicMax_IImage2DArray1_Int3_UInt1,
12685     BuiltInName::imageAtomicMax,
12686     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12687     BuiltInParameters::p01B20C00D00D,
12688     3,
12689     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12690     EOpImageAtomicMax,
12691     false);
12692 constexpr const TFunction imageAtomicMax_01K20C00D(
12693     BuiltInId::imageAtomicMax_UImage2DArray1_Int3_UInt1,
12694     BuiltInName::imageAtomicMax,
12695     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12696     BuiltInParameters::p01K20C00D00D,
12697     3,
12698     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12699     EOpImageAtomicMax,
12700     false);
12701 constexpr const TFunction imageAtomicMax_00w20C00D(
12702     BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_UInt1,
12703     BuiltInName::imageAtomicMax,
12704     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12705     BuiltInParameters::p00w20C00D00D,
12706     3,
12707     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12708     EOpImageAtomicMax,
12709     false);
12710 constexpr const TFunction imageAtomicMax_01F20C00D(
12711     BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_UInt1,
12712     BuiltInName::imageAtomicMax,
12713     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12714     BuiltInParameters::p01F20C00D00D,
12715     3,
12716     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12717     EOpImageAtomicMax,
12718     false);
12719 constexpr const TFunction imageAtomicMax_01O20C00D(
12720     BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_UInt1,
12721     BuiltInName::imageAtomicMax,
12722     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12723     BuiltInParameters::p01O20C00D00D,
12724     3,
12725     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12726     EOpImageAtomicMax,
12727     false);
12728 constexpr const TFunction imageAtomicMax_00x10C00D(
12729     BuiltInId::imageAtomicMax_ImageRect1_Int2_UInt1,
12730     BuiltInName::imageAtomicMax,
12731     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12732     BuiltInParameters::p00x10C00D00D,
12733     3,
12734     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12735     EOpImageAtomicMax,
12736     false);
12737 constexpr const TFunction imageAtomicMax_01G10C00D(
12738     BuiltInId::imageAtomicMax_IImageRect1_Int2_UInt1,
12739     BuiltInName::imageAtomicMax,
12740     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12741     BuiltInParameters::p01G10C00D00D,
12742     3,
12743     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12744     EOpImageAtomicMax,
12745     false);
12746 constexpr const TFunction imageAtomicMax_01P10C00D(
12747     BuiltInId::imageAtomicMax_UImageRect1_Int2_UInt1,
12748     BuiltInName::imageAtomicMax,
12749     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12750     BuiltInParameters::p01P10C00D00D,
12751     3,
12752     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12753     EOpImageAtomicMax,
12754     false);
12755 constexpr const TFunction imageAtomicMax_00u10C00C00D(
12756     BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_UInt1,
12757     BuiltInName::imageAtomicMax,
12758     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12759     BuiltInParameters::p00u10C00C00D00D,
12760     4,
12761     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12762     EOpImageAtomicMax,
12763     false);
12764 constexpr const TFunction imageAtomicMax_01D10C00C00D(
12765     BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_UInt1,
12766     BuiltInName::imageAtomicMax,
12767     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12768     BuiltInParameters::p01D10C00C00D00D,
12769     4,
12770     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12771     EOpImageAtomicMax,
12772     false);
12773 constexpr const TFunction imageAtomicMax_01M10C00C00D(
12774     BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_UInt1,
12775     BuiltInName::imageAtomicMax,
12776     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12777     BuiltInParameters::p01M10C00C00D00D,
12778     4,
12779     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12780     EOpImageAtomicMax,
12781     false);
12782 constexpr const TFunction imageAtomicMax_00v20C00C00D(
12783     BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_UInt1,
12784     BuiltInName::imageAtomicMax,
12785     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12786     BuiltInParameters::p00v20C00C00D00D,
12787     4,
12788     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12789     EOpImageAtomicMax,
12790     false);
12791 constexpr const TFunction imageAtomicMax_01E20C00C00D(
12792     BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_UInt1,
12793     BuiltInName::imageAtomicMax,
12794     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12795     BuiltInParameters::p01E20C00C00D00D,
12796     4,
12797     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12798     EOpImageAtomicMax,
12799     false);
12800 constexpr const TFunction imageAtomicMax_01N20C00C00D(
12801     BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_UInt1,
12802     BuiltInName::imageAtomicMax,
12803     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12804     BuiltInParameters::p01N20C00C00D00D,
12805     4,
12806     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
12807     EOpImageAtomicMax,
12808     false);
12809 constexpr const TFunction imageAtomicMax_00q10C00C(
12810     BuiltInId::imageAtomicMax_Image2D1_Int2_Int1,
12811     BuiltInName::imageAtomicMax,
12812     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12813     BuiltInParameters::p00q10C00C00C,
12814     3,
12815     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12816     EOpImageAtomicMax,
12817     false);
12818 constexpr const TFunction imageAtomicMax_00z10C00C(
12819     BuiltInId::imageAtomicMax_IImage2D1_Int2_Int1,
12820     BuiltInName::imageAtomicMax,
12821     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12822     BuiltInParameters::p00z10C00C00C,
12823     3,
12824     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12825     EOpImageAtomicMax,
12826     false);
12827 constexpr const TFunction imageAtomicMax_01I10C00C(
12828     BuiltInId::imageAtomicMax_UImage2D1_Int2_Int1,
12829     BuiltInName::imageAtomicMax,
12830     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12831     BuiltInParameters::p01I10C00C00C,
12832     3,
12833     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12834     EOpImageAtomicMax,
12835     false);
12836 constexpr const TFunction imageAtomicMax_00r20C00C(
12837     BuiltInId::imageAtomicMax_Image3D1_Int3_Int1,
12838     BuiltInName::imageAtomicMax,
12839     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12840     BuiltInParameters::p00r20C00C00C,
12841     3,
12842     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12843     EOpImageAtomicMax,
12844     false);
12845 constexpr const TFunction imageAtomicMax_01A20C00C(
12846     BuiltInId::imageAtomicMax_IImage3D1_Int3_Int1,
12847     BuiltInName::imageAtomicMax,
12848     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12849     BuiltInParameters::p01A20C00C00C,
12850     3,
12851     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12852     EOpImageAtomicMax,
12853     false);
12854 constexpr const TFunction imageAtomicMax_01J20C00C(
12855     BuiltInId::imageAtomicMax_UImage3D1_Int3_Int1,
12856     BuiltInName::imageAtomicMax,
12857     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12858     BuiltInParameters::p01J20C00C00C,
12859     3,
12860     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12861     EOpImageAtomicMax,
12862     false);
12863 constexpr const TFunction imageAtomicMax_00t20C00C(
12864     BuiltInId::imageAtomicMax_ImageCube1_Int3_Int1,
12865     BuiltInName::imageAtomicMax,
12866     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12867     BuiltInParameters::p00t20C00C00C,
12868     3,
12869     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12870     EOpImageAtomicMax,
12871     false);
12872 constexpr const TFunction imageAtomicMax_01C20C00C(
12873     BuiltInId::imageAtomicMax_IImageCube1_Int3_Int1,
12874     BuiltInName::imageAtomicMax,
12875     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12876     BuiltInParameters::p01C20C00C00C,
12877     3,
12878     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12879     EOpImageAtomicMax,
12880     false);
12881 constexpr const TFunction imageAtomicMax_01L20C00C(
12882     BuiltInId::imageAtomicMax_UImageCube1_Int3_Int1,
12883     BuiltInName::imageAtomicMax,
12884     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12885     BuiltInParameters::p01L20C00C00C,
12886     3,
12887     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12888     EOpImageAtomicMax,
12889     false);
12890 constexpr const TFunction imageAtomicMax_00y00C00C(
12891     BuiltInId::imageAtomicMax_ImageBuffer1_Int1_Int1,
12892     BuiltInName::imageAtomicMax,
12893     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12894     BuiltInParameters::p00y00C00C00C,
12895     3,
12896     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12897     EOpImageAtomicMax,
12898     false);
12899 constexpr const TFunction imageAtomicMax_01H00C00C(
12900     BuiltInId::imageAtomicMax_IImageBuffer1_Int1_Int1,
12901     BuiltInName::imageAtomicMax,
12902     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12903     BuiltInParameters::p01H00C00C00C,
12904     3,
12905     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12906     EOpImageAtomicMax,
12907     false);
12908 constexpr const TFunction imageAtomicMax_01Q00C00C(
12909     BuiltInId::imageAtomicMax_UImageBuffer1_Int1_Int1,
12910     BuiltInName::imageAtomicMax,
12911     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12912     BuiltInParameters::p01Q00C00C00C,
12913     3,
12914     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12915     EOpImageAtomicMax,
12916     false);
12917 constexpr const TFunction imageAtomicMax_00s20C00C(
12918     BuiltInId::imageAtomicMax_Image2DArray1_Int3_Int1,
12919     BuiltInName::imageAtomicMax,
12920     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12921     BuiltInParameters::p00s20C00C00C,
12922     3,
12923     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12924     EOpImageAtomicMax,
12925     false);
12926 constexpr const TFunction imageAtomicMax_01B20C00C(
12927     BuiltInId::imageAtomicMax_IImage2DArray1_Int3_Int1,
12928     BuiltInName::imageAtomicMax,
12929     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12930     BuiltInParameters::p01B20C00C00C,
12931     3,
12932     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12933     EOpImageAtomicMax,
12934     false);
12935 constexpr const TFunction imageAtomicMax_01K20C00C(
12936     BuiltInId::imageAtomicMax_UImage2DArray1_Int3_Int1,
12937     BuiltInName::imageAtomicMax,
12938     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12939     BuiltInParameters::p01K20C00C00C,
12940     3,
12941     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12942     EOpImageAtomicMax,
12943     false);
12944 constexpr const TFunction imageAtomicMax_00w20C00C(
12945     BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_Int1,
12946     BuiltInName::imageAtomicMax,
12947     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12948     BuiltInParameters::p00w20C00C00C,
12949     3,
12950     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12951     EOpImageAtomicMax,
12952     false);
12953 constexpr const TFunction imageAtomicMax_01F20C00C(
12954     BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_Int1,
12955     BuiltInName::imageAtomicMax,
12956     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12957     BuiltInParameters::p01F20C00C00C,
12958     3,
12959     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12960     EOpImageAtomicMax,
12961     false);
12962 constexpr const TFunction imageAtomicMax_01O20C00C(
12963     BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_Int1,
12964     BuiltInName::imageAtomicMax,
12965     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12966     BuiltInParameters::p01O20C00C00C,
12967     3,
12968     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12969     EOpImageAtomicMax,
12970     false);
12971 constexpr const TFunction imageAtomicMax_00x10C00C(
12972     BuiltInId::imageAtomicMax_ImageRect1_Int2_Int1,
12973     BuiltInName::imageAtomicMax,
12974     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12975     BuiltInParameters::p00x10C00C00C,
12976     3,
12977     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12978     EOpImageAtomicMax,
12979     false);
12980 constexpr const TFunction imageAtomicMax_01G10C00C(
12981     BuiltInId::imageAtomicMax_IImageRect1_Int2_Int1,
12982     BuiltInName::imageAtomicMax,
12983     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12984     BuiltInParameters::p01G10C00C00C,
12985     3,
12986     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12987     EOpImageAtomicMax,
12988     false);
12989 constexpr const TFunction imageAtomicMax_01P10C00C(
12990     BuiltInId::imageAtomicMax_UImageRect1_Int2_Int1,
12991     BuiltInName::imageAtomicMax,
12992     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
12993     BuiltInParameters::p01P10C00C00C,
12994     3,
12995     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
12996     EOpImageAtomicMax,
12997     false);
12998 constexpr const TFunction imageAtomicMax_00u10C00C00C(
12999     BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_Int1,
13000     BuiltInName::imageAtomicMax,
13001     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13002     BuiltInParameters::p00u10C00C00C00C,
13003     4,
13004     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13005     EOpImageAtomicMax,
13006     false);
13007 constexpr const TFunction imageAtomicMax_01D10C00C00C(
13008     BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_Int1,
13009     BuiltInName::imageAtomicMax,
13010     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13011     BuiltInParameters::p01D10C00C00C00C,
13012     4,
13013     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13014     EOpImageAtomicMax,
13015     false);
13016 constexpr const TFunction imageAtomicMax_01M10C00C00C(
13017     BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_Int1,
13018     BuiltInName::imageAtomicMax,
13019     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13020     BuiltInParameters::p01M10C00C00C00C,
13021     4,
13022     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13023     EOpImageAtomicMax,
13024     false);
13025 constexpr const TFunction imageAtomicMax_00v20C00C00C(
13026     BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_Int1,
13027     BuiltInName::imageAtomicMax,
13028     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13029     BuiltInParameters::p00v20C00C00C00C,
13030     4,
13031     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13032     EOpImageAtomicMax,
13033     false);
13034 constexpr const TFunction imageAtomicMax_01E20C00C00C(
13035     BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_Int1,
13036     BuiltInName::imageAtomicMax,
13037     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13038     BuiltInParameters::p01E20C00C00C00C,
13039     4,
13040     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13041     EOpImageAtomicMax,
13042     false);
13043 constexpr const TFunction imageAtomicMax_01N20C00C00C(
13044     BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_Int1,
13045     BuiltInName::imageAtomicMax,
13046     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13047     BuiltInParameters::p01N20C00C00C00C,
13048     4,
13049     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13050     EOpImageAtomicMax,
13051     false);
13052 constexpr const TFunction imageAtomicAnd_00q10C00D(
13053     BuiltInId::imageAtomicAnd_Image2D1_Int2_UInt1,
13054     BuiltInName::imageAtomicAnd,
13055     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13056     BuiltInParameters::p00q10C00D00D,
13057     3,
13058     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13059     EOpImageAtomicAnd,
13060     false);
13061 constexpr const TFunction imageAtomicAnd_00z10C00D(
13062     BuiltInId::imageAtomicAnd_IImage2D1_Int2_UInt1,
13063     BuiltInName::imageAtomicAnd,
13064     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13065     BuiltInParameters::p00z10C00D00D,
13066     3,
13067     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13068     EOpImageAtomicAnd,
13069     false);
13070 constexpr const TFunction imageAtomicAnd_01I10C00D(
13071     BuiltInId::imageAtomicAnd_UImage2D1_Int2_UInt1,
13072     BuiltInName::imageAtomicAnd,
13073     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13074     BuiltInParameters::p01I10C00D00D,
13075     3,
13076     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13077     EOpImageAtomicAnd,
13078     false);
13079 constexpr const TFunction imageAtomicAnd_00r20C00D(
13080     BuiltInId::imageAtomicAnd_Image3D1_Int3_UInt1,
13081     BuiltInName::imageAtomicAnd,
13082     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13083     BuiltInParameters::p00r20C00D00D,
13084     3,
13085     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13086     EOpImageAtomicAnd,
13087     false);
13088 constexpr const TFunction imageAtomicAnd_01A20C00D(
13089     BuiltInId::imageAtomicAnd_IImage3D1_Int3_UInt1,
13090     BuiltInName::imageAtomicAnd,
13091     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13092     BuiltInParameters::p01A20C00D00D,
13093     3,
13094     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13095     EOpImageAtomicAnd,
13096     false);
13097 constexpr const TFunction imageAtomicAnd_01J20C00D(
13098     BuiltInId::imageAtomicAnd_UImage3D1_Int3_UInt1,
13099     BuiltInName::imageAtomicAnd,
13100     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13101     BuiltInParameters::p01J20C00D00D,
13102     3,
13103     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13104     EOpImageAtomicAnd,
13105     false);
13106 constexpr const TFunction imageAtomicAnd_00t20C00D(
13107     BuiltInId::imageAtomicAnd_ImageCube1_Int3_UInt1,
13108     BuiltInName::imageAtomicAnd,
13109     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13110     BuiltInParameters::p00t20C00D00D,
13111     3,
13112     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13113     EOpImageAtomicAnd,
13114     false);
13115 constexpr const TFunction imageAtomicAnd_01C20C00D(
13116     BuiltInId::imageAtomicAnd_IImageCube1_Int3_UInt1,
13117     BuiltInName::imageAtomicAnd,
13118     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13119     BuiltInParameters::p01C20C00D00D,
13120     3,
13121     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13122     EOpImageAtomicAnd,
13123     false);
13124 constexpr const TFunction imageAtomicAnd_01L20C00D(
13125     BuiltInId::imageAtomicAnd_UImageCube1_Int3_UInt1,
13126     BuiltInName::imageAtomicAnd,
13127     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13128     BuiltInParameters::p01L20C00D00D,
13129     3,
13130     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13131     EOpImageAtomicAnd,
13132     false);
13133 constexpr const TFunction imageAtomicAnd_00y00C00D(
13134     BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_UInt1,
13135     BuiltInName::imageAtomicAnd,
13136     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13137     BuiltInParameters::p00y00C00D00D,
13138     3,
13139     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13140     EOpImageAtomicAnd,
13141     false);
13142 constexpr const TFunction imageAtomicAnd_01H00C00D(
13143     BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_UInt1,
13144     BuiltInName::imageAtomicAnd,
13145     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13146     BuiltInParameters::p01H00C00D00D,
13147     3,
13148     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13149     EOpImageAtomicAnd,
13150     false);
13151 constexpr const TFunction imageAtomicAnd_01Q00C00D(
13152     BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_UInt1,
13153     BuiltInName::imageAtomicAnd,
13154     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13155     BuiltInParameters::p01Q00C00D00D,
13156     3,
13157     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13158     EOpImageAtomicAnd,
13159     false);
13160 constexpr const TFunction imageAtomicAnd_00s20C00D(
13161     BuiltInId::imageAtomicAnd_Image2DArray1_Int3_UInt1,
13162     BuiltInName::imageAtomicAnd,
13163     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13164     BuiltInParameters::p00s20C00D00D,
13165     3,
13166     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13167     EOpImageAtomicAnd,
13168     false);
13169 constexpr const TFunction imageAtomicAnd_01B20C00D(
13170     BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_UInt1,
13171     BuiltInName::imageAtomicAnd,
13172     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13173     BuiltInParameters::p01B20C00D00D,
13174     3,
13175     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13176     EOpImageAtomicAnd,
13177     false);
13178 constexpr const TFunction imageAtomicAnd_01K20C00D(
13179     BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_UInt1,
13180     BuiltInName::imageAtomicAnd,
13181     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13182     BuiltInParameters::p01K20C00D00D,
13183     3,
13184     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13185     EOpImageAtomicAnd,
13186     false);
13187 constexpr const TFunction imageAtomicAnd_00w20C00D(
13188     BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_UInt1,
13189     BuiltInName::imageAtomicAnd,
13190     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13191     BuiltInParameters::p00w20C00D00D,
13192     3,
13193     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13194     EOpImageAtomicAnd,
13195     false);
13196 constexpr const TFunction imageAtomicAnd_01F20C00D(
13197     BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_UInt1,
13198     BuiltInName::imageAtomicAnd,
13199     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13200     BuiltInParameters::p01F20C00D00D,
13201     3,
13202     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13203     EOpImageAtomicAnd,
13204     false);
13205 constexpr const TFunction imageAtomicAnd_01O20C00D(
13206     BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_UInt1,
13207     BuiltInName::imageAtomicAnd,
13208     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13209     BuiltInParameters::p01O20C00D00D,
13210     3,
13211     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13212     EOpImageAtomicAnd,
13213     false);
13214 constexpr const TFunction imageAtomicAnd_00x10C00D(
13215     BuiltInId::imageAtomicAnd_ImageRect1_Int2_UInt1,
13216     BuiltInName::imageAtomicAnd,
13217     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13218     BuiltInParameters::p00x10C00D00D,
13219     3,
13220     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13221     EOpImageAtomicAnd,
13222     false);
13223 constexpr const TFunction imageAtomicAnd_01G10C00D(
13224     BuiltInId::imageAtomicAnd_IImageRect1_Int2_UInt1,
13225     BuiltInName::imageAtomicAnd,
13226     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13227     BuiltInParameters::p01G10C00D00D,
13228     3,
13229     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13230     EOpImageAtomicAnd,
13231     false);
13232 constexpr const TFunction imageAtomicAnd_01P10C00D(
13233     BuiltInId::imageAtomicAnd_UImageRect1_Int2_UInt1,
13234     BuiltInName::imageAtomicAnd,
13235     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13236     BuiltInParameters::p01P10C00D00D,
13237     3,
13238     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13239     EOpImageAtomicAnd,
13240     false);
13241 constexpr const TFunction imageAtomicAnd_00u10C00C00D(
13242     BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_UInt1,
13243     BuiltInName::imageAtomicAnd,
13244     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13245     BuiltInParameters::p00u10C00C00D00D,
13246     4,
13247     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13248     EOpImageAtomicAnd,
13249     false);
13250 constexpr const TFunction imageAtomicAnd_01D10C00C00D(
13251     BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_UInt1,
13252     BuiltInName::imageAtomicAnd,
13253     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13254     BuiltInParameters::p01D10C00C00D00D,
13255     4,
13256     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13257     EOpImageAtomicAnd,
13258     false);
13259 constexpr const TFunction imageAtomicAnd_01M10C00C00D(
13260     BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_UInt1,
13261     BuiltInName::imageAtomicAnd,
13262     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13263     BuiltInParameters::p01M10C00C00D00D,
13264     4,
13265     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13266     EOpImageAtomicAnd,
13267     false);
13268 constexpr const TFunction imageAtomicAnd_00v20C00C00D(
13269     BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_UInt1,
13270     BuiltInName::imageAtomicAnd,
13271     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13272     BuiltInParameters::p00v20C00C00D00D,
13273     4,
13274     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13275     EOpImageAtomicAnd,
13276     false);
13277 constexpr const TFunction imageAtomicAnd_01E20C00C00D(
13278     BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_UInt1,
13279     BuiltInName::imageAtomicAnd,
13280     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13281     BuiltInParameters::p01E20C00C00D00D,
13282     4,
13283     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13284     EOpImageAtomicAnd,
13285     false);
13286 constexpr const TFunction imageAtomicAnd_01N20C00C00D(
13287     BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_UInt1,
13288     BuiltInName::imageAtomicAnd,
13289     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13290     BuiltInParameters::p01N20C00C00D00D,
13291     4,
13292     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13293     EOpImageAtomicAnd,
13294     false);
13295 constexpr const TFunction imageAtomicAnd_00q10C00C(
13296     BuiltInId::imageAtomicAnd_Image2D1_Int2_Int1,
13297     BuiltInName::imageAtomicAnd,
13298     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13299     BuiltInParameters::p00q10C00C00C,
13300     3,
13301     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13302     EOpImageAtomicAnd,
13303     false);
13304 constexpr const TFunction imageAtomicAnd_00z10C00C(
13305     BuiltInId::imageAtomicAnd_IImage2D1_Int2_Int1,
13306     BuiltInName::imageAtomicAnd,
13307     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13308     BuiltInParameters::p00z10C00C00C,
13309     3,
13310     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13311     EOpImageAtomicAnd,
13312     false);
13313 constexpr const TFunction imageAtomicAnd_01I10C00C(
13314     BuiltInId::imageAtomicAnd_UImage2D1_Int2_Int1,
13315     BuiltInName::imageAtomicAnd,
13316     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13317     BuiltInParameters::p01I10C00C00C,
13318     3,
13319     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13320     EOpImageAtomicAnd,
13321     false);
13322 constexpr const TFunction imageAtomicAnd_00r20C00C(
13323     BuiltInId::imageAtomicAnd_Image3D1_Int3_Int1,
13324     BuiltInName::imageAtomicAnd,
13325     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13326     BuiltInParameters::p00r20C00C00C,
13327     3,
13328     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13329     EOpImageAtomicAnd,
13330     false);
13331 constexpr const TFunction imageAtomicAnd_01A20C00C(
13332     BuiltInId::imageAtomicAnd_IImage3D1_Int3_Int1,
13333     BuiltInName::imageAtomicAnd,
13334     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13335     BuiltInParameters::p01A20C00C00C,
13336     3,
13337     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13338     EOpImageAtomicAnd,
13339     false);
13340 constexpr const TFunction imageAtomicAnd_01J20C00C(
13341     BuiltInId::imageAtomicAnd_UImage3D1_Int3_Int1,
13342     BuiltInName::imageAtomicAnd,
13343     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13344     BuiltInParameters::p01J20C00C00C,
13345     3,
13346     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13347     EOpImageAtomicAnd,
13348     false);
13349 constexpr const TFunction imageAtomicAnd_00t20C00C(
13350     BuiltInId::imageAtomicAnd_ImageCube1_Int3_Int1,
13351     BuiltInName::imageAtomicAnd,
13352     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13353     BuiltInParameters::p00t20C00C00C,
13354     3,
13355     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13356     EOpImageAtomicAnd,
13357     false);
13358 constexpr const TFunction imageAtomicAnd_01C20C00C(
13359     BuiltInId::imageAtomicAnd_IImageCube1_Int3_Int1,
13360     BuiltInName::imageAtomicAnd,
13361     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13362     BuiltInParameters::p01C20C00C00C,
13363     3,
13364     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13365     EOpImageAtomicAnd,
13366     false);
13367 constexpr const TFunction imageAtomicAnd_01L20C00C(
13368     BuiltInId::imageAtomicAnd_UImageCube1_Int3_Int1,
13369     BuiltInName::imageAtomicAnd,
13370     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13371     BuiltInParameters::p01L20C00C00C,
13372     3,
13373     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13374     EOpImageAtomicAnd,
13375     false);
13376 constexpr const TFunction imageAtomicAnd_00y00C00C(
13377     BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_Int1,
13378     BuiltInName::imageAtomicAnd,
13379     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13380     BuiltInParameters::p00y00C00C00C,
13381     3,
13382     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13383     EOpImageAtomicAnd,
13384     false);
13385 constexpr const TFunction imageAtomicAnd_01H00C00C(
13386     BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_Int1,
13387     BuiltInName::imageAtomicAnd,
13388     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13389     BuiltInParameters::p01H00C00C00C,
13390     3,
13391     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13392     EOpImageAtomicAnd,
13393     false);
13394 constexpr const TFunction imageAtomicAnd_01Q00C00C(
13395     BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_Int1,
13396     BuiltInName::imageAtomicAnd,
13397     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13398     BuiltInParameters::p01Q00C00C00C,
13399     3,
13400     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13401     EOpImageAtomicAnd,
13402     false);
13403 constexpr const TFunction imageAtomicAnd_00s20C00C(
13404     BuiltInId::imageAtomicAnd_Image2DArray1_Int3_Int1,
13405     BuiltInName::imageAtomicAnd,
13406     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13407     BuiltInParameters::p00s20C00C00C,
13408     3,
13409     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13410     EOpImageAtomicAnd,
13411     false);
13412 constexpr const TFunction imageAtomicAnd_01B20C00C(
13413     BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_Int1,
13414     BuiltInName::imageAtomicAnd,
13415     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13416     BuiltInParameters::p01B20C00C00C,
13417     3,
13418     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13419     EOpImageAtomicAnd,
13420     false);
13421 constexpr const TFunction imageAtomicAnd_01K20C00C(
13422     BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_Int1,
13423     BuiltInName::imageAtomicAnd,
13424     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13425     BuiltInParameters::p01K20C00C00C,
13426     3,
13427     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13428     EOpImageAtomicAnd,
13429     false);
13430 constexpr const TFunction imageAtomicAnd_00w20C00C(
13431     BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_Int1,
13432     BuiltInName::imageAtomicAnd,
13433     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13434     BuiltInParameters::p00w20C00C00C,
13435     3,
13436     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13437     EOpImageAtomicAnd,
13438     false);
13439 constexpr const TFunction imageAtomicAnd_01F20C00C(
13440     BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_Int1,
13441     BuiltInName::imageAtomicAnd,
13442     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13443     BuiltInParameters::p01F20C00C00C,
13444     3,
13445     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13446     EOpImageAtomicAnd,
13447     false);
13448 constexpr const TFunction imageAtomicAnd_01O20C00C(
13449     BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_Int1,
13450     BuiltInName::imageAtomicAnd,
13451     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13452     BuiltInParameters::p01O20C00C00C,
13453     3,
13454     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13455     EOpImageAtomicAnd,
13456     false);
13457 constexpr const TFunction imageAtomicAnd_00x10C00C(
13458     BuiltInId::imageAtomicAnd_ImageRect1_Int2_Int1,
13459     BuiltInName::imageAtomicAnd,
13460     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13461     BuiltInParameters::p00x10C00C00C,
13462     3,
13463     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13464     EOpImageAtomicAnd,
13465     false);
13466 constexpr const TFunction imageAtomicAnd_01G10C00C(
13467     BuiltInId::imageAtomicAnd_IImageRect1_Int2_Int1,
13468     BuiltInName::imageAtomicAnd,
13469     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13470     BuiltInParameters::p01G10C00C00C,
13471     3,
13472     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13473     EOpImageAtomicAnd,
13474     false);
13475 constexpr const TFunction imageAtomicAnd_01P10C00C(
13476     BuiltInId::imageAtomicAnd_UImageRect1_Int2_Int1,
13477     BuiltInName::imageAtomicAnd,
13478     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13479     BuiltInParameters::p01P10C00C00C,
13480     3,
13481     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13482     EOpImageAtomicAnd,
13483     false);
13484 constexpr const TFunction imageAtomicAnd_00u10C00C00C(
13485     BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_Int1,
13486     BuiltInName::imageAtomicAnd,
13487     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13488     BuiltInParameters::p00u10C00C00C00C,
13489     4,
13490     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13491     EOpImageAtomicAnd,
13492     false);
13493 constexpr const TFunction imageAtomicAnd_01D10C00C00C(
13494     BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_Int1,
13495     BuiltInName::imageAtomicAnd,
13496     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13497     BuiltInParameters::p01D10C00C00C00C,
13498     4,
13499     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13500     EOpImageAtomicAnd,
13501     false);
13502 constexpr const TFunction imageAtomicAnd_01M10C00C00C(
13503     BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_Int1,
13504     BuiltInName::imageAtomicAnd,
13505     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13506     BuiltInParameters::p01M10C00C00C00C,
13507     4,
13508     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13509     EOpImageAtomicAnd,
13510     false);
13511 constexpr const TFunction imageAtomicAnd_00v20C00C00C(
13512     BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_Int1,
13513     BuiltInName::imageAtomicAnd,
13514     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13515     BuiltInParameters::p00v20C00C00C00C,
13516     4,
13517     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13518     EOpImageAtomicAnd,
13519     false);
13520 constexpr const TFunction imageAtomicAnd_01E20C00C00C(
13521     BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_Int1,
13522     BuiltInName::imageAtomicAnd,
13523     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13524     BuiltInParameters::p01E20C00C00C00C,
13525     4,
13526     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13527     EOpImageAtomicAnd,
13528     false);
13529 constexpr const TFunction imageAtomicAnd_01N20C00C00C(
13530     BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_Int1,
13531     BuiltInName::imageAtomicAnd,
13532     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13533     BuiltInParameters::p01N20C00C00C00C,
13534     4,
13535     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13536     EOpImageAtomicAnd,
13537     false);
13538 constexpr const TFunction imageAtomicOr_00q10C00D(
13539     BuiltInId::imageAtomicOr_Image2D1_Int2_UInt1,
13540     BuiltInName::imageAtomicOr,
13541     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13542     BuiltInParameters::p00q10C00D00D,
13543     3,
13544     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13545     EOpImageAtomicOr,
13546     false);
13547 constexpr const TFunction imageAtomicOr_00z10C00D(
13548     BuiltInId::imageAtomicOr_IImage2D1_Int2_UInt1,
13549     BuiltInName::imageAtomicOr,
13550     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13551     BuiltInParameters::p00z10C00D00D,
13552     3,
13553     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13554     EOpImageAtomicOr,
13555     false);
13556 constexpr const TFunction imageAtomicOr_01I10C00D(
13557     BuiltInId::imageAtomicOr_UImage2D1_Int2_UInt1,
13558     BuiltInName::imageAtomicOr,
13559     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13560     BuiltInParameters::p01I10C00D00D,
13561     3,
13562     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13563     EOpImageAtomicOr,
13564     false);
13565 constexpr const TFunction imageAtomicOr_00r20C00D(
13566     BuiltInId::imageAtomicOr_Image3D1_Int3_UInt1,
13567     BuiltInName::imageAtomicOr,
13568     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13569     BuiltInParameters::p00r20C00D00D,
13570     3,
13571     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13572     EOpImageAtomicOr,
13573     false);
13574 constexpr const TFunction imageAtomicOr_01A20C00D(
13575     BuiltInId::imageAtomicOr_IImage3D1_Int3_UInt1,
13576     BuiltInName::imageAtomicOr,
13577     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13578     BuiltInParameters::p01A20C00D00D,
13579     3,
13580     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13581     EOpImageAtomicOr,
13582     false);
13583 constexpr const TFunction imageAtomicOr_01J20C00D(
13584     BuiltInId::imageAtomicOr_UImage3D1_Int3_UInt1,
13585     BuiltInName::imageAtomicOr,
13586     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13587     BuiltInParameters::p01J20C00D00D,
13588     3,
13589     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13590     EOpImageAtomicOr,
13591     false);
13592 constexpr const TFunction imageAtomicOr_00t20C00D(
13593     BuiltInId::imageAtomicOr_ImageCube1_Int3_UInt1,
13594     BuiltInName::imageAtomicOr,
13595     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13596     BuiltInParameters::p00t20C00D00D,
13597     3,
13598     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13599     EOpImageAtomicOr,
13600     false);
13601 constexpr const TFunction imageAtomicOr_01C20C00D(
13602     BuiltInId::imageAtomicOr_IImageCube1_Int3_UInt1,
13603     BuiltInName::imageAtomicOr,
13604     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13605     BuiltInParameters::p01C20C00D00D,
13606     3,
13607     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13608     EOpImageAtomicOr,
13609     false);
13610 constexpr const TFunction imageAtomicOr_01L20C00D(
13611     BuiltInId::imageAtomicOr_UImageCube1_Int3_UInt1,
13612     BuiltInName::imageAtomicOr,
13613     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13614     BuiltInParameters::p01L20C00D00D,
13615     3,
13616     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13617     EOpImageAtomicOr,
13618     false);
13619 constexpr const TFunction imageAtomicOr_00y00C00D(
13620     BuiltInId::imageAtomicOr_ImageBuffer1_Int1_UInt1,
13621     BuiltInName::imageAtomicOr,
13622     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13623     BuiltInParameters::p00y00C00D00D,
13624     3,
13625     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13626     EOpImageAtomicOr,
13627     false);
13628 constexpr const TFunction imageAtomicOr_01H00C00D(
13629     BuiltInId::imageAtomicOr_IImageBuffer1_Int1_UInt1,
13630     BuiltInName::imageAtomicOr,
13631     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13632     BuiltInParameters::p01H00C00D00D,
13633     3,
13634     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13635     EOpImageAtomicOr,
13636     false);
13637 constexpr const TFunction imageAtomicOr_01Q00C00D(
13638     BuiltInId::imageAtomicOr_UImageBuffer1_Int1_UInt1,
13639     BuiltInName::imageAtomicOr,
13640     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13641     BuiltInParameters::p01Q00C00D00D,
13642     3,
13643     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13644     EOpImageAtomicOr,
13645     false);
13646 constexpr const TFunction imageAtomicOr_00s20C00D(
13647     BuiltInId::imageAtomicOr_Image2DArray1_Int3_UInt1,
13648     BuiltInName::imageAtomicOr,
13649     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13650     BuiltInParameters::p00s20C00D00D,
13651     3,
13652     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13653     EOpImageAtomicOr,
13654     false);
13655 constexpr const TFunction imageAtomicOr_01B20C00D(
13656     BuiltInId::imageAtomicOr_IImage2DArray1_Int3_UInt1,
13657     BuiltInName::imageAtomicOr,
13658     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13659     BuiltInParameters::p01B20C00D00D,
13660     3,
13661     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13662     EOpImageAtomicOr,
13663     false);
13664 constexpr const TFunction imageAtomicOr_01K20C00D(
13665     BuiltInId::imageAtomicOr_UImage2DArray1_Int3_UInt1,
13666     BuiltInName::imageAtomicOr,
13667     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13668     BuiltInParameters::p01K20C00D00D,
13669     3,
13670     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13671     EOpImageAtomicOr,
13672     false);
13673 constexpr const TFunction imageAtomicOr_00w20C00D(
13674     BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_UInt1,
13675     BuiltInName::imageAtomicOr,
13676     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13677     BuiltInParameters::p00w20C00D00D,
13678     3,
13679     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13680     EOpImageAtomicOr,
13681     false);
13682 constexpr const TFunction imageAtomicOr_01F20C00D(
13683     BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_UInt1,
13684     BuiltInName::imageAtomicOr,
13685     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13686     BuiltInParameters::p01F20C00D00D,
13687     3,
13688     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13689     EOpImageAtomicOr,
13690     false);
13691 constexpr const TFunction imageAtomicOr_01O20C00D(
13692     BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_UInt1,
13693     BuiltInName::imageAtomicOr,
13694     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13695     BuiltInParameters::p01O20C00D00D,
13696     3,
13697     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13698     EOpImageAtomicOr,
13699     false);
13700 constexpr const TFunction imageAtomicOr_00x10C00D(
13701     BuiltInId::imageAtomicOr_ImageRect1_Int2_UInt1,
13702     BuiltInName::imageAtomicOr,
13703     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13704     BuiltInParameters::p00x10C00D00D,
13705     3,
13706     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13707     EOpImageAtomicOr,
13708     false);
13709 constexpr const TFunction imageAtomicOr_01G10C00D(
13710     BuiltInId::imageAtomicOr_IImageRect1_Int2_UInt1,
13711     BuiltInName::imageAtomicOr,
13712     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13713     BuiltInParameters::p01G10C00D00D,
13714     3,
13715     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13716     EOpImageAtomicOr,
13717     false);
13718 constexpr const TFunction imageAtomicOr_01P10C00D(
13719     BuiltInId::imageAtomicOr_UImageRect1_Int2_UInt1,
13720     BuiltInName::imageAtomicOr,
13721     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13722     BuiltInParameters::p01P10C00D00D,
13723     3,
13724     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13725     EOpImageAtomicOr,
13726     false);
13727 constexpr const TFunction imageAtomicOr_00u10C00C00D(
13728     BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_UInt1,
13729     BuiltInName::imageAtomicOr,
13730     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13731     BuiltInParameters::p00u10C00C00D00D,
13732     4,
13733     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13734     EOpImageAtomicOr,
13735     false);
13736 constexpr const TFunction imageAtomicOr_01D10C00C00D(
13737     BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_UInt1,
13738     BuiltInName::imageAtomicOr,
13739     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13740     BuiltInParameters::p01D10C00C00D00D,
13741     4,
13742     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13743     EOpImageAtomicOr,
13744     false);
13745 constexpr const TFunction imageAtomicOr_01M10C00C00D(
13746     BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_UInt1,
13747     BuiltInName::imageAtomicOr,
13748     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13749     BuiltInParameters::p01M10C00C00D00D,
13750     4,
13751     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13752     EOpImageAtomicOr,
13753     false);
13754 constexpr const TFunction imageAtomicOr_00v20C00C00D(
13755     BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_UInt1,
13756     BuiltInName::imageAtomicOr,
13757     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13758     BuiltInParameters::p00v20C00C00D00D,
13759     4,
13760     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13761     EOpImageAtomicOr,
13762     false);
13763 constexpr const TFunction imageAtomicOr_01E20C00C00D(
13764     BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_UInt1,
13765     BuiltInName::imageAtomicOr,
13766     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13767     BuiltInParameters::p01E20C00C00D00D,
13768     4,
13769     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13770     EOpImageAtomicOr,
13771     false);
13772 constexpr const TFunction imageAtomicOr_01N20C00C00D(
13773     BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_UInt1,
13774     BuiltInName::imageAtomicOr,
13775     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13776     BuiltInParameters::p01N20C00C00D00D,
13777     4,
13778     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
13779     EOpImageAtomicOr,
13780     false);
13781 constexpr const TFunction imageAtomicOr_00q10C00C(
13782     BuiltInId::imageAtomicOr_Image2D1_Int2_Int1,
13783     BuiltInName::imageAtomicOr,
13784     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13785     BuiltInParameters::p00q10C00C00C,
13786     3,
13787     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13788     EOpImageAtomicOr,
13789     false);
13790 constexpr const TFunction imageAtomicOr_00z10C00C(
13791     BuiltInId::imageAtomicOr_IImage2D1_Int2_Int1,
13792     BuiltInName::imageAtomicOr,
13793     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13794     BuiltInParameters::p00z10C00C00C,
13795     3,
13796     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13797     EOpImageAtomicOr,
13798     false);
13799 constexpr const TFunction imageAtomicOr_01I10C00C(
13800     BuiltInId::imageAtomicOr_UImage2D1_Int2_Int1,
13801     BuiltInName::imageAtomicOr,
13802     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13803     BuiltInParameters::p01I10C00C00C,
13804     3,
13805     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13806     EOpImageAtomicOr,
13807     false);
13808 constexpr const TFunction imageAtomicOr_00r20C00C(
13809     BuiltInId::imageAtomicOr_Image3D1_Int3_Int1,
13810     BuiltInName::imageAtomicOr,
13811     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13812     BuiltInParameters::p00r20C00C00C,
13813     3,
13814     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13815     EOpImageAtomicOr,
13816     false);
13817 constexpr const TFunction imageAtomicOr_01A20C00C(
13818     BuiltInId::imageAtomicOr_IImage3D1_Int3_Int1,
13819     BuiltInName::imageAtomicOr,
13820     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13821     BuiltInParameters::p01A20C00C00C,
13822     3,
13823     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13824     EOpImageAtomicOr,
13825     false);
13826 constexpr const TFunction imageAtomicOr_01J20C00C(
13827     BuiltInId::imageAtomicOr_UImage3D1_Int3_Int1,
13828     BuiltInName::imageAtomicOr,
13829     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13830     BuiltInParameters::p01J20C00C00C,
13831     3,
13832     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13833     EOpImageAtomicOr,
13834     false);
13835 constexpr const TFunction imageAtomicOr_00t20C00C(
13836     BuiltInId::imageAtomicOr_ImageCube1_Int3_Int1,
13837     BuiltInName::imageAtomicOr,
13838     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13839     BuiltInParameters::p00t20C00C00C,
13840     3,
13841     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13842     EOpImageAtomicOr,
13843     false);
13844 constexpr const TFunction imageAtomicOr_01C20C00C(
13845     BuiltInId::imageAtomicOr_IImageCube1_Int3_Int1,
13846     BuiltInName::imageAtomicOr,
13847     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13848     BuiltInParameters::p01C20C00C00C,
13849     3,
13850     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13851     EOpImageAtomicOr,
13852     false);
13853 constexpr const TFunction imageAtomicOr_01L20C00C(
13854     BuiltInId::imageAtomicOr_UImageCube1_Int3_Int1,
13855     BuiltInName::imageAtomicOr,
13856     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13857     BuiltInParameters::p01L20C00C00C,
13858     3,
13859     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13860     EOpImageAtomicOr,
13861     false);
13862 constexpr const TFunction imageAtomicOr_00y00C00C(
13863     BuiltInId::imageAtomicOr_ImageBuffer1_Int1_Int1,
13864     BuiltInName::imageAtomicOr,
13865     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13866     BuiltInParameters::p00y00C00C00C,
13867     3,
13868     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13869     EOpImageAtomicOr,
13870     false);
13871 constexpr const TFunction imageAtomicOr_01H00C00C(
13872     BuiltInId::imageAtomicOr_IImageBuffer1_Int1_Int1,
13873     BuiltInName::imageAtomicOr,
13874     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13875     BuiltInParameters::p01H00C00C00C,
13876     3,
13877     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13878     EOpImageAtomicOr,
13879     false);
13880 constexpr const TFunction imageAtomicOr_01Q00C00C(
13881     BuiltInId::imageAtomicOr_UImageBuffer1_Int1_Int1,
13882     BuiltInName::imageAtomicOr,
13883     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13884     BuiltInParameters::p01Q00C00C00C,
13885     3,
13886     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13887     EOpImageAtomicOr,
13888     false);
13889 constexpr const TFunction imageAtomicOr_00s20C00C(
13890     BuiltInId::imageAtomicOr_Image2DArray1_Int3_Int1,
13891     BuiltInName::imageAtomicOr,
13892     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13893     BuiltInParameters::p00s20C00C00C,
13894     3,
13895     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13896     EOpImageAtomicOr,
13897     false);
13898 constexpr const TFunction imageAtomicOr_01B20C00C(
13899     BuiltInId::imageAtomicOr_IImage2DArray1_Int3_Int1,
13900     BuiltInName::imageAtomicOr,
13901     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13902     BuiltInParameters::p01B20C00C00C,
13903     3,
13904     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13905     EOpImageAtomicOr,
13906     false);
13907 constexpr const TFunction imageAtomicOr_01K20C00C(
13908     BuiltInId::imageAtomicOr_UImage2DArray1_Int3_Int1,
13909     BuiltInName::imageAtomicOr,
13910     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13911     BuiltInParameters::p01K20C00C00C,
13912     3,
13913     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13914     EOpImageAtomicOr,
13915     false);
13916 constexpr const TFunction imageAtomicOr_00w20C00C(
13917     BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_Int1,
13918     BuiltInName::imageAtomicOr,
13919     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13920     BuiltInParameters::p00w20C00C00C,
13921     3,
13922     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13923     EOpImageAtomicOr,
13924     false);
13925 constexpr const TFunction imageAtomicOr_01F20C00C(
13926     BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_Int1,
13927     BuiltInName::imageAtomicOr,
13928     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13929     BuiltInParameters::p01F20C00C00C,
13930     3,
13931     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13932     EOpImageAtomicOr,
13933     false);
13934 constexpr const TFunction imageAtomicOr_01O20C00C(
13935     BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_Int1,
13936     BuiltInName::imageAtomicOr,
13937     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13938     BuiltInParameters::p01O20C00C00C,
13939     3,
13940     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13941     EOpImageAtomicOr,
13942     false);
13943 constexpr const TFunction imageAtomicOr_00x10C00C(
13944     BuiltInId::imageAtomicOr_ImageRect1_Int2_Int1,
13945     BuiltInName::imageAtomicOr,
13946     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13947     BuiltInParameters::p00x10C00C00C,
13948     3,
13949     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13950     EOpImageAtomicOr,
13951     false);
13952 constexpr const TFunction imageAtomicOr_01G10C00C(
13953     BuiltInId::imageAtomicOr_IImageRect1_Int2_Int1,
13954     BuiltInName::imageAtomicOr,
13955     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13956     BuiltInParameters::p01G10C00C00C,
13957     3,
13958     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13959     EOpImageAtomicOr,
13960     false);
13961 constexpr const TFunction imageAtomicOr_01P10C00C(
13962     BuiltInId::imageAtomicOr_UImageRect1_Int2_Int1,
13963     BuiltInName::imageAtomicOr,
13964     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13965     BuiltInParameters::p01P10C00C00C,
13966     3,
13967     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13968     EOpImageAtomicOr,
13969     false);
13970 constexpr const TFunction imageAtomicOr_00u10C00C00C(
13971     BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_Int1,
13972     BuiltInName::imageAtomicOr,
13973     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13974     BuiltInParameters::p00u10C00C00C00C,
13975     4,
13976     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13977     EOpImageAtomicOr,
13978     false);
13979 constexpr const TFunction imageAtomicOr_01D10C00C00C(
13980     BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_Int1,
13981     BuiltInName::imageAtomicOr,
13982     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13983     BuiltInParameters::p01D10C00C00C00C,
13984     4,
13985     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13986     EOpImageAtomicOr,
13987     false);
13988 constexpr const TFunction imageAtomicOr_01M10C00C00C(
13989     BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_Int1,
13990     BuiltInName::imageAtomicOr,
13991     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
13992     BuiltInParameters::p01M10C00C00C00C,
13993     4,
13994     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
13995     EOpImageAtomicOr,
13996     false);
13997 constexpr const TFunction imageAtomicOr_00v20C00C00C(
13998     BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_Int1,
13999     BuiltInName::imageAtomicOr,
14000     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14001     BuiltInParameters::p00v20C00C00C00C,
14002     4,
14003     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14004     EOpImageAtomicOr,
14005     false);
14006 constexpr const TFunction imageAtomicOr_01E20C00C00C(
14007     BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_Int1,
14008     BuiltInName::imageAtomicOr,
14009     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14010     BuiltInParameters::p01E20C00C00C00C,
14011     4,
14012     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14013     EOpImageAtomicOr,
14014     false);
14015 constexpr const TFunction imageAtomicOr_01N20C00C00C(
14016     BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_Int1,
14017     BuiltInName::imageAtomicOr,
14018     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14019     BuiltInParameters::p01N20C00C00C00C,
14020     4,
14021     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14022     EOpImageAtomicOr,
14023     false);
14024 constexpr const TFunction imageAtomicXor_00q10C00D(
14025     BuiltInId::imageAtomicXor_Image2D1_Int2_UInt1,
14026     BuiltInName::imageAtomicXor,
14027     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14028     BuiltInParameters::p00q10C00D00D,
14029     3,
14030     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14031     EOpImageAtomicXor,
14032     false);
14033 constexpr const TFunction imageAtomicXor_00z10C00D(
14034     BuiltInId::imageAtomicXor_IImage2D1_Int2_UInt1,
14035     BuiltInName::imageAtomicXor,
14036     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14037     BuiltInParameters::p00z10C00D00D,
14038     3,
14039     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14040     EOpImageAtomicXor,
14041     false);
14042 constexpr const TFunction imageAtomicXor_01I10C00D(
14043     BuiltInId::imageAtomicXor_UImage2D1_Int2_UInt1,
14044     BuiltInName::imageAtomicXor,
14045     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14046     BuiltInParameters::p01I10C00D00D,
14047     3,
14048     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14049     EOpImageAtomicXor,
14050     false);
14051 constexpr const TFunction imageAtomicXor_00r20C00D(
14052     BuiltInId::imageAtomicXor_Image3D1_Int3_UInt1,
14053     BuiltInName::imageAtomicXor,
14054     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14055     BuiltInParameters::p00r20C00D00D,
14056     3,
14057     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14058     EOpImageAtomicXor,
14059     false);
14060 constexpr const TFunction imageAtomicXor_01A20C00D(
14061     BuiltInId::imageAtomicXor_IImage3D1_Int3_UInt1,
14062     BuiltInName::imageAtomicXor,
14063     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14064     BuiltInParameters::p01A20C00D00D,
14065     3,
14066     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14067     EOpImageAtomicXor,
14068     false);
14069 constexpr const TFunction imageAtomicXor_01J20C00D(
14070     BuiltInId::imageAtomicXor_UImage3D1_Int3_UInt1,
14071     BuiltInName::imageAtomicXor,
14072     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14073     BuiltInParameters::p01J20C00D00D,
14074     3,
14075     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14076     EOpImageAtomicXor,
14077     false);
14078 constexpr const TFunction imageAtomicXor_00t20C00D(
14079     BuiltInId::imageAtomicXor_ImageCube1_Int3_UInt1,
14080     BuiltInName::imageAtomicXor,
14081     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14082     BuiltInParameters::p00t20C00D00D,
14083     3,
14084     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14085     EOpImageAtomicXor,
14086     false);
14087 constexpr const TFunction imageAtomicXor_01C20C00D(
14088     BuiltInId::imageAtomicXor_IImageCube1_Int3_UInt1,
14089     BuiltInName::imageAtomicXor,
14090     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14091     BuiltInParameters::p01C20C00D00D,
14092     3,
14093     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14094     EOpImageAtomicXor,
14095     false);
14096 constexpr const TFunction imageAtomicXor_01L20C00D(
14097     BuiltInId::imageAtomicXor_UImageCube1_Int3_UInt1,
14098     BuiltInName::imageAtomicXor,
14099     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14100     BuiltInParameters::p01L20C00D00D,
14101     3,
14102     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14103     EOpImageAtomicXor,
14104     false);
14105 constexpr const TFunction imageAtomicXor_00y00C00D(
14106     BuiltInId::imageAtomicXor_ImageBuffer1_Int1_UInt1,
14107     BuiltInName::imageAtomicXor,
14108     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14109     BuiltInParameters::p00y00C00D00D,
14110     3,
14111     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14112     EOpImageAtomicXor,
14113     false);
14114 constexpr const TFunction imageAtomicXor_01H00C00D(
14115     BuiltInId::imageAtomicXor_IImageBuffer1_Int1_UInt1,
14116     BuiltInName::imageAtomicXor,
14117     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14118     BuiltInParameters::p01H00C00D00D,
14119     3,
14120     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14121     EOpImageAtomicXor,
14122     false);
14123 constexpr const TFunction imageAtomicXor_01Q00C00D(
14124     BuiltInId::imageAtomicXor_UImageBuffer1_Int1_UInt1,
14125     BuiltInName::imageAtomicXor,
14126     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14127     BuiltInParameters::p01Q00C00D00D,
14128     3,
14129     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14130     EOpImageAtomicXor,
14131     false);
14132 constexpr const TFunction imageAtomicXor_00s20C00D(
14133     BuiltInId::imageAtomicXor_Image2DArray1_Int3_UInt1,
14134     BuiltInName::imageAtomicXor,
14135     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14136     BuiltInParameters::p00s20C00D00D,
14137     3,
14138     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14139     EOpImageAtomicXor,
14140     false);
14141 constexpr const TFunction imageAtomicXor_01B20C00D(
14142     BuiltInId::imageAtomicXor_IImage2DArray1_Int3_UInt1,
14143     BuiltInName::imageAtomicXor,
14144     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14145     BuiltInParameters::p01B20C00D00D,
14146     3,
14147     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14148     EOpImageAtomicXor,
14149     false);
14150 constexpr const TFunction imageAtomicXor_01K20C00D(
14151     BuiltInId::imageAtomicXor_UImage2DArray1_Int3_UInt1,
14152     BuiltInName::imageAtomicXor,
14153     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14154     BuiltInParameters::p01K20C00D00D,
14155     3,
14156     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14157     EOpImageAtomicXor,
14158     false);
14159 constexpr const TFunction imageAtomicXor_00w20C00D(
14160     BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_UInt1,
14161     BuiltInName::imageAtomicXor,
14162     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14163     BuiltInParameters::p00w20C00D00D,
14164     3,
14165     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14166     EOpImageAtomicXor,
14167     false);
14168 constexpr const TFunction imageAtomicXor_01F20C00D(
14169     BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_UInt1,
14170     BuiltInName::imageAtomicXor,
14171     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14172     BuiltInParameters::p01F20C00D00D,
14173     3,
14174     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14175     EOpImageAtomicXor,
14176     false);
14177 constexpr const TFunction imageAtomicXor_01O20C00D(
14178     BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_UInt1,
14179     BuiltInName::imageAtomicXor,
14180     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14181     BuiltInParameters::p01O20C00D00D,
14182     3,
14183     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14184     EOpImageAtomicXor,
14185     false);
14186 constexpr const TFunction imageAtomicXor_00x10C00D(
14187     BuiltInId::imageAtomicXor_ImageRect1_Int2_UInt1,
14188     BuiltInName::imageAtomicXor,
14189     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14190     BuiltInParameters::p00x10C00D00D,
14191     3,
14192     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14193     EOpImageAtomicXor,
14194     false);
14195 constexpr const TFunction imageAtomicXor_01G10C00D(
14196     BuiltInId::imageAtomicXor_IImageRect1_Int2_UInt1,
14197     BuiltInName::imageAtomicXor,
14198     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14199     BuiltInParameters::p01G10C00D00D,
14200     3,
14201     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14202     EOpImageAtomicXor,
14203     false);
14204 constexpr const TFunction imageAtomicXor_01P10C00D(
14205     BuiltInId::imageAtomicXor_UImageRect1_Int2_UInt1,
14206     BuiltInName::imageAtomicXor,
14207     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14208     BuiltInParameters::p01P10C00D00D,
14209     3,
14210     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14211     EOpImageAtomicXor,
14212     false);
14213 constexpr const TFunction imageAtomicXor_00u10C00C00D(
14214     BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_UInt1,
14215     BuiltInName::imageAtomicXor,
14216     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14217     BuiltInParameters::p00u10C00C00D00D,
14218     4,
14219     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14220     EOpImageAtomicXor,
14221     false);
14222 constexpr const TFunction imageAtomicXor_01D10C00C00D(
14223     BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_UInt1,
14224     BuiltInName::imageAtomicXor,
14225     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14226     BuiltInParameters::p01D10C00C00D00D,
14227     4,
14228     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14229     EOpImageAtomicXor,
14230     false);
14231 constexpr const TFunction imageAtomicXor_01M10C00C00D(
14232     BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_UInt1,
14233     BuiltInName::imageAtomicXor,
14234     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14235     BuiltInParameters::p01M10C00C00D00D,
14236     4,
14237     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14238     EOpImageAtomicXor,
14239     false);
14240 constexpr const TFunction imageAtomicXor_00v20C00C00D(
14241     BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_UInt1,
14242     BuiltInName::imageAtomicXor,
14243     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14244     BuiltInParameters::p00v20C00C00D00D,
14245     4,
14246     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14247     EOpImageAtomicXor,
14248     false);
14249 constexpr const TFunction imageAtomicXor_01E20C00C00D(
14250     BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_UInt1,
14251     BuiltInName::imageAtomicXor,
14252     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14253     BuiltInParameters::p01E20C00C00D00D,
14254     4,
14255     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14256     EOpImageAtomicXor,
14257     false);
14258 constexpr const TFunction imageAtomicXor_01N20C00C00D(
14259     BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_UInt1,
14260     BuiltInName::imageAtomicXor,
14261     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14262     BuiltInParameters::p01N20C00C00D00D,
14263     4,
14264     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14265     EOpImageAtomicXor,
14266     false);
14267 constexpr const TFunction imageAtomicXor_00q10C00C(
14268     BuiltInId::imageAtomicXor_Image2D1_Int2_Int1,
14269     BuiltInName::imageAtomicXor,
14270     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14271     BuiltInParameters::p00q10C00C00C,
14272     3,
14273     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14274     EOpImageAtomicXor,
14275     false);
14276 constexpr const TFunction imageAtomicXor_00z10C00C(
14277     BuiltInId::imageAtomicXor_IImage2D1_Int2_Int1,
14278     BuiltInName::imageAtomicXor,
14279     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14280     BuiltInParameters::p00z10C00C00C,
14281     3,
14282     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14283     EOpImageAtomicXor,
14284     false);
14285 constexpr const TFunction imageAtomicXor_01I10C00C(
14286     BuiltInId::imageAtomicXor_UImage2D1_Int2_Int1,
14287     BuiltInName::imageAtomicXor,
14288     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14289     BuiltInParameters::p01I10C00C00C,
14290     3,
14291     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14292     EOpImageAtomicXor,
14293     false);
14294 constexpr const TFunction imageAtomicXor_00r20C00C(
14295     BuiltInId::imageAtomicXor_Image3D1_Int3_Int1,
14296     BuiltInName::imageAtomicXor,
14297     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14298     BuiltInParameters::p00r20C00C00C,
14299     3,
14300     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14301     EOpImageAtomicXor,
14302     false);
14303 constexpr const TFunction imageAtomicXor_01A20C00C(
14304     BuiltInId::imageAtomicXor_IImage3D1_Int3_Int1,
14305     BuiltInName::imageAtomicXor,
14306     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14307     BuiltInParameters::p01A20C00C00C,
14308     3,
14309     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14310     EOpImageAtomicXor,
14311     false);
14312 constexpr const TFunction imageAtomicXor_01J20C00C(
14313     BuiltInId::imageAtomicXor_UImage3D1_Int3_Int1,
14314     BuiltInName::imageAtomicXor,
14315     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14316     BuiltInParameters::p01J20C00C00C,
14317     3,
14318     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14319     EOpImageAtomicXor,
14320     false);
14321 constexpr const TFunction imageAtomicXor_00t20C00C(
14322     BuiltInId::imageAtomicXor_ImageCube1_Int3_Int1,
14323     BuiltInName::imageAtomicXor,
14324     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14325     BuiltInParameters::p00t20C00C00C,
14326     3,
14327     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14328     EOpImageAtomicXor,
14329     false);
14330 constexpr const TFunction imageAtomicXor_01C20C00C(
14331     BuiltInId::imageAtomicXor_IImageCube1_Int3_Int1,
14332     BuiltInName::imageAtomicXor,
14333     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14334     BuiltInParameters::p01C20C00C00C,
14335     3,
14336     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14337     EOpImageAtomicXor,
14338     false);
14339 constexpr const TFunction imageAtomicXor_01L20C00C(
14340     BuiltInId::imageAtomicXor_UImageCube1_Int3_Int1,
14341     BuiltInName::imageAtomicXor,
14342     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14343     BuiltInParameters::p01L20C00C00C,
14344     3,
14345     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14346     EOpImageAtomicXor,
14347     false);
14348 constexpr const TFunction imageAtomicXor_00y00C00C(
14349     BuiltInId::imageAtomicXor_ImageBuffer1_Int1_Int1,
14350     BuiltInName::imageAtomicXor,
14351     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14352     BuiltInParameters::p00y00C00C00C,
14353     3,
14354     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14355     EOpImageAtomicXor,
14356     false);
14357 constexpr const TFunction imageAtomicXor_01H00C00C(
14358     BuiltInId::imageAtomicXor_IImageBuffer1_Int1_Int1,
14359     BuiltInName::imageAtomicXor,
14360     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14361     BuiltInParameters::p01H00C00C00C,
14362     3,
14363     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14364     EOpImageAtomicXor,
14365     false);
14366 constexpr const TFunction imageAtomicXor_01Q00C00C(
14367     BuiltInId::imageAtomicXor_UImageBuffer1_Int1_Int1,
14368     BuiltInName::imageAtomicXor,
14369     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14370     BuiltInParameters::p01Q00C00C00C,
14371     3,
14372     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14373     EOpImageAtomicXor,
14374     false);
14375 constexpr const TFunction imageAtomicXor_00s20C00C(
14376     BuiltInId::imageAtomicXor_Image2DArray1_Int3_Int1,
14377     BuiltInName::imageAtomicXor,
14378     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14379     BuiltInParameters::p00s20C00C00C,
14380     3,
14381     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14382     EOpImageAtomicXor,
14383     false);
14384 constexpr const TFunction imageAtomicXor_01B20C00C(
14385     BuiltInId::imageAtomicXor_IImage2DArray1_Int3_Int1,
14386     BuiltInName::imageAtomicXor,
14387     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14388     BuiltInParameters::p01B20C00C00C,
14389     3,
14390     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14391     EOpImageAtomicXor,
14392     false);
14393 constexpr const TFunction imageAtomicXor_01K20C00C(
14394     BuiltInId::imageAtomicXor_UImage2DArray1_Int3_Int1,
14395     BuiltInName::imageAtomicXor,
14396     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14397     BuiltInParameters::p01K20C00C00C,
14398     3,
14399     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14400     EOpImageAtomicXor,
14401     false);
14402 constexpr const TFunction imageAtomicXor_00w20C00C(
14403     BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_Int1,
14404     BuiltInName::imageAtomicXor,
14405     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14406     BuiltInParameters::p00w20C00C00C,
14407     3,
14408     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14409     EOpImageAtomicXor,
14410     false);
14411 constexpr const TFunction imageAtomicXor_01F20C00C(
14412     BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_Int1,
14413     BuiltInName::imageAtomicXor,
14414     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14415     BuiltInParameters::p01F20C00C00C,
14416     3,
14417     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14418     EOpImageAtomicXor,
14419     false);
14420 constexpr const TFunction imageAtomicXor_01O20C00C(
14421     BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_Int1,
14422     BuiltInName::imageAtomicXor,
14423     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14424     BuiltInParameters::p01O20C00C00C,
14425     3,
14426     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14427     EOpImageAtomicXor,
14428     false);
14429 constexpr const TFunction imageAtomicXor_00x10C00C(
14430     BuiltInId::imageAtomicXor_ImageRect1_Int2_Int1,
14431     BuiltInName::imageAtomicXor,
14432     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14433     BuiltInParameters::p00x10C00C00C,
14434     3,
14435     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14436     EOpImageAtomicXor,
14437     false);
14438 constexpr const TFunction imageAtomicXor_01G10C00C(
14439     BuiltInId::imageAtomicXor_IImageRect1_Int2_Int1,
14440     BuiltInName::imageAtomicXor,
14441     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14442     BuiltInParameters::p01G10C00C00C,
14443     3,
14444     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14445     EOpImageAtomicXor,
14446     false);
14447 constexpr const TFunction imageAtomicXor_01P10C00C(
14448     BuiltInId::imageAtomicXor_UImageRect1_Int2_Int1,
14449     BuiltInName::imageAtomicXor,
14450     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14451     BuiltInParameters::p01P10C00C00C,
14452     3,
14453     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14454     EOpImageAtomicXor,
14455     false);
14456 constexpr const TFunction imageAtomicXor_00u10C00C00C(
14457     BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_Int1,
14458     BuiltInName::imageAtomicXor,
14459     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14460     BuiltInParameters::p00u10C00C00C00C,
14461     4,
14462     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14463     EOpImageAtomicXor,
14464     false);
14465 constexpr const TFunction imageAtomicXor_01D10C00C00C(
14466     BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_Int1,
14467     BuiltInName::imageAtomicXor,
14468     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14469     BuiltInParameters::p01D10C00C00C00C,
14470     4,
14471     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14472     EOpImageAtomicXor,
14473     false);
14474 constexpr const TFunction imageAtomicXor_01M10C00C00C(
14475     BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_Int1,
14476     BuiltInName::imageAtomicXor,
14477     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14478     BuiltInParameters::p01M10C00C00C00C,
14479     4,
14480     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14481     EOpImageAtomicXor,
14482     false);
14483 constexpr const TFunction imageAtomicXor_00v20C00C00C(
14484     BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_Int1,
14485     BuiltInName::imageAtomicXor,
14486     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14487     BuiltInParameters::p00v20C00C00C00C,
14488     4,
14489     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14490     EOpImageAtomicXor,
14491     false);
14492 constexpr const TFunction imageAtomicXor_01E20C00C00C(
14493     BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_Int1,
14494     BuiltInName::imageAtomicXor,
14495     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14496     BuiltInParameters::p01E20C00C00C00C,
14497     4,
14498     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14499     EOpImageAtomicXor,
14500     false);
14501 constexpr const TFunction imageAtomicXor_01N20C00C00C(
14502     BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_Int1,
14503     BuiltInName::imageAtomicXor,
14504     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14505     BuiltInParameters::p01N20C00C00C00C,
14506     4,
14507     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14508     EOpImageAtomicXor,
14509     false);
14510 constexpr const TFunction imageAtomicExchange_00q10C00D(
14511     BuiltInId::imageAtomicExchange_Image2D1_Int2_UInt1,
14512     BuiltInName::imageAtomicExchange,
14513     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14514     BuiltInParameters::p00q10C00D00D,
14515     3,
14516     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14517     EOpImageAtomicExchange,
14518     false);
14519 constexpr const TFunction imageAtomicExchange_00z10C00D(
14520     BuiltInId::imageAtomicExchange_IImage2D1_Int2_UInt1,
14521     BuiltInName::imageAtomicExchange,
14522     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14523     BuiltInParameters::p00z10C00D00D,
14524     3,
14525     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14526     EOpImageAtomicExchange,
14527     false);
14528 constexpr const TFunction imageAtomicExchange_01I10C00D(
14529     BuiltInId::imageAtomicExchange_UImage2D1_Int2_UInt1,
14530     BuiltInName::imageAtomicExchange,
14531     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14532     BuiltInParameters::p01I10C00D00D,
14533     3,
14534     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14535     EOpImageAtomicExchange,
14536     false);
14537 constexpr const TFunction imageAtomicExchange_00r20C00D(
14538     BuiltInId::imageAtomicExchange_Image3D1_Int3_UInt1,
14539     BuiltInName::imageAtomicExchange,
14540     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14541     BuiltInParameters::p00r20C00D00D,
14542     3,
14543     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14544     EOpImageAtomicExchange,
14545     false);
14546 constexpr const TFunction imageAtomicExchange_01A20C00D(
14547     BuiltInId::imageAtomicExchange_IImage3D1_Int3_UInt1,
14548     BuiltInName::imageAtomicExchange,
14549     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14550     BuiltInParameters::p01A20C00D00D,
14551     3,
14552     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14553     EOpImageAtomicExchange,
14554     false);
14555 constexpr const TFunction imageAtomicExchange_01J20C00D(
14556     BuiltInId::imageAtomicExchange_UImage3D1_Int3_UInt1,
14557     BuiltInName::imageAtomicExchange,
14558     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14559     BuiltInParameters::p01J20C00D00D,
14560     3,
14561     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14562     EOpImageAtomicExchange,
14563     false);
14564 constexpr const TFunction imageAtomicExchange_00t20C00D(
14565     BuiltInId::imageAtomicExchange_ImageCube1_Int3_UInt1,
14566     BuiltInName::imageAtomicExchange,
14567     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14568     BuiltInParameters::p00t20C00D00D,
14569     3,
14570     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14571     EOpImageAtomicExchange,
14572     false);
14573 constexpr const TFunction imageAtomicExchange_01C20C00D(
14574     BuiltInId::imageAtomicExchange_IImageCube1_Int3_UInt1,
14575     BuiltInName::imageAtomicExchange,
14576     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14577     BuiltInParameters::p01C20C00D00D,
14578     3,
14579     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14580     EOpImageAtomicExchange,
14581     false);
14582 constexpr const TFunction imageAtomicExchange_01L20C00D(
14583     BuiltInId::imageAtomicExchange_UImageCube1_Int3_UInt1,
14584     BuiltInName::imageAtomicExchange,
14585     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14586     BuiltInParameters::p01L20C00D00D,
14587     3,
14588     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14589     EOpImageAtomicExchange,
14590     false);
14591 constexpr const TFunction imageAtomicExchange_00y00C00D(
14592     BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_UInt1,
14593     BuiltInName::imageAtomicExchange,
14594     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14595     BuiltInParameters::p00y00C00D00D,
14596     3,
14597     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14598     EOpImageAtomicExchange,
14599     false);
14600 constexpr const TFunction imageAtomicExchange_01H00C00D(
14601     BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_UInt1,
14602     BuiltInName::imageAtomicExchange,
14603     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14604     BuiltInParameters::p01H00C00D00D,
14605     3,
14606     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14607     EOpImageAtomicExchange,
14608     false);
14609 constexpr const TFunction imageAtomicExchange_01Q00C00D(
14610     BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_UInt1,
14611     BuiltInName::imageAtomicExchange,
14612     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14613     BuiltInParameters::p01Q00C00D00D,
14614     3,
14615     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14616     EOpImageAtomicExchange,
14617     false);
14618 constexpr const TFunction imageAtomicExchange_00s20C00D(
14619     BuiltInId::imageAtomicExchange_Image2DArray1_Int3_UInt1,
14620     BuiltInName::imageAtomicExchange,
14621     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14622     BuiltInParameters::p00s20C00D00D,
14623     3,
14624     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14625     EOpImageAtomicExchange,
14626     false);
14627 constexpr const TFunction imageAtomicExchange_01B20C00D(
14628     BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_UInt1,
14629     BuiltInName::imageAtomicExchange,
14630     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14631     BuiltInParameters::p01B20C00D00D,
14632     3,
14633     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14634     EOpImageAtomicExchange,
14635     false);
14636 constexpr const TFunction imageAtomicExchange_01K20C00D(
14637     BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_UInt1,
14638     BuiltInName::imageAtomicExchange,
14639     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14640     BuiltInParameters::p01K20C00D00D,
14641     3,
14642     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14643     EOpImageAtomicExchange,
14644     false);
14645 constexpr const TFunction imageAtomicExchange_00w20C00D(
14646     BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_UInt1,
14647     BuiltInName::imageAtomicExchange,
14648     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14649     BuiltInParameters::p00w20C00D00D,
14650     3,
14651     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14652     EOpImageAtomicExchange,
14653     false);
14654 constexpr const TFunction imageAtomicExchange_01F20C00D(
14655     BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_UInt1,
14656     BuiltInName::imageAtomicExchange,
14657     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14658     BuiltInParameters::p01F20C00D00D,
14659     3,
14660     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14661     EOpImageAtomicExchange,
14662     false);
14663 constexpr const TFunction imageAtomicExchange_01O20C00D(
14664     BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_UInt1,
14665     BuiltInName::imageAtomicExchange,
14666     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14667     BuiltInParameters::p01O20C00D00D,
14668     3,
14669     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14670     EOpImageAtomicExchange,
14671     false);
14672 constexpr const TFunction imageAtomicExchange_00x10C00D(
14673     BuiltInId::imageAtomicExchange_ImageRect1_Int2_UInt1,
14674     BuiltInName::imageAtomicExchange,
14675     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14676     BuiltInParameters::p00x10C00D00D,
14677     3,
14678     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14679     EOpImageAtomicExchange,
14680     false);
14681 constexpr const TFunction imageAtomicExchange_01G10C00D(
14682     BuiltInId::imageAtomicExchange_IImageRect1_Int2_UInt1,
14683     BuiltInName::imageAtomicExchange,
14684     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14685     BuiltInParameters::p01G10C00D00D,
14686     3,
14687     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14688     EOpImageAtomicExchange,
14689     false);
14690 constexpr const TFunction imageAtomicExchange_01P10C00D(
14691     BuiltInId::imageAtomicExchange_UImageRect1_Int2_UInt1,
14692     BuiltInName::imageAtomicExchange,
14693     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14694     BuiltInParameters::p01P10C00D00D,
14695     3,
14696     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14697     EOpImageAtomicExchange,
14698     false);
14699 constexpr const TFunction imageAtomicExchange_00u10C00C00D(
14700     BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_UInt1,
14701     BuiltInName::imageAtomicExchange,
14702     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14703     BuiltInParameters::p00u10C00C00D00D,
14704     4,
14705     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14706     EOpImageAtomicExchange,
14707     false);
14708 constexpr const TFunction imageAtomicExchange_01D10C00C00D(
14709     BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_UInt1,
14710     BuiltInName::imageAtomicExchange,
14711     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14712     BuiltInParameters::p01D10C00C00D00D,
14713     4,
14714     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14715     EOpImageAtomicExchange,
14716     false);
14717 constexpr const TFunction imageAtomicExchange_01M10C00C00D(
14718     BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_UInt1,
14719     BuiltInName::imageAtomicExchange,
14720     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14721     BuiltInParameters::p01M10C00C00D00D,
14722     4,
14723     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14724     EOpImageAtomicExchange,
14725     false);
14726 constexpr const TFunction imageAtomicExchange_00v20C00C00D(
14727     BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_UInt1,
14728     BuiltInName::imageAtomicExchange,
14729     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14730     BuiltInParameters::p00v20C00C00D00D,
14731     4,
14732     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14733     EOpImageAtomicExchange,
14734     false);
14735 constexpr const TFunction imageAtomicExchange_01E20C00C00D(
14736     BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_UInt1,
14737     BuiltInName::imageAtomicExchange,
14738     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14739     BuiltInParameters::p01E20C00C00D00D,
14740     4,
14741     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14742     EOpImageAtomicExchange,
14743     false);
14744 constexpr const TFunction imageAtomicExchange_01N20C00C00D(
14745     BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_UInt1,
14746     BuiltInName::imageAtomicExchange,
14747     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14748     BuiltInParameters::p01N20C00C00D00D,
14749     4,
14750     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
14751     EOpImageAtomicExchange,
14752     false);
14753 constexpr const TFunction imageAtomicExchange_00q10C00C(
14754     BuiltInId::imageAtomicExchange_Image2D1_Int2_Int1,
14755     BuiltInName::imageAtomicExchange,
14756     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14757     BuiltInParameters::p00q10C00C00C,
14758     3,
14759     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14760     EOpImageAtomicExchange,
14761     false);
14762 constexpr const TFunction imageAtomicExchange_00z10C00C(
14763     BuiltInId::imageAtomicExchange_IImage2D1_Int2_Int1,
14764     BuiltInName::imageAtomicExchange,
14765     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14766     BuiltInParameters::p00z10C00C00C,
14767     3,
14768     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14769     EOpImageAtomicExchange,
14770     false);
14771 constexpr const TFunction imageAtomicExchange_01I10C00C(
14772     BuiltInId::imageAtomicExchange_UImage2D1_Int2_Int1,
14773     BuiltInName::imageAtomicExchange,
14774     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14775     BuiltInParameters::p01I10C00C00C,
14776     3,
14777     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14778     EOpImageAtomicExchange,
14779     false);
14780 constexpr const TFunction imageAtomicExchange_00r20C00C(
14781     BuiltInId::imageAtomicExchange_Image3D1_Int3_Int1,
14782     BuiltInName::imageAtomicExchange,
14783     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14784     BuiltInParameters::p00r20C00C00C,
14785     3,
14786     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14787     EOpImageAtomicExchange,
14788     false);
14789 constexpr const TFunction imageAtomicExchange_01A20C00C(
14790     BuiltInId::imageAtomicExchange_IImage3D1_Int3_Int1,
14791     BuiltInName::imageAtomicExchange,
14792     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14793     BuiltInParameters::p01A20C00C00C,
14794     3,
14795     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14796     EOpImageAtomicExchange,
14797     false);
14798 constexpr const TFunction imageAtomicExchange_01J20C00C(
14799     BuiltInId::imageAtomicExchange_UImage3D1_Int3_Int1,
14800     BuiltInName::imageAtomicExchange,
14801     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14802     BuiltInParameters::p01J20C00C00C,
14803     3,
14804     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14805     EOpImageAtomicExchange,
14806     false);
14807 constexpr const TFunction imageAtomicExchange_00t20C00C(
14808     BuiltInId::imageAtomicExchange_ImageCube1_Int3_Int1,
14809     BuiltInName::imageAtomicExchange,
14810     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14811     BuiltInParameters::p00t20C00C00C,
14812     3,
14813     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14814     EOpImageAtomicExchange,
14815     false);
14816 constexpr const TFunction imageAtomicExchange_01C20C00C(
14817     BuiltInId::imageAtomicExchange_IImageCube1_Int3_Int1,
14818     BuiltInName::imageAtomicExchange,
14819     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14820     BuiltInParameters::p01C20C00C00C,
14821     3,
14822     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14823     EOpImageAtomicExchange,
14824     false);
14825 constexpr const TFunction imageAtomicExchange_01L20C00C(
14826     BuiltInId::imageAtomicExchange_UImageCube1_Int3_Int1,
14827     BuiltInName::imageAtomicExchange,
14828     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14829     BuiltInParameters::p01L20C00C00C,
14830     3,
14831     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14832     EOpImageAtomicExchange,
14833     false);
14834 constexpr const TFunction imageAtomicExchange_00y00C00C(
14835     BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Int1,
14836     BuiltInName::imageAtomicExchange,
14837     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14838     BuiltInParameters::p00y00C00C00C,
14839     3,
14840     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14841     EOpImageAtomicExchange,
14842     false);
14843 constexpr const TFunction imageAtomicExchange_01H00C00C(
14844     BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Int1,
14845     BuiltInName::imageAtomicExchange,
14846     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14847     BuiltInParameters::p01H00C00C00C,
14848     3,
14849     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14850     EOpImageAtomicExchange,
14851     false);
14852 constexpr const TFunction imageAtomicExchange_01Q00C00C(
14853     BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Int1,
14854     BuiltInName::imageAtomicExchange,
14855     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14856     BuiltInParameters::p01Q00C00C00C,
14857     3,
14858     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14859     EOpImageAtomicExchange,
14860     false);
14861 constexpr const TFunction imageAtomicExchange_00s20C00C(
14862     BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Int1,
14863     BuiltInName::imageAtomicExchange,
14864     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14865     BuiltInParameters::p00s20C00C00C,
14866     3,
14867     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14868     EOpImageAtomicExchange,
14869     false);
14870 constexpr const TFunction imageAtomicExchange_01B20C00C(
14871     BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Int1,
14872     BuiltInName::imageAtomicExchange,
14873     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14874     BuiltInParameters::p01B20C00C00C,
14875     3,
14876     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14877     EOpImageAtomicExchange,
14878     false);
14879 constexpr const TFunction imageAtomicExchange_01K20C00C(
14880     BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Int1,
14881     BuiltInName::imageAtomicExchange,
14882     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14883     BuiltInParameters::p01K20C00C00C,
14884     3,
14885     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14886     EOpImageAtomicExchange,
14887     false);
14888 constexpr const TFunction imageAtomicExchange_00w20C00C(
14889     BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Int1,
14890     BuiltInName::imageAtomicExchange,
14891     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14892     BuiltInParameters::p00w20C00C00C,
14893     3,
14894     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14895     EOpImageAtomicExchange,
14896     false);
14897 constexpr const TFunction imageAtomicExchange_01F20C00C(
14898     BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Int1,
14899     BuiltInName::imageAtomicExchange,
14900     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14901     BuiltInParameters::p01F20C00C00C,
14902     3,
14903     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14904     EOpImageAtomicExchange,
14905     false);
14906 constexpr const TFunction imageAtomicExchange_01O20C00C(
14907     BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Int1,
14908     BuiltInName::imageAtomicExchange,
14909     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14910     BuiltInParameters::p01O20C00C00C,
14911     3,
14912     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14913     EOpImageAtomicExchange,
14914     false);
14915 constexpr const TFunction imageAtomicExchange_00x10C00C(
14916     BuiltInId::imageAtomicExchange_ImageRect1_Int2_Int1,
14917     BuiltInName::imageAtomicExchange,
14918     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14919     BuiltInParameters::p00x10C00C00C,
14920     3,
14921     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14922     EOpImageAtomicExchange,
14923     false);
14924 constexpr const TFunction imageAtomicExchange_01G10C00C(
14925     BuiltInId::imageAtomicExchange_IImageRect1_Int2_Int1,
14926     BuiltInName::imageAtomicExchange,
14927     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14928     BuiltInParameters::p01G10C00C00C,
14929     3,
14930     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14931     EOpImageAtomicExchange,
14932     false);
14933 constexpr const TFunction imageAtomicExchange_01P10C00C(
14934     BuiltInId::imageAtomicExchange_UImageRect1_Int2_Int1,
14935     BuiltInName::imageAtomicExchange,
14936     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14937     BuiltInParameters::p01P10C00C00C,
14938     3,
14939     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14940     EOpImageAtomicExchange,
14941     false);
14942 constexpr const TFunction imageAtomicExchange_00u10C00C00C(
14943     BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Int1,
14944     BuiltInName::imageAtomicExchange,
14945     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14946     BuiltInParameters::p00u10C00C00C00C,
14947     4,
14948     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14949     EOpImageAtomicExchange,
14950     false);
14951 constexpr const TFunction imageAtomicExchange_01D10C00C00C(
14952     BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Int1,
14953     BuiltInName::imageAtomicExchange,
14954     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14955     BuiltInParameters::p01D10C00C00C00C,
14956     4,
14957     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14958     EOpImageAtomicExchange,
14959     false);
14960 constexpr const TFunction imageAtomicExchange_01M10C00C00C(
14961     BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Int1,
14962     BuiltInName::imageAtomicExchange,
14963     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14964     BuiltInParameters::p01M10C00C00C00C,
14965     4,
14966     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14967     EOpImageAtomicExchange,
14968     false);
14969 constexpr const TFunction imageAtomicExchange_00v20C00C00C(
14970     BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Int1,
14971     BuiltInName::imageAtomicExchange,
14972     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14973     BuiltInParameters::p00v20C00C00C00C,
14974     4,
14975     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14976     EOpImageAtomicExchange,
14977     false);
14978 constexpr const TFunction imageAtomicExchange_01E20C00C00C(
14979     BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Int1,
14980     BuiltInName::imageAtomicExchange,
14981     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14982     BuiltInParameters::p01E20C00C00C00C,
14983     4,
14984     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14985     EOpImageAtomicExchange,
14986     false);
14987 constexpr const TFunction imageAtomicExchange_01N20C00C00C(
14988     BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Int1,
14989     BuiltInName::imageAtomicExchange,
14990     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
14991     BuiltInParameters::p01N20C00C00C00C,
14992     4,
14993     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
14994     EOpImageAtomicExchange,
14995     false);
14996 constexpr const TFunction imageAtomicExchange_00q10C00B(
14997     BuiltInId::imageAtomicExchange_Image2D1_Int2_Float1,
14998     BuiltInName::imageAtomicExchange,
14999     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15000     BuiltInParameters::p00q10C00B,
15001     3,
15002     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15003     EOpImageAtomicExchange,
15004     false);
15005 constexpr const TFunction imageAtomicExchange_00z10C00B(
15006     BuiltInId::imageAtomicExchange_IImage2D1_Int2_Float1,
15007     BuiltInName::imageAtomicExchange,
15008     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15009     BuiltInParameters::p00z10C00B,
15010     3,
15011     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15012     EOpImageAtomicExchange,
15013     false);
15014 constexpr const TFunction imageAtomicExchange_01I10C00B(
15015     BuiltInId::imageAtomicExchange_UImage2D1_Int2_Float1,
15016     BuiltInName::imageAtomicExchange,
15017     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15018     BuiltInParameters::p01I10C00B,
15019     3,
15020     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15021     EOpImageAtomicExchange,
15022     false);
15023 constexpr const TFunction imageAtomicExchange_00r20C00B(
15024     BuiltInId::imageAtomicExchange_Image3D1_Int3_Float1,
15025     BuiltInName::imageAtomicExchange,
15026     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15027     BuiltInParameters::p00r20C00B,
15028     3,
15029     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15030     EOpImageAtomicExchange,
15031     false);
15032 constexpr const TFunction imageAtomicExchange_01A20C00B(
15033     BuiltInId::imageAtomicExchange_IImage3D1_Int3_Float1,
15034     BuiltInName::imageAtomicExchange,
15035     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15036     BuiltInParameters::p01A20C00B,
15037     3,
15038     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15039     EOpImageAtomicExchange,
15040     false);
15041 constexpr const TFunction imageAtomicExchange_01J20C00B(
15042     BuiltInId::imageAtomicExchange_UImage3D1_Int3_Float1,
15043     BuiltInName::imageAtomicExchange,
15044     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15045     BuiltInParameters::p01J20C00B,
15046     3,
15047     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15048     EOpImageAtomicExchange,
15049     false);
15050 constexpr const TFunction imageAtomicExchange_00t20C00B(
15051     BuiltInId::imageAtomicExchange_ImageCube1_Int3_Float1,
15052     BuiltInName::imageAtomicExchange,
15053     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15054     BuiltInParameters::p00t20C00B,
15055     3,
15056     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15057     EOpImageAtomicExchange,
15058     false);
15059 constexpr const TFunction imageAtomicExchange_01C20C00B(
15060     BuiltInId::imageAtomicExchange_IImageCube1_Int3_Float1,
15061     BuiltInName::imageAtomicExchange,
15062     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15063     BuiltInParameters::p01C20C00B,
15064     3,
15065     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15066     EOpImageAtomicExchange,
15067     false);
15068 constexpr const TFunction imageAtomicExchange_01L20C00B(
15069     BuiltInId::imageAtomicExchange_UImageCube1_Int3_Float1,
15070     BuiltInName::imageAtomicExchange,
15071     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15072     BuiltInParameters::p01L20C00B,
15073     3,
15074     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15075     EOpImageAtomicExchange,
15076     false);
15077 constexpr const TFunction imageAtomicExchange_00y00C00B(
15078     BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Float1,
15079     BuiltInName::imageAtomicExchange,
15080     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15081     BuiltInParameters::p00y00C00B,
15082     3,
15083     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15084     EOpImageAtomicExchange,
15085     false);
15086 constexpr const TFunction imageAtomicExchange_01H00C00B(
15087     BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Float1,
15088     BuiltInName::imageAtomicExchange,
15089     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15090     BuiltInParameters::p01H00C00B,
15091     3,
15092     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15093     EOpImageAtomicExchange,
15094     false);
15095 constexpr const TFunction imageAtomicExchange_01Q00C00B(
15096     BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Float1,
15097     BuiltInName::imageAtomicExchange,
15098     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15099     BuiltInParameters::p01Q00C00B,
15100     3,
15101     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15102     EOpImageAtomicExchange,
15103     false);
15104 constexpr const TFunction imageAtomicExchange_00s20C00B(
15105     BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Float1,
15106     BuiltInName::imageAtomicExchange,
15107     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15108     BuiltInParameters::p00s20C00B,
15109     3,
15110     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15111     EOpImageAtomicExchange,
15112     false);
15113 constexpr const TFunction imageAtomicExchange_01B20C00B(
15114     BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Float1,
15115     BuiltInName::imageAtomicExchange,
15116     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15117     BuiltInParameters::p01B20C00B,
15118     3,
15119     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15120     EOpImageAtomicExchange,
15121     false);
15122 constexpr const TFunction imageAtomicExchange_01K20C00B(
15123     BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Float1,
15124     BuiltInName::imageAtomicExchange,
15125     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15126     BuiltInParameters::p01K20C00B,
15127     3,
15128     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15129     EOpImageAtomicExchange,
15130     false);
15131 constexpr const TFunction imageAtomicExchange_00w20C00B(
15132     BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Float1,
15133     BuiltInName::imageAtomicExchange,
15134     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15135     BuiltInParameters::p00w20C00B,
15136     3,
15137     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15138     EOpImageAtomicExchange,
15139     false);
15140 constexpr const TFunction imageAtomicExchange_01F20C00B(
15141     BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Float1,
15142     BuiltInName::imageAtomicExchange,
15143     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15144     BuiltInParameters::p01F20C00B,
15145     3,
15146     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15147     EOpImageAtomicExchange,
15148     false);
15149 constexpr const TFunction imageAtomicExchange_01O20C00B(
15150     BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Float1,
15151     BuiltInName::imageAtomicExchange,
15152     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15153     BuiltInParameters::p01O20C00B,
15154     3,
15155     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15156     EOpImageAtomicExchange,
15157     false);
15158 constexpr const TFunction imageAtomicExchange_00x10C00B(
15159     BuiltInId::imageAtomicExchange_ImageRect1_Int2_Float1,
15160     BuiltInName::imageAtomicExchange,
15161     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15162     BuiltInParameters::p00x10C00B,
15163     3,
15164     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15165     EOpImageAtomicExchange,
15166     false);
15167 constexpr const TFunction imageAtomicExchange_01G10C00B(
15168     BuiltInId::imageAtomicExchange_IImageRect1_Int2_Float1,
15169     BuiltInName::imageAtomicExchange,
15170     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15171     BuiltInParameters::p01G10C00B,
15172     3,
15173     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15174     EOpImageAtomicExchange,
15175     false);
15176 constexpr const TFunction imageAtomicExchange_01P10C00B(
15177     BuiltInId::imageAtomicExchange_UImageRect1_Int2_Float1,
15178     BuiltInName::imageAtomicExchange,
15179     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15180     BuiltInParameters::p01P10C00B,
15181     3,
15182     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15183     EOpImageAtomicExchange,
15184     false);
15185 constexpr const TFunction imageAtomicExchange_00u10C00C00B(
15186     BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Float1,
15187     BuiltInName::imageAtomicExchange,
15188     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15189     BuiltInParameters::p00u10C00C00B,
15190     4,
15191     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15192     EOpImageAtomicExchange,
15193     false);
15194 constexpr const TFunction imageAtomicExchange_01D10C00C00B(
15195     BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Float1,
15196     BuiltInName::imageAtomicExchange,
15197     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15198     BuiltInParameters::p01D10C00C00B,
15199     4,
15200     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15201     EOpImageAtomicExchange,
15202     false);
15203 constexpr const TFunction imageAtomicExchange_01M10C00C00B(
15204     BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Float1,
15205     BuiltInName::imageAtomicExchange,
15206     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15207     BuiltInParameters::p01M10C00C00B,
15208     4,
15209     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15210     EOpImageAtomicExchange,
15211     false);
15212 constexpr const TFunction imageAtomicExchange_00v20C00C00B(
15213     BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Float1,
15214     BuiltInName::imageAtomicExchange,
15215     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15216     BuiltInParameters::p00v20C00C00B,
15217     4,
15218     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15219     EOpImageAtomicExchange,
15220     false);
15221 constexpr const TFunction imageAtomicExchange_01E20C00C00B(
15222     BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Float1,
15223     BuiltInName::imageAtomicExchange,
15224     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15225     BuiltInParameters::p01E20C00C00B,
15226     4,
15227     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15228     EOpImageAtomicExchange,
15229     false);
15230 constexpr const TFunction imageAtomicExchange_01N20C00C00B(
15231     BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Float1,
15232     BuiltInName::imageAtomicExchange,
15233     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15234     BuiltInParameters::p01N20C00C00B,
15235     4,
15236     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
15237     EOpImageAtomicExchange,
15238     false);
15239 constexpr const TFunction imageAtomicCompSwap_00q10C00D00D(
15240     BuiltInId::imageAtomicCompSwap_Image2D1_Int2_UInt1_UInt1,
15241     BuiltInName::imageAtomicCompSwap,
15242     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15243     BuiltInParameters::p00q10C00D00D,
15244     4,
15245     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15246     EOpImageAtomicCompSwap,
15247     false);
15248 constexpr const TFunction imageAtomicCompSwap_00z10C00D00D(
15249     BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_UInt1_UInt1,
15250     BuiltInName::imageAtomicCompSwap,
15251     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15252     BuiltInParameters::p00z10C00D00D,
15253     4,
15254     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15255     EOpImageAtomicCompSwap,
15256     false);
15257 constexpr const TFunction imageAtomicCompSwap_01I10C00D00D(
15258     BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_UInt1_UInt1,
15259     BuiltInName::imageAtomicCompSwap,
15260     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15261     BuiltInParameters::p01I10C00D00D,
15262     4,
15263     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15264     EOpImageAtomicCompSwap,
15265     false);
15266 constexpr const TFunction imageAtomicCompSwap_00r20C00D00D(
15267     BuiltInId::imageAtomicCompSwap_Image3D1_Int3_UInt1_UInt1,
15268     BuiltInName::imageAtomicCompSwap,
15269     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15270     BuiltInParameters::p00r20C00D00D,
15271     4,
15272     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15273     EOpImageAtomicCompSwap,
15274     false);
15275 constexpr const TFunction imageAtomicCompSwap_01A20C00D00D(
15276     BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_UInt1_UInt1,
15277     BuiltInName::imageAtomicCompSwap,
15278     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15279     BuiltInParameters::p01A20C00D00D,
15280     4,
15281     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15282     EOpImageAtomicCompSwap,
15283     false);
15284 constexpr const TFunction imageAtomicCompSwap_01J20C00D00D(
15285     BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_UInt1_UInt1,
15286     BuiltInName::imageAtomicCompSwap,
15287     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15288     BuiltInParameters::p01J20C00D00D,
15289     4,
15290     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15291     EOpImageAtomicCompSwap,
15292     false);
15293 constexpr const TFunction imageAtomicCompSwap_00t20C00D00D(
15294     BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_UInt1_UInt1,
15295     BuiltInName::imageAtomicCompSwap,
15296     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15297     BuiltInParameters::p00t20C00D00D,
15298     4,
15299     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15300     EOpImageAtomicCompSwap,
15301     false);
15302 constexpr const TFunction imageAtomicCompSwap_01C20C00D00D(
15303     BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_UInt1_UInt1,
15304     BuiltInName::imageAtomicCompSwap,
15305     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15306     BuiltInParameters::p01C20C00D00D,
15307     4,
15308     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15309     EOpImageAtomicCompSwap,
15310     false);
15311 constexpr const TFunction imageAtomicCompSwap_01L20C00D00D(
15312     BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_UInt1_UInt1,
15313     BuiltInName::imageAtomicCompSwap,
15314     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15315     BuiltInParameters::p01L20C00D00D,
15316     4,
15317     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15318     EOpImageAtomicCompSwap,
15319     false);
15320 constexpr const TFunction imageAtomicCompSwap_00y00C00D00D(
15321     BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_UInt1_UInt1,
15322     BuiltInName::imageAtomicCompSwap,
15323     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15324     BuiltInParameters::p00y00C00D00D,
15325     4,
15326     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15327     EOpImageAtomicCompSwap,
15328     false);
15329 constexpr const TFunction imageAtomicCompSwap_01H00C00D00D(
15330     BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_UInt1_UInt1,
15331     BuiltInName::imageAtomicCompSwap,
15332     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15333     BuiltInParameters::p01H00C00D00D,
15334     4,
15335     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15336     EOpImageAtomicCompSwap,
15337     false);
15338 constexpr const TFunction imageAtomicCompSwap_01Q00C00D00D(
15339     BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_UInt1_UInt1,
15340     BuiltInName::imageAtomicCompSwap,
15341     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15342     BuiltInParameters::p01Q00C00D00D,
15343     4,
15344     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15345     EOpImageAtomicCompSwap,
15346     false);
15347 constexpr const TFunction imageAtomicCompSwap_00s20C00D00D(
15348     BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_UInt1_UInt1,
15349     BuiltInName::imageAtomicCompSwap,
15350     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15351     BuiltInParameters::p00s20C00D00D,
15352     4,
15353     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15354     EOpImageAtomicCompSwap,
15355     false);
15356 constexpr const TFunction imageAtomicCompSwap_01B20C00D00D(
15357     BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_UInt1_UInt1,
15358     BuiltInName::imageAtomicCompSwap,
15359     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15360     BuiltInParameters::p01B20C00D00D,
15361     4,
15362     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15363     EOpImageAtomicCompSwap,
15364     false);
15365 constexpr const TFunction imageAtomicCompSwap_01K20C00D00D(
15366     BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_UInt1_UInt1,
15367     BuiltInName::imageAtomicCompSwap,
15368     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15369     BuiltInParameters::p01K20C00D00D,
15370     4,
15371     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15372     EOpImageAtomicCompSwap,
15373     false);
15374 constexpr const TFunction imageAtomicCompSwap_00w20C00D00D(
15375     BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_UInt1_UInt1,
15376     BuiltInName::imageAtomicCompSwap,
15377     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15378     BuiltInParameters::p00w20C00D00D,
15379     4,
15380     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15381     EOpImageAtomicCompSwap,
15382     false);
15383 constexpr const TFunction imageAtomicCompSwap_01F20C00D00D(
15384     BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_UInt1_UInt1,
15385     BuiltInName::imageAtomicCompSwap,
15386     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15387     BuiltInParameters::p01F20C00D00D,
15388     4,
15389     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15390     EOpImageAtomicCompSwap,
15391     false);
15392 constexpr const TFunction imageAtomicCompSwap_01O20C00D00D(
15393     BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_UInt1_UInt1,
15394     BuiltInName::imageAtomicCompSwap,
15395     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15396     BuiltInParameters::p01O20C00D00D,
15397     4,
15398     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15399     EOpImageAtomicCompSwap,
15400     false);
15401 constexpr const TFunction imageAtomicCompSwap_00x10C00D00D(
15402     BuiltInId::imageAtomicCompSwap_ImageRect1_Int2_UInt1_UInt1,
15403     BuiltInName::imageAtomicCompSwap,
15404     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15405     BuiltInParameters::p00x10C00D00D,
15406     4,
15407     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15408     EOpImageAtomicCompSwap,
15409     false);
15410 constexpr const TFunction imageAtomicCompSwap_01G10C00D00D(
15411     BuiltInId::imageAtomicCompSwap_IImageRect1_Int2_UInt1_UInt1,
15412     BuiltInName::imageAtomicCompSwap,
15413     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15414     BuiltInParameters::p01G10C00D00D,
15415     4,
15416     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15417     EOpImageAtomicCompSwap,
15418     false);
15419 constexpr const TFunction imageAtomicCompSwap_01P10C00D00D(
15420     BuiltInId::imageAtomicCompSwap_UImageRect1_Int2_UInt1_UInt1,
15421     BuiltInName::imageAtomicCompSwap,
15422     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15423     BuiltInParameters::p01P10C00D00D,
15424     4,
15425     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15426     EOpImageAtomicCompSwap,
15427     false);
15428 constexpr const TFunction imageAtomicCompSwap_00u10C00C00D00D(
15429     BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_UInt1_UInt1,
15430     BuiltInName::imageAtomicCompSwap,
15431     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15432     BuiltInParameters::p00u10C00C00D00D,
15433     5,
15434     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15435     EOpImageAtomicCompSwap,
15436     false);
15437 constexpr const TFunction imageAtomicCompSwap_01D10C00C00D00D(
15438     BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_UInt1_UInt1,
15439     BuiltInName::imageAtomicCompSwap,
15440     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15441     BuiltInParameters::p01D10C00C00D00D,
15442     5,
15443     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15444     EOpImageAtomicCompSwap,
15445     false);
15446 constexpr const TFunction imageAtomicCompSwap_01M10C00C00D00D(
15447     BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_UInt1_UInt1,
15448     BuiltInName::imageAtomicCompSwap,
15449     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15450     BuiltInParameters::p01M10C00C00D00D,
15451     5,
15452     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15453     EOpImageAtomicCompSwap,
15454     false);
15455 constexpr const TFunction imageAtomicCompSwap_00v20C00C00D00D(
15456     BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_UInt1_UInt1,
15457     BuiltInName::imageAtomicCompSwap,
15458     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15459     BuiltInParameters::p00v20C00C00D00D,
15460     5,
15461     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15462     EOpImageAtomicCompSwap,
15463     false);
15464 constexpr const TFunction imageAtomicCompSwap_01E20C00C00D00D(
15465     BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_UInt1_UInt1,
15466     BuiltInName::imageAtomicCompSwap,
15467     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15468     BuiltInParameters::p01E20C00C00D00D,
15469     5,
15470     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15471     EOpImageAtomicCompSwap,
15472     false);
15473 constexpr const TFunction imageAtomicCompSwap_01N20C00C00D00D(
15474     BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_UInt1_UInt1,
15475     BuiltInName::imageAtomicCompSwap,
15476     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15477     BuiltInParameters::p01N20C00C00D00D,
15478     5,
15479     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15480     EOpImageAtomicCompSwap,
15481     false);
15482 constexpr const TFunction imageAtomicCompSwap_00q10C00C00C(
15483     BuiltInId::imageAtomicCompSwap_Image2D1_Int2_Int1_Int1,
15484     BuiltInName::imageAtomicCompSwap,
15485     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15486     BuiltInParameters::p00q10C00C00C,
15487     4,
15488     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15489     EOpImageAtomicCompSwap,
15490     false);
15491 constexpr const TFunction imageAtomicCompSwap_00z10C00C00C(
15492     BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_Int1_Int1,
15493     BuiltInName::imageAtomicCompSwap,
15494     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15495     BuiltInParameters::p00z10C00C00C,
15496     4,
15497     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15498     EOpImageAtomicCompSwap,
15499     false);
15500 constexpr const TFunction imageAtomicCompSwap_01I10C00C00C(
15501     BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_Int1_Int1,
15502     BuiltInName::imageAtomicCompSwap,
15503     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15504     BuiltInParameters::p01I10C00C00C,
15505     4,
15506     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15507     EOpImageAtomicCompSwap,
15508     false);
15509 constexpr const TFunction imageAtomicCompSwap_00r20C00C00C(
15510     BuiltInId::imageAtomicCompSwap_Image3D1_Int3_Int1_Int1,
15511     BuiltInName::imageAtomicCompSwap,
15512     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15513     BuiltInParameters::p00r20C00C00C,
15514     4,
15515     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15516     EOpImageAtomicCompSwap,
15517     false);
15518 constexpr const TFunction imageAtomicCompSwap_01A20C00C00C(
15519     BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_Int1_Int1,
15520     BuiltInName::imageAtomicCompSwap,
15521     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15522     BuiltInParameters::p01A20C00C00C,
15523     4,
15524     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15525     EOpImageAtomicCompSwap,
15526     false);
15527 constexpr const TFunction imageAtomicCompSwap_01J20C00C00C(
15528     BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_Int1_Int1,
15529     BuiltInName::imageAtomicCompSwap,
15530     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15531     BuiltInParameters::p01J20C00C00C,
15532     4,
15533     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15534     EOpImageAtomicCompSwap,
15535     false);
15536 constexpr const TFunction imageAtomicCompSwap_00t20C00C00C(
15537     BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_Int1_Int1,
15538     BuiltInName::imageAtomicCompSwap,
15539     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15540     BuiltInParameters::p00t20C00C00C,
15541     4,
15542     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15543     EOpImageAtomicCompSwap,
15544     false);
15545 constexpr const TFunction imageAtomicCompSwap_01C20C00C00C(
15546     BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_Int1_Int1,
15547     BuiltInName::imageAtomicCompSwap,
15548     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15549     BuiltInParameters::p01C20C00C00C,
15550     4,
15551     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15552     EOpImageAtomicCompSwap,
15553     false);
15554 constexpr const TFunction imageAtomicCompSwap_01L20C00C00C(
15555     BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_Int1_Int1,
15556     BuiltInName::imageAtomicCompSwap,
15557     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15558     BuiltInParameters::p01L20C00C00C,
15559     4,
15560     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15561     EOpImageAtomicCompSwap,
15562     false);
15563 constexpr const TFunction imageAtomicCompSwap_00y00C00C00C(
15564     BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_Int1_Int1,
15565     BuiltInName::imageAtomicCompSwap,
15566     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15567     BuiltInParameters::p00y00C00C00C,
15568     4,
15569     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15570     EOpImageAtomicCompSwap,
15571     false);
15572 constexpr const TFunction imageAtomicCompSwap_01H00C00C00C(
15573     BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_Int1_Int1,
15574     BuiltInName::imageAtomicCompSwap,
15575     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15576     BuiltInParameters::p01H00C00C00C,
15577     4,
15578     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15579     EOpImageAtomicCompSwap,
15580     false);
15581 constexpr const TFunction imageAtomicCompSwap_01Q00C00C00C(
15582     BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_Int1_Int1,
15583     BuiltInName::imageAtomicCompSwap,
15584     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15585     BuiltInParameters::p01Q00C00C00C,
15586     4,
15587     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15588     EOpImageAtomicCompSwap,
15589     false);
15590 constexpr const TFunction imageAtomicCompSwap_00s20C00C00C(
15591     BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_Int1_Int1,
15592     BuiltInName::imageAtomicCompSwap,
15593     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15594     BuiltInParameters::p00s20C00C00C,
15595     4,
15596     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15597     EOpImageAtomicCompSwap,
15598     false);
15599 constexpr const TFunction imageAtomicCompSwap_01B20C00C00C(
15600     BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_Int1_Int1,
15601     BuiltInName::imageAtomicCompSwap,
15602     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15603     BuiltInParameters::p01B20C00C00C,
15604     4,
15605     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15606     EOpImageAtomicCompSwap,
15607     false);
15608 constexpr const TFunction imageAtomicCompSwap_01K20C00C00C(
15609     BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_Int1_Int1,
15610     BuiltInName::imageAtomicCompSwap,
15611     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15612     BuiltInParameters::p01K20C00C00C,
15613     4,
15614     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15615     EOpImageAtomicCompSwap,
15616     false);
15617 constexpr const TFunction imageAtomicCompSwap_00w20C00C00C(
15618     BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_Int1_Int1,
15619     BuiltInName::imageAtomicCompSwap,
15620     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15621     BuiltInParameters::p00w20C00C00C,
15622     4,
15623     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15624     EOpImageAtomicCompSwap,
15625     false);
15626 constexpr const TFunction imageAtomicCompSwap_01F20C00C00C(
15627     BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_Int1_Int1,
15628     BuiltInName::imageAtomicCompSwap,
15629     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15630     BuiltInParameters::p01F20C00C00C,
15631     4,
15632     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15633     EOpImageAtomicCompSwap,
15634     false);
15635 constexpr const TFunction imageAtomicCompSwap_01O20C00C00C(
15636     BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_Int1_Int1,
15637     BuiltInName::imageAtomicCompSwap,
15638     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15639     BuiltInParameters::p01O20C00C00C,
15640     4,
15641     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15642     EOpImageAtomicCompSwap,
15643     false);
15644 constexpr const TFunction imageAtomicCompSwap_00x10C00C00C(
15645     BuiltInId::imageAtomicCompSwap_ImageRect1_Int2_Int1_Int1,
15646     BuiltInName::imageAtomicCompSwap,
15647     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15648     BuiltInParameters::p00x10C00C00C,
15649     4,
15650     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15651     EOpImageAtomicCompSwap,
15652     false);
15653 constexpr const TFunction imageAtomicCompSwap_01G10C00C00C(
15654     BuiltInId::imageAtomicCompSwap_IImageRect1_Int2_Int1_Int1,
15655     BuiltInName::imageAtomicCompSwap,
15656     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15657     BuiltInParameters::p01G10C00C00C,
15658     4,
15659     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15660     EOpImageAtomicCompSwap,
15661     false);
15662 constexpr const TFunction imageAtomicCompSwap_01P10C00C00C(
15663     BuiltInId::imageAtomicCompSwap_UImageRect1_Int2_Int1_Int1,
15664     BuiltInName::imageAtomicCompSwap,
15665     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15666     BuiltInParameters::p01P10C00C00C,
15667     4,
15668     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15669     EOpImageAtomicCompSwap,
15670     false);
15671 constexpr const TFunction imageAtomicCompSwap_00u10C00C00C00C(
15672     BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_Int1_Int1,
15673     BuiltInName::imageAtomicCompSwap,
15674     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15675     BuiltInParameters::p00u10C00C00C00C,
15676     5,
15677     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15678     EOpImageAtomicCompSwap,
15679     false);
15680 constexpr const TFunction imageAtomicCompSwap_01D10C00C00C00C(
15681     BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_Int1_Int1,
15682     BuiltInName::imageAtomicCompSwap,
15683     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15684     BuiltInParameters::p01D10C00C00C00C,
15685     5,
15686     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15687     EOpImageAtomicCompSwap,
15688     false);
15689 constexpr const TFunction imageAtomicCompSwap_01M10C00C00C00C(
15690     BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_Int1_Int1,
15691     BuiltInName::imageAtomicCompSwap,
15692     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15693     BuiltInParameters::p01M10C00C00C00C,
15694     5,
15695     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15696     EOpImageAtomicCompSwap,
15697     false);
15698 constexpr const TFunction imageAtomicCompSwap_00v20C00C00C00C(
15699     BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_Int1_Int1,
15700     BuiltInName::imageAtomicCompSwap,
15701     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15702     BuiltInParameters::p00v20C00C00C00C,
15703     5,
15704     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15705     EOpImageAtomicCompSwap,
15706     false);
15707 constexpr const TFunction imageAtomicCompSwap_01E20C00C00C00C(
15708     BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_Int1_Int1,
15709     BuiltInName::imageAtomicCompSwap,
15710     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15711     BuiltInParameters::p01E20C00C00C00C,
15712     5,
15713     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15714     EOpImageAtomicCompSwap,
15715     false);
15716 constexpr const TFunction imageAtomicCompSwap_01N20C00C00C00C(
15717     BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_Int1_Int1,
15718     BuiltInName::imageAtomicCompSwap,
15719     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
15720     BuiltInParameters::p01N20C00C00C00C,
15721     5,
15722     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15723     EOpImageAtomicCompSwap,
15724     false);
15725 constexpr const TFunction imageAtomicAddExt_00q10C00D(
15726     BuiltInId::imageAtomicAddExt_Image2D1_Int2_UInt1,
15727     BuiltInName::imageAtomicAddExt,
15728     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15729     BuiltInParameters::p00q10C00D00D,
15730     3,
15731     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15732     EOpImageAtomicAdd,
15733     false);
15734 constexpr const TFunction imageAtomicAddExt_00z10C00D(
15735     BuiltInId::imageAtomicAddExt_IImage2D1_Int2_UInt1,
15736     BuiltInName::imageAtomicAddExt,
15737     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15738     BuiltInParameters::p00z10C00D00D,
15739     3,
15740     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15741     EOpImageAtomicAdd,
15742     false);
15743 constexpr const TFunction imageAtomicAddExt_01I10C00D(
15744     BuiltInId::imageAtomicAddExt_UImage2D1_Int2_UInt1,
15745     BuiltInName::imageAtomicAddExt,
15746     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15747     BuiltInParameters::p01I10C00D00D,
15748     3,
15749     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15750     EOpImageAtomicAdd,
15751     false);
15752 constexpr const TFunction imageAtomicAddExt_00r20C00D(
15753     BuiltInId::imageAtomicAddExt_Image3D1_Int3_UInt1,
15754     BuiltInName::imageAtomicAddExt,
15755     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15756     BuiltInParameters::p00r20C00D00D,
15757     3,
15758     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15759     EOpImageAtomicAdd,
15760     false);
15761 constexpr const TFunction imageAtomicAddExt_01A20C00D(
15762     BuiltInId::imageAtomicAddExt_IImage3D1_Int3_UInt1,
15763     BuiltInName::imageAtomicAddExt,
15764     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15765     BuiltInParameters::p01A20C00D00D,
15766     3,
15767     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15768     EOpImageAtomicAdd,
15769     false);
15770 constexpr const TFunction imageAtomicAddExt_01J20C00D(
15771     BuiltInId::imageAtomicAddExt_UImage3D1_Int3_UInt1,
15772     BuiltInName::imageAtomicAddExt,
15773     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15774     BuiltInParameters::p01J20C00D00D,
15775     3,
15776     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15777     EOpImageAtomicAdd,
15778     false);
15779 constexpr const TFunction imageAtomicAddExt_00t20C00D(
15780     BuiltInId::imageAtomicAddExt_ImageCube1_Int3_UInt1,
15781     BuiltInName::imageAtomicAddExt,
15782     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15783     BuiltInParameters::p00t20C00D00D,
15784     3,
15785     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15786     EOpImageAtomicAdd,
15787     false);
15788 constexpr const TFunction imageAtomicAddExt_01C20C00D(
15789     BuiltInId::imageAtomicAddExt_IImageCube1_Int3_UInt1,
15790     BuiltInName::imageAtomicAddExt,
15791     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15792     BuiltInParameters::p01C20C00D00D,
15793     3,
15794     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15795     EOpImageAtomicAdd,
15796     false);
15797 constexpr const TFunction imageAtomicAddExt_01L20C00D(
15798     BuiltInId::imageAtomicAddExt_UImageCube1_Int3_UInt1,
15799     BuiltInName::imageAtomicAddExt,
15800     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15801     BuiltInParameters::p01L20C00D00D,
15802     3,
15803     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15804     EOpImageAtomicAdd,
15805     false);
15806 constexpr const TFunction imageAtomicAddExt_00y00C00D(
15807     BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_UInt1,
15808     BuiltInName::imageAtomicAddExt,
15809     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15810     BuiltInParameters::p00y00C00D00D,
15811     3,
15812     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15813     EOpImageAtomicAdd,
15814     false);
15815 constexpr const TFunction imageAtomicAddExt_01H00C00D(
15816     BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_UInt1,
15817     BuiltInName::imageAtomicAddExt,
15818     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15819     BuiltInParameters::p01H00C00D00D,
15820     3,
15821     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15822     EOpImageAtomicAdd,
15823     false);
15824 constexpr const TFunction imageAtomicAddExt_01Q00C00D(
15825     BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_UInt1,
15826     BuiltInName::imageAtomicAddExt,
15827     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15828     BuiltInParameters::p01Q00C00D00D,
15829     3,
15830     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15831     EOpImageAtomicAdd,
15832     false);
15833 constexpr const TFunction imageAtomicAddExt_00s20C00D(
15834     BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_UInt1,
15835     BuiltInName::imageAtomicAddExt,
15836     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15837     BuiltInParameters::p00s20C00D00D,
15838     3,
15839     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15840     EOpImageAtomicAdd,
15841     false);
15842 constexpr const TFunction imageAtomicAddExt_01B20C00D(
15843     BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_UInt1,
15844     BuiltInName::imageAtomicAddExt,
15845     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15846     BuiltInParameters::p01B20C00D00D,
15847     3,
15848     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15849     EOpImageAtomicAdd,
15850     false);
15851 constexpr const TFunction imageAtomicAddExt_01K20C00D(
15852     BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_UInt1,
15853     BuiltInName::imageAtomicAddExt,
15854     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15855     BuiltInParameters::p01K20C00D00D,
15856     3,
15857     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15858     EOpImageAtomicAdd,
15859     false);
15860 constexpr const TFunction imageAtomicAddExt_00w20C00D(
15861     BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_UInt1,
15862     BuiltInName::imageAtomicAddExt,
15863     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15864     BuiltInParameters::p00w20C00D00D,
15865     3,
15866     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15867     EOpImageAtomicAdd,
15868     false);
15869 constexpr const TFunction imageAtomicAddExt_01F20C00D(
15870     BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_UInt1,
15871     BuiltInName::imageAtomicAddExt,
15872     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15873     BuiltInParameters::p01F20C00D00D,
15874     3,
15875     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15876     EOpImageAtomicAdd,
15877     false);
15878 constexpr const TFunction imageAtomicAddExt_01O20C00D(
15879     BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_UInt1,
15880     BuiltInName::imageAtomicAddExt,
15881     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15882     BuiltInParameters::p01O20C00D00D,
15883     3,
15884     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15885     EOpImageAtomicAdd,
15886     false);
15887 constexpr const TFunction imageAtomicAddExt_00x10C00D(
15888     BuiltInId::imageAtomicAddExt_ImageRect1_Int2_UInt1,
15889     BuiltInName::imageAtomicAddExt,
15890     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15891     BuiltInParameters::p00x10C00D00D,
15892     3,
15893     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15894     EOpImageAtomicAdd,
15895     false);
15896 constexpr const TFunction imageAtomicAddExt_01G10C00D(
15897     BuiltInId::imageAtomicAddExt_IImageRect1_Int2_UInt1,
15898     BuiltInName::imageAtomicAddExt,
15899     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15900     BuiltInParameters::p01G10C00D00D,
15901     3,
15902     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15903     EOpImageAtomicAdd,
15904     false);
15905 constexpr const TFunction imageAtomicAddExt_01P10C00D(
15906     BuiltInId::imageAtomicAddExt_UImageRect1_Int2_UInt1,
15907     BuiltInName::imageAtomicAddExt,
15908     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15909     BuiltInParameters::p01P10C00D00D,
15910     3,
15911     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15912     EOpImageAtomicAdd,
15913     false);
15914 constexpr const TFunction imageAtomicAddExt_00u10C00C00D(
15915     BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_UInt1,
15916     BuiltInName::imageAtomicAddExt,
15917     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15918     BuiltInParameters::p00u10C00C00D00D,
15919     4,
15920     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15921     EOpImageAtomicAdd,
15922     false);
15923 constexpr const TFunction imageAtomicAddExt_01D10C00C00D(
15924     BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_UInt1,
15925     BuiltInName::imageAtomicAddExt,
15926     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15927     BuiltInParameters::p01D10C00C00D00D,
15928     4,
15929     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15930     EOpImageAtomicAdd,
15931     false);
15932 constexpr const TFunction imageAtomicAddExt_01M10C00C00D(
15933     BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_UInt1,
15934     BuiltInName::imageAtomicAddExt,
15935     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15936     BuiltInParameters::p01M10C00C00D00D,
15937     4,
15938     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15939     EOpImageAtomicAdd,
15940     false);
15941 constexpr const TFunction imageAtomicAddExt_00v20C00C00D(
15942     BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_UInt1,
15943     BuiltInName::imageAtomicAddExt,
15944     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15945     BuiltInParameters::p00v20C00C00D00D,
15946     4,
15947     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15948     EOpImageAtomicAdd,
15949     false);
15950 constexpr const TFunction imageAtomicAddExt_01E20C00C00D(
15951     BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_UInt1,
15952     BuiltInName::imageAtomicAddExt,
15953     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15954     BuiltInParameters::p01E20C00C00D00D,
15955     4,
15956     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15957     EOpImageAtomicAdd,
15958     false);
15959 constexpr const TFunction imageAtomicAddExt_01N20C00C00D(
15960     BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_UInt1,
15961     BuiltInName::imageAtomicAddExt,
15962     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15963     BuiltInParameters::p01N20C00C00D00D,
15964     4,
15965     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
15966     EOpImageAtomicAdd,
15967     false);
15968 constexpr const TFunction imageAtomicAddExt_00q10C00C(
15969     BuiltInId::imageAtomicAddExt_Image2D1_Int2_Int1,
15970     BuiltInName::imageAtomicAddExt,
15971     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15972     BuiltInParameters::p00q10C00C00C,
15973     3,
15974     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15975     EOpImageAtomicAdd,
15976     false);
15977 constexpr const TFunction imageAtomicAddExt_00z10C00C(
15978     BuiltInId::imageAtomicAddExt_IImage2D1_Int2_Int1,
15979     BuiltInName::imageAtomicAddExt,
15980     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15981     BuiltInParameters::p00z10C00C00C,
15982     3,
15983     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15984     EOpImageAtomicAdd,
15985     false);
15986 constexpr const TFunction imageAtomicAddExt_01I10C00C(
15987     BuiltInId::imageAtomicAddExt_UImage2D1_Int2_Int1,
15988     BuiltInName::imageAtomicAddExt,
15989     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15990     BuiltInParameters::p01I10C00C00C,
15991     3,
15992     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
15993     EOpImageAtomicAdd,
15994     false);
15995 constexpr const TFunction imageAtomicAddExt_00r20C00C(
15996     BuiltInId::imageAtomicAddExt_Image3D1_Int3_Int1,
15997     BuiltInName::imageAtomicAddExt,
15998     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
15999     BuiltInParameters::p00r20C00C00C,
16000     3,
16001     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16002     EOpImageAtomicAdd,
16003     false);
16004 constexpr const TFunction imageAtomicAddExt_01A20C00C(
16005     BuiltInId::imageAtomicAddExt_IImage3D1_Int3_Int1,
16006     BuiltInName::imageAtomicAddExt,
16007     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16008     BuiltInParameters::p01A20C00C00C,
16009     3,
16010     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16011     EOpImageAtomicAdd,
16012     false);
16013 constexpr const TFunction imageAtomicAddExt_01J20C00C(
16014     BuiltInId::imageAtomicAddExt_UImage3D1_Int3_Int1,
16015     BuiltInName::imageAtomicAddExt,
16016     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16017     BuiltInParameters::p01J20C00C00C,
16018     3,
16019     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16020     EOpImageAtomicAdd,
16021     false);
16022 constexpr const TFunction imageAtomicAddExt_00t20C00C(
16023     BuiltInId::imageAtomicAddExt_ImageCube1_Int3_Int1,
16024     BuiltInName::imageAtomicAddExt,
16025     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16026     BuiltInParameters::p00t20C00C00C,
16027     3,
16028     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16029     EOpImageAtomicAdd,
16030     false);
16031 constexpr const TFunction imageAtomicAddExt_01C20C00C(
16032     BuiltInId::imageAtomicAddExt_IImageCube1_Int3_Int1,
16033     BuiltInName::imageAtomicAddExt,
16034     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16035     BuiltInParameters::p01C20C00C00C,
16036     3,
16037     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16038     EOpImageAtomicAdd,
16039     false);
16040 constexpr const TFunction imageAtomicAddExt_01L20C00C(
16041     BuiltInId::imageAtomicAddExt_UImageCube1_Int3_Int1,
16042     BuiltInName::imageAtomicAddExt,
16043     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16044     BuiltInParameters::p01L20C00C00C,
16045     3,
16046     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16047     EOpImageAtomicAdd,
16048     false);
16049 constexpr const TFunction imageAtomicAddExt_00y00C00C(
16050     BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_Int1,
16051     BuiltInName::imageAtomicAddExt,
16052     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16053     BuiltInParameters::p00y00C00C00C,
16054     3,
16055     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16056     EOpImageAtomicAdd,
16057     false);
16058 constexpr const TFunction imageAtomicAddExt_01H00C00C(
16059     BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_Int1,
16060     BuiltInName::imageAtomicAddExt,
16061     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16062     BuiltInParameters::p01H00C00C00C,
16063     3,
16064     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16065     EOpImageAtomicAdd,
16066     false);
16067 constexpr const TFunction imageAtomicAddExt_01Q00C00C(
16068     BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_Int1,
16069     BuiltInName::imageAtomicAddExt,
16070     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16071     BuiltInParameters::p01Q00C00C00C,
16072     3,
16073     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16074     EOpImageAtomicAdd,
16075     false);
16076 constexpr const TFunction imageAtomicAddExt_00s20C00C(
16077     BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_Int1,
16078     BuiltInName::imageAtomicAddExt,
16079     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16080     BuiltInParameters::p00s20C00C00C,
16081     3,
16082     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16083     EOpImageAtomicAdd,
16084     false);
16085 constexpr const TFunction imageAtomicAddExt_01B20C00C(
16086     BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_Int1,
16087     BuiltInName::imageAtomicAddExt,
16088     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16089     BuiltInParameters::p01B20C00C00C,
16090     3,
16091     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16092     EOpImageAtomicAdd,
16093     false);
16094 constexpr const TFunction imageAtomicAddExt_01K20C00C(
16095     BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_Int1,
16096     BuiltInName::imageAtomicAddExt,
16097     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16098     BuiltInParameters::p01K20C00C00C,
16099     3,
16100     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16101     EOpImageAtomicAdd,
16102     false);
16103 constexpr const TFunction imageAtomicAddExt_00w20C00C(
16104     BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_Int1,
16105     BuiltInName::imageAtomicAddExt,
16106     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16107     BuiltInParameters::p00w20C00C00C,
16108     3,
16109     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16110     EOpImageAtomicAdd,
16111     false);
16112 constexpr const TFunction imageAtomicAddExt_01F20C00C(
16113     BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_Int1,
16114     BuiltInName::imageAtomicAddExt,
16115     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16116     BuiltInParameters::p01F20C00C00C,
16117     3,
16118     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16119     EOpImageAtomicAdd,
16120     false);
16121 constexpr const TFunction imageAtomicAddExt_01O20C00C(
16122     BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_Int1,
16123     BuiltInName::imageAtomicAddExt,
16124     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16125     BuiltInParameters::p01O20C00C00C,
16126     3,
16127     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16128     EOpImageAtomicAdd,
16129     false);
16130 constexpr const TFunction imageAtomicAddExt_00x10C00C(
16131     BuiltInId::imageAtomicAddExt_ImageRect1_Int2_Int1,
16132     BuiltInName::imageAtomicAddExt,
16133     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16134     BuiltInParameters::p00x10C00C00C,
16135     3,
16136     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16137     EOpImageAtomicAdd,
16138     false);
16139 constexpr const TFunction imageAtomicAddExt_01G10C00C(
16140     BuiltInId::imageAtomicAddExt_IImageRect1_Int2_Int1,
16141     BuiltInName::imageAtomicAddExt,
16142     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16143     BuiltInParameters::p01G10C00C00C,
16144     3,
16145     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16146     EOpImageAtomicAdd,
16147     false);
16148 constexpr const TFunction imageAtomicAddExt_01P10C00C(
16149     BuiltInId::imageAtomicAddExt_UImageRect1_Int2_Int1,
16150     BuiltInName::imageAtomicAddExt,
16151     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16152     BuiltInParameters::p01P10C00C00C,
16153     3,
16154     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16155     EOpImageAtomicAdd,
16156     false);
16157 constexpr const TFunction imageAtomicAddExt_00u10C00C00C(
16158     BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_Int1,
16159     BuiltInName::imageAtomicAddExt,
16160     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16161     BuiltInParameters::p00u10C00C00C00C,
16162     4,
16163     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16164     EOpImageAtomicAdd,
16165     false);
16166 constexpr const TFunction imageAtomicAddExt_01D10C00C00C(
16167     BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_Int1,
16168     BuiltInName::imageAtomicAddExt,
16169     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16170     BuiltInParameters::p01D10C00C00C00C,
16171     4,
16172     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16173     EOpImageAtomicAdd,
16174     false);
16175 constexpr const TFunction imageAtomicAddExt_01M10C00C00C(
16176     BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_Int1,
16177     BuiltInName::imageAtomicAddExt,
16178     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16179     BuiltInParameters::p01M10C00C00C00C,
16180     4,
16181     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16182     EOpImageAtomicAdd,
16183     false);
16184 constexpr const TFunction imageAtomicAddExt_00v20C00C00C(
16185     BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_Int1,
16186     BuiltInName::imageAtomicAddExt,
16187     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16188     BuiltInParameters::p00v20C00C00C00C,
16189     4,
16190     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16191     EOpImageAtomicAdd,
16192     false);
16193 constexpr const TFunction imageAtomicAddExt_01E20C00C00C(
16194     BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_Int1,
16195     BuiltInName::imageAtomicAddExt,
16196     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16197     BuiltInParameters::p01E20C00C00C00C,
16198     4,
16199     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16200     EOpImageAtomicAdd,
16201     false);
16202 constexpr const TFunction imageAtomicAddExt_01N20C00C00C(
16203     BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_Int1,
16204     BuiltInName::imageAtomicAddExt,
16205     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16206     BuiltInParameters::p01N20C00C00C00C,
16207     4,
16208     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16209     EOpImageAtomicAdd,
16210     false);
16211 constexpr const TFunction imageAtomicMinExt_00q10C00D(
16212     BuiltInId::imageAtomicMinExt_Image2D1_Int2_UInt1,
16213     BuiltInName::imageAtomicMinExt,
16214     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16215     BuiltInParameters::p00q10C00D00D,
16216     3,
16217     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16218     EOpImageAtomicMin,
16219     false);
16220 constexpr const TFunction imageAtomicMinExt_00z10C00D(
16221     BuiltInId::imageAtomicMinExt_IImage2D1_Int2_UInt1,
16222     BuiltInName::imageAtomicMinExt,
16223     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16224     BuiltInParameters::p00z10C00D00D,
16225     3,
16226     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16227     EOpImageAtomicMin,
16228     false);
16229 constexpr const TFunction imageAtomicMinExt_01I10C00D(
16230     BuiltInId::imageAtomicMinExt_UImage2D1_Int2_UInt1,
16231     BuiltInName::imageAtomicMinExt,
16232     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16233     BuiltInParameters::p01I10C00D00D,
16234     3,
16235     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16236     EOpImageAtomicMin,
16237     false);
16238 constexpr const TFunction imageAtomicMinExt_00r20C00D(
16239     BuiltInId::imageAtomicMinExt_Image3D1_Int3_UInt1,
16240     BuiltInName::imageAtomicMinExt,
16241     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16242     BuiltInParameters::p00r20C00D00D,
16243     3,
16244     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16245     EOpImageAtomicMin,
16246     false);
16247 constexpr const TFunction imageAtomicMinExt_01A20C00D(
16248     BuiltInId::imageAtomicMinExt_IImage3D1_Int3_UInt1,
16249     BuiltInName::imageAtomicMinExt,
16250     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16251     BuiltInParameters::p01A20C00D00D,
16252     3,
16253     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16254     EOpImageAtomicMin,
16255     false);
16256 constexpr const TFunction imageAtomicMinExt_01J20C00D(
16257     BuiltInId::imageAtomicMinExt_UImage3D1_Int3_UInt1,
16258     BuiltInName::imageAtomicMinExt,
16259     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16260     BuiltInParameters::p01J20C00D00D,
16261     3,
16262     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16263     EOpImageAtomicMin,
16264     false);
16265 constexpr const TFunction imageAtomicMinExt_00t20C00D(
16266     BuiltInId::imageAtomicMinExt_ImageCube1_Int3_UInt1,
16267     BuiltInName::imageAtomicMinExt,
16268     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16269     BuiltInParameters::p00t20C00D00D,
16270     3,
16271     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16272     EOpImageAtomicMin,
16273     false);
16274 constexpr const TFunction imageAtomicMinExt_01C20C00D(
16275     BuiltInId::imageAtomicMinExt_IImageCube1_Int3_UInt1,
16276     BuiltInName::imageAtomicMinExt,
16277     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16278     BuiltInParameters::p01C20C00D00D,
16279     3,
16280     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16281     EOpImageAtomicMin,
16282     false);
16283 constexpr const TFunction imageAtomicMinExt_01L20C00D(
16284     BuiltInId::imageAtomicMinExt_UImageCube1_Int3_UInt1,
16285     BuiltInName::imageAtomicMinExt,
16286     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16287     BuiltInParameters::p01L20C00D00D,
16288     3,
16289     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16290     EOpImageAtomicMin,
16291     false);
16292 constexpr const TFunction imageAtomicMinExt_00y00C00D(
16293     BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_UInt1,
16294     BuiltInName::imageAtomicMinExt,
16295     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16296     BuiltInParameters::p00y00C00D00D,
16297     3,
16298     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16299     EOpImageAtomicMin,
16300     false);
16301 constexpr const TFunction imageAtomicMinExt_01H00C00D(
16302     BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_UInt1,
16303     BuiltInName::imageAtomicMinExt,
16304     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16305     BuiltInParameters::p01H00C00D00D,
16306     3,
16307     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16308     EOpImageAtomicMin,
16309     false);
16310 constexpr const TFunction imageAtomicMinExt_01Q00C00D(
16311     BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_UInt1,
16312     BuiltInName::imageAtomicMinExt,
16313     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16314     BuiltInParameters::p01Q00C00D00D,
16315     3,
16316     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16317     EOpImageAtomicMin,
16318     false);
16319 constexpr const TFunction imageAtomicMinExt_00s20C00D(
16320     BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_UInt1,
16321     BuiltInName::imageAtomicMinExt,
16322     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16323     BuiltInParameters::p00s20C00D00D,
16324     3,
16325     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16326     EOpImageAtomicMin,
16327     false);
16328 constexpr const TFunction imageAtomicMinExt_01B20C00D(
16329     BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_UInt1,
16330     BuiltInName::imageAtomicMinExt,
16331     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16332     BuiltInParameters::p01B20C00D00D,
16333     3,
16334     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16335     EOpImageAtomicMin,
16336     false);
16337 constexpr const TFunction imageAtomicMinExt_01K20C00D(
16338     BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_UInt1,
16339     BuiltInName::imageAtomicMinExt,
16340     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16341     BuiltInParameters::p01K20C00D00D,
16342     3,
16343     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16344     EOpImageAtomicMin,
16345     false);
16346 constexpr const TFunction imageAtomicMinExt_00w20C00D(
16347     BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_UInt1,
16348     BuiltInName::imageAtomicMinExt,
16349     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16350     BuiltInParameters::p00w20C00D00D,
16351     3,
16352     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16353     EOpImageAtomicMin,
16354     false);
16355 constexpr const TFunction imageAtomicMinExt_01F20C00D(
16356     BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_UInt1,
16357     BuiltInName::imageAtomicMinExt,
16358     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16359     BuiltInParameters::p01F20C00D00D,
16360     3,
16361     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16362     EOpImageAtomicMin,
16363     false);
16364 constexpr const TFunction imageAtomicMinExt_01O20C00D(
16365     BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_UInt1,
16366     BuiltInName::imageAtomicMinExt,
16367     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16368     BuiltInParameters::p01O20C00D00D,
16369     3,
16370     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16371     EOpImageAtomicMin,
16372     false);
16373 constexpr const TFunction imageAtomicMinExt_00x10C00D(
16374     BuiltInId::imageAtomicMinExt_ImageRect1_Int2_UInt1,
16375     BuiltInName::imageAtomicMinExt,
16376     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16377     BuiltInParameters::p00x10C00D00D,
16378     3,
16379     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16380     EOpImageAtomicMin,
16381     false);
16382 constexpr const TFunction imageAtomicMinExt_01G10C00D(
16383     BuiltInId::imageAtomicMinExt_IImageRect1_Int2_UInt1,
16384     BuiltInName::imageAtomicMinExt,
16385     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16386     BuiltInParameters::p01G10C00D00D,
16387     3,
16388     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16389     EOpImageAtomicMin,
16390     false);
16391 constexpr const TFunction imageAtomicMinExt_01P10C00D(
16392     BuiltInId::imageAtomicMinExt_UImageRect1_Int2_UInt1,
16393     BuiltInName::imageAtomicMinExt,
16394     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16395     BuiltInParameters::p01P10C00D00D,
16396     3,
16397     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16398     EOpImageAtomicMin,
16399     false);
16400 constexpr const TFunction imageAtomicMinExt_00u10C00C00D(
16401     BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_UInt1,
16402     BuiltInName::imageAtomicMinExt,
16403     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16404     BuiltInParameters::p00u10C00C00D00D,
16405     4,
16406     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16407     EOpImageAtomicMin,
16408     false);
16409 constexpr const TFunction imageAtomicMinExt_01D10C00C00D(
16410     BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_UInt1,
16411     BuiltInName::imageAtomicMinExt,
16412     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16413     BuiltInParameters::p01D10C00C00D00D,
16414     4,
16415     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16416     EOpImageAtomicMin,
16417     false);
16418 constexpr const TFunction imageAtomicMinExt_01M10C00C00D(
16419     BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_UInt1,
16420     BuiltInName::imageAtomicMinExt,
16421     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16422     BuiltInParameters::p01M10C00C00D00D,
16423     4,
16424     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16425     EOpImageAtomicMin,
16426     false);
16427 constexpr const TFunction imageAtomicMinExt_00v20C00C00D(
16428     BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_UInt1,
16429     BuiltInName::imageAtomicMinExt,
16430     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16431     BuiltInParameters::p00v20C00C00D00D,
16432     4,
16433     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16434     EOpImageAtomicMin,
16435     false);
16436 constexpr const TFunction imageAtomicMinExt_01E20C00C00D(
16437     BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_UInt1,
16438     BuiltInName::imageAtomicMinExt,
16439     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16440     BuiltInParameters::p01E20C00C00D00D,
16441     4,
16442     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16443     EOpImageAtomicMin,
16444     false);
16445 constexpr const TFunction imageAtomicMinExt_01N20C00C00D(
16446     BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_UInt1,
16447     BuiltInName::imageAtomicMinExt,
16448     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16449     BuiltInParameters::p01N20C00C00D00D,
16450     4,
16451     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16452     EOpImageAtomicMin,
16453     false);
16454 constexpr const TFunction imageAtomicMinExt_00q10C00C(
16455     BuiltInId::imageAtomicMinExt_Image2D1_Int2_Int1,
16456     BuiltInName::imageAtomicMinExt,
16457     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16458     BuiltInParameters::p00q10C00C00C,
16459     3,
16460     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16461     EOpImageAtomicMin,
16462     false);
16463 constexpr const TFunction imageAtomicMinExt_00z10C00C(
16464     BuiltInId::imageAtomicMinExt_IImage2D1_Int2_Int1,
16465     BuiltInName::imageAtomicMinExt,
16466     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16467     BuiltInParameters::p00z10C00C00C,
16468     3,
16469     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16470     EOpImageAtomicMin,
16471     false);
16472 constexpr const TFunction imageAtomicMinExt_01I10C00C(
16473     BuiltInId::imageAtomicMinExt_UImage2D1_Int2_Int1,
16474     BuiltInName::imageAtomicMinExt,
16475     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16476     BuiltInParameters::p01I10C00C00C,
16477     3,
16478     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16479     EOpImageAtomicMin,
16480     false);
16481 constexpr const TFunction imageAtomicMinExt_00r20C00C(
16482     BuiltInId::imageAtomicMinExt_Image3D1_Int3_Int1,
16483     BuiltInName::imageAtomicMinExt,
16484     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16485     BuiltInParameters::p00r20C00C00C,
16486     3,
16487     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16488     EOpImageAtomicMin,
16489     false);
16490 constexpr const TFunction imageAtomicMinExt_01A20C00C(
16491     BuiltInId::imageAtomicMinExt_IImage3D1_Int3_Int1,
16492     BuiltInName::imageAtomicMinExt,
16493     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16494     BuiltInParameters::p01A20C00C00C,
16495     3,
16496     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16497     EOpImageAtomicMin,
16498     false);
16499 constexpr const TFunction imageAtomicMinExt_01J20C00C(
16500     BuiltInId::imageAtomicMinExt_UImage3D1_Int3_Int1,
16501     BuiltInName::imageAtomicMinExt,
16502     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16503     BuiltInParameters::p01J20C00C00C,
16504     3,
16505     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16506     EOpImageAtomicMin,
16507     false);
16508 constexpr const TFunction imageAtomicMinExt_00t20C00C(
16509     BuiltInId::imageAtomicMinExt_ImageCube1_Int3_Int1,
16510     BuiltInName::imageAtomicMinExt,
16511     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16512     BuiltInParameters::p00t20C00C00C,
16513     3,
16514     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16515     EOpImageAtomicMin,
16516     false);
16517 constexpr const TFunction imageAtomicMinExt_01C20C00C(
16518     BuiltInId::imageAtomicMinExt_IImageCube1_Int3_Int1,
16519     BuiltInName::imageAtomicMinExt,
16520     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16521     BuiltInParameters::p01C20C00C00C,
16522     3,
16523     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16524     EOpImageAtomicMin,
16525     false);
16526 constexpr const TFunction imageAtomicMinExt_01L20C00C(
16527     BuiltInId::imageAtomicMinExt_UImageCube1_Int3_Int1,
16528     BuiltInName::imageAtomicMinExt,
16529     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16530     BuiltInParameters::p01L20C00C00C,
16531     3,
16532     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16533     EOpImageAtomicMin,
16534     false);
16535 constexpr const TFunction imageAtomicMinExt_00y00C00C(
16536     BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_Int1,
16537     BuiltInName::imageAtomicMinExt,
16538     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16539     BuiltInParameters::p00y00C00C00C,
16540     3,
16541     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16542     EOpImageAtomicMin,
16543     false);
16544 constexpr const TFunction imageAtomicMinExt_01H00C00C(
16545     BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_Int1,
16546     BuiltInName::imageAtomicMinExt,
16547     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16548     BuiltInParameters::p01H00C00C00C,
16549     3,
16550     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16551     EOpImageAtomicMin,
16552     false);
16553 constexpr const TFunction imageAtomicMinExt_01Q00C00C(
16554     BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_Int1,
16555     BuiltInName::imageAtomicMinExt,
16556     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16557     BuiltInParameters::p01Q00C00C00C,
16558     3,
16559     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16560     EOpImageAtomicMin,
16561     false);
16562 constexpr const TFunction imageAtomicMinExt_00s20C00C(
16563     BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_Int1,
16564     BuiltInName::imageAtomicMinExt,
16565     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16566     BuiltInParameters::p00s20C00C00C,
16567     3,
16568     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16569     EOpImageAtomicMin,
16570     false);
16571 constexpr const TFunction imageAtomicMinExt_01B20C00C(
16572     BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_Int1,
16573     BuiltInName::imageAtomicMinExt,
16574     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16575     BuiltInParameters::p01B20C00C00C,
16576     3,
16577     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16578     EOpImageAtomicMin,
16579     false);
16580 constexpr const TFunction imageAtomicMinExt_01K20C00C(
16581     BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_Int1,
16582     BuiltInName::imageAtomicMinExt,
16583     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16584     BuiltInParameters::p01K20C00C00C,
16585     3,
16586     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16587     EOpImageAtomicMin,
16588     false);
16589 constexpr const TFunction imageAtomicMinExt_00w20C00C(
16590     BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_Int1,
16591     BuiltInName::imageAtomicMinExt,
16592     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16593     BuiltInParameters::p00w20C00C00C,
16594     3,
16595     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16596     EOpImageAtomicMin,
16597     false);
16598 constexpr const TFunction imageAtomicMinExt_01F20C00C(
16599     BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_Int1,
16600     BuiltInName::imageAtomicMinExt,
16601     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16602     BuiltInParameters::p01F20C00C00C,
16603     3,
16604     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16605     EOpImageAtomicMin,
16606     false);
16607 constexpr const TFunction imageAtomicMinExt_01O20C00C(
16608     BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_Int1,
16609     BuiltInName::imageAtomicMinExt,
16610     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16611     BuiltInParameters::p01O20C00C00C,
16612     3,
16613     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16614     EOpImageAtomicMin,
16615     false);
16616 constexpr const TFunction imageAtomicMinExt_00x10C00C(
16617     BuiltInId::imageAtomicMinExt_ImageRect1_Int2_Int1,
16618     BuiltInName::imageAtomicMinExt,
16619     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16620     BuiltInParameters::p00x10C00C00C,
16621     3,
16622     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16623     EOpImageAtomicMin,
16624     false);
16625 constexpr const TFunction imageAtomicMinExt_01G10C00C(
16626     BuiltInId::imageAtomicMinExt_IImageRect1_Int2_Int1,
16627     BuiltInName::imageAtomicMinExt,
16628     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16629     BuiltInParameters::p01G10C00C00C,
16630     3,
16631     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16632     EOpImageAtomicMin,
16633     false);
16634 constexpr const TFunction imageAtomicMinExt_01P10C00C(
16635     BuiltInId::imageAtomicMinExt_UImageRect1_Int2_Int1,
16636     BuiltInName::imageAtomicMinExt,
16637     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16638     BuiltInParameters::p01P10C00C00C,
16639     3,
16640     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16641     EOpImageAtomicMin,
16642     false);
16643 constexpr const TFunction imageAtomicMinExt_00u10C00C00C(
16644     BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_Int1,
16645     BuiltInName::imageAtomicMinExt,
16646     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16647     BuiltInParameters::p00u10C00C00C00C,
16648     4,
16649     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16650     EOpImageAtomicMin,
16651     false);
16652 constexpr const TFunction imageAtomicMinExt_01D10C00C00C(
16653     BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_Int1,
16654     BuiltInName::imageAtomicMinExt,
16655     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16656     BuiltInParameters::p01D10C00C00C00C,
16657     4,
16658     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16659     EOpImageAtomicMin,
16660     false);
16661 constexpr const TFunction imageAtomicMinExt_01M10C00C00C(
16662     BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_Int1,
16663     BuiltInName::imageAtomicMinExt,
16664     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16665     BuiltInParameters::p01M10C00C00C00C,
16666     4,
16667     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16668     EOpImageAtomicMin,
16669     false);
16670 constexpr const TFunction imageAtomicMinExt_00v20C00C00C(
16671     BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_Int1,
16672     BuiltInName::imageAtomicMinExt,
16673     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16674     BuiltInParameters::p00v20C00C00C00C,
16675     4,
16676     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16677     EOpImageAtomicMin,
16678     false);
16679 constexpr const TFunction imageAtomicMinExt_01E20C00C00C(
16680     BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_Int1,
16681     BuiltInName::imageAtomicMinExt,
16682     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16683     BuiltInParameters::p01E20C00C00C00C,
16684     4,
16685     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16686     EOpImageAtomicMin,
16687     false);
16688 constexpr const TFunction imageAtomicMinExt_01N20C00C00C(
16689     BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_Int1,
16690     BuiltInName::imageAtomicMinExt,
16691     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16692     BuiltInParameters::p01N20C00C00C00C,
16693     4,
16694     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16695     EOpImageAtomicMin,
16696     false);
16697 constexpr const TFunction imageAtomicMaxExt_00q10C00D(
16698     BuiltInId::imageAtomicMaxExt_Image2D1_Int2_UInt1,
16699     BuiltInName::imageAtomicMaxExt,
16700     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16701     BuiltInParameters::p00q10C00D00D,
16702     3,
16703     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16704     EOpImageAtomicMax,
16705     false);
16706 constexpr const TFunction imageAtomicMaxExt_00z10C00D(
16707     BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_UInt1,
16708     BuiltInName::imageAtomicMaxExt,
16709     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16710     BuiltInParameters::p00z10C00D00D,
16711     3,
16712     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16713     EOpImageAtomicMax,
16714     false);
16715 constexpr const TFunction imageAtomicMaxExt_01I10C00D(
16716     BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_UInt1,
16717     BuiltInName::imageAtomicMaxExt,
16718     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16719     BuiltInParameters::p01I10C00D00D,
16720     3,
16721     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16722     EOpImageAtomicMax,
16723     false);
16724 constexpr const TFunction imageAtomicMaxExt_00r20C00D(
16725     BuiltInId::imageAtomicMaxExt_Image3D1_Int3_UInt1,
16726     BuiltInName::imageAtomicMaxExt,
16727     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16728     BuiltInParameters::p00r20C00D00D,
16729     3,
16730     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16731     EOpImageAtomicMax,
16732     false);
16733 constexpr const TFunction imageAtomicMaxExt_01A20C00D(
16734     BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_UInt1,
16735     BuiltInName::imageAtomicMaxExt,
16736     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16737     BuiltInParameters::p01A20C00D00D,
16738     3,
16739     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16740     EOpImageAtomicMax,
16741     false);
16742 constexpr const TFunction imageAtomicMaxExt_01J20C00D(
16743     BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_UInt1,
16744     BuiltInName::imageAtomicMaxExt,
16745     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16746     BuiltInParameters::p01J20C00D00D,
16747     3,
16748     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16749     EOpImageAtomicMax,
16750     false);
16751 constexpr const TFunction imageAtomicMaxExt_00t20C00D(
16752     BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_UInt1,
16753     BuiltInName::imageAtomicMaxExt,
16754     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16755     BuiltInParameters::p00t20C00D00D,
16756     3,
16757     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16758     EOpImageAtomicMax,
16759     false);
16760 constexpr const TFunction imageAtomicMaxExt_01C20C00D(
16761     BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_UInt1,
16762     BuiltInName::imageAtomicMaxExt,
16763     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16764     BuiltInParameters::p01C20C00D00D,
16765     3,
16766     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16767     EOpImageAtomicMax,
16768     false);
16769 constexpr const TFunction imageAtomicMaxExt_01L20C00D(
16770     BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_UInt1,
16771     BuiltInName::imageAtomicMaxExt,
16772     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16773     BuiltInParameters::p01L20C00D00D,
16774     3,
16775     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16776     EOpImageAtomicMax,
16777     false);
16778 constexpr const TFunction imageAtomicMaxExt_00y00C00D(
16779     BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_UInt1,
16780     BuiltInName::imageAtomicMaxExt,
16781     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16782     BuiltInParameters::p00y00C00D00D,
16783     3,
16784     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16785     EOpImageAtomicMax,
16786     false);
16787 constexpr const TFunction imageAtomicMaxExt_01H00C00D(
16788     BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_UInt1,
16789     BuiltInName::imageAtomicMaxExt,
16790     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16791     BuiltInParameters::p01H00C00D00D,
16792     3,
16793     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16794     EOpImageAtomicMax,
16795     false);
16796 constexpr const TFunction imageAtomicMaxExt_01Q00C00D(
16797     BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_UInt1,
16798     BuiltInName::imageAtomicMaxExt,
16799     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16800     BuiltInParameters::p01Q00C00D00D,
16801     3,
16802     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16803     EOpImageAtomicMax,
16804     false);
16805 constexpr const TFunction imageAtomicMaxExt_00s20C00D(
16806     BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_UInt1,
16807     BuiltInName::imageAtomicMaxExt,
16808     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16809     BuiltInParameters::p00s20C00D00D,
16810     3,
16811     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16812     EOpImageAtomicMax,
16813     false);
16814 constexpr const TFunction imageAtomicMaxExt_01B20C00D(
16815     BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_UInt1,
16816     BuiltInName::imageAtomicMaxExt,
16817     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16818     BuiltInParameters::p01B20C00D00D,
16819     3,
16820     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16821     EOpImageAtomicMax,
16822     false);
16823 constexpr const TFunction imageAtomicMaxExt_01K20C00D(
16824     BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_UInt1,
16825     BuiltInName::imageAtomicMaxExt,
16826     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16827     BuiltInParameters::p01K20C00D00D,
16828     3,
16829     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16830     EOpImageAtomicMax,
16831     false);
16832 constexpr const TFunction imageAtomicMaxExt_00w20C00D(
16833     BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_UInt1,
16834     BuiltInName::imageAtomicMaxExt,
16835     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16836     BuiltInParameters::p00w20C00D00D,
16837     3,
16838     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16839     EOpImageAtomicMax,
16840     false);
16841 constexpr const TFunction imageAtomicMaxExt_01F20C00D(
16842     BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_UInt1,
16843     BuiltInName::imageAtomicMaxExt,
16844     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16845     BuiltInParameters::p01F20C00D00D,
16846     3,
16847     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16848     EOpImageAtomicMax,
16849     false);
16850 constexpr const TFunction imageAtomicMaxExt_01O20C00D(
16851     BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_UInt1,
16852     BuiltInName::imageAtomicMaxExt,
16853     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16854     BuiltInParameters::p01O20C00D00D,
16855     3,
16856     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16857     EOpImageAtomicMax,
16858     false);
16859 constexpr const TFunction imageAtomicMaxExt_00x10C00D(
16860     BuiltInId::imageAtomicMaxExt_ImageRect1_Int2_UInt1,
16861     BuiltInName::imageAtomicMaxExt,
16862     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16863     BuiltInParameters::p00x10C00D00D,
16864     3,
16865     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16866     EOpImageAtomicMax,
16867     false);
16868 constexpr const TFunction imageAtomicMaxExt_01G10C00D(
16869     BuiltInId::imageAtomicMaxExt_IImageRect1_Int2_UInt1,
16870     BuiltInName::imageAtomicMaxExt,
16871     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16872     BuiltInParameters::p01G10C00D00D,
16873     3,
16874     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16875     EOpImageAtomicMax,
16876     false);
16877 constexpr const TFunction imageAtomicMaxExt_01P10C00D(
16878     BuiltInId::imageAtomicMaxExt_UImageRect1_Int2_UInt1,
16879     BuiltInName::imageAtomicMaxExt,
16880     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16881     BuiltInParameters::p01P10C00D00D,
16882     3,
16883     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16884     EOpImageAtomicMax,
16885     false);
16886 constexpr const TFunction imageAtomicMaxExt_00u10C00C00D(
16887     BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_UInt1,
16888     BuiltInName::imageAtomicMaxExt,
16889     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16890     BuiltInParameters::p00u10C00C00D00D,
16891     4,
16892     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16893     EOpImageAtomicMax,
16894     false);
16895 constexpr const TFunction imageAtomicMaxExt_01D10C00C00D(
16896     BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_UInt1,
16897     BuiltInName::imageAtomicMaxExt,
16898     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16899     BuiltInParameters::p01D10C00C00D00D,
16900     4,
16901     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16902     EOpImageAtomicMax,
16903     false);
16904 constexpr const TFunction imageAtomicMaxExt_01M10C00C00D(
16905     BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_UInt1,
16906     BuiltInName::imageAtomicMaxExt,
16907     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16908     BuiltInParameters::p01M10C00C00D00D,
16909     4,
16910     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16911     EOpImageAtomicMax,
16912     false);
16913 constexpr const TFunction imageAtomicMaxExt_00v20C00C00D(
16914     BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_UInt1,
16915     BuiltInName::imageAtomicMaxExt,
16916     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16917     BuiltInParameters::p00v20C00C00D00D,
16918     4,
16919     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16920     EOpImageAtomicMax,
16921     false);
16922 constexpr const TFunction imageAtomicMaxExt_01E20C00C00D(
16923     BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_UInt1,
16924     BuiltInName::imageAtomicMaxExt,
16925     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16926     BuiltInParameters::p01E20C00C00D00D,
16927     4,
16928     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16929     EOpImageAtomicMax,
16930     false);
16931 constexpr const TFunction imageAtomicMaxExt_01N20C00C00D(
16932     BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_UInt1,
16933     BuiltInName::imageAtomicMaxExt,
16934     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16935     BuiltInParameters::p01N20C00C00D00D,
16936     4,
16937     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
16938     EOpImageAtomicMax,
16939     false);
16940 constexpr const TFunction imageAtomicMaxExt_00q10C00C(
16941     BuiltInId::imageAtomicMaxExt_Image2D1_Int2_Int1,
16942     BuiltInName::imageAtomicMaxExt,
16943     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16944     BuiltInParameters::p00q10C00C00C,
16945     3,
16946     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16947     EOpImageAtomicMax,
16948     false);
16949 constexpr const TFunction imageAtomicMaxExt_00z10C00C(
16950     BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_Int1,
16951     BuiltInName::imageAtomicMaxExt,
16952     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16953     BuiltInParameters::p00z10C00C00C,
16954     3,
16955     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16956     EOpImageAtomicMax,
16957     false);
16958 constexpr const TFunction imageAtomicMaxExt_01I10C00C(
16959     BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_Int1,
16960     BuiltInName::imageAtomicMaxExt,
16961     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16962     BuiltInParameters::p01I10C00C00C,
16963     3,
16964     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16965     EOpImageAtomicMax,
16966     false);
16967 constexpr const TFunction imageAtomicMaxExt_00r20C00C(
16968     BuiltInId::imageAtomicMaxExt_Image3D1_Int3_Int1,
16969     BuiltInName::imageAtomicMaxExt,
16970     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16971     BuiltInParameters::p00r20C00C00C,
16972     3,
16973     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16974     EOpImageAtomicMax,
16975     false);
16976 constexpr const TFunction imageAtomicMaxExt_01A20C00C(
16977     BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_Int1,
16978     BuiltInName::imageAtomicMaxExt,
16979     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16980     BuiltInParameters::p01A20C00C00C,
16981     3,
16982     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16983     EOpImageAtomicMax,
16984     false);
16985 constexpr const TFunction imageAtomicMaxExt_01J20C00C(
16986     BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_Int1,
16987     BuiltInName::imageAtomicMaxExt,
16988     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16989     BuiltInParameters::p01J20C00C00C,
16990     3,
16991     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
16992     EOpImageAtomicMax,
16993     false);
16994 constexpr const TFunction imageAtomicMaxExt_00t20C00C(
16995     BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_Int1,
16996     BuiltInName::imageAtomicMaxExt,
16997     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
16998     BuiltInParameters::p00t20C00C00C,
16999     3,
17000     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17001     EOpImageAtomicMax,
17002     false);
17003 constexpr const TFunction imageAtomicMaxExt_01C20C00C(
17004     BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_Int1,
17005     BuiltInName::imageAtomicMaxExt,
17006     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17007     BuiltInParameters::p01C20C00C00C,
17008     3,
17009     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17010     EOpImageAtomicMax,
17011     false);
17012 constexpr const TFunction imageAtomicMaxExt_01L20C00C(
17013     BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_Int1,
17014     BuiltInName::imageAtomicMaxExt,
17015     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17016     BuiltInParameters::p01L20C00C00C,
17017     3,
17018     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17019     EOpImageAtomicMax,
17020     false);
17021 constexpr const TFunction imageAtomicMaxExt_00y00C00C(
17022     BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_Int1,
17023     BuiltInName::imageAtomicMaxExt,
17024     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17025     BuiltInParameters::p00y00C00C00C,
17026     3,
17027     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17028     EOpImageAtomicMax,
17029     false);
17030 constexpr const TFunction imageAtomicMaxExt_01H00C00C(
17031     BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_Int1,
17032     BuiltInName::imageAtomicMaxExt,
17033     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17034     BuiltInParameters::p01H00C00C00C,
17035     3,
17036     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17037     EOpImageAtomicMax,
17038     false);
17039 constexpr const TFunction imageAtomicMaxExt_01Q00C00C(
17040     BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_Int1,
17041     BuiltInName::imageAtomicMaxExt,
17042     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17043     BuiltInParameters::p01Q00C00C00C,
17044     3,
17045     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17046     EOpImageAtomicMax,
17047     false);
17048 constexpr const TFunction imageAtomicMaxExt_00s20C00C(
17049     BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_Int1,
17050     BuiltInName::imageAtomicMaxExt,
17051     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17052     BuiltInParameters::p00s20C00C00C,
17053     3,
17054     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17055     EOpImageAtomicMax,
17056     false);
17057 constexpr const TFunction imageAtomicMaxExt_01B20C00C(
17058     BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_Int1,
17059     BuiltInName::imageAtomicMaxExt,
17060     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17061     BuiltInParameters::p01B20C00C00C,
17062     3,
17063     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17064     EOpImageAtomicMax,
17065     false);
17066 constexpr const TFunction imageAtomicMaxExt_01K20C00C(
17067     BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_Int1,
17068     BuiltInName::imageAtomicMaxExt,
17069     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17070     BuiltInParameters::p01K20C00C00C,
17071     3,
17072     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17073     EOpImageAtomicMax,
17074     false);
17075 constexpr const TFunction imageAtomicMaxExt_00w20C00C(
17076     BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_Int1,
17077     BuiltInName::imageAtomicMaxExt,
17078     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17079     BuiltInParameters::p00w20C00C00C,
17080     3,
17081     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17082     EOpImageAtomicMax,
17083     false);
17084 constexpr const TFunction imageAtomicMaxExt_01F20C00C(
17085     BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_Int1,
17086     BuiltInName::imageAtomicMaxExt,
17087     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17088     BuiltInParameters::p01F20C00C00C,
17089     3,
17090     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17091     EOpImageAtomicMax,
17092     false);
17093 constexpr const TFunction imageAtomicMaxExt_01O20C00C(
17094     BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_Int1,
17095     BuiltInName::imageAtomicMaxExt,
17096     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17097     BuiltInParameters::p01O20C00C00C,
17098     3,
17099     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17100     EOpImageAtomicMax,
17101     false);
17102 constexpr const TFunction imageAtomicMaxExt_00x10C00C(
17103     BuiltInId::imageAtomicMaxExt_ImageRect1_Int2_Int1,
17104     BuiltInName::imageAtomicMaxExt,
17105     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17106     BuiltInParameters::p00x10C00C00C,
17107     3,
17108     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17109     EOpImageAtomicMax,
17110     false);
17111 constexpr const TFunction imageAtomicMaxExt_01G10C00C(
17112     BuiltInId::imageAtomicMaxExt_IImageRect1_Int2_Int1,
17113     BuiltInName::imageAtomicMaxExt,
17114     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17115     BuiltInParameters::p01G10C00C00C,
17116     3,
17117     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17118     EOpImageAtomicMax,
17119     false);
17120 constexpr const TFunction imageAtomicMaxExt_01P10C00C(
17121     BuiltInId::imageAtomicMaxExt_UImageRect1_Int2_Int1,
17122     BuiltInName::imageAtomicMaxExt,
17123     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17124     BuiltInParameters::p01P10C00C00C,
17125     3,
17126     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17127     EOpImageAtomicMax,
17128     false);
17129 constexpr const TFunction imageAtomicMaxExt_00u10C00C00C(
17130     BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_Int1,
17131     BuiltInName::imageAtomicMaxExt,
17132     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17133     BuiltInParameters::p00u10C00C00C00C,
17134     4,
17135     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17136     EOpImageAtomicMax,
17137     false);
17138 constexpr const TFunction imageAtomicMaxExt_01D10C00C00C(
17139     BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_Int1,
17140     BuiltInName::imageAtomicMaxExt,
17141     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17142     BuiltInParameters::p01D10C00C00C00C,
17143     4,
17144     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17145     EOpImageAtomicMax,
17146     false);
17147 constexpr const TFunction imageAtomicMaxExt_01M10C00C00C(
17148     BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_Int1,
17149     BuiltInName::imageAtomicMaxExt,
17150     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17151     BuiltInParameters::p01M10C00C00C00C,
17152     4,
17153     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17154     EOpImageAtomicMax,
17155     false);
17156 constexpr const TFunction imageAtomicMaxExt_00v20C00C00C(
17157     BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_Int1,
17158     BuiltInName::imageAtomicMaxExt,
17159     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17160     BuiltInParameters::p00v20C00C00C00C,
17161     4,
17162     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17163     EOpImageAtomicMax,
17164     false);
17165 constexpr const TFunction imageAtomicMaxExt_01E20C00C00C(
17166     BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_Int1,
17167     BuiltInName::imageAtomicMaxExt,
17168     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17169     BuiltInParameters::p01E20C00C00C00C,
17170     4,
17171     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17172     EOpImageAtomicMax,
17173     false);
17174 constexpr const TFunction imageAtomicMaxExt_01N20C00C00C(
17175     BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_Int1,
17176     BuiltInName::imageAtomicMaxExt,
17177     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17178     BuiltInParameters::p01N20C00C00C00C,
17179     4,
17180     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17181     EOpImageAtomicMax,
17182     false);
17183 constexpr const TFunction imageAtomicAndExt_00q10C00D(
17184     BuiltInId::imageAtomicAndExt_Image2D1_Int2_UInt1,
17185     BuiltInName::imageAtomicAndExt,
17186     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17187     BuiltInParameters::p00q10C00D00D,
17188     3,
17189     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17190     EOpImageAtomicAnd,
17191     false);
17192 constexpr const TFunction imageAtomicAndExt_00z10C00D(
17193     BuiltInId::imageAtomicAndExt_IImage2D1_Int2_UInt1,
17194     BuiltInName::imageAtomicAndExt,
17195     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17196     BuiltInParameters::p00z10C00D00D,
17197     3,
17198     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17199     EOpImageAtomicAnd,
17200     false);
17201 constexpr const TFunction imageAtomicAndExt_01I10C00D(
17202     BuiltInId::imageAtomicAndExt_UImage2D1_Int2_UInt1,
17203     BuiltInName::imageAtomicAndExt,
17204     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17205     BuiltInParameters::p01I10C00D00D,
17206     3,
17207     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17208     EOpImageAtomicAnd,
17209     false);
17210 constexpr const TFunction imageAtomicAndExt_00r20C00D(
17211     BuiltInId::imageAtomicAndExt_Image3D1_Int3_UInt1,
17212     BuiltInName::imageAtomicAndExt,
17213     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17214     BuiltInParameters::p00r20C00D00D,
17215     3,
17216     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17217     EOpImageAtomicAnd,
17218     false);
17219 constexpr const TFunction imageAtomicAndExt_01A20C00D(
17220     BuiltInId::imageAtomicAndExt_IImage3D1_Int3_UInt1,
17221     BuiltInName::imageAtomicAndExt,
17222     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17223     BuiltInParameters::p01A20C00D00D,
17224     3,
17225     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17226     EOpImageAtomicAnd,
17227     false);
17228 constexpr const TFunction imageAtomicAndExt_01J20C00D(
17229     BuiltInId::imageAtomicAndExt_UImage3D1_Int3_UInt1,
17230     BuiltInName::imageAtomicAndExt,
17231     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17232     BuiltInParameters::p01J20C00D00D,
17233     3,
17234     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17235     EOpImageAtomicAnd,
17236     false);
17237 constexpr const TFunction imageAtomicAndExt_00t20C00D(
17238     BuiltInId::imageAtomicAndExt_ImageCube1_Int3_UInt1,
17239     BuiltInName::imageAtomicAndExt,
17240     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17241     BuiltInParameters::p00t20C00D00D,
17242     3,
17243     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17244     EOpImageAtomicAnd,
17245     false);
17246 constexpr const TFunction imageAtomicAndExt_01C20C00D(
17247     BuiltInId::imageAtomicAndExt_IImageCube1_Int3_UInt1,
17248     BuiltInName::imageAtomicAndExt,
17249     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17250     BuiltInParameters::p01C20C00D00D,
17251     3,
17252     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17253     EOpImageAtomicAnd,
17254     false);
17255 constexpr const TFunction imageAtomicAndExt_01L20C00D(
17256     BuiltInId::imageAtomicAndExt_UImageCube1_Int3_UInt1,
17257     BuiltInName::imageAtomicAndExt,
17258     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17259     BuiltInParameters::p01L20C00D00D,
17260     3,
17261     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17262     EOpImageAtomicAnd,
17263     false);
17264 constexpr const TFunction imageAtomicAndExt_00y00C00D(
17265     BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_UInt1,
17266     BuiltInName::imageAtomicAndExt,
17267     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17268     BuiltInParameters::p00y00C00D00D,
17269     3,
17270     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17271     EOpImageAtomicAnd,
17272     false);
17273 constexpr const TFunction imageAtomicAndExt_01H00C00D(
17274     BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_UInt1,
17275     BuiltInName::imageAtomicAndExt,
17276     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17277     BuiltInParameters::p01H00C00D00D,
17278     3,
17279     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17280     EOpImageAtomicAnd,
17281     false);
17282 constexpr const TFunction imageAtomicAndExt_01Q00C00D(
17283     BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_UInt1,
17284     BuiltInName::imageAtomicAndExt,
17285     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17286     BuiltInParameters::p01Q00C00D00D,
17287     3,
17288     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17289     EOpImageAtomicAnd,
17290     false);
17291 constexpr const TFunction imageAtomicAndExt_00s20C00D(
17292     BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_UInt1,
17293     BuiltInName::imageAtomicAndExt,
17294     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17295     BuiltInParameters::p00s20C00D00D,
17296     3,
17297     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17298     EOpImageAtomicAnd,
17299     false);
17300 constexpr const TFunction imageAtomicAndExt_01B20C00D(
17301     BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_UInt1,
17302     BuiltInName::imageAtomicAndExt,
17303     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17304     BuiltInParameters::p01B20C00D00D,
17305     3,
17306     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17307     EOpImageAtomicAnd,
17308     false);
17309 constexpr const TFunction imageAtomicAndExt_01K20C00D(
17310     BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_UInt1,
17311     BuiltInName::imageAtomicAndExt,
17312     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17313     BuiltInParameters::p01K20C00D00D,
17314     3,
17315     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17316     EOpImageAtomicAnd,
17317     false);
17318 constexpr const TFunction imageAtomicAndExt_00w20C00D(
17319     BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_UInt1,
17320     BuiltInName::imageAtomicAndExt,
17321     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17322     BuiltInParameters::p00w20C00D00D,
17323     3,
17324     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17325     EOpImageAtomicAnd,
17326     false);
17327 constexpr const TFunction imageAtomicAndExt_01F20C00D(
17328     BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_UInt1,
17329     BuiltInName::imageAtomicAndExt,
17330     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17331     BuiltInParameters::p01F20C00D00D,
17332     3,
17333     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17334     EOpImageAtomicAnd,
17335     false);
17336 constexpr const TFunction imageAtomicAndExt_01O20C00D(
17337     BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_UInt1,
17338     BuiltInName::imageAtomicAndExt,
17339     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17340     BuiltInParameters::p01O20C00D00D,
17341     3,
17342     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17343     EOpImageAtomicAnd,
17344     false);
17345 constexpr const TFunction imageAtomicAndExt_00x10C00D(
17346     BuiltInId::imageAtomicAndExt_ImageRect1_Int2_UInt1,
17347     BuiltInName::imageAtomicAndExt,
17348     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17349     BuiltInParameters::p00x10C00D00D,
17350     3,
17351     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17352     EOpImageAtomicAnd,
17353     false);
17354 constexpr const TFunction imageAtomicAndExt_01G10C00D(
17355     BuiltInId::imageAtomicAndExt_IImageRect1_Int2_UInt1,
17356     BuiltInName::imageAtomicAndExt,
17357     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17358     BuiltInParameters::p01G10C00D00D,
17359     3,
17360     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17361     EOpImageAtomicAnd,
17362     false);
17363 constexpr const TFunction imageAtomicAndExt_01P10C00D(
17364     BuiltInId::imageAtomicAndExt_UImageRect1_Int2_UInt1,
17365     BuiltInName::imageAtomicAndExt,
17366     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17367     BuiltInParameters::p01P10C00D00D,
17368     3,
17369     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17370     EOpImageAtomicAnd,
17371     false);
17372 constexpr const TFunction imageAtomicAndExt_00u10C00C00D(
17373     BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_UInt1,
17374     BuiltInName::imageAtomicAndExt,
17375     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17376     BuiltInParameters::p00u10C00C00D00D,
17377     4,
17378     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17379     EOpImageAtomicAnd,
17380     false);
17381 constexpr const TFunction imageAtomicAndExt_01D10C00C00D(
17382     BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_UInt1,
17383     BuiltInName::imageAtomicAndExt,
17384     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17385     BuiltInParameters::p01D10C00C00D00D,
17386     4,
17387     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17388     EOpImageAtomicAnd,
17389     false);
17390 constexpr const TFunction imageAtomicAndExt_01M10C00C00D(
17391     BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_UInt1,
17392     BuiltInName::imageAtomicAndExt,
17393     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17394     BuiltInParameters::p01M10C00C00D00D,
17395     4,
17396     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17397     EOpImageAtomicAnd,
17398     false);
17399 constexpr const TFunction imageAtomicAndExt_00v20C00C00D(
17400     BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_UInt1,
17401     BuiltInName::imageAtomicAndExt,
17402     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17403     BuiltInParameters::p00v20C00C00D00D,
17404     4,
17405     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17406     EOpImageAtomicAnd,
17407     false);
17408 constexpr const TFunction imageAtomicAndExt_01E20C00C00D(
17409     BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_UInt1,
17410     BuiltInName::imageAtomicAndExt,
17411     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17412     BuiltInParameters::p01E20C00C00D00D,
17413     4,
17414     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17415     EOpImageAtomicAnd,
17416     false);
17417 constexpr const TFunction imageAtomicAndExt_01N20C00C00D(
17418     BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_UInt1,
17419     BuiltInName::imageAtomicAndExt,
17420     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17421     BuiltInParameters::p01N20C00C00D00D,
17422     4,
17423     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17424     EOpImageAtomicAnd,
17425     false);
17426 constexpr const TFunction imageAtomicAndExt_00q10C00C(
17427     BuiltInId::imageAtomicAndExt_Image2D1_Int2_Int1,
17428     BuiltInName::imageAtomicAndExt,
17429     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17430     BuiltInParameters::p00q10C00C00C,
17431     3,
17432     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17433     EOpImageAtomicAnd,
17434     false);
17435 constexpr const TFunction imageAtomicAndExt_00z10C00C(
17436     BuiltInId::imageAtomicAndExt_IImage2D1_Int2_Int1,
17437     BuiltInName::imageAtomicAndExt,
17438     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17439     BuiltInParameters::p00z10C00C00C,
17440     3,
17441     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17442     EOpImageAtomicAnd,
17443     false);
17444 constexpr const TFunction imageAtomicAndExt_01I10C00C(
17445     BuiltInId::imageAtomicAndExt_UImage2D1_Int2_Int1,
17446     BuiltInName::imageAtomicAndExt,
17447     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17448     BuiltInParameters::p01I10C00C00C,
17449     3,
17450     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17451     EOpImageAtomicAnd,
17452     false);
17453 constexpr const TFunction imageAtomicAndExt_00r20C00C(
17454     BuiltInId::imageAtomicAndExt_Image3D1_Int3_Int1,
17455     BuiltInName::imageAtomicAndExt,
17456     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17457     BuiltInParameters::p00r20C00C00C,
17458     3,
17459     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17460     EOpImageAtomicAnd,
17461     false);
17462 constexpr const TFunction imageAtomicAndExt_01A20C00C(
17463     BuiltInId::imageAtomicAndExt_IImage3D1_Int3_Int1,
17464     BuiltInName::imageAtomicAndExt,
17465     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17466     BuiltInParameters::p01A20C00C00C,
17467     3,
17468     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17469     EOpImageAtomicAnd,
17470     false);
17471 constexpr const TFunction imageAtomicAndExt_01J20C00C(
17472     BuiltInId::imageAtomicAndExt_UImage3D1_Int3_Int1,
17473     BuiltInName::imageAtomicAndExt,
17474     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17475     BuiltInParameters::p01J20C00C00C,
17476     3,
17477     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17478     EOpImageAtomicAnd,
17479     false);
17480 constexpr const TFunction imageAtomicAndExt_00t20C00C(
17481     BuiltInId::imageAtomicAndExt_ImageCube1_Int3_Int1,
17482     BuiltInName::imageAtomicAndExt,
17483     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17484     BuiltInParameters::p00t20C00C00C,
17485     3,
17486     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17487     EOpImageAtomicAnd,
17488     false);
17489 constexpr const TFunction imageAtomicAndExt_01C20C00C(
17490     BuiltInId::imageAtomicAndExt_IImageCube1_Int3_Int1,
17491     BuiltInName::imageAtomicAndExt,
17492     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17493     BuiltInParameters::p01C20C00C00C,
17494     3,
17495     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17496     EOpImageAtomicAnd,
17497     false);
17498 constexpr const TFunction imageAtomicAndExt_01L20C00C(
17499     BuiltInId::imageAtomicAndExt_UImageCube1_Int3_Int1,
17500     BuiltInName::imageAtomicAndExt,
17501     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17502     BuiltInParameters::p01L20C00C00C,
17503     3,
17504     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17505     EOpImageAtomicAnd,
17506     false);
17507 constexpr const TFunction imageAtomicAndExt_00y00C00C(
17508     BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_Int1,
17509     BuiltInName::imageAtomicAndExt,
17510     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17511     BuiltInParameters::p00y00C00C00C,
17512     3,
17513     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17514     EOpImageAtomicAnd,
17515     false);
17516 constexpr const TFunction imageAtomicAndExt_01H00C00C(
17517     BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_Int1,
17518     BuiltInName::imageAtomicAndExt,
17519     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17520     BuiltInParameters::p01H00C00C00C,
17521     3,
17522     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17523     EOpImageAtomicAnd,
17524     false);
17525 constexpr const TFunction imageAtomicAndExt_01Q00C00C(
17526     BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_Int1,
17527     BuiltInName::imageAtomicAndExt,
17528     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17529     BuiltInParameters::p01Q00C00C00C,
17530     3,
17531     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17532     EOpImageAtomicAnd,
17533     false);
17534 constexpr const TFunction imageAtomicAndExt_00s20C00C(
17535     BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_Int1,
17536     BuiltInName::imageAtomicAndExt,
17537     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17538     BuiltInParameters::p00s20C00C00C,
17539     3,
17540     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17541     EOpImageAtomicAnd,
17542     false);
17543 constexpr const TFunction imageAtomicAndExt_01B20C00C(
17544     BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_Int1,
17545     BuiltInName::imageAtomicAndExt,
17546     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17547     BuiltInParameters::p01B20C00C00C,
17548     3,
17549     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17550     EOpImageAtomicAnd,
17551     false);
17552 constexpr const TFunction imageAtomicAndExt_01K20C00C(
17553     BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_Int1,
17554     BuiltInName::imageAtomicAndExt,
17555     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17556     BuiltInParameters::p01K20C00C00C,
17557     3,
17558     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17559     EOpImageAtomicAnd,
17560     false);
17561 constexpr const TFunction imageAtomicAndExt_00w20C00C(
17562     BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_Int1,
17563     BuiltInName::imageAtomicAndExt,
17564     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17565     BuiltInParameters::p00w20C00C00C,
17566     3,
17567     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17568     EOpImageAtomicAnd,
17569     false);
17570 constexpr const TFunction imageAtomicAndExt_01F20C00C(
17571     BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_Int1,
17572     BuiltInName::imageAtomicAndExt,
17573     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17574     BuiltInParameters::p01F20C00C00C,
17575     3,
17576     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17577     EOpImageAtomicAnd,
17578     false);
17579 constexpr const TFunction imageAtomicAndExt_01O20C00C(
17580     BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_Int1,
17581     BuiltInName::imageAtomicAndExt,
17582     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17583     BuiltInParameters::p01O20C00C00C,
17584     3,
17585     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17586     EOpImageAtomicAnd,
17587     false);
17588 constexpr const TFunction imageAtomicAndExt_00x10C00C(
17589     BuiltInId::imageAtomicAndExt_ImageRect1_Int2_Int1,
17590     BuiltInName::imageAtomicAndExt,
17591     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17592     BuiltInParameters::p00x10C00C00C,
17593     3,
17594     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17595     EOpImageAtomicAnd,
17596     false);
17597 constexpr const TFunction imageAtomicAndExt_01G10C00C(
17598     BuiltInId::imageAtomicAndExt_IImageRect1_Int2_Int1,
17599     BuiltInName::imageAtomicAndExt,
17600     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17601     BuiltInParameters::p01G10C00C00C,
17602     3,
17603     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17604     EOpImageAtomicAnd,
17605     false);
17606 constexpr const TFunction imageAtomicAndExt_01P10C00C(
17607     BuiltInId::imageAtomicAndExt_UImageRect1_Int2_Int1,
17608     BuiltInName::imageAtomicAndExt,
17609     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17610     BuiltInParameters::p01P10C00C00C,
17611     3,
17612     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17613     EOpImageAtomicAnd,
17614     false);
17615 constexpr const TFunction imageAtomicAndExt_00u10C00C00C(
17616     BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_Int1,
17617     BuiltInName::imageAtomicAndExt,
17618     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17619     BuiltInParameters::p00u10C00C00C00C,
17620     4,
17621     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17622     EOpImageAtomicAnd,
17623     false);
17624 constexpr const TFunction imageAtomicAndExt_01D10C00C00C(
17625     BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_Int1,
17626     BuiltInName::imageAtomicAndExt,
17627     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17628     BuiltInParameters::p01D10C00C00C00C,
17629     4,
17630     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17631     EOpImageAtomicAnd,
17632     false);
17633 constexpr const TFunction imageAtomicAndExt_01M10C00C00C(
17634     BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_Int1,
17635     BuiltInName::imageAtomicAndExt,
17636     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17637     BuiltInParameters::p01M10C00C00C00C,
17638     4,
17639     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17640     EOpImageAtomicAnd,
17641     false);
17642 constexpr const TFunction imageAtomicAndExt_00v20C00C00C(
17643     BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_Int1,
17644     BuiltInName::imageAtomicAndExt,
17645     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17646     BuiltInParameters::p00v20C00C00C00C,
17647     4,
17648     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17649     EOpImageAtomicAnd,
17650     false);
17651 constexpr const TFunction imageAtomicAndExt_01E20C00C00C(
17652     BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_Int1,
17653     BuiltInName::imageAtomicAndExt,
17654     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17655     BuiltInParameters::p01E20C00C00C00C,
17656     4,
17657     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17658     EOpImageAtomicAnd,
17659     false);
17660 constexpr const TFunction imageAtomicAndExt_01N20C00C00C(
17661     BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_Int1,
17662     BuiltInName::imageAtomicAndExt,
17663     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17664     BuiltInParameters::p01N20C00C00C00C,
17665     4,
17666     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17667     EOpImageAtomicAnd,
17668     false);
17669 constexpr const TFunction imageAtomicOrExt_00q10C00D(
17670     BuiltInId::imageAtomicOrExt_Image2D1_Int2_UInt1,
17671     BuiltInName::imageAtomicOrExt,
17672     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17673     BuiltInParameters::p00q10C00D00D,
17674     3,
17675     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17676     EOpImageAtomicOr,
17677     false);
17678 constexpr const TFunction imageAtomicOrExt_00z10C00D(
17679     BuiltInId::imageAtomicOrExt_IImage2D1_Int2_UInt1,
17680     BuiltInName::imageAtomicOrExt,
17681     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17682     BuiltInParameters::p00z10C00D00D,
17683     3,
17684     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17685     EOpImageAtomicOr,
17686     false);
17687 constexpr const TFunction imageAtomicOrExt_01I10C00D(
17688     BuiltInId::imageAtomicOrExt_UImage2D1_Int2_UInt1,
17689     BuiltInName::imageAtomicOrExt,
17690     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17691     BuiltInParameters::p01I10C00D00D,
17692     3,
17693     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17694     EOpImageAtomicOr,
17695     false);
17696 constexpr const TFunction imageAtomicOrExt_00r20C00D(
17697     BuiltInId::imageAtomicOrExt_Image3D1_Int3_UInt1,
17698     BuiltInName::imageAtomicOrExt,
17699     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17700     BuiltInParameters::p00r20C00D00D,
17701     3,
17702     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17703     EOpImageAtomicOr,
17704     false);
17705 constexpr const TFunction imageAtomicOrExt_01A20C00D(
17706     BuiltInId::imageAtomicOrExt_IImage3D1_Int3_UInt1,
17707     BuiltInName::imageAtomicOrExt,
17708     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17709     BuiltInParameters::p01A20C00D00D,
17710     3,
17711     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17712     EOpImageAtomicOr,
17713     false);
17714 constexpr const TFunction imageAtomicOrExt_01J20C00D(
17715     BuiltInId::imageAtomicOrExt_UImage3D1_Int3_UInt1,
17716     BuiltInName::imageAtomicOrExt,
17717     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17718     BuiltInParameters::p01J20C00D00D,
17719     3,
17720     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17721     EOpImageAtomicOr,
17722     false);
17723 constexpr const TFunction imageAtomicOrExt_00t20C00D(
17724     BuiltInId::imageAtomicOrExt_ImageCube1_Int3_UInt1,
17725     BuiltInName::imageAtomicOrExt,
17726     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17727     BuiltInParameters::p00t20C00D00D,
17728     3,
17729     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17730     EOpImageAtomicOr,
17731     false);
17732 constexpr const TFunction imageAtomicOrExt_01C20C00D(
17733     BuiltInId::imageAtomicOrExt_IImageCube1_Int3_UInt1,
17734     BuiltInName::imageAtomicOrExt,
17735     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17736     BuiltInParameters::p01C20C00D00D,
17737     3,
17738     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17739     EOpImageAtomicOr,
17740     false);
17741 constexpr const TFunction imageAtomicOrExt_01L20C00D(
17742     BuiltInId::imageAtomicOrExt_UImageCube1_Int3_UInt1,
17743     BuiltInName::imageAtomicOrExt,
17744     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17745     BuiltInParameters::p01L20C00D00D,
17746     3,
17747     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17748     EOpImageAtomicOr,
17749     false);
17750 constexpr const TFunction imageAtomicOrExt_00y00C00D(
17751     BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_UInt1,
17752     BuiltInName::imageAtomicOrExt,
17753     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17754     BuiltInParameters::p00y00C00D00D,
17755     3,
17756     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17757     EOpImageAtomicOr,
17758     false);
17759 constexpr const TFunction imageAtomicOrExt_01H00C00D(
17760     BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_UInt1,
17761     BuiltInName::imageAtomicOrExt,
17762     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17763     BuiltInParameters::p01H00C00D00D,
17764     3,
17765     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17766     EOpImageAtomicOr,
17767     false);
17768 constexpr const TFunction imageAtomicOrExt_01Q00C00D(
17769     BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_UInt1,
17770     BuiltInName::imageAtomicOrExt,
17771     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17772     BuiltInParameters::p01Q00C00D00D,
17773     3,
17774     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17775     EOpImageAtomicOr,
17776     false);
17777 constexpr const TFunction imageAtomicOrExt_00s20C00D(
17778     BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_UInt1,
17779     BuiltInName::imageAtomicOrExt,
17780     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17781     BuiltInParameters::p00s20C00D00D,
17782     3,
17783     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17784     EOpImageAtomicOr,
17785     false);
17786 constexpr const TFunction imageAtomicOrExt_01B20C00D(
17787     BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_UInt1,
17788     BuiltInName::imageAtomicOrExt,
17789     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17790     BuiltInParameters::p01B20C00D00D,
17791     3,
17792     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17793     EOpImageAtomicOr,
17794     false);
17795 constexpr const TFunction imageAtomicOrExt_01K20C00D(
17796     BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_UInt1,
17797     BuiltInName::imageAtomicOrExt,
17798     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17799     BuiltInParameters::p01K20C00D00D,
17800     3,
17801     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17802     EOpImageAtomicOr,
17803     false);
17804 constexpr const TFunction imageAtomicOrExt_00w20C00D(
17805     BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_UInt1,
17806     BuiltInName::imageAtomicOrExt,
17807     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17808     BuiltInParameters::p00w20C00D00D,
17809     3,
17810     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17811     EOpImageAtomicOr,
17812     false);
17813 constexpr const TFunction imageAtomicOrExt_01F20C00D(
17814     BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_UInt1,
17815     BuiltInName::imageAtomicOrExt,
17816     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17817     BuiltInParameters::p01F20C00D00D,
17818     3,
17819     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17820     EOpImageAtomicOr,
17821     false);
17822 constexpr const TFunction imageAtomicOrExt_01O20C00D(
17823     BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_UInt1,
17824     BuiltInName::imageAtomicOrExt,
17825     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17826     BuiltInParameters::p01O20C00D00D,
17827     3,
17828     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17829     EOpImageAtomicOr,
17830     false);
17831 constexpr const TFunction imageAtomicOrExt_00x10C00D(
17832     BuiltInId::imageAtomicOrExt_ImageRect1_Int2_UInt1,
17833     BuiltInName::imageAtomicOrExt,
17834     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17835     BuiltInParameters::p00x10C00D00D,
17836     3,
17837     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17838     EOpImageAtomicOr,
17839     false);
17840 constexpr const TFunction imageAtomicOrExt_01G10C00D(
17841     BuiltInId::imageAtomicOrExt_IImageRect1_Int2_UInt1,
17842     BuiltInName::imageAtomicOrExt,
17843     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17844     BuiltInParameters::p01G10C00D00D,
17845     3,
17846     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17847     EOpImageAtomicOr,
17848     false);
17849 constexpr const TFunction imageAtomicOrExt_01P10C00D(
17850     BuiltInId::imageAtomicOrExt_UImageRect1_Int2_UInt1,
17851     BuiltInName::imageAtomicOrExt,
17852     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17853     BuiltInParameters::p01P10C00D00D,
17854     3,
17855     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17856     EOpImageAtomicOr,
17857     false);
17858 constexpr const TFunction imageAtomicOrExt_00u10C00C00D(
17859     BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_UInt1,
17860     BuiltInName::imageAtomicOrExt,
17861     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17862     BuiltInParameters::p00u10C00C00D00D,
17863     4,
17864     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17865     EOpImageAtomicOr,
17866     false);
17867 constexpr const TFunction imageAtomicOrExt_01D10C00C00D(
17868     BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_UInt1,
17869     BuiltInName::imageAtomicOrExt,
17870     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17871     BuiltInParameters::p01D10C00C00D00D,
17872     4,
17873     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17874     EOpImageAtomicOr,
17875     false);
17876 constexpr const TFunction imageAtomicOrExt_01M10C00C00D(
17877     BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_UInt1,
17878     BuiltInName::imageAtomicOrExt,
17879     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17880     BuiltInParameters::p01M10C00C00D00D,
17881     4,
17882     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17883     EOpImageAtomicOr,
17884     false);
17885 constexpr const TFunction imageAtomicOrExt_00v20C00C00D(
17886     BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_UInt1,
17887     BuiltInName::imageAtomicOrExt,
17888     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17889     BuiltInParameters::p00v20C00C00D00D,
17890     4,
17891     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17892     EOpImageAtomicOr,
17893     false);
17894 constexpr const TFunction imageAtomicOrExt_01E20C00C00D(
17895     BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_UInt1,
17896     BuiltInName::imageAtomicOrExt,
17897     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17898     BuiltInParameters::p01E20C00C00D00D,
17899     4,
17900     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17901     EOpImageAtomicOr,
17902     false);
17903 constexpr const TFunction imageAtomicOrExt_01N20C00C00D(
17904     BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_UInt1,
17905     BuiltInName::imageAtomicOrExt,
17906     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17907     BuiltInParameters::p01N20C00C00D00D,
17908     4,
17909     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
17910     EOpImageAtomicOr,
17911     false);
17912 constexpr const TFunction imageAtomicOrExt_00q10C00C(
17913     BuiltInId::imageAtomicOrExt_Image2D1_Int2_Int1,
17914     BuiltInName::imageAtomicOrExt,
17915     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17916     BuiltInParameters::p00q10C00C00C,
17917     3,
17918     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17919     EOpImageAtomicOr,
17920     false);
17921 constexpr const TFunction imageAtomicOrExt_00z10C00C(
17922     BuiltInId::imageAtomicOrExt_IImage2D1_Int2_Int1,
17923     BuiltInName::imageAtomicOrExt,
17924     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17925     BuiltInParameters::p00z10C00C00C,
17926     3,
17927     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17928     EOpImageAtomicOr,
17929     false);
17930 constexpr const TFunction imageAtomicOrExt_01I10C00C(
17931     BuiltInId::imageAtomicOrExt_UImage2D1_Int2_Int1,
17932     BuiltInName::imageAtomicOrExt,
17933     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17934     BuiltInParameters::p01I10C00C00C,
17935     3,
17936     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17937     EOpImageAtomicOr,
17938     false);
17939 constexpr const TFunction imageAtomicOrExt_00r20C00C(
17940     BuiltInId::imageAtomicOrExt_Image3D1_Int3_Int1,
17941     BuiltInName::imageAtomicOrExt,
17942     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17943     BuiltInParameters::p00r20C00C00C,
17944     3,
17945     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17946     EOpImageAtomicOr,
17947     false);
17948 constexpr const TFunction imageAtomicOrExt_01A20C00C(
17949     BuiltInId::imageAtomicOrExt_IImage3D1_Int3_Int1,
17950     BuiltInName::imageAtomicOrExt,
17951     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17952     BuiltInParameters::p01A20C00C00C,
17953     3,
17954     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17955     EOpImageAtomicOr,
17956     false);
17957 constexpr const TFunction imageAtomicOrExt_01J20C00C(
17958     BuiltInId::imageAtomicOrExt_UImage3D1_Int3_Int1,
17959     BuiltInName::imageAtomicOrExt,
17960     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17961     BuiltInParameters::p01J20C00C00C,
17962     3,
17963     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17964     EOpImageAtomicOr,
17965     false);
17966 constexpr const TFunction imageAtomicOrExt_00t20C00C(
17967     BuiltInId::imageAtomicOrExt_ImageCube1_Int3_Int1,
17968     BuiltInName::imageAtomicOrExt,
17969     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17970     BuiltInParameters::p00t20C00C00C,
17971     3,
17972     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17973     EOpImageAtomicOr,
17974     false);
17975 constexpr const TFunction imageAtomicOrExt_01C20C00C(
17976     BuiltInId::imageAtomicOrExt_IImageCube1_Int3_Int1,
17977     BuiltInName::imageAtomicOrExt,
17978     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17979     BuiltInParameters::p01C20C00C00C,
17980     3,
17981     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17982     EOpImageAtomicOr,
17983     false);
17984 constexpr const TFunction imageAtomicOrExt_01L20C00C(
17985     BuiltInId::imageAtomicOrExt_UImageCube1_Int3_Int1,
17986     BuiltInName::imageAtomicOrExt,
17987     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17988     BuiltInParameters::p01L20C00C00C,
17989     3,
17990     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
17991     EOpImageAtomicOr,
17992     false);
17993 constexpr const TFunction imageAtomicOrExt_00y00C00C(
17994     BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_Int1,
17995     BuiltInName::imageAtomicOrExt,
17996     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
17997     BuiltInParameters::p00y00C00C00C,
17998     3,
17999     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18000     EOpImageAtomicOr,
18001     false);
18002 constexpr const TFunction imageAtomicOrExt_01H00C00C(
18003     BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_Int1,
18004     BuiltInName::imageAtomicOrExt,
18005     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18006     BuiltInParameters::p01H00C00C00C,
18007     3,
18008     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18009     EOpImageAtomicOr,
18010     false);
18011 constexpr const TFunction imageAtomicOrExt_01Q00C00C(
18012     BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_Int1,
18013     BuiltInName::imageAtomicOrExt,
18014     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18015     BuiltInParameters::p01Q00C00C00C,
18016     3,
18017     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18018     EOpImageAtomicOr,
18019     false);
18020 constexpr const TFunction imageAtomicOrExt_00s20C00C(
18021     BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_Int1,
18022     BuiltInName::imageAtomicOrExt,
18023     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18024     BuiltInParameters::p00s20C00C00C,
18025     3,
18026     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18027     EOpImageAtomicOr,
18028     false);
18029 constexpr const TFunction imageAtomicOrExt_01B20C00C(
18030     BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_Int1,
18031     BuiltInName::imageAtomicOrExt,
18032     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18033     BuiltInParameters::p01B20C00C00C,
18034     3,
18035     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18036     EOpImageAtomicOr,
18037     false);
18038 constexpr const TFunction imageAtomicOrExt_01K20C00C(
18039     BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_Int1,
18040     BuiltInName::imageAtomicOrExt,
18041     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18042     BuiltInParameters::p01K20C00C00C,
18043     3,
18044     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18045     EOpImageAtomicOr,
18046     false);
18047 constexpr const TFunction imageAtomicOrExt_00w20C00C(
18048     BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_Int1,
18049     BuiltInName::imageAtomicOrExt,
18050     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18051     BuiltInParameters::p00w20C00C00C,
18052     3,
18053     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18054     EOpImageAtomicOr,
18055     false);
18056 constexpr const TFunction imageAtomicOrExt_01F20C00C(
18057     BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_Int1,
18058     BuiltInName::imageAtomicOrExt,
18059     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18060     BuiltInParameters::p01F20C00C00C,
18061     3,
18062     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18063     EOpImageAtomicOr,
18064     false);
18065 constexpr const TFunction imageAtomicOrExt_01O20C00C(
18066     BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_Int1,
18067     BuiltInName::imageAtomicOrExt,
18068     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18069     BuiltInParameters::p01O20C00C00C,
18070     3,
18071     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18072     EOpImageAtomicOr,
18073     false);
18074 constexpr const TFunction imageAtomicOrExt_00x10C00C(
18075     BuiltInId::imageAtomicOrExt_ImageRect1_Int2_Int1,
18076     BuiltInName::imageAtomicOrExt,
18077     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18078     BuiltInParameters::p00x10C00C00C,
18079     3,
18080     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18081     EOpImageAtomicOr,
18082     false);
18083 constexpr const TFunction imageAtomicOrExt_01G10C00C(
18084     BuiltInId::imageAtomicOrExt_IImageRect1_Int2_Int1,
18085     BuiltInName::imageAtomicOrExt,
18086     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18087     BuiltInParameters::p01G10C00C00C,
18088     3,
18089     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18090     EOpImageAtomicOr,
18091     false);
18092 constexpr const TFunction imageAtomicOrExt_01P10C00C(
18093     BuiltInId::imageAtomicOrExt_UImageRect1_Int2_Int1,
18094     BuiltInName::imageAtomicOrExt,
18095     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18096     BuiltInParameters::p01P10C00C00C,
18097     3,
18098     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18099     EOpImageAtomicOr,
18100     false);
18101 constexpr const TFunction imageAtomicOrExt_00u10C00C00C(
18102     BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_Int1,
18103     BuiltInName::imageAtomicOrExt,
18104     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18105     BuiltInParameters::p00u10C00C00C00C,
18106     4,
18107     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18108     EOpImageAtomicOr,
18109     false);
18110 constexpr const TFunction imageAtomicOrExt_01D10C00C00C(
18111     BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_Int1,
18112     BuiltInName::imageAtomicOrExt,
18113     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18114     BuiltInParameters::p01D10C00C00C00C,
18115     4,
18116     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18117     EOpImageAtomicOr,
18118     false);
18119 constexpr const TFunction imageAtomicOrExt_01M10C00C00C(
18120     BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_Int1,
18121     BuiltInName::imageAtomicOrExt,
18122     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18123     BuiltInParameters::p01M10C00C00C00C,
18124     4,
18125     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18126     EOpImageAtomicOr,
18127     false);
18128 constexpr const TFunction imageAtomicOrExt_00v20C00C00C(
18129     BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_Int1,
18130     BuiltInName::imageAtomicOrExt,
18131     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18132     BuiltInParameters::p00v20C00C00C00C,
18133     4,
18134     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18135     EOpImageAtomicOr,
18136     false);
18137 constexpr const TFunction imageAtomicOrExt_01E20C00C00C(
18138     BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_Int1,
18139     BuiltInName::imageAtomicOrExt,
18140     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18141     BuiltInParameters::p01E20C00C00C00C,
18142     4,
18143     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18144     EOpImageAtomicOr,
18145     false);
18146 constexpr const TFunction imageAtomicOrExt_01N20C00C00C(
18147     BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_Int1,
18148     BuiltInName::imageAtomicOrExt,
18149     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18150     BuiltInParameters::p01N20C00C00C00C,
18151     4,
18152     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18153     EOpImageAtomicOr,
18154     false);
18155 constexpr const TFunction imageAtomicXorExt_00q10C00D(
18156     BuiltInId::imageAtomicXorExt_Image2D1_Int2_UInt1,
18157     BuiltInName::imageAtomicXorExt,
18158     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18159     BuiltInParameters::p00q10C00D00D,
18160     3,
18161     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18162     EOpImageAtomicXor,
18163     false);
18164 constexpr const TFunction imageAtomicXorExt_00z10C00D(
18165     BuiltInId::imageAtomicXorExt_IImage2D1_Int2_UInt1,
18166     BuiltInName::imageAtomicXorExt,
18167     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18168     BuiltInParameters::p00z10C00D00D,
18169     3,
18170     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18171     EOpImageAtomicXor,
18172     false);
18173 constexpr const TFunction imageAtomicXorExt_01I10C00D(
18174     BuiltInId::imageAtomicXorExt_UImage2D1_Int2_UInt1,
18175     BuiltInName::imageAtomicXorExt,
18176     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18177     BuiltInParameters::p01I10C00D00D,
18178     3,
18179     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18180     EOpImageAtomicXor,
18181     false);
18182 constexpr const TFunction imageAtomicXorExt_00r20C00D(
18183     BuiltInId::imageAtomicXorExt_Image3D1_Int3_UInt1,
18184     BuiltInName::imageAtomicXorExt,
18185     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18186     BuiltInParameters::p00r20C00D00D,
18187     3,
18188     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18189     EOpImageAtomicXor,
18190     false);
18191 constexpr const TFunction imageAtomicXorExt_01A20C00D(
18192     BuiltInId::imageAtomicXorExt_IImage3D1_Int3_UInt1,
18193     BuiltInName::imageAtomicXorExt,
18194     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18195     BuiltInParameters::p01A20C00D00D,
18196     3,
18197     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18198     EOpImageAtomicXor,
18199     false);
18200 constexpr const TFunction imageAtomicXorExt_01J20C00D(
18201     BuiltInId::imageAtomicXorExt_UImage3D1_Int3_UInt1,
18202     BuiltInName::imageAtomicXorExt,
18203     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18204     BuiltInParameters::p01J20C00D00D,
18205     3,
18206     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18207     EOpImageAtomicXor,
18208     false);
18209 constexpr const TFunction imageAtomicXorExt_00t20C00D(
18210     BuiltInId::imageAtomicXorExt_ImageCube1_Int3_UInt1,
18211     BuiltInName::imageAtomicXorExt,
18212     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18213     BuiltInParameters::p00t20C00D00D,
18214     3,
18215     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18216     EOpImageAtomicXor,
18217     false);
18218 constexpr const TFunction imageAtomicXorExt_01C20C00D(
18219     BuiltInId::imageAtomicXorExt_IImageCube1_Int3_UInt1,
18220     BuiltInName::imageAtomicXorExt,
18221     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18222     BuiltInParameters::p01C20C00D00D,
18223     3,
18224     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18225     EOpImageAtomicXor,
18226     false);
18227 constexpr const TFunction imageAtomicXorExt_01L20C00D(
18228     BuiltInId::imageAtomicXorExt_UImageCube1_Int3_UInt1,
18229     BuiltInName::imageAtomicXorExt,
18230     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18231     BuiltInParameters::p01L20C00D00D,
18232     3,
18233     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18234     EOpImageAtomicXor,
18235     false);
18236 constexpr const TFunction imageAtomicXorExt_00y00C00D(
18237     BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_UInt1,
18238     BuiltInName::imageAtomicXorExt,
18239     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18240     BuiltInParameters::p00y00C00D00D,
18241     3,
18242     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18243     EOpImageAtomicXor,
18244     false);
18245 constexpr const TFunction imageAtomicXorExt_01H00C00D(
18246     BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_UInt1,
18247     BuiltInName::imageAtomicXorExt,
18248     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18249     BuiltInParameters::p01H00C00D00D,
18250     3,
18251     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18252     EOpImageAtomicXor,
18253     false);
18254 constexpr const TFunction imageAtomicXorExt_01Q00C00D(
18255     BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_UInt1,
18256     BuiltInName::imageAtomicXorExt,
18257     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18258     BuiltInParameters::p01Q00C00D00D,
18259     3,
18260     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18261     EOpImageAtomicXor,
18262     false);
18263 constexpr const TFunction imageAtomicXorExt_00s20C00D(
18264     BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_UInt1,
18265     BuiltInName::imageAtomicXorExt,
18266     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18267     BuiltInParameters::p00s20C00D00D,
18268     3,
18269     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18270     EOpImageAtomicXor,
18271     false);
18272 constexpr const TFunction imageAtomicXorExt_01B20C00D(
18273     BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_UInt1,
18274     BuiltInName::imageAtomicXorExt,
18275     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18276     BuiltInParameters::p01B20C00D00D,
18277     3,
18278     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18279     EOpImageAtomicXor,
18280     false);
18281 constexpr const TFunction imageAtomicXorExt_01K20C00D(
18282     BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_UInt1,
18283     BuiltInName::imageAtomicXorExt,
18284     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18285     BuiltInParameters::p01K20C00D00D,
18286     3,
18287     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18288     EOpImageAtomicXor,
18289     false);
18290 constexpr const TFunction imageAtomicXorExt_00w20C00D(
18291     BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_UInt1,
18292     BuiltInName::imageAtomicXorExt,
18293     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18294     BuiltInParameters::p00w20C00D00D,
18295     3,
18296     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18297     EOpImageAtomicXor,
18298     false);
18299 constexpr const TFunction imageAtomicXorExt_01F20C00D(
18300     BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_UInt1,
18301     BuiltInName::imageAtomicXorExt,
18302     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18303     BuiltInParameters::p01F20C00D00D,
18304     3,
18305     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18306     EOpImageAtomicXor,
18307     false);
18308 constexpr const TFunction imageAtomicXorExt_01O20C00D(
18309     BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_UInt1,
18310     BuiltInName::imageAtomicXorExt,
18311     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18312     BuiltInParameters::p01O20C00D00D,
18313     3,
18314     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18315     EOpImageAtomicXor,
18316     false);
18317 constexpr const TFunction imageAtomicXorExt_00x10C00D(
18318     BuiltInId::imageAtomicXorExt_ImageRect1_Int2_UInt1,
18319     BuiltInName::imageAtomicXorExt,
18320     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18321     BuiltInParameters::p00x10C00D00D,
18322     3,
18323     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18324     EOpImageAtomicXor,
18325     false);
18326 constexpr const TFunction imageAtomicXorExt_01G10C00D(
18327     BuiltInId::imageAtomicXorExt_IImageRect1_Int2_UInt1,
18328     BuiltInName::imageAtomicXorExt,
18329     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18330     BuiltInParameters::p01G10C00D00D,
18331     3,
18332     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18333     EOpImageAtomicXor,
18334     false);
18335 constexpr const TFunction imageAtomicXorExt_01P10C00D(
18336     BuiltInId::imageAtomicXorExt_UImageRect1_Int2_UInt1,
18337     BuiltInName::imageAtomicXorExt,
18338     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18339     BuiltInParameters::p01P10C00D00D,
18340     3,
18341     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18342     EOpImageAtomicXor,
18343     false);
18344 constexpr const TFunction imageAtomicXorExt_00u10C00C00D(
18345     BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_UInt1,
18346     BuiltInName::imageAtomicXorExt,
18347     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18348     BuiltInParameters::p00u10C00C00D00D,
18349     4,
18350     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18351     EOpImageAtomicXor,
18352     false);
18353 constexpr const TFunction imageAtomicXorExt_01D10C00C00D(
18354     BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_UInt1,
18355     BuiltInName::imageAtomicXorExt,
18356     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18357     BuiltInParameters::p01D10C00C00D00D,
18358     4,
18359     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18360     EOpImageAtomicXor,
18361     false);
18362 constexpr const TFunction imageAtomicXorExt_01M10C00C00D(
18363     BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_UInt1,
18364     BuiltInName::imageAtomicXorExt,
18365     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18366     BuiltInParameters::p01M10C00C00D00D,
18367     4,
18368     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18369     EOpImageAtomicXor,
18370     false);
18371 constexpr const TFunction imageAtomicXorExt_00v20C00C00D(
18372     BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_UInt1,
18373     BuiltInName::imageAtomicXorExt,
18374     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18375     BuiltInParameters::p00v20C00C00D00D,
18376     4,
18377     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18378     EOpImageAtomicXor,
18379     false);
18380 constexpr const TFunction imageAtomicXorExt_01E20C00C00D(
18381     BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_UInt1,
18382     BuiltInName::imageAtomicXorExt,
18383     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18384     BuiltInParameters::p01E20C00C00D00D,
18385     4,
18386     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18387     EOpImageAtomicXor,
18388     false);
18389 constexpr const TFunction imageAtomicXorExt_01N20C00C00D(
18390     BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_UInt1,
18391     BuiltInName::imageAtomicXorExt,
18392     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18393     BuiltInParameters::p01N20C00C00D00D,
18394     4,
18395     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18396     EOpImageAtomicXor,
18397     false);
18398 constexpr const TFunction imageAtomicXorExt_00q10C00C(
18399     BuiltInId::imageAtomicXorExt_Image2D1_Int2_Int1,
18400     BuiltInName::imageAtomicXorExt,
18401     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18402     BuiltInParameters::p00q10C00C00C,
18403     3,
18404     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18405     EOpImageAtomicXor,
18406     false);
18407 constexpr const TFunction imageAtomicXorExt_00z10C00C(
18408     BuiltInId::imageAtomicXorExt_IImage2D1_Int2_Int1,
18409     BuiltInName::imageAtomicXorExt,
18410     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18411     BuiltInParameters::p00z10C00C00C,
18412     3,
18413     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18414     EOpImageAtomicXor,
18415     false);
18416 constexpr const TFunction imageAtomicXorExt_01I10C00C(
18417     BuiltInId::imageAtomicXorExt_UImage2D1_Int2_Int1,
18418     BuiltInName::imageAtomicXorExt,
18419     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18420     BuiltInParameters::p01I10C00C00C,
18421     3,
18422     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18423     EOpImageAtomicXor,
18424     false);
18425 constexpr const TFunction imageAtomicXorExt_00r20C00C(
18426     BuiltInId::imageAtomicXorExt_Image3D1_Int3_Int1,
18427     BuiltInName::imageAtomicXorExt,
18428     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18429     BuiltInParameters::p00r20C00C00C,
18430     3,
18431     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18432     EOpImageAtomicXor,
18433     false);
18434 constexpr const TFunction imageAtomicXorExt_01A20C00C(
18435     BuiltInId::imageAtomicXorExt_IImage3D1_Int3_Int1,
18436     BuiltInName::imageAtomicXorExt,
18437     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18438     BuiltInParameters::p01A20C00C00C,
18439     3,
18440     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18441     EOpImageAtomicXor,
18442     false);
18443 constexpr const TFunction imageAtomicXorExt_01J20C00C(
18444     BuiltInId::imageAtomicXorExt_UImage3D1_Int3_Int1,
18445     BuiltInName::imageAtomicXorExt,
18446     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18447     BuiltInParameters::p01J20C00C00C,
18448     3,
18449     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18450     EOpImageAtomicXor,
18451     false);
18452 constexpr const TFunction imageAtomicXorExt_00t20C00C(
18453     BuiltInId::imageAtomicXorExt_ImageCube1_Int3_Int1,
18454     BuiltInName::imageAtomicXorExt,
18455     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18456     BuiltInParameters::p00t20C00C00C,
18457     3,
18458     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18459     EOpImageAtomicXor,
18460     false);
18461 constexpr const TFunction imageAtomicXorExt_01C20C00C(
18462     BuiltInId::imageAtomicXorExt_IImageCube1_Int3_Int1,
18463     BuiltInName::imageAtomicXorExt,
18464     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18465     BuiltInParameters::p01C20C00C00C,
18466     3,
18467     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18468     EOpImageAtomicXor,
18469     false);
18470 constexpr const TFunction imageAtomicXorExt_01L20C00C(
18471     BuiltInId::imageAtomicXorExt_UImageCube1_Int3_Int1,
18472     BuiltInName::imageAtomicXorExt,
18473     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18474     BuiltInParameters::p01L20C00C00C,
18475     3,
18476     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18477     EOpImageAtomicXor,
18478     false);
18479 constexpr const TFunction imageAtomicXorExt_00y00C00C(
18480     BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_Int1,
18481     BuiltInName::imageAtomicXorExt,
18482     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18483     BuiltInParameters::p00y00C00C00C,
18484     3,
18485     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18486     EOpImageAtomicXor,
18487     false);
18488 constexpr const TFunction imageAtomicXorExt_01H00C00C(
18489     BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_Int1,
18490     BuiltInName::imageAtomicXorExt,
18491     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18492     BuiltInParameters::p01H00C00C00C,
18493     3,
18494     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18495     EOpImageAtomicXor,
18496     false);
18497 constexpr const TFunction imageAtomicXorExt_01Q00C00C(
18498     BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_Int1,
18499     BuiltInName::imageAtomicXorExt,
18500     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18501     BuiltInParameters::p01Q00C00C00C,
18502     3,
18503     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18504     EOpImageAtomicXor,
18505     false);
18506 constexpr const TFunction imageAtomicXorExt_00s20C00C(
18507     BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_Int1,
18508     BuiltInName::imageAtomicXorExt,
18509     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18510     BuiltInParameters::p00s20C00C00C,
18511     3,
18512     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18513     EOpImageAtomicXor,
18514     false);
18515 constexpr const TFunction imageAtomicXorExt_01B20C00C(
18516     BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_Int1,
18517     BuiltInName::imageAtomicXorExt,
18518     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18519     BuiltInParameters::p01B20C00C00C,
18520     3,
18521     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18522     EOpImageAtomicXor,
18523     false);
18524 constexpr const TFunction imageAtomicXorExt_01K20C00C(
18525     BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_Int1,
18526     BuiltInName::imageAtomicXorExt,
18527     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18528     BuiltInParameters::p01K20C00C00C,
18529     3,
18530     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18531     EOpImageAtomicXor,
18532     false);
18533 constexpr const TFunction imageAtomicXorExt_00w20C00C(
18534     BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_Int1,
18535     BuiltInName::imageAtomicXorExt,
18536     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18537     BuiltInParameters::p00w20C00C00C,
18538     3,
18539     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18540     EOpImageAtomicXor,
18541     false);
18542 constexpr const TFunction imageAtomicXorExt_01F20C00C(
18543     BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_Int1,
18544     BuiltInName::imageAtomicXorExt,
18545     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18546     BuiltInParameters::p01F20C00C00C,
18547     3,
18548     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18549     EOpImageAtomicXor,
18550     false);
18551 constexpr const TFunction imageAtomicXorExt_01O20C00C(
18552     BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_Int1,
18553     BuiltInName::imageAtomicXorExt,
18554     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18555     BuiltInParameters::p01O20C00C00C,
18556     3,
18557     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18558     EOpImageAtomicXor,
18559     false);
18560 constexpr const TFunction imageAtomicXorExt_00x10C00C(
18561     BuiltInId::imageAtomicXorExt_ImageRect1_Int2_Int1,
18562     BuiltInName::imageAtomicXorExt,
18563     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18564     BuiltInParameters::p00x10C00C00C,
18565     3,
18566     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18567     EOpImageAtomicXor,
18568     false);
18569 constexpr const TFunction imageAtomicXorExt_01G10C00C(
18570     BuiltInId::imageAtomicXorExt_IImageRect1_Int2_Int1,
18571     BuiltInName::imageAtomicXorExt,
18572     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18573     BuiltInParameters::p01G10C00C00C,
18574     3,
18575     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18576     EOpImageAtomicXor,
18577     false);
18578 constexpr const TFunction imageAtomicXorExt_01P10C00C(
18579     BuiltInId::imageAtomicXorExt_UImageRect1_Int2_Int1,
18580     BuiltInName::imageAtomicXorExt,
18581     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18582     BuiltInParameters::p01P10C00C00C,
18583     3,
18584     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18585     EOpImageAtomicXor,
18586     false);
18587 constexpr const TFunction imageAtomicXorExt_00u10C00C00C(
18588     BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_Int1,
18589     BuiltInName::imageAtomicXorExt,
18590     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18591     BuiltInParameters::p00u10C00C00C00C,
18592     4,
18593     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18594     EOpImageAtomicXor,
18595     false);
18596 constexpr const TFunction imageAtomicXorExt_01D10C00C00C(
18597     BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_Int1,
18598     BuiltInName::imageAtomicXorExt,
18599     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18600     BuiltInParameters::p01D10C00C00C00C,
18601     4,
18602     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18603     EOpImageAtomicXor,
18604     false);
18605 constexpr const TFunction imageAtomicXorExt_01M10C00C00C(
18606     BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_Int1,
18607     BuiltInName::imageAtomicXorExt,
18608     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18609     BuiltInParameters::p01M10C00C00C00C,
18610     4,
18611     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18612     EOpImageAtomicXor,
18613     false);
18614 constexpr const TFunction imageAtomicXorExt_00v20C00C00C(
18615     BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_Int1,
18616     BuiltInName::imageAtomicXorExt,
18617     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18618     BuiltInParameters::p00v20C00C00C00C,
18619     4,
18620     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18621     EOpImageAtomicXor,
18622     false);
18623 constexpr const TFunction imageAtomicXorExt_01E20C00C00C(
18624     BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_Int1,
18625     BuiltInName::imageAtomicXorExt,
18626     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18627     BuiltInParameters::p01E20C00C00C00C,
18628     4,
18629     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18630     EOpImageAtomicXor,
18631     false);
18632 constexpr const TFunction imageAtomicXorExt_01N20C00C00C(
18633     BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_Int1,
18634     BuiltInName::imageAtomicXorExt,
18635     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18636     BuiltInParameters::p01N20C00C00C00C,
18637     4,
18638     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18639     EOpImageAtomicXor,
18640     false);
18641 constexpr const TFunction imageAtomicExchangeExt_00q10C00D(
18642     BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_UInt1,
18643     BuiltInName::imageAtomicExchangeExt,
18644     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18645     BuiltInParameters::p00q10C00D00D,
18646     3,
18647     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18648     EOpImageAtomicExchange,
18649     false);
18650 constexpr const TFunction imageAtomicExchangeExt_00z10C00D(
18651     BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_UInt1,
18652     BuiltInName::imageAtomicExchangeExt,
18653     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18654     BuiltInParameters::p00z10C00D00D,
18655     3,
18656     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18657     EOpImageAtomicExchange,
18658     false);
18659 constexpr const TFunction imageAtomicExchangeExt_01I10C00D(
18660     BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_UInt1,
18661     BuiltInName::imageAtomicExchangeExt,
18662     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18663     BuiltInParameters::p01I10C00D00D,
18664     3,
18665     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18666     EOpImageAtomicExchange,
18667     false);
18668 constexpr const TFunction imageAtomicExchangeExt_00r20C00D(
18669     BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_UInt1,
18670     BuiltInName::imageAtomicExchangeExt,
18671     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18672     BuiltInParameters::p00r20C00D00D,
18673     3,
18674     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18675     EOpImageAtomicExchange,
18676     false);
18677 constexpr const TFunction imageAtomicExchangeExt_01A20C00D(
18678     BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_UInt1,
18679     BuiltInName::imageAtomicExchangeExt,
18680     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18681     BuiltInParameters::p01A20C00D00D,
18682     3,
18683     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18684     EOpImageAtomicExchange,
18685     false);
18686 constexpr const TFunction imageAtomicExchangeExt_01J20C00D(
18687     BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_UInt1,
18688     BuiltInName::imageAtomicExchangeExt,
18689     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18690     BuiltInParameters::p01J20C00D00D,
18691     3,
18692     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18693     EOpImageAtomicExchange,
18694     false);
18695 constexpr const TFunction imageAtomicExchangeExt_00t20C00D(
18696     BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_UInt1,
18697     BuiltInName::imageAtomicExchangeExt,
18698     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18699     BuiltInParameters::p00t20C00D00D,
18700     3,
18701     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18702     EOpImageAtomicExchange,
18703     false);
18704 constexpr const TFunction imageAtomicExchangeExt_01C20C00D(
18705     BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_UInt1,
18706     BuiltInName::imageAtomicExchangeExt,
18707     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18708     BuiltInParameters::p01C20C00D00D,
18709     3,
18710     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18711     EOpImageAtomicExchange,
18712     false);
18713 constexpr const TFunction imageAtomicExchangeExt_01L20C00D(
18714     BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_UInt1,
18715     BuiltInName::imageAtomicExchangeExt,
18716     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18717     BuiltInParameters::p01L20C00D00D,
18718     3,
18719     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18720     EOpImageAtomicExchange,
18721     false);
18722 constexpr const TFunction imageAtomicExchangeExt_00y00C00D(
18723     BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_UInt1,
18724     BuiltInName::imageAtomicExchangeExt,
18725     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18726     BuiltInParameters::p00y00C00D00D,
18727     3,
18728     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18729     EOpImageAtomicExchange,
18730     false);
18731 constexpr const TFunction imageAtomicExchangeExt_01H00C00D(
18732     BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_UInt1,
18733     BuiltInName::imageAtomicExchangeExt,
18734     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18735     BuiltInParameters::p01H00C00D00D,
18736     3,
18737     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18738     EOpImageAtomicExchange,
18739     false);
18740 constexpr const TFunction imageAtomicExchangeExt_01Q00C00D(
18741     BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_UInt1,
18742     BuiltInName::imageAtomicExchangeExt,
18743     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18744     BuiltInParameters::p01Q00C00D00D,
18745     3,
18746     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18747     EOpImageAtomicExchange,
18748     false);
18749 constexpr const TFunction imageAtomicExchangeExt_00s20C00D(
18750     BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_UInt1,
18751     BuiltInName::imageAtomicExchangeExt,
18752     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18753     BuiltInParameters::p00s20C00D00D,
18754     3,
18755     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18756     EOpImageAtomicExchange,
18757     false);
18758 constexpr const TFunction imageAtomicExchangeExt_01B20C00D(
18759     BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_UInt1,
18760     BuiltInName::imageAtomicExchangeExt,
18761     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18762     BuiltInParameters::p01B20C00D00D,
18763     3,
18764     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18765     EOpImageAtomicExchange,
18766     false);
18767 constexpr const TFunction imageAtomicExchangeExt_01K20C00D(
18768     BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_UInt1,
18769     BuiltInName::imageAtomicExchangeExt,
18770     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18771     BuiltInParameters::p01K20C00D00D,
18772     3,
18773     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18774     EOpImageAtomicExchange,
18775     false);
18776 constexpr const TFunction imageAtomicExchangeExt_00w20C00D(
18777     BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_UInt1,
18778     BuiltInName::imageAtomicExchangeExt,
18779     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18780     BuiltInParameters::p00w20C00D00D,
18781     3,
18782     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18783     EOpImageAtomicExchange,
18784     false);
18785 constexpr const TFunction imageAtomicExchangeExt_01F20C00D(
18786     BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_UInt1,
18787     BuiltInName::imageAtomicExchangeExt,
18788     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18789     BuiltInParameters::p01F20C00D00D,
18790     3,
18791     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18792     EOpImageAtomicExchange,
18793     false);
18794 constexpr const TFunction imageAtomicExchangeExt_01O20C00D(
18795     BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_UInt1,
18796     BuiltInName::imageAtomicExchangeExt,
18797     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18798     BuiltInParameters::p01O20C00D00D,
18799     3,
18800     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18801     EOpImageAtomicExchange,
18802     false);
18803 constexpr const TFunction imageAtomicExchangeExt_00x10C00D(
18804     BuiltInId::imageAtomicExchangeExt_ImageRect1_Int2_UInt1,
18805     BuiltInName::imageAtomicExchangeExt,
18806     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18807     BuiltInParameters::p00x10C00D00D,
18808     3,
18809     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18810     EOpImageAtomicExchange,
18811     false);
18812 constexpr const TFunction imageAtomicExchangeExt_01G10C00D(
18813     BuiltInId::imageAtomicExchangeExt_IImageRect1_Int2_UInt1,
18814     BuiltInName::imageAtomicExchangeExt,
18815     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18816     BuiltInParameters::p01G10C00D00D,
18817     3,
18818     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18819     EOpImageAtomicExchange,
18820     false);
18821 constexpr const TFunction imageAtomicExchangeExt_01P10C00D(
18822     BuiltInId::imageAtomicExchangeExt_UImageRect1_Int2_UInt1,
18823     BuiltInName::imageAtomicExchangeExt,
18824     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18825     BuiltInParameters::p01P10C00D00D,
18826     3,
18827     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18828     EOpImageAtomicExchange,
18829     false);
18830 constexpr const TFunction imageAtomicExchangeExt_00u10C00C00D(
18831     BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_UInt1,
18832     BuiltInName::imageAtomicExchangeExt,
18833     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18834     BuiltInParameters::p00u10C00C00D00D,
18835     4,
18836     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18837     EOpImageAtomicExchange,
18838     false);
18839 constexpr const TFunction imageAtomicExchangeExt_01D10C00C00D(
18840     BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_UInt1,
18841     BuiltInName::imageAtomicExchangeExt,
18842     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18843     BuiltInParameters::p01D10C00C00D00D,
18844     4,
18845     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18846     EOpImageAtomicExchange,
18847     false);
18848 constexpr const TFunction imageAtomicExchangeExt_01M10C00C00D(
18849     BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_UInt1,
18850     BuiltInName::imageAtomicExchangeExt,
18851     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18852     BuiltInParameters::p01M10C00C00D00D,
18853     4,
18854     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18855     EOpImageAtomicExchange,
18856     false);
18857 constexpr const TFunction imageAtomicExchangeExt_00v20C00C00D(
18858     BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_UInt1,
18859     BuiltInName::imageAtomicExchangeExt,
18860     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18861     BuiltInParameters::p00v20C00C00D00D,
18862     4,
18863     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18864     EOpImageAtomicExchange,
18865     false);
18866 constexpr const TFunction imageAtomicExchangeExt_01E20C00C00D(
18867     BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_UInt1,
18868     BuiltInName::imageAtomicExchangeExt,
18869     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18870     BuiltInParameters::p01E20C00C00D00D,
18871     4,
18872     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18873     EOpImageAtomicExchange,
18874     false);
18875 constexpr const TFunction imageAtomicExchangeExt_01N20C00C00D(
18876     BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_UInt1,
18877     BuiltInName::imageAtomicExchangeExt,
18878     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18879     BuiltInParameters::p01N20C00C00D00D,
18880     4,
18881     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
18882     EOpImageAtomicExchange,
18883     false);
18884 constexpr const TFunction imageAtomicExchangeExt_00q10C00C(
18885     BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Int1,
18886     BuiltInName::imageAtomicExchangeExt,
18887     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18888     BuiltInParameters::p00q10C00C00C,
18889     3,
18890     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18891     EOpImageAtomicExchange,
18892     false);
18893 constexpr const TFunction imageAtomicExchangeExt_00z10C00C(
18894     BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Int1,
18895     BuiltInName::imageAtomicExchangeExt,
18896     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18897     BuiltInParameters::p00z10C00C00C,
18898     3,
18899     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18900     EOpImageAtomicExchange,
18901     false);
18902 constexpr const TFunction imageAtomicExchangeExt_01I10C00C(
18903     BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Int1,
18904     BuiltInName::imageAtomicExchangeExt,
18905     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18906     BuiltInParameters::p01I10C00C00C,
18907     3,
18908     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18909     EOpImageAtomicExchange,
18910     false);
18911 constexpr const TFunction imageAtomicExchangeExt_00r20C00C(
18912     BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Int1,
18913     BuiltInName::imageAtomicExchangeExt,
18914     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18915     BuiltInParameters::p00r20C00C00C,
18916     3,
18917     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18918     EOpImageAtomicExchange,
18919     false);
18920 constexpr const TFunction imageAtomicExchangeExt_01A20C00C(
18921     BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Int1,
18922     BuiltInName::imageAtomicExchangeExt,
18923     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18924     BuiltInParameters::p01A20C00C00C,
18925     3,
18926     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18927     EOpImageAtomicExchange,
18928     false);
18929 constexpr const TFunction imageAtomicExchangeExt_01J20C00C(
18930     BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Int1,
18931     BuiltInName::imageAtomicExchangeExt,
18932     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18933     BuiltInParameters::p01J20C00C00C,
18934     3,
18935     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18936     EOpImageAtomicExchange,
18937     false);
18938 constexpr const TFunction imageAtomicExchangeExt_00t20C00C(
18939     BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Int1,
18940     BuiltInName::imageAtomicExchangeExt,
18941     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18942     BuiltInParameters::p00t20C00C00C,
18943     3,
18944     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18945     EOpImageAtomicExchange,
18946     false);
18947 constexpr const TFunction imageAtomicExchangeExt_01C20C00C(
18948     BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Int1,
18949     BuiltInName::imageAtomicExchangeExt,
18950     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18951     BuiltInParameters::p01C20C00C00C,
18952     3,
18953     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18954     EOpImageAtomicExchange,
18955     false);
18956 constexpr const TFunction imageAtomicExchangeExt_01L20C00C(
18957     BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Int1,
18958     BuiltInName::imageAtomicExchangeExt,
18959     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18960     BuiltInParameters::p01L20C00C00C,
18961     3,
18962     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18963     EOpImageAtomicExchange,
18964     false);
18965 constexpr const TFunction imageAtomicExchangeExt_00y00C00C(
18966     BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Int1,
18967     BuiltInName::imageAtomicExchangeExt,
18968     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18969     BuiltInParameters::p00y00C00C00C,
18970     3,
18971     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18972     EOpImageAtomicExchange,
18973     false);
18974 constexpr const TFunction imageAtomicExchangeExt_01H00C00C(
18975     BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Int1,
18976     BuiltInName::imageAtomicExchangeExt,
18977     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18978     BuiltInParameters::p01H00C00C00C,
18979     3,
18980     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18981     EOpImageAtomicExchange,
18982     false);
18983 constexpr const TFunction imageAtomicExchangeExt_01Q00C00C(
18984     BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Int1,
18985     BuiltInName::imageAtomicExchangeExt,
18986     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18987     BuiltInParameters::p01Q00C00C00C,
18988     3,
18989     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18990     EOpImageAtomicExchange,
18991     false);
18992 constexpr const TFunction imageAtomicExchangeExt_00s20C00C(
18993     BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Int1,
18994     BuiltInName::imageAtomicExchangeExt,
18995     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
18996     BuiltInParameters::p00s20C00C00C,
18997     3,
18998     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
18999     EOpImageAtomicExchange,
19000     false);
19001 constexpr const TFunction imageAtomicExchangeExt_01B20C00C(
19002     BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Int1,
19003     BuiltInName::imageAtomicExchangeExt,
19004     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19005     BuiltInParameters::p01B20C00C00C,
19006     3,
19007     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19008     EOpImageAtomicExchange,
19009     false);
19010 constexpr const TFunction imageAtomicExchangeExt_01K20C00C(
19011     BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Int1,
19012     BuiltInName::imageAtomicExchangeExt,
19013     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19014     BuiltInParameters::p01K20C00C00C,
19015     3,
19016     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19017     EOpImageAtomicExchange,
19018     false);
19019 constexpr const TFunction imageAtomicExchangeExt_00w20C00C(
19020     BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Int1,
19021     BuiltInName::imageAtomicExchangeExt,
19022     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19023     BuiltInParameters::p00w20C00C00C,
19024     3,
19025     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19026     EOpImageAtomicExchange,
19027     false);
19028 constexpr const TFunction imageAtomicExchangeExt_01F20C00C(
19029     BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Int1,
19030     BuiltInName::imageAtomicExchangeExt,
19031     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19032     BuiltInParameters::p01F20C00C00C,
19033     3,
19034     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19035     EOpImageAtomicExchange,
19036     false);
19037 constexpr const TFunction imageAtomicExchangeExt_01O20C00C(
19038     BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Int1,
19039     BuiltInName::imageAtomicExchangeExt,
19040     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19041     BuiltInParameters::p01O20C00C00C,
19042     3,
19043     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19044     EOpImageAtomicExchange,
19045     false);
19046 constexpr const TFunction imageAtomicExchangeExt_00x10C00C(
19047     BuiltInId::imageAtomicExchangeExt_ImageRect1_Int2_Int1,
19048     BuiltInName::imageAtomicExchangeExt,
19049     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19050     BuiltInParameters::p00x10C00C00C,
19051     3,
19052     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19053     EOpImageAtomicExchange,
19054     false);
19055 constexpr const TFunction imageAtomicExchangeExt_01G10C00C(
19056     BuiltInId::imageAtomicExchangeExt_IImageRect1_Int2_Int1,
19057     BuiltInName::imageAtomicExchangeExt,
19058     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19059     BuiltInParameters::p01G10C00C00C,
19060     3,
19061     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19062     EOpImageAtomicExchange,
19063     false);
19064 constexpr const TFunction imageAtomicExchangeExt_01P10C00C(
19065     BuiltInId::imageAtomicExchangeExt_UImageRect1_Int2_Int1,
19066     BuiltInName::imageAtomicExchangeExt,
19067     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19068     BuiltInParameters::p01P10C00C00C,
19069     3,
19070     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19071     EOpImageAtomicExchange,
19072     false);
19073 constexpr const TFunction imageAtomicExchangeExt_00u10C00C00C(
19074     BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Int1,
19075     BuiltInName::imageAtomicExchangeExt,
19076     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19077     BuiltInParameters::p00u10C00C00C00C,
19078     4,
19079     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19080     EOpImageAtomicExchange,
19081     false);
19082 constexpr const TFunction imageAtomicExchangeExt_01D10C00C00C(
19083     BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Int1,
19084     BuiltInName::imageAtomicExchangeExt,
19085     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19086     BuiltInParameters::p01D10C00C00C00C,
19087     4,
19088     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19089     EOpImageAtomicExchange,
19090     false);
19091 constexpr const TFunction imageAtomicExchangeExt_01M10C00C00C(
19092     BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Int1,
19093     BuiltInName::imageAtomicExchangeExt,
19094     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19095     BuiltInParameters::p01M10C00C00C00C,
19096     4,
19097     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19098     EOpImageAtomicExchange,
19099     false);
19100 constexpr const TFunction imageAtomicExchangeExt_00v20C00C00C(
19101     BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Int1,
19102     BuiltInName::imageAtomicExchangeExt,
19103     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19104     BuiltInParameters::p00v20C00C00C00C,
19105     4,
19106     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19107     EOpImageAtomicExchange,
19108     false);
19109 constexpr const TFunction imageAtomicExchangeExt_01E20C00C00C(
19110     BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Int1,
19111     BuiltInName::imageAtomicExchangeExt,
19112     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19113     BuiltInParameters::p01E20C00C00C00C,
19114     4,
19115     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19116     EOpImageAtomicExchange,
19117     false);
19118 constexpr const TFunction imageAtomicExchangeExt_01N20C00C00C(
19119     BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Int1,
19120     BuiltInName::imageAtomicExchangeExt,
19121     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19122     BuiltInParameters::p01N20C00C00C00C,
19123     4,
19124     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19125     EOpImageAtomicExchange,
19126     false);
19127 constexpr const TFunction imageAtomicExchangeExt_00q10C00B(
19128     BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Float1,
19129     BuiltInName::imageAtomicExchangeExt,
19130     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19131     BuiltInParameters::p00q10C00B,
19132     3,
19133     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19134     EOpImageAtomicExchange,
19135     false);
19136 constexpr const TFunction imageAtomicExchangeExt_00z10C00B(
19137     BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Float1,
19138     BuiltInName::imageAtomicExchangeExt,
19139     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19140     BuiltInParameters::p00z10C00B,
19141     3,
19142     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19143     EOpImageAtomicExchange,
19144     false);
19145 constexpr const TFunction imageAtomicExchangeExt_01I10C00B(
19146     BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Float1,
19147     BuiltInName::imageAtomicExchangeExt,
19148     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19149     BuiltInParameters::p01I10C00B,
19150     3,
19151     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19152     EOpImageAtomicExchange,
19153     false);
19154 constexpr const TFunction imageAtomicExchangeExt_00r20C00B(
19155     BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Float1,
19156     BuiltInName::imageAtomicExchangeExt,
19157     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19158     BuiltInParameters::p00r20C00B,
19159     3,
19160     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19161     EOpImageAtomicExchange,
19162     false);
19163 constexpr const TFunction imageAtomicExchangeExt_01A20C00B(
19164     BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Float1,
19165     BuiltInName::imageAtomicExchangeExt,
19166     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19167     BuiltInParameters::p01A20C00B,
19168     3,
19169     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19170     EOpImageAtomicExchange,
19171     false);
19172 constexpr const TFunction imageAtomicExchangeExt_01J20C00B(
19173     BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Float1,
19174     BuiltInName::imageAtomicExchangeExt,
19175     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19176     BuiltInParameters::p01J20C00B,
19177     3,
19178     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19179     EOpImageAtomicExchange,
19180     false);
19181 constexpr const TFunction imageAtomicExchangeExt_00t20C00B(
19182     BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Float1,
19183     BuiltInName::imageAtomicExchangeExt,
19184     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19185     BuiltInParameters::p00t20C00B,
19186     3,
19187     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19188     EOpImageAtomicExchange,
19189     false);
19190 constexpr const TFunction imageAtomicExchangeExt_01C20C00B(
19191     BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Float1,
19192     BuiltInName::imageAtomicExchangeExt,
19193     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19194     BuiltInParameters::p01C20C00B,
19195     3,
19196     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19197     EOpImageAtomicExchange,
19198     false);
19199 constexpr const TFunction imageAtomicExchangeExt_01L20C00B(
19200     BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Float1,
19201     BuiltInName::imageAtomicExchangeExt,
19202     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19203     BuiltInParameters::p01L20C00B,
19204     3,
19205     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19206     EOpImageAtomicExchange,
19207     false);
19208 constexpr const TFunction imageAtomicExchangeExt_00y00C00B(
19209     BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Float1,
19210     BuiltInName::imageAtomicExchangeExt,
19211     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19212     BuiltInParameters::p00y00C00B,
19213     3,
19214     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19215     EOpImageAtomicExchange,
19216     false);
19217 constexpr const TFunction imageAtomicExchangeExt_01H00C00B(
19218     BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Float1,
19219     BuiltInName::imageAtomicExchangeExt,
19220     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19221     BuiltInParameters::p01H00C00B,
19222     3,
19223     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19224     EOpImageAtomicExchange,
19225     false);
19226 constexpr const TFunction imageAtomicExchangeExt_01Q00C00B(
19227     BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Float1,
19228     BuiltInName::imageAtomicExchangeExt,
19229     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19230     BuiltInParameters::p01Q00C00B,
19231     3,
19232     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19233     EOpImageAtomicExchange,
19234     false);
19235 constexpr const TFunction imageAtomicExchangeExt_00s20C00B(
19236     BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Float1,
19237     BuiltInName::imageAtomicExchangeExt,
19238     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19239     BuiltInParameters::p00s20C00B,
19240     3,
19241     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19242     EOpImageAtomicExchange,
19243     false);
19244 constexpr const TFunction imageAtomicExchangeExt_01B20C00B(
19245     BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Float1,
19246     BuiltInName::imageAtomicExchangeExt,
19247     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19248     BuiltInParameters::p01B20C00B,
19249     3,
19250     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19251     EOpImageAtomicExchange,
19252     false);
19253 constexpr const TFunction imageAtomicExchangeExt_01K20C00B(
19254     BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Float1,
19255     BuiltInName::imageAtomicExchangeExt,
19256     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19257     BuiltInParameters::p01K20C00B,
19258     3,
19259     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19260     EOpImageAtomicExchange,
19261     false);
19262 constexpr const TFunction imageAtomicExchangeExt_00w20C00B(
19263     BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Float1,
19264     BuiltInName::imageAtomicExchangeExt,
19265     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19266     BuiltInParameters::p00w20C00B,
19267     3,
19268     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19269     EOpImageAtomicExchange,
19270     false);
19271 constexpr const TFunction imageAtomicExchangeExt_01F20C00B(
19272     BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Float1,
19273     BuiltInName::imageAtomicExchangeExt,
19274     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19275     BuiltInParameters::p01F20C00B,
19276     3,
19277     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19278     EOpImageAtomicExchange,
19279     false);
19280 constexpr const TFunction imageAtomicExchangeExt_01O20C00B(
19281     BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Float1,
19282     BuiltInName::imageAtomicExchangeExt,
19283     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19284     BuiltInParameters::p01O20C00B,
19285     3,
19286     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19287     EOpImageAtomicExchange,
19288     false);
19289 constexpr const TFunction imageAtomicExchangeExt_00x10C00B(
19290     BuiltInId::imageAtomicExchangeExt_ImageRect1_Int2_Float1,
19291     BuiltInName::imageAtomicExchangeExt,
19292     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19293     BuiltInParameters::p00x10C00B,
19294     3,
19295     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19296     EOpImageAtomicExchange,
19297     false);
19298 constexpr const TFunction imageAtomicExchangeExt_01G10C00B(
19299     BuiltInId::imageAtomicExchangeExt_IImageRect1_Int2_Float1,
19300     BuiltInName::imageAtomicExchangeExt,
19301     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19302     BuiltInParameters::p01G10C00B,
19303     3,
19304     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19305     EOpImageAtomicExchange,
19306     false);
19307 constexpr const TFunction imageAtomicExchangeExt_01P10C00B(
19308     BuiltInId::imageAtomicExchangeExt_UImageRect1_Int2_Float1,
19309     BuiltInName::imageAtomicExchangeExt,
19310     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19311     BuiltInParameters::p01P10C00B,
19312     3,
19313     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19314     EOpImageAtomicExchange,
19315     false);
19316 constexpr const TFunction imageAtomicExchangeExt_00u10C00C00B(
19317     BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Float1,
19318     BuiltInName::imageAtomicExchangeExt,
19319     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19320     BuiltInParameters::p00u10C00C00B,
19321     4,
19322     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19323     EOpImageAtomicExchange,
19324     false);
19325 constexpr const TFunction imageAtomicExchangeExt_01D10C00C00B(
19326     BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Float1,
19327     BuiltInName::imageAtomicExchangeExt,
19328     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19329     BuiltInParameters::p01D10C00C00B,
19330     4,
19331     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19332     EOpImageAtomicExchange,
19333     false);
19334 constexpr const TFunction imageAtomicExchangeExt_01M10C00C00B(
19335     BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Float1,
19336     BuiltInName::imageAtomicExchangeExt,
19337     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19338     BuiltInParameters::p01M10C00C00B,
19339     4,
19340     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19341     EOpImageAtomicExchange,
19342     false);
19343 constexpr const TFunction imageAtomicExchangeExt_00v20C00C00B(
19344     BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Float1,
19345     BuiltInName::imageAtomicExchangeExt,
19346     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19347     BuiltInParameters::p00v20C00C00B,
19348     4,
19349     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19350     EOpImageAtomicExchange,
19351     false);
19352 constexpr const TFunction imageAtomicExchangeExt_01E20C00C00B(
19353     BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Float1,
19354     BuiltInName::imageAtomicExchangeExt,
19355     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19356     BuiltInParameters::p01E20C00C00B,
19357     4,
19358     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19359     EOpImageAtomicExchange,
19360     false);
19361 constexpr const TFunction imageAtomicExchangeExt_01N20C00C00B(
19362     BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Float1,
19363     BuiltInName::imageAtomicExchangeExt,
19364     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19365     BuiltInParameters::p01N20C00C00B,
19366     4,
19367     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
19368     EOpImageAtomicExchange,
19369     false);
19370 constexpr const TFunction imageAtomicCompSwapExt_00q10C00D00D(
19371     BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_UInt1_UInt1,
19372     BuiltInName::imageAtomicCompSwapExt,
19373     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19374     BuiltInParameters::p00q10C00D00D,
19375     4,
19376     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19377     EOpImageAtomicCompSwap,
19378     false);
19379 constexpr const TFunction imageAtomicCompSwapExt_00z10C00D00D(
19380     BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_UInt1_UInt1,
19381     BuiltInName::imageAtomicCompSwapExt,
19382     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19383     BuiltInParameters::p00z10C00D00D,
19384     4,
19385     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19386     EOpImageAtomicCompSwap,
19387     false);
19388 constexpr const TFunction imageAtomicCompSwapExt_01I10C00D00D(
19389     BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_UInt1_UInt1,
19390     BuiltInName::imageAtomicCompSwapExt,
19391     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19392     BuiltInParameters::p01I10C00D00D,
19393     4,
19394     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19395     EOpImageAtomicCompSwap,
19396     false);
19397 constexpr const TFunction imageAtomicCompSwapExt_00r20C00D00D(
19398     BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_UInt1_UInt1,
19399     BuiltInName::imageAtomicCompSwapExt,
19400     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19401     BuiltInParameters::p00r20C00D00D,
19402     4,
19403     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19404     EOpImageAtomicCompSwap,
19405     false);
19406 constexpr const TFunction imageAtomicCompSwapExt_01A20C00D00D(
19407     BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_UInt1_UInt1,
19408     BuiltInName::imageAtomicCompSwapExt,
19409     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19410     BuiltInParameters::p01A20C00D00D,
19411     4,
19412     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19413     EOpImageAtomicCompSwap,
19414     false);
19415 constexpr const TFunction imageAtomicCompSwapExt_01J20C00D00D(
19416     BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_UInt1_UInt1,
19417     BuiltInName::imageAtomicCompSwapExt,
19418     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19419     BuiltInParameters::p01J20C00D00D,
19420     4,
19421     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19422     EOpImageAtomicCompSwap,
19423     false);
19424 constexpr const TFunction imageAtomicCompSwapExt_00t20C00D00D(
19425     BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_UInt1_UInt1,
19426     BuiltInName::imageAtomicCompSwapExt,
19427     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19428     BuiltInParameters::p00t20C00D00D,
19429     4,
19430     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19431     EOpImageAtomicCompSwap,
19432     false);
19433 constexpr const TFunction imageAtomicCompSwapExt_01C20C00D00D(
19434     BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_UInt1_UInt1,
19435     BuiltInName::imageAtomicCompSwapExt,
19436     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19437     BuiltInParameters::p01C20C00D00D,
19438     4,
19439     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19440     EOpImageAtomicCompSwap,
19441     false);
19442 constexpr const TFunction imageAtomicCompSwapExt_01L20C00D00D(
19443     BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_UInt1_UInt1,
19444     BuiltInName::imageAtomicCompSwapExt,
19445     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19446     BuiltInParameters::p01L20C00D00D,
19447     4,
19448     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19449     EOpImageAtomicCompSwap,
19450     false);
19451 constexpr const TFunction imageAtomicCompSwapExt_00y00C00D00D(
19452     BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_UInt1_UInt1,
19453     BuiltInName::imageAtomicCompSwapExt,
19454     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19455     BuiltInParameters::p00y00C00D00D,
19456     4,
19457     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19458     EOpImageAtomicCompSwap,
19459     false);
19460 constexpr const TFunction imageAtomicCompSwapExt_01H00C00D00D(
19461     BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_UInt1_UInt1,
19462     BuiltInName::imageAtomicCompSwapExt,
19463     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19464     BuiltInParameters::p01H00C00D00D,
19465     4,
19466     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19467     EOpImageAtomicCompSwap,
19468     false);
19469 constexpr const TFunction imageAtomicCompSwapExt_01Q00C00D00D(
19470     BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_UInt1_UInt1,
19471     BuiltInName::imageAtomicCompSwapExt,
19472     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19473     BuiltInParameters::p01Q00C00D00D,
19474     4,
19475     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19476     EOpImageAtomicCompSwap,
19477     false);
19478 constexpr const TFunction imageAtomicCompSwapExt_00s20C00D00D(
19479     BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_UInt1_UInt1,
19480     BuiltInName::imageAtomicCompSwapExt,
19481     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19482     BuiltInParameters::p00s20C00D00D,
19483     4,
19484     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19485     EOpImageAtomicCompSwap,
19486     false);
19487 constexpr const TFunction imageAtomicCompSwapExt_01B20C00D00D(
19488     BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_UInt1_UInt1,
19489     BuiltInName::imageAtomicCompSwapExt,
19490     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19491     BuiltInParameters::p01B20C00D00D,
19492     4,
19493     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19494     EOpImageAtomicCompSwap,
19495     false);
19496 constexpr const TFunction imageAtomicCompSwapExt_01K20C00D00D(
19497     BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_UInt1_UInt1,
19498     BuiltInName::imageAtomicCompSwapExt,
19499     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19500     BuiltInParameters::p01K20C00D00D,
19501     4,
19502     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19503     EOpImageAtomicCompSwap,
19504     false);
19505 constexpr const TFunction imageAtomicCompSwapExt_00w20C00D00D(
19506     BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_UInt1_UInt1,
19507     BuiltInName::imageAtomicCompSwapExt,
19508     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19509     BuiltInParameters::p00w20C00D00D,
19510     4,
19511     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19512     EOpImageAtomicCompSwap,
19513     false);
19514 constexpr const TFunction imageAtomicCompSwapExt_01F20C00D00D(
19515     BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_UInt1_UInt1,
19516     BuiltInName::imageAtomicCompSwapExt,
19517     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19518     BuiltInParameters::p01F20C00D00D,
19519     4,
19520     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19521     EOpImageAtomicCompSwap,
19522     false);
19523 constexpr const TFunction imageAtomicCompSwapExt_01O20C00D00D(
19524     BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_UInt1_UInt1,
19525     BuiltInName::imageAtomicCompSwapExt,
19526     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19527     BuiltInParameters::p01O20C00D00D,
19528     4,
19529     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19530     EOpImageAtomicCompSwap,
19531     false);
19532 constexpr const TFunction imageAtomicCompSwapExt_00x10C00D00D(
19533     BuiltInId::imageAtomicCompSwapExt_ImageRect1_Int2_UInt1_UInt1,
19534     BuiltInName::imageAtomicCompSwapExt,
19535     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19536     BuiltInParameters::p00x10C00D00D,
19537     4,
19538     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19539     EOpImageAtomicCompSwap,
19540     false);
19541 constexpr const TFunction imageAtomicCompSwapExt_01G10C00D00D(
19542     BuiltInId::imageAtomicCompSwapExt_IImageRect1_Int2_UInt1_UInt1,
19543     BuiltInName::imageAtomicCompSwapExt,
19544     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19545     BuiltInParameters::p01G10C00D00D,
19546     4,
19547     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19548     EOpImageAtomicCompSwap,
19549     false);
19550 constexpr const TFunction imageAtomicCompSwapExt_01P10C00D00D(
19551     BuiltInId::imageAtomicCompSwapExt_UImageRect1_Int2_UInt1_UInt1,
19552     BuiltInName::imageAtomicCompSwapExt,
19553     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19554     BuiltInParameters::p01P10C00D00D,
19555     4,
19556     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19557     EOpImageAtomicCompSwap,
19558     false);
19559 constexpr const TFunction imageAtomicCompSwapExt_00u10C00C00D00D(
19560     BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_UInt1_UInt1,
19561     BuiltInName::imageAtomicCompSwapExt,
19562     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19563     BuiltInParameters::p00u10C00C00D00D,
19564     5,
19565     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19566     EOpImageAtomicCompSwap,
19567     false);
19568 constexpr const TFunction imageAtomicCompSwapExt_01D10C00C00D00D(
19569     BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_UInt1_UInt1,
19570     BuiltInName::imageAtomicCompSwapExt,
19571     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19572     BuiltInParameters::p01D10C00C00D00D,
19573     5,
19574     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19575     EOpImageAtomicCompSwap,
19576     false);
19577 constexpr const TFunction imageAtomicCompSwapExt_01M10C00C00D00D(
19578     BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_UInt1_UInt1,
19579     BuiltInName::imageAtomicCompSwapExt,
19580     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19581     BuiltInParameters::p01M10C00C00D00D,
19582     5,
19583     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19584     EOpImageAtomicCompSwap,
19585     false);
19586 constexpr const TFunction imageAtomicCompSwapExt_00v20C00C00D00D(
19587     BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_UInt1_UInt1,
19588     BuiltInName::imageAtomicCompSwapExt,
19589     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19590     BuiltInParameters::p00v20C00C00D00D,
19591     5,
19592     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19593     EOpImageAtomicCompSwap,
19594     false);
19595 constexpr const TFunction imageAtomicCompSwapExt_01E20C00C00D00D(
19596     BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_UInt1_UInt1,
19597     BuiltInName::imageAtomicCompSwapExt,
19598     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19599     BuiltInParameters::p01E20C00C00D00D,
19600     5,
19601     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19602     EOpImageAtomicCompSwap,
19603     false);
19604 constexpr const TFunction imageAtomicCompSwapExt_01N20C00C00D00D(
19605     BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_UInt1_UInt1,
19606     BuiltInName::imageAtomicCompSwapExt,
19607     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19608     BuiltInParameters::p01N20C00C00D00D,
19609     5,
19610     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
19611     EOpImageAtomicCompSwap,
19612     false);
19613 constexpr const TFunction imageAtomicCompSwapExt_00q10C00C00C(
19614     BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_Int1_Int1,
19615     BuiltInName::imageAtomicCompSwapExt,
19616     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19617     BuiltInParameters::p00q10C00C00C,
19618     4,
19619     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19620     EOpImageAtomicCompSwap,
19621     false);
19622 constexpr const TFunction imageAtomicCompSwapExt_00z10C00C00C(
19623     BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_Int1_Int1,
19624     BuiltInName::imageAtomicCompSwapExt,
19625     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19626     BuiltInParameters::p00z10C00C00C,
19627     4,
19628     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19629     EOpImageAtomicCompSwap,
19630     false);
19631 constexpr const TFunction imageAtomicCompSwapExt_01I10C00C00C(
19632     BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_Int1_Int1,
19633     BuiltInName::imageAtomicCompSwapExt,
19634     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19635     BuiltInParameters::p01I10C00C00C,
19636     4,
19637     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19638     EOpImageAtomicCompSwap,
19639     false);
19640 constexpr const TFunction imageAtomicCompSwapExt_00r20C00C00C(
19641     BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_Int1_Int1,
19642     BuiltInName::imageAtomicCompSwapExt,
19643     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19644     BuiltInParameters::p00r20C00C00C,
19645     4,
19646     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19647     EOpImageAtomicCompSwap,
19648     false);
19649 constexpr const TFunction imageAtomicCompSwapExt_01A20C00C00C(
19650     BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_Int1_Int1,
19651     BuiltInName::imageAtomicCompSwapExt,
19652     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19653     BuiltInParameters::p01A20C00C00C,
19654     4,
19655     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19656     EOpImageAtomicCompSwap,
19657     false);
19658 constexpr const TFunction imageAtomicCompSwapExt_01J20C00C00C(
19659     BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_Int1_Int1,
19660     BuiltInName::imageAtomicCompSwapExt,
19661     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19662     BuiltInParameters::p01J20C00C00C,
19663     4,
19664     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19665     EOpImageAtomicCompSwap,
19666     false);
19667 constexpr const TFunction imageAtomicCompSwapExt_00t20C00C00C(
19668     BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_Int1_Int1,
19669     BuiltInName::imageAtomicCompSwapExt,
19670     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19671     BuiltInParameters::p00t20C00C00C,
19672     4,
19673     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19674     EOpImageAtomicCompSwap,
19675     false);
19676 constexpr const TFunction imageAtomicCompSwapExt_01C20C00C00C(
19677     BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_Int1_Int1,
19678     BuiltInName::imageAtomicCompSwapExt,
19679     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19680     BuiltInParameters::p01C20C00C00C,
19681     4,
19682     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19683     EOpImageAtomicCompSwap,
19684     false);
19685 constexpr const TFunction imageAtomicCompSwapExt_01L20C00C00C(
19686     BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_Int1_Int1,
19687     BuiltInName::imageAtomicCompSwapExt,
19688     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19689     BuiltInParameters::p01L20C00C00C,
19690     4,
19691     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19692     EOpImageAtomicCompSwap,
19693     false);
19694 constexpr const TFunction imageAtomicCompSwapExt_00y00C00C00C(
19695     BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_Int1_Int1,
19696     BuiltInName::imageAtomicCompSwapExt,
19697     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19698     BuiltInParameters::p00y00C00C00C,
19699     4,
19700     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19701     EOpImageAtomicCompSwap,
19702     false);
19703 constexpr const TFunction imageAtomicCompSwapExt_01H00C00C00C(
19704     BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_Int1_Int1,
19705     BuiltInName::imageAtomicCompSwapExt,
19706     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19707     BuiltInParameters::p01H00C00C00C,
19708     4,
19709     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19710     EOpImageAtomicCompSwap,
19711     false);
19712 constexpr const TFunction imageAtomicCompSwapExt_01Q00C00C00C(
19713     BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_Int1_Int1,
19714     BuiltInName::imageAtomicCompSwapExt,
19715     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19716     BuiltInParameters::p01Q00C00C00C,
19717     4,
19718     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19719     EOpImageAtomicCompSwap,
19720     false);
19721 constexpr const TFunction imageAtomicCompSwapExt_00s20C00C00C(
19722     BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_Int1_Int1,
19723     BuiltInName::imageAtomicCompSwapExt,
19724     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19725     BuiltInParameters::p00s20C00C00C,
19726     4,
19727     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19728     EOpImageAtomicCompSwap,
19729     false);
19730 constexpr const TFunction imageAtomicCompSwapExt_01B20C00C00C(
19731     BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_Int1_Int1,
19732     BuiltInName::imageAtomicCompSwapExt,
19733     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19734     BuiltInParameters::p01B20C00C00C,
19735     4,
19736     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19737     EOpImageAtomicCompSwap,
19738     false);
19739 constexpr const TFunction imageAtomicCompSwapExt_01K20C00C00C(
19740     BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_Int1_Int1,
19741     BuiltInName::imageAtomicCompSwapExt,
19742     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19743     BuiltInParameters::p01K20C00C00C,
19744     4,
19745     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19746     EOpImageAtomicCompSwap,
19747     false);
19748 constexpr const TFunction imageAtomicCompSwapExt_00w20C00C00C(
19749     BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_Int1_Int1,
19750     BuiltInName::imageAtomicCompSwapExt,
19751     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19752     BuiltInParameters::p00w20C00C00C,
19753     4,
19754     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19755     EOpImageAtomicCompSwap,
19756     false);
19757 constexpr const TFunction imageAtomicCompSwapExt_01F20C00C00C(
19758     BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_Int1_Int1,
19759     BuiltInName::imageAtomicCompSwapExt,
19760     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19761     BuiltInParameters::p01F20C00C00C,
19762     4,
19763     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19764     EOpImageAtomicCompSwap,
19765     false);
19766 constexpr const TFunction imageAtomicCompSwapExt_01O20C00C00C(
19767     BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_Int1_Int1,
19768     BuiltInName::imageAtomicCompSwapExt,
19769     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19770     BuiltInParameters::p01O20C00C00C,
19771     4,
19772     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19773     EOpImageAtomicCompSwap,
19774     false);
19775 constexpr const TFunction imageAtomicCompSwapExt_00x10C00C00C(
19776     BuiltInId::imageAtomicCompSwapExt_ImageRect1_Int2_Int1_Int1,
19777     BuiltInName::imageAtomicCompSwapExt,
19778     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19779     BuiltInParameters::p00x10C00C00C,
19780     4,
19781     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19782     EOpImageAtomicCompSwap,
19783     false);
19784 constexpr const TFunction imageAtomicCompSwapExt_01G10C00C00C(
19785     BuiltInId::imageAtomicCompSwapExt_IImageRect1_Int2_Int1_Int1,
19786     BuiltInName::imageAtomicCompSwapExt,
19787     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19788     BuiltInParameters::p01G10C00C00C,
19789     4,
19790     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19791     EOpImageAtomicCompSwap,
19792     false);
19793 constexpr const TFunction imageAtomicCompSwapExt_01P10C00C00C(
19794     BuiltInId::imageAtomicCompSwapExt_UImageRect1_Int2_Int1_Int1,
19795     BuiltInName::imageAtomicCompSwapExt,
19796     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19797     BuiltInParameters::p01P10C00C00C,
19798     4,
19799     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19800     EOpImageAtomicCompSwap,
19801     false);
19802 constexpr const TFunction imageAtomicCompSwapExt_00u10C00C00C00C(
19803     BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_Int1_Int1,
19804     BuiltInName::imageAtomicCompSwapExt,
19805     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19806     BuiltInParameters::p00u10C00C00C00C,
19807     5,
19808     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19809     EOpImageAtomicCompSwap,
19810     false);
19811 constexpr const TFunction imageAtomicCompSwapExt_01D10C00C00C00C(
19812     BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_Int1_Int1,
19813     BuiltInName::imageAtomicCompSwapExt,
19814     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19815     BuiltInParameters::p01D10C00C00C00C,
19816     5,
19817     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19818     EOpImageAtomicCompSwap,
19819     false);
19820 constexpr const TFunction imageAtomicCompSwapExt_01M10C00C00C00C(
19821     BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_Int1_Int1,
19822     BuiltInName::imageAtomicCompSwapExt,
19823     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19824     BuiltInParameters::p01M10C00C00C00C,
19825     5,
19826     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19827     EOpImageAtomicCompSwap,
19828     false);
19829 constexpr const TFunction imageAtomicCompSwapExt_00v20C00C00C00C(
19830     BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_Int1_Int1,
19831     BuiltInName::imageAtomicCompSwapExt,
19832     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19833     BuiltInParameters::p00v20C00C00C00C,
19834     5,
19835     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19836     EOpImageAtomicCompSwap,
19837     false);
19838 constexpr const TFunction imageAtomicCompSwapExt_01E20C00C00C00C(
19839     BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_Int1_Int1,
19840     BuiltInName::imageAtomicCompSwapExt,
19841     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19842     BuiltInParameters::p01E20C00C00C00C,
19843     5,
19844     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19845     EOpImageAtomicCompSwap,
19846     false);
19847 constexpr const TFunction imageAtomicCompSwapExt_01N20C00C00C00C(
19848     BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_Int1_Int1,
19849     BuiltInName::imageAtomicCompSwapExt,
19850     std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}},
19851     BuiltInParameters::p01N20C00C00C00C,
19852     5,
19853     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
19854     EOpImageAtomicCompSwap,
19855     false);
19856 constexpr const TFunction pixelLocalLoadANGLE_01R(
19857     BuiltInId::pixelLocalLoadANGLE_PixelLocalANGLE1,
19858     BuiltInName::pixelLocalLoadANGLE,
19859     std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}},
19860     BuiltInParameters::p01R30B,
19861     1,
19862     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
19863     EOpPixelLocalLoadANGLE,
19864     true);
19865 constexpr const TFunction pixelLocalLoadANGLE_01S(
19866     BuiltInId::pixelLocalLoadANGLE_IPixelLocalANGLE1,
19867     BuiltInName::pixelLocalLoadANGLE,
19868     std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}},
19869     BuiltInParameters::p01S30C,
19870     1,
19871     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
19872     EOpPixelLocalLoadANGLE,
19873     true);
19874 constexpr const TFunction pixelLocalLoadANGLE_01T(
19875     BuiltInId::pixelLocalLoadANGLE_UPixelLocalANGLE1,
19876     BuiltInName::pixelLocalLoadANGLE,
19877     std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}},
19878     BuiltInParameters::p01T30D,
19879     1,
19880     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
19881     EOpPixelLocalLoadANGLE,
19882     true);
19883 constexpr const TFunction pixelLocalStoreANGLE_01R30B(
19884     BuiltInId::pixelLocalStoreANGLE_PixelLocalANGLE1_Float4,
19885     BuiltInName::pixelLocalStoreANGLE,
19886     std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}},
19887     BuiltInParameters::p01R30B,
19888     2,
19889     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19890     EOpPixelLocalStoreANGLE,
19891     false);
19892 constexpr const TFunction pixelLocalStoreANGLE_01S30C(
19893     BuiltInId::pixelLocalStoreANGLE_IPixelLocalANGLE1_Int4,
19894     BuiltInName::pixelLocalStoreANGLE,
19895     std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}},
19896     BuiltInParameters::p01S30C,
19897     2,
19898     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19899     EOpPixelLocalStoreANGLE,
19900     false);
19901 constexpr const TFunction pixelLocalStoreANGLE_01T30D(
19902     BuiltInId::pixelLocalStoreANGLE_UPixelLocalANGLE1_UInt4,
19903     BuiltInName::pixelLocalStoreANGLE,
19904     std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}},
19905     BuiltInParameters::p01T30D,
19906     2,
19907     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19908     EOpPixelLocalStoreANGLE,
19909     false);
19910 constexpr const TFunction beginInvocationInterlockNV_(
19911     BuiltInId::beginInvocationInterlockNV,
19912     BuiltInName::beginInvocationInterlockNV,
19913     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19914     BuiltInParameters::empty,
19915     0,
19916     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19917     EOpBeginInvocationInterlockNV,
19918     false);
19919 constexpr const TFunction endInvocationInterlockNV_(
19920     BuiltInId::endInvocationInterlockNV,
19921     BuiltInName::endInvocationInterlockNV,
19922     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19923     BuiltInParameters::empty,
19924     0,
19925     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19926     EOpEndInvocationInterlockNV,
19927     false);
19928 constexpr const TFunction beginFragmentShaderOrderingINTEL_(
19929     BuiltInId::beginFragmentShaderOrderingINTEL,
19930     BuiltInName::beginFragmentShaderOrderingINTEL,
19931     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19932     BuiltInParameters::empty,
19933     0,
19934     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19935     EOpBeginFragmentShaderOrderingINTEL,
19936     false);
19937 constexpr const TFunction beginInvocationInterlockARB_(
19938     BuiltInId::beginInvocationInterlockARB,
19939     BuiltInName::beginInvocationInterlockARB,
19940     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19941     BuiltInParameters::empty,
19942     0,
19943     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19944     EOpBeginInvocationInterlockARB,
19945     false);
19946 constexpr const TFunction endInvocationInterlockARB_(
19947     BuiltInId::endInvocationInterlockARB,
19948     BuiltInName::endInvocationInterlockARB,
19949     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19950     BuiltInParameters::empty,
19951     0,
19952     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19953     EOpEndInvocationInterlockARB,
19954     false);
19955 constexpr const TFunction memoryBarrier_(BuiltInId::memoryBarrier,
19956                                          BuiltInName::memoryBarrier,
19957                                          std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19958                                          BuiltInParameters::empty,
19959                                          0,
19960                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19961                                          EOpMemoryBarrier,
19962                                          false);
19963 constexpr const TFunction memoryBarrierAtomicCounter_(
19964     BuiltInId::memoryBarrierAtomicCounter,
19965     BuiltInName::memoryBarrierAtomicCounter,
19966     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19967     BuiltInParameters::empty,
19968     0,
19969     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19970     EOpMemoryBarrierAtomicCounter,
19971     false);
19972 constexpr const TFunction memoryBarrierBuffer_(
19973     BuiltInId::memoryBarrierBuffer,
19974     BuiltInName::memoryBarrierBuffer,
19975     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19976     BuiltInParameters::empty,
19977     0,
19978     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19979     EOpMemoryBarrierBuffer,
19980     false);
19981 constexpr const TFunction memoryBarrierImage_(
19982     BuiltInId::memoryBarrierImage,
19983     BuiltInName::memoryBarrierImage,
19984     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19985     BuiltInParameters::empty,
19986     0,
19987     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19988     EOpMemoryBarrierImage,
19989     false);
19990 constexpr const TFunction barrier_(BuiltInId::barrier,
19991                                    BuiltInName::barrier,
19992                                    std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
19993                                    BuiltInParameters::empty,
19994                                    0,
19995                                    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
19996                                    EOpBarrier,
19997                                    false);
19998 constexpr const TFunction memoryBarrierShared_(
19999     BuiltInId::memoryBarrierShared,
20000     BuiltInName::memoryBarrierShared,
20001     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20002     BuiltInParameters::empty,
20003     0,
20004     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20005     EOpMemoryBarrierShared,
20006     false);
20007 constexpr const TFunction groupMemoryBarrier_(
20008     BuiltInId::groupMemoryBarrier,
20009     BuiltInName::groupMemoryBarrier,
20010     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20011     BuiltInParameters::empty,
20012     0,
20013     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20014     EOpGroupMemoryBarrier,
20015     false);
20016 constexpr const TFunction barrierTCS_(BuiltInId::barrierTCS,
20017                                       BuiltInName::barrierTCS,
20018                                       std::array<TExtension, 2u>{
20019                                           {TExtension::EXT_tessellation_shader,
20020                                            TExtension::OES_tessellation_shader}},
20021                                       BuiltInParameters::empty,
20022                                       0,
20023                                       StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20024                                       EOpBarrierTCS,
20025                                       false);
20026 constexpr const TFunction barrierTCSES3_2_(
20027     BuiltInId::barrierTCSES3_2,
20028     BuiltInName::barrierTCSES3_2,
20029     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20030     BuiltInParameters::empty,
20031     0,
20032     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20033     EOpBarrierTCS,
20034     false);
20035 constexpr const TFunction EmitVertex_(BuiltInId::EmitVertex,
20036                                       BuiltInName::EmitVertex,
20037                                       std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader,
20038                                                                   TExtension::OES_geometry_shader}},
20039                                       BuiltInParameters::empty,
20040                                       0,
20041                                       StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20042                                       EOpEmitVertex,
20043                                       false);
20044 constexpr const TFunction EmitVertexES3_2_(
20045     BuiltInId::EmitVertexES3_2,
20046     BuiltInName::EmitVertexES3_2,
20047     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20048     BuiltInParameters::empty,
20049     0,
20050     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20051     EOpEmitVertex,
20052     false);
20053 constexpr const TFunction EndPrimitive_(
20054     BuiltInId::EndPrimitive,
20055     BuiltInName::EndPrimitive,
20056     std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
20057     BuiltInParameters::empty,
20058     0,
20059     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20060     EOpEndPrimitive,
20061     false);
20062 constexpr const TFunction EndPrimitiveES3_2_(
20063     BuiltInId::EndPrimitiveES3_2,
20064     BuiltInName::EndPrimitiveES3_2,
20065     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20066     BuiltInParameters::empty,
20067     0,
20068     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
20069     EOpEndPrimitive,
20070     false);
20071 constexpr const TFunction subpassLoad_01U(
20072     BuiltInId::subpassLoad_SubpassInput1,
20073     BuiltInName::subpassLoad,
20074     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20075     BuiltInParameters::p01U,
20076     1,
20077     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
20078     EOpSubpassLoad,
20079     true);
20080 constexpr const TFunction subpassLoad_01V(BuiltInId::subpassLoad_ISubpassInput1,
20081                                           BuiltInName::subpassLoad,
20082                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20083                                           BuiltInParameters::p01V,
20084                                           1,
20085                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
20086                                           EOpSubpassLoad,
20087                                           true);
20088 constexpr const TFunction subpassLoad_01W(BuiltInId::subpassLoad_USubpassInput1,
20089                                           BuiltInName::subpassLoad,
20090                                           std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20091                                           BuiltInParameters::p01W,
20092                                           1,
20093                                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
20094                                           EOpSubpassLoad,
20095                                           true);
20096 constexpr const TFunction numSamples_(BuiltInId::numSamples,
20097                                       BuiltInName::numSamples,
20098                                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20099                                       BuiltInParameters::empty,
20100                                       0,
20101                                       StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
20102                                       EOpNumSamples,
20103                                       true);
20104 constexpr const TFunction samplePosition_00D(
20105     BuiltInId::samplePosition_UInt1,
20106     BuiltInName::samplePosition,
20107     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20108     BuiltInParameters::p00D00C00C,
20109     1,
20110     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
20111     EOpSamplePosition,
20112     true);
20113 constexpr const TFunction interpolateAtCenter_00B(
20114     BuiltInId::interpolateAtCenter_Float1,
20115     BuiltInName::interpolateAtCenter,
20116     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20117     BuiltInParameters::p00B00B00B,
20118     1,
20119     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
20120     EOpInterpolateAtCenter,
20121     true);
20122 constexpr const TFunction interpolateAtCenter_10B(
20123     BuiltInId::interpolateAtCenter_Float2,
20124     BuiltInName::interpolateAtCenter,
20125     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20126     BuiltInParameters::p10B00B00B,
20127     1,
20128     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
20129     EOpInterpolateAtCenter,
20130     true);
20131 constexpr const TFunction interpolateAtCenter_20B(
20132     BuiltInId::interpolateAtCenter_Float3,
20133     BuiltInName::interpolateAtCenter,
20134     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20135     BuiltInParameters::p20B00B00B,
20136     1,
20137     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
20138     EOpInterpolateAtCenter,
20139     true);
20140 constexpr const TFunction interpolateAtCenter_30B(
20141     BuiltInId::interpolateAtCenter_Float4,
20142     BuiltInName::interpolateAtCenter,
20143     std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20144     BuiltInParameters::p30B00B00B,
20145     1,
20146     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
20147     EOpInterpolateAtCenter,
20148     true);
20149 constexpr const TFunction saturate_00B(BuiltInId::saturate_Float1,
20150                                        BuiltInName::saturate,
20151                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20152                                        BuiltInParameters::p00B00B00B,
20153                                        1,
20154                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
20155                                        EOpSaturate,
20156                                        true);
20157 constexpr const TFunction saturate_10B(BuiltInId::saturate_Float2,
20158                                        BuiltInName::saturate,
20159                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20160                                        BuiltInParameters::p10B00B00B,
20161                                        1,
20162                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
20163                                        EOpSaturate,
20164                                        true);
20165 constexpr const TFunction saturate_20B(BuiltInId::saturate_Float3,
20166                                        BuiltInName::saturate,
20167                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20168                                        BuiltInParameters::p20B00B00B,
20169                                        1,
20170                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
20171                                        EOpSaturate,
20172                                        true);
20173 constexpr const TFunction saturate_30B(BuiltInId::saturate_Float4,
20174                                        BuiltInName::saturate,
20175                                        std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
20176                                        BuiltInParameters::p30B00B00B,
20177                                        1,
20178                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
20179                                        EOpSaturate,
20180                                        true);
20181 
20182 }  // namespace Func
20183 
20184 namespace BuiltInArray
20185 {
20186 using namespace Func;
20187 using Rule = SymbolRule;
20188 
20189 // Rules used to initialize the mangled name array.
20190 constexpr SymbolRule kRules[] = {
20191     Rule::Get<0, Shader::ALL, 0>(&radians_00B),
20192     Rule::Get<0, Shader::ALL, 0>(&radians_10B),
20193     Rule::Get<0, Shader::ALL, 0>(&radians_20B),
20194     Rule::Get<0, Shader::ALL, 0>(&radians_30B),
20195     Rule::Get<0, Shader::ALL, 0>(&degrees_00B),
20196     Rule::Get<0, Shader::ALL, 0>(&degrees_10B),
20197     Rule::Get<0, Shader::ALL, 0>(&degrees_20B),
20198     Rule::Get<0, Shader::ALL, 0>(&degrees_30B),
20199     Rule::Get<0, Shader::ALL, 0>(&sin_00B),
20200     Rule::Get<0, Shader::ALL, 0>(&sin_10B),
20201     Rule::Get<0, Shader::ALL, 0>(&sin_20B),
20202     Rule::Get<0, Shader::ALL, 0>(&sin_30B),
20203     Rule::Get<0, Shader::ALL, 0>(&cos_00B),
20204     Rule::Get<0, Shader::ALL, 0>(&cos_10B),
20205     Rule::Get<0, Shader::ALL, 0>(&cos_20B),
20206     Rule::Get<0, Shader::ALL, 0>(&cos_30B),
20207     Rule::Get<0, Shader::ALL, 0>(&tan_00B),
20208     Rule::Get<0, Shader::ALL, 0>(&tan_10B),
20209     Rule::Get<0, Shader::ALL, 0>(&tan_20B),
20210     Rule::Get<0, Shader::ALL, 0>(&tan_30B),
20211     Rule::Get<0, Shader::ALL, 0>(&asin_00B),
20212     Rule::Get<0, Shader::ALL, 0>(&asin_10B),
20213     Rule::Get<0, Shader::ALL, 0>(&asin_20B),
20214     Rule::Get<0, Shader::ALL, 0>(&asin_30B),
20215     Rule::Get<0, Shader::ALL, 0>(&acos_00B),
20216     Rule::Get<0, Shader::ALL, 0>(&acos_10B),
20217     Rule::Get<0, Shader::ALL, 0>(&acos_20B),
20218     Rule::Get<0, Shader::ALL, 0>(&acos_30B),
20219     Rule::Get<0, Shader::ALL, 0>(&atan_00B00B),
20220     Rule::Get<0, Shader::ALL, 0>(&atan_10B10B),
20221     Rule::Get<0, Shader::ALL, 0>(&atan_20B20B),
20222     Rule::Get<0, Shader::ALL, 0>(&atan_30B30B),
20223     Rule::Get<0, Shader::ALL, 0>(&atan_00B),
20224     Rule::Get<0, Shader::ALL, 0>(&atan_10B),
20225     Rule::Get<0, Shader::ALL, 0>(&atan_20B),
20226     Rule::Get<0, Shader::ALL, 0>(&atan_30B),
20227     Rule::Get<300, Shader::ALL, 0>(&sinh_00B),
20228     Rule::Get<300, Shader::ALL, 0>(&sinh_10B),
20229     Rule::Get<300, Shader::ALL, 0>(&sinh_20B),
20230     Rule::Get<300, Shader::ALL, 0>(&sinh_30B),
20231     Rule::Get<300, Shader::ALL, 0>(&cosh_00B),
20232     Rule::Get<300, Shader::ALL, 0>(&cosh_10B),
20233     Rule::Get<300, Shader::ALL, 0>(&cosh_20B),
20234     Rule::Get<300, Shader::ALL, 0>(&cosh_30B),
20235     Rule::Get<300, Shader::ALL, 0>(&tanh_00B),
20236     Rule::Get<300, Shader::ALL, 0>(&tanh_10B),
20237     Rule::Get<300, Shader::ALL, 0>(&tanh_20B),
20238     Rule::Get<300, Shader::ALL, 0>(&tanh_30B),
20239     Rule::Get<300, Shader::ALL, 0>(&asinh_00B),
20240     Rule::Get<300, Shader::ALL, 0>(&asinh_10B),
20241     Rule::Get<300, Shader::ALL, 0>(&asinh_20B),
20242     Rule::Get<300, Shader::ALL, 0>(&asinh_30B),
20243     Rule::Get<300, Shader::ALL, 0>(&acosh_00B),
20244     Rule::Get<300, Shader::ALL, 0>(&acosh_10B),
20245     Rule::Get<300, Shader::ALL, 0>(&acosh_20B),
20246     Rule::Get<300, Shader::ALL, 0>(&acosh_30B),
20247     Rule::Get<300, Shader::ALL, 0>(&atanh_00B),
20248     Rule::Get<300, Shader::ALL, 0>(&atanh_10B),
20249     Rule::Get<300, Shader::ALL, 0>(&atanh_20B),
20250     Rule::Get<300, Shader::ALL, 0>(&atanh_30B),
20251     Rule::Get<0, Shader::ALL, 0>(&pow_00B00B),
20252     Rule::Get<0, Shader::ALL, 0>(&pow_10B10B),
20253     Rule::Get<0, Shader::ALL, 0>(&pow_20B20B),
20254     Rule::Get<0, Shader::ALL, 0>(&pow_30B30B),
20255     Rule::Get<0, Shader::ALL, 0>(&exp_00B),
20256     Rule::Get<0, Shader::ALL, 0>(&exp_10B),
20257     Rule::Get<0, Shader::ALL, 0>(&exp_20B),
20258     Rule::Get<0, Shader::ALL, 0>(&exp_30B),
20259     Rule::Get<0, Shader::ALL, 0>(&log_00B),
20260     Rule::Get<0, Shader::ALL, 0>(&log_10B),
20261     Rule::Get<0, Shader::ALL, 0>(&log_20B),
20262     Rule::Get<0, Shader::ALL, 0>(&log_30B),
20263     Rule::Get<0, Shader::ALL, 0>(&exp2_00B),
20264     Rule::Get<0, Shader::ALL, 0>(&exp2_10B),
20265     Rule::Get<0, Shader::ALL, 0>(&exp2_20B),
20266     Rule::Get<0, Shader::ALL, 0>(&exp2_30B),
20267     Rule::Get<0, Shader::ALL, 0>(&log2_00B),
20268     Rule::Get<0, Shader::ALL, 0>(&log2_10B),
20269     Rule::Get<0, Shader::ALL, 0>(&log2_20B),
20270     Rule::Get<0, Shader::ALL, 0>(&log2_30B),
20271     Rule::Get<0, Shader::ALL, 0>(&sqrt_00B),
20272     Rule::Get<0, Shader::ALL, 0>(&sqrt_10B),
20273     Rule::Get<0, Shader::ALL, 0>(&sqrt_20B),
20274     Rule::Get<0, Shader::ALL, 0>(&sqrt_30B),
20275     Rule::Get<0, Shader::ALL, 0>(&inversesqrt_00B),
20276     Rule::Get<0, Shader::ALL, 0>(&inversesqrt_10B),
20277     Rule::Get<0, Shader::ALL, 0>(&inversesqrt_20B),
20278     Rule::Get<0, Shader::ALL, 0>(&inversesqrt_30B),
20279     Rule::Get<0, Shader::ALL, 0>(&abs_00B),
20280     Rule::Get<0, Shader::ALL, 0>(&abs_10B),
20281     Rule::Get<0, Shader::ALL, 0>(&abs_20B),
20282     Rule::Get<0, Shader::ALL, 0>(&abs_30B),
20283     Rule::Get<300, Shader::ALL, 0>(&abs_00C),
20284     Rule::Get<300, Shader::ALL, 0>(&abs_10C),
20285     Rule::Get<300, Shader::ALL, 0>(&abs_20C),
20286     Rule::Get<300, Shader::ALL, 0>(&abs_30C),
20287     Rule::Get<0, Shader::ALL, 0>(&sign_00B),
20288     Rule::Get<0, Shader::ALL, 0>(&sign_10B),
20289     Rule::Get<0, Shader::ALL, 0>(&sign_20B),
20290     Rule::Get<0, Shader::ALL, 0>(&sign_30B),
20291     Rule::Get<300, Shader::ALL, 0>(&sign_00C),
20292     Rule::Get<300, Shader::ALL, 0>(&sign_10C),
20293     Rule::Get<300, Shader::ALL, 0>(&sign_20C),
20294     Rule::Get<300, Shader::ALL, 0>(&sign_30C),
20295     Rule::Get<0, Shader::ALL, 0>(&floor_00B),
20296     Rule::Get<0, Shader::ALL, 0>(&floor_10B),
20297     Rule::Get<0, Shader::ALL, 0>(&floor_20B),
20298     Rule::Get<0, Shader::ALL, 0>(&floor_30B),
20299     Rule::Get<300, Shader::ALL, 0>(&trunc_00B),
20300     Rule::Get<300, Shader::ALL, 0>(&trunc_10B),
20301     Rule::Get<300, Shader::ALL, 0>(&trunc_20B),
20302     Rule::Get<300, Shader::ALL, 0>(&trunc_30B),
20303     Rule::Get<300, Shader::ALL, 0>(&round_00B),
20304     Rule::Get<300, Shader::ALL, 0>(&round_10B),
20305     Rule::Get<300, Shader::ALL, 0>(&round_20B),
20306     Rule::Get<300, Shader::ALL, 0>(&round_30B),
20307     Rule::Get<300, Shader::ALL, 0>(&roundEven_00B),
20308     Rule::Get<300, Shader::ALL, 0>(&roundEven_10B),
20309     Rule::Get<300, Shader::ALL, 0>(&roundEven_20B),
20310     Rule::Get<300, Shader::ALL, 0>(&roundEven_30B),
20311     Rule::Get<0, Shader::ALL, 0>(&ceil_00B),
20312     Rule::Get<0, Shader::ALL, 0>(&ceil_10B),
20313     Rule::Get<0, Shader::ALL, 0>(&ceil_20B),
20314     Rule::Get<0, Shader::ALL, 0>(&ceil_30B),
20315     Rule::Get<0, Shader::ALL, 0>(&fract_00B),
20316     Rule::Get<0, Shader::ALL, 0>(&fract_10B),
20317     Rule::Get<0, Shader::ALL, 0>(&fract_20B),
20318     Rule::Get<0, Shader::ALL, 0>(&fract_30B),
20319     Rule::Get<0, Shader::ALL, 0>(&mod_00B00B),
20320     Rule::Get<0, Shader::ALL, 0>(&mod_10B00B),
20321     Rule::Get<0, Shader::ALL, 0>(&mod_20B00B),
20322     Rule::Get<0, Shader::ALL, 0>(&mod_30B00B),
20323     Rule::Get<0, Shader::ALL, 0>(&mod_10B10B),
20324     Rule::Get<0, Shader::ALL, 0>(&mod_20B20B),
20325     Rule::Get<0, Shader::ALL, 0>(&mod_30B30B),
20326     Rule::Get<0, Shader::ALL, 0>(&min_00B00B),
20327     Rule::Get<0, Shader::ALL, 0>(&min_10B00B),
20328     Rule::Get<0, Shader::ALL, 0>(&min_20B00B),
20329     Rule::Get<0, Shader::ALL, 0>(&min_30B00B),
20330     Rule::Get<0, Shader::ALL, 0>(&min_10B10B),
20331     Rule::Get<0, Shader::ALL, 0>(&min_20B20B),
20332     Rule::Get<0, Shader::ALL, 0>(&min_30B30B),
20333     Rule::Get<300, Shader::ALL, 0>(&min_00C00C),
20334     Rule::Get<300, Shader::ALL, 0>(&min_10C10C),
20335     Rule::Get<300, Shader::ALL, 0>(&min_20C20C),
20336     Rule::Get<300, Shader::ALL, 0>(&min_30C30C),
20337     Rule::Get<300, Shader::ALL, 0>(&min_10C00C),
20338     Rule::Get<300, Shader::ALL, 0>(&min_20C00C),
20339     Rule::Get<300, Shader::ALL, 0>(&min_30C00C),
20340     Rule::Get<300, Shader::ALL, 0>(&min_00D00D),
20341     Rule::Get<300, Shader::ALL, 0>(&min_10D10D),
20342     Rule::Get<300, Shader::ALL, 0>(&min_20D20D),
20343     Rule::Get<300, Shader::ALL, 0>(&min_30D30D),
20344     Rule::Get<300, Shader::ALL, 0>(&min_10D00D),
20345     Rule::Get<300, Shader::ALL, 0>(&min_20D00D),
20346     Rule::Get<300, Shader::ALL, 0>(&min_30D00D),
20347     Rule::Get<0, Shader::ALL, 0>(&max_00B00B),
20348     Rule::Get<0, Shader::ALL, 0>(&max_10B00B),
20349     Rule::Get<0, Shader::ALL, 0>(&max_20B00B),
20350     Rule::Get<0, Shader::ALL, 0>(&max_30B00B),
20351     Rule::Get<0, Shader::ALL, 0>(&max_10B10B),
20352     Rule::Get<0, Shader::ALL, 0>(&max_20B20B),
20353     Rule::Get<0, Shader::ALL, 0>(&max_30B30B),
20354     Rule::Get<300, Shader::ALL, 0>(&max_00C00C),
20355     Rule::Get<300, Shader::ALL, 0>(&max_10C10C),
20356     Rule::Get<300, Shader::ALL, 0>(&max_20C20C),
20357     Rule::Get<300, Shader::ALL, 0>(&max_30C30C),
20358     Rule::Get<300, Shader::ALL, 0>(&max_10C00C),
20359     Rule::Get<300, Shader::ALL, 0>(&max_20C00C),
20360     Rule::Get<300, Shader::ALL, 0>(&max_30C00C),
20361     Rule::Get<300, Shader::ALL, 0>(&max_00D00D),
20362     Rule::Get<300, Shader::ALL, 0>(&max_10D10D),
20363     Rule::Get<300, Shader::ALL, 0>(&max_20D20D),
20364     Rule::Get<300, Shader::ALL, 0>(&max_30D30D),
20365     Rule::Get<300, Shader::ALL, 0>(&max_10D00D),
20366     Rule::Get<300, Shader::ALL, 0>(&max_20D00D),
20367     Rule::Get<300, Shader::ALL, 0>(&max_30D00D),
20368     Rule::Get<0, Shader::ALL, 0>(&clamp_00B00B00B),
20369     Rule::Get<0, Shader::ALL, 0>(&clamp_10B00B00B),
20370     Rule::Get<0, Shader::ALL, 0>(&clamp_20B00B00B),
20371     Rule::Get<0, Shader::ALL, 0>(&clamp_30B00B00B),
20372     Rule::Get<0, Shader::ALL, 0>(&clamp_10B10B10B),
20373     Rule::Get<0, Shader::ALL, 0>(&clamp_20B20B20B),
20374     Rule::Get<0, Shader::ALL, 0>(&clamp_30B30B30B),
20375     Rule::Get<300, Shader::ALL, 0>(&clamp_00C00C00C),
20376     Rule::Get<300, Shader::ALL, 0>(&clamp_10C00C00C),
20377     Rule::Get<300, Shader::ALL, 0>(&clamp_20C00C00C),
20378     Rule::Get<300, Shader::ALL, 0>(&clamp_30C00C00C),
20379     Rule::Get<300, Shader::ALL, 0>(&clamp_10C10C10C),
20380     Rule::Get<300, Shader::ALL, 0>(&clamp_20C20C20C),
20381     Rule::Get<300, Shader::ALL, 0>(&clamp_30C30C30C),
20382     Rule::Get<300, Shader::ALL, 0>(&clamp_00D00D00D),
20383     Rule::Get<300, Shader::ALL, 0>(&clamp_10D00D00D),
20384     Rule::Get<300, Shader::ALL, 0>(&clamp_20D00D00D),
20385     Rule::Get<300, Shader::ALL, 0>(&clamp_30D00D00D),
20386     Rule::Get<300, Shader::ALL, 0>(&clamp_10D10D10D),
20387     Rule::Get<300, Shader::ALL, 0>(&clamp_20D20D20D),
20388     Rule::Get<300, Shader::ALL, 0>(&clamp_30D30D30D),
20389     Rule::Get<0, Shader::ALL, 0>(&mix_00B00B00B),
20390     Rule::Get<0, Shader::ALL, 0>(&mix_10B10B00B),
20391     Rule::Get<0, Shader::ALL, 0>(&mix_20B20B00B),
20392     Rule::Get<0, Shader::ALL, 0>(&mix_30B30B00B),
20393     Rule::Get<0, Shader::ALL, 0>(&mix_10B10B10B),
20394     Rule::Get<0, Shader::ALL, 0>(&mix_20B20B20B),
20395     Rule::Get<0, Shader::ALL, 0>(&mix_30B30B30B),
20396     Rule::Get<300, Shader::ALL, 0>(&mix_00B00B00E),
20397     Rule::Get<300, Shader::ALL, 0>(&mix_10B10B10E),
20398     Rule::Get<300, Shader::ALL, 0>(&mix_20B20B20E),
20399     Rule::Get<300, Shader::ALL, 0>(&mix_30B30B30E),
20400     Rule::Get<310, Shader::ALL, 0>(&mix_00C00C00E),
20401     Rule::Get<310, Shader::ALL, 0>(&mix_10C10C10E),
20402     Rule::Get<310, Shader::ALL, 0>(&mix_20C20C20E),
20403     Rule::Get<310, Shader::ALL, 0>(&mix_30C30C30E),
20404     Rule::Get<310, Shader::ALL, 0>(&mix_00D00D00E),
20405     Rule::Get<310, Shader::ALL, 0>(&mix_10D10D10E),
20406     Rule::Get<310, Shader::ALL, 0>(&mix_20D20D20E),
20407     Rule::Get<310, Shader::ALL, 0>(&mix_30D30D30E),
20408     Rule::Get<310, Shader::ALL, 0>(&mix_00E00E00E),
20409     Rule::Get<310, Shader::ALL, 0>(&mix_10E10E10E),
20410     Rule::Get<310, Shader::ALL, 0>(&mix_20E20E20E),
20411     Rule::Get<310, Shader::ALL, 0>(&mix_30E30E30E),
20412     Rule::Get<0, Shader::ALL, 0>(&step_00B00B),
20413     Rule::Get<0, Shader::ALL, 0>(&step_10B10B),
20414     Rule::Get<0, Shader::ALL, 0>(&step_20B20B),
20415     Rule::Get<0, Shader::ALL, 0>(&step_30B30B),
20416     Rule::Get<0, Shader::ALL, 0>(&step_00B10B),
20417     Rule::Get<0, Shader::ALL, 0>(&step_00B20B),
20418     Rule::Get<0, Shader::ALL, 0>(&step_00B30B),
20419     Rule::Get<0, Shader::ALL, 0>(&smoothstep_00B00B00B),
20420     Rule::Get<0, Shader::ALL, 0>(&smoothstep_10B10B10B),
20421     Rule::Get<0, Shader::ALL, 0>(&smoothstep_20B20B20B),
20422     Rule::Get<0, Shader::ALL, 0>(&smoothstep_30B30B30B),
20423     Rule::Get<0, Shader::ALL, 0>(&smoothstep_00B00B10B),
20424     Rule::Get<0, Shader::ALL, 0>(&smoothstep_00B00B20B),
20425     Rule::Get<0, Shader::ALL, 0>(&smoothstep_00B00B30B),
20426     Rule::Get<300, Shader::ALL, 0>(&modf_00B00B),
20427     Rule::Get<300, Shader::ALL, 0>(&modf_10B10B),
20428     Rule::Get<300, Shader::ALL, 0>(&modf_20B20B),
20429     Rule::Get<300, Shader::ALL, 0>(&modf_30B30B),
20430     Rule::Get<300, Shader::ALL, 0>(&isnan_00B),
20431     Rule::Get<300, Shader::ALL, 0>(&isnan_10B),
20432     Rule::Get<300, Shader::ALL, 0>(&isnan_20B),
20433     Rule::Get<300, Shader::ALL, 0>(&isnan_30B),
20434     Rule::Get<300, Shader::ALL, 0>(&isinf_00B),
20435     Rule::Get<300, Shader::ALL, 0>(&isinf_10B),
20436     Rule::Get<300, Shader::ALL, 0>(&isinf_20B),
20437     Rule::Get<300, Shader::ALL, 0>(&isinf_30B),
20438     Rule::Get<300, Shader::ALL, 0>(&floatBitsToInt_00B),
20439     Rule::Get<300, Shader::ALL, 0>(&floatBitsToInt_10B),
20440     Rule::Get<300, Shader::ALL, 0>(&floatBitsToInt_20B),
20441     Rule::Get<300, Shader::ALL, 0>(&floatBitsToInt_30B),
20442     Rule::Get<300, Shader::ALL, 0>(&floatBitsToUint_00B),
20443     Rule::Get<300, Shader::ALL, 0>(&floatBitsToUint_10B),
20444     Rule::Get<300, Shader::ALL, 0>(&floatBitsToUint_20B),
20445     Rule::Get<300, Shader::ALL, 0>(&floatBitsToUint_30B),
20446     Rule::Get<300, Shader::ALL, 0>(&intBitsToFloat_00C),
20447     Rule::Get<300, Shader::ALL, 0>(&intBitsToFloat_10C),
20448     Rule::Get<300, Shader::ALL, 0>(&intBitsToFloat_20C),
20449     Rule::Get<300, Shader::ALL, 0>(&intBitsToFloat_30C),
20450     Rule::Get<300, Shader::ALL, 0>(&uintBitsToFloat_00D),
20451     Rule::Get<300, Shader::ALL, 0>(&uintBitsToFloat_10D),
20452     Rule::Get<300, Shader::ALL, 0>(&uintBitsToFloat_20D),
20453     Rule::Get<300, Shader::ALL, 0>(&uintBitsToFloat_30D),
20454     Rule::Get<320, Shader::ALL, 0>(&fma_00B00B00B),
20455     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_00B00B00B),
20456     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&fmaExt_00B00B00B),
20457     Rule::Get<320, Shader::ALL, 0>(&fma_10B10B10B),
20458     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_10B10B10B),
20459     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&fmaExt_10B10B10B),
20460     Rule::Get<320, Shader::ALL, 0>(&fma_20B20B20B),
20461     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_20B20B20B),
20462     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&fmaExt_20B20B20B),
20463     Rule::Get<320, Shader::ALL, 0>(&fma_30B30B30B),
20464     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_30B30B30B),
20465     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&fmaExt_30B30B30B),
20466     Rule::Get<310, Shader::ALL, 0>(&frexp_00B00C),
20467     Rule::Get<310, Shader::ALL, 0>(&frexp_10B10C),
20468     Rule::Get<310, Shader::ALL, 0>(&frexp_20B20C),
20469     Rule::Get<310, Shader::ALL, 0>(&frexp_30B30C),
20470     Rule::Get<310, Shader::ALL, 0>(&ldexp_00B00C),
20471     Rule::Get<310, Shader::ALL, 0>(&ldexp_10B10C),
20472     Rule::Get<310, Shader::ALL, 0>(&ldexp_20B20C),
20473     Rule::Get<310, Shader::ALL, 0>(&ldexp_30B30C),
20474     Rule::Get<300, Shader::ALL, 0>(&packSnorm2x16_10B),
20475     Rule::Get<300, Shader::ALL, 0>(&packHalf2x16_10B),
20476     Rule::Get<300, Shader::ALL, 0>(&unpackSnorm2x16_00D),
20477     Rule::Get<300, Shader::ALL, 0>(&unpackHalf2x16_00D),
20478     Rule::Get<300, Shader::ALL, 0>(&packUnorm2x16_10B),
20479     Rule::Get<300, Shader::ALL, 0>(&unpackUnorm2x16_00D),
20480     Rule::Get<310, Shader::ALL, 0>(&packUnorm4x8_30B),
20481     Rule::Get<310, Shader::ALL, 0>(&packSnorm4x8_30B),
20482     Rule::Get<310, Shader::ALL, 0>(&unpackUnorm4x8_00D),
20483     Rule::Get<310, Shader::ALL, 0>(&unpackSnorm4x8_00D),
20484     Rule::Get<0, Shader::ALL, 0>(&length_00B),
20485     Rule::Get<0, Shader::ALL, 0>(&length_10B),
20486     Rule::Get<0, Shader::ALL, 0>(&length_20B),
20487     Rule::Get<0, Shader::ALL, 0>(&length_30B),
20488     Rule::Get<0, Shader::ALL, 0>(&distance_00B00B),
20489     Rule::Get<0, Shader::ALL, 0>(&distance_10B10B),
20490     Rule::Get<0, Shader::ALL, 0>(&distance_20B20B),
20491     Rule::Get<0, Shader::ALL, 0>(&distance_30B30B),
20492     Rule::Get<0, Shader::ALL, 0>(&dot_00B00B),
20493     Rule::Get<0, Shader::ALL, 0>(&dot_10B10B),
20494     Rule::Get<0, Shader::ALL, 0>(&dot_20B20B),
20495     Rule::Get<0, Shader::ALL, 0>(&dot_30B30B),
20496     Rule::Get<0, Shader::ALL, 0>(&cross_20B20B),
20497     Rule::Get<0, Shader::ALL, 0>(&normalize_00B),
20498     Rule::Get<0, Shader::ALL, 0>(&normalize_10B),
20499     Rule::Get<0, Shader::ALL, 0>(&normalize_20B),
20500     Rule::Get<0, Shader::ALL, 0>(&normalize_30B),
20501     Rule::Get<0, Shader::ALL, 0>(&faceforward_00B00B00B),
20502     Rule::Get<0, Shader::ALL, 0>(&faceforward_10B10B10B),
20503     Rule::Get<0, Shader::ALL, 0>(&faceforward_20B20B20B),
20504     Rule::Get<0, Shader::ALL, 0>(&faceforward_30B30B30B),
20505     Rule::Get<0, Shader::ALL, 0>(&reflect_00B00B),
20506     Rule::Get<0, Shader::ALL, 0>(&reflect_10B10B),
20507     Rule::Get<0, Shader::ALL, 0>(&reflect_20B20B),
20508     Rule::Get<0, Shader::ALL, 0>(&reflect_30B30B),
20509     Rule::Get<0, Shader::ALL, 0>(&refract_00B00B00B),
20510     Rule::Get<0, Shader::ALL, 0>(&refract_10B10B00B),
20511     Rule::Get<0, Shader::ALL, 0>(&refract_20B20B00B),
20512     Rule::Get<0, Shader::ALL, 0>(&refract_30B30B00B),
20513     Rule::Get<0, Shader::ALL, 0>(&matrixCompMult_50B50B),
20514     Rule::Get<0, Shader::ALL, 0>(&matrixCompMult_A0BA0B),
20515     Rule::Get<0, Shader::ALL, 0>(&matrixCompMult_F0BF0B),
20516     Rule::Get<300, Shader::ALL, 0>(&matrixCompMult_90B90B),
20517     Rule::Get<300, Shader::ALL, 0>(&matrixCompMult_60B60B),
20518     Rule::Get<300, Shader::ALL, 0>(&matrixCompMult_D0BD0B),
20519     Rule::Get<300, Shader::ALL, 0>(&matrixCompMult_70B70B),
20520     Rule::Get<300, Shader::ALL, 0>(&matrixCompMult_E0BE0B),
20521     Rule::Get<300, Shader::ALL, 0>(&matrixCompMult_B0BB0B),
20522     Rule::Get<300, Shader::ALL, 0>(&outerProduct_10B10B),
20523     Rule::Get<300, Shader::ALL, 0>(&outerProduct_20B20B),
20524     Rule::Get<300, Shader::ALL, 0>(&outerProduct_30B30B),
20525     Rule::Get<300, Shader::ALL, 0>(&outerProduct_20B10B),
20526     Rule::Get<300, Shader::ALL, 0>(&outerProduct_10B20B),
20527     Rule::Get<300, Shader::ALL, 0>(&outerProduct_30B10B),
20528     Rule::Get<300, Shader::ALL, 0>(&outerProduct_10B30B),
20529     Rule::Get<300, Shader::ALL, 0>(&outerProduct_30B20B),
20530     Rule::Get<300, Shader::ALL, 0>(&outerProduct_20B30B),
20531     Rule::Get<300, Shader::ALL, 0>(&transpose_50B),
20532     Rule::Get<300, Shader::ALL, 0>(&transpose_A0B),
20533     Rule::Get<300, Shader::ALL, 0>(&transpose_F0B),
20534     Rule::Get<300, Shader::ALL, 0>(&transpose_60B),
20535     Rule::Get<300, Shader::ALL, 0>(&transpose_90B),
20536     Rule::Get<300, Shader::ALL, 0>(&transpose_70B),
20537     Rule::Get<300, Shader::ALL, 0>(&transpose_D0B),
20538     Rule::Get<300, Shader::ALL, 0>(&transpose_B0B),
20539     Rule::Get<300, Shader::ALL, 0>(&transpose_E0B),
20540     Rule::Get<300, Shader::ALL, 0>(&determinant_50B),
20541     Rule::Get<300, Shader::ALL, 0>(&determinant_A0B),
20542     Rule::Get<300, Shader::ALL, 0>(&determinant_F0B),
20543     Rule::Get<300, Shader::ALL, 0>(&inverse_50B),
20544     Rule::Get<300, Shader::ALL, 0>(&inverse_A0B),
20545     Rule::Get<300, Shader::ALL, 0>(&inverse_F0B),
20546     Rule::Get<0, Shader::ALL, 0>(&lessThan_10B10B),
20547     Rule::Get<0, Shader::ALL, 0>(&lessThan_20B20B),
20548     Rule::Get<0, Shader::ALL, 0>(&lessThan_30B30B),
20549     Rule::Get<0, Shader::ALL, 0>(&lessThan_10C10C),
20550     Rule::Get<0, Shader::ALL, 0>(&lessThan_20C20C),
20551     Rule::Get<0, Shader::ALL, 0>(&lessThan_30C30C),
20552     Rule::Get<300, Shader::ALL, 0>(&lessThan_10D10D),
20553     Rule::Get<300, Shader::ALL, 0>(&lessThan_20D20D),
20554     Rule::Get<300, Shader::ALL, 0>(&lessThan_30D30D),
20555     Rule::Get<0, Shader::ALL, 0>(&lessThanEqual_10B10B),
20556     Rule::Get<0, Shader::ALL, 0>(&lessThanEqual_20B20B),
20557     Rule::Get<0, Shader::ALL, 0>(&lessThanEqual_30B30B),
20558     Rule::Get<0, Shader::ALL, 0>(&lessThanEqual_10C10C),
20559     Rule::Get<0, Shader::ALL, 0>(&lessThanEqual_20C20C),
20560     Rule::Get<0, Shader::ALL, 0>(&lessThanEqual_30C30C),
20561     Rule::Get<300, Shader::ALL, 0>(&lessThanEqual_10D10D),
20562     Rule::Get<300, Shader::ALL, 0>(&lessThanEqual_20D20D),
20563     Rule::Get<300, Shader::ALL, 0>(&lessThanEqual_30D30D),
20564     Rule::Get<0, Shader::ALL, 0>(&greaterThan_10B10B),
20565     Rule::Get<0, Shader::ALL, 0>(&greaterThan_20B20B),
20566     Rule::Get<0, Shader::ALL, 0>(&greaterThan_30B30B),
20567     Rule::Get<0, Shader::ALL, 0>(&greaterThan_10C10C),
20568     Rule::Get<0, Shader::ALL, 0>(&greaterThan_20C20C),
20569     Rule::Get<0, Shader::ALL, 0>(&greaterThan_30C30C),
20570     Rule::Get<300, Shader::ALL, 0>(&greaterThan_10D10D),
20571     Rule::Get<300, Shader::ALL, 0>(&greaterThan_20D20D),
20572     Rule::Get<300, Shader::ALL, 0>(&greaterThan_30D30D),
20573     Rule::Get<0, Shader::ALL, 0>(&greaterThanEqual_10B10B),
20574     Rule::Get<0, Shader::ALL, 0>(&greaterThanEqual_20B20B),
20575     Rule::Get<0, Shader::ALL, 0>(&greaterThanEqual_30B30B),
20576     Rule::Get<0, Shader::ALL, 0>(&greaterThanEqual_10C10C),
20577     Rule::Get<0, Shader::ALL, 0>(&greaterThanEqual_20C20C),
20578     Rule::Get<0, Shader::ALL, 0>(&greaterThanEqual_30C30C),
20579     Rule::Get<300, Shader::ALL, 0>(&greaterThanEqual_10D10D),
20580     Rule::Get<300, Shader::ALL, 0>(&greaterThanEqual_20D20D),
20581     Rule::Get<300, Shader::ALL, 0>(&greaterThanEqual_30D30D),
20582     Rule::Get<0, Shader::ALL, 0>(&equal_10B10B),
20583     Rule::Get<0, Shader::ALL, 0>(&equal_20B20B),
20584     Rule::Get<0, Shader::ALL, 0>(&equal_30B30B),
20585     Rule::Get<0, Shader::ALL, 0>(&equal_10C10C),
20586     Rule::Get<0, Shader::ALL, 0>(&equal_20C20C),
20587     Rule::Get<0, Shader::ALL, 0>(&equal_30C30C),
20588     Rule::Get<300, Shader::ALL, 0>(&equal_10D10D),
20589     Rule::Get<300, Shader::ALL, 0>(&equal_20D20D),
20590     Rule::Get<300, Shader::ALL, 0>(&equal_30D30D),
20591     Rule::Get<0, Shader::ALL, 0>(&equal_10E10E),
20592     Rule::Get<0, Shader::ALL, 0>(&equal_20E20E),
20593     Rule::Get<0, Shader::ALL, 0>(&equal_30E30E),
20594     Rule::Get<0, Shader::ALL, 0>(&notEqual_10B10B),
20595     Rule::Get<0, Shader::ALL, 0>(&notEqual_20B20B),
20596     Rule::Get<0, Shader::ALL, 0>(&notEqual_30B30B),
20597     Rule::Get<0, Shader::ALL, 0>(&notEqual_10C10C),
20598     Rule::Get<0, Shader::ALL, 0>(&notEqual_20C20C),
20599     Rule::Get<0, Shader::ALL, 0>(&notEqual_30C30C),
20600     Rule::Get<300, Shader::ALL, 0>(&notEqual_10D10D),
20601     Rule::Get<300, Shader::ALL, 0>(&notEqual_20D20D),
20602     Rule::Get<300, Shader::ALL, 0>(&notEqual_30D30D),
20603     Rule::Get<0, Shader::ALL, 0>(&notEqual_10E10E),
20604     Rule::Get<0, Shader::ALL, 0>(&notEqual_20E20E),
20605     Rule::Get<0, Shader::ALL, 0>(&notEqual_30E30E),
20606     Rule::Get<0, Shader::ALL, 0>(&any_10E),
20607     Rule::Get<0, Shader::ALL, 0>(&any_20E),
20608     Rule::Get<0, Shader::ALL, 0>(&any_30E),
20609     Rule::Get<0, Shader::ALL, 0>(&all_10E),
20610     Rule::Get<0, Shader::ALL, 0>(&all_20E),
20611     Rule::Get<0, Shader::ALL, 0>(&all_30E),
20612     Rule::Get<0, Shader::ALL, 0>(&notFunc_10E),
20613     Rule::Get<0, Shader::ALL, 0>(&notFunc_20E),
20614     Rule::Get<0, Shader::ALL, 0>(&notFunc_30E),
20615     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_00C00C00C),
20616     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_10C00C00C),
20617     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_20C00C00C),
20618     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_30C00C00C),
20619     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_00D00C00C),
20620     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_10D00C00C),
20621     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_20D00C00C),
20622     Rule::Get<310, Shader::ALL, 0>(&bitfieldExtract_30D00C00C),
20623     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_00C00C00C00C),
20624     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_10C10C00C00C),
20625     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_20C20C00C00C),
20626     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_30C30C00C00C),
20627     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_00D00D00C00C),
20628     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_10D10D00C00C),
20629     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_20D20D00C00C),
20630     Rule::Get<310, Shader::ALL, 0>(&bitfieldInsert_30D30D00C00C),
20631     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_00C),
20632     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_10C),
20633     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_20C),
20634     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_30C),
20635     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_00D),
20636     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_10D),
20637     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_20D),
20638     Rule::Get<310, Shader::ALL, 0>(&bitfieldReverse_30D),
20639     Rule::Get<310, Shader::ALL, 0>(&bitCount_00C),
20640     Rule::Get<310, Shader::ALL, 0>(&bitCount_10C),
20641     Rule::Get<310, Shader::ALL, 0>(&bitCount_20C),
20642     Rule::Get<310, Shader::ALL, 0>(&bitCount_30C),
20643     Rule::Get<310, Shader::ALL, 0>(&bitCount_00D),
20644     Rule::Get<310, Shader::ALL, 0>(&bitCount_10D),
20645     Rule::Get<310, Shader::ALL, 0>(&bitCount_20D),
20646     Rule::Get<310, Shader::ALL, 0>(&bitCount_30D),
20647     Rule::Get<310, Shader::ALL, 0>(&findLSB_00C),
20648     Rule::Get<310, Shader::ALL, 0>(&findLSB_10C),
20649     Rule::Get<310, Shader::ALL, 0>(&findLSB_20C),
20650     Rule::Get<310, Shader::ALL, 0>(&findLSB_30C),
20651     Rule::Get<310, Shader::ALL, 0>(&findLSB_00D),
20652     Rule::Get<310, Shader::ALL, 0>(&findLSB_10D),
20653     Rule::Get<310, Shader::ALL, 0>(&findLSB_20D),
20654     Rule::Get<310, Shader::ALL, 0>(&findLSB_30D),
20655     Rule::Get<310, Shader::ALL, 0>(&findMSB_00C),
20656     Rule::Get<310, Shader::ALL, 0>(&findMSB_10C),
20657     Rule::Get<310, Shader::ALL, 0>(&findMSB_20C),
20658     Rule::Get<310, Shader::ALL, 0>(&findMSB_30C),
20659     Rule::Get<310, Shader::ALL, 0>(&findMSB_00D),
20660     Rule::Get<310, Shader::ALL, 0>(&findMSB_10D),
20661     Rule::Get<310, Shader::ALL, 0>(&findMSB_20D),
20662     Rule::Get<310, Shader::ALL, 0>(&findMSB_30D),
20663     Rule::Get<310, Shader::ALL, 0>(&uaddCarry_00D00D00D),
20664     Rule::Get<310, Shader::ALL, 0>(&uaddCarry_10D10D10D),
20665     Rule::Get<310, Shader::ALL, 0>(&uaddCarry_20D20D20D),
20666     Rule::Get<310, Shader::ALL, 0>(&uaddCarry_30D30D30D),
20667     Rule::Get<310, Shader::ALL, 0>(&usubBorrow_00D00D00D),
20668     Rule::Get<310, Shader::ALL, 0>(&usubBorrow_10D10D10D),
20669     Rule::Get<310, Shader::ALL, 0>(&usubBorrow_20D20D20D),
20670     Rule::Get<310, Shader::ALL, 0>(&usubBorrow_30D30D30D),
20671     Rule::Get<310, Shader::ALL, 0>(&umulExtended_00D00D00D00D),
20672     Rule::Get<310, Shader::ALL, 0>(&umulExtended_10D10D10D10D),
20673     Rule::Get<310, Shader::ALL, 0>(&umulExtended_20D20D20D20D),
20674     Rule::Get<310, Shader::ALL, 0>(&umulExtended_30D30D30D30D),
20675     Rule::Get<310, Shader::ALL, 0>(&imulExtended_00C00C00C00C),
20676     Rule::Get<310, Shader::ALL, 0>(&imulExtended_10C10C10C10C),
20677     Rule::Get<310, Shader::ALL, 0>(&imulExtended_20C20C20C20C),
20678     Rule::Get<310, Shader::ALL, 0>(&imulExtended_30C30C30C30C),
20679     Rule::Get<100, Shader::ALL, 0>(&texture2D_00H10B),
20680     Rule::Get<100, Shader::ALL, 0>(&texture2DProj_00H20B),
20681     Rule::Get<100, Shader::ALL, 0>(&texture2DProj_00H30B),
20682     Rule::Get<100, Shader::ALL, 0>(&textureCube_00J20B),
20683     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3D_00I20B),
20684     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3DProj_00I30B),
20685     Rule::Get<100, Shader::ALL, EXT_INDEX(EXT_shadow_samplers)>(&shadow2DEXT_00c20B),
20686     Rule::Get<100, Shader::ALL, EXT_INDEX(EXT_shadow_samplers)>(&shadow2DProjEXT_00c30B),
20687     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_EGL_image_external)>(&texture2D_00L10B),
20688     Rule::Get<100, Shader::ALL, EXT_INDEX(NV_EGL_stream_consumer_external)>(&texture2D_00L10B),
20689     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_EGL_image_external)>(&texture2DProj_00L20B),
20690     Rule::Get<100, Shader::ALL, EXT_INDEX(NV_EGL_stream_consumer_external)>(&texture2DProj_00L20B),
20691     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_EGL_image_external)>(&texture2DProj_00L30B),
20692     Rule::Get<100, Shader::ALL, EXT_INDEX(NV_EGL_stream_consumer_external)>(&texture2DProj_00L30B),
20693     Rule::Get<100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture2DRect_00N10B),
20694     Rule::Get<100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture2DRectProj_00N20B),
20695     Rule::Get<100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture2DRectProj_00N30B),
20696     Rule::Get<100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(&texture2DGradEXT_00H10B10B10B),
20697     Rule::Get<100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
20698         &texture2DProjGradEXT_00H20B10B10B),
20699     Rule::Get<100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
20700         &texture2DProjGradEXT_00H30B10B10B),
20701     Rule::Get<100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
20702         &textureCubeGradEXT_00J20B20B20B),
20703     Rule::Get<100, Shader::ALL, 0>(&textureVideoWEBGL_00p10B),
20704     Rule::Get<100, Shader::FRAGMENT, 0>(&texture2D_00H10B00B),
20705     Rule::Get<100, Shader::FRAGMENT, 0>(&texture2DProj_00H20B00B),
20706     Rule::Get<100, Shader::FRAGMENT, 0>(&texture2DProj_00H30B00B),
20707     Rule::Get<100, Shader::FRAGMENT, 0>(&textureCube_00J20B00B),
20708     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3D_00I20B00B),
20709     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3DProj_00I30B00B),
20710     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3DLod_00I20B00B),
20711     Rule::Get<100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3DProjLod_00I30B00B),
20712     Rule::Get<100, Shader::VERTEX, 0>(&texture2DLod_00H10B00B),
20713     Rule::Get<100, Shader::VERTEX, 0>(&texture2DProjLod_00H20B00B),
20714     Rule::Get<100, Shader::VERTEX, 0>(&texture2DProjLod_00H30B00B),
20715     Rule::Get<100, Shader::VERTEX, 0>(&textureCubeLod_00J20B00B),
20716     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(&texture2DLodEXT_00H10B00B),
20717     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
20718         &texture2DProjLodEXT_00H20B00B),
20719     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
20720         &texture2DProjLodEXT_00H30B00B),
20721     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
20722         &textureCubeLodEXT_00J20B00B),
20723     Rule::Get<300, Shader::ALL, 0>(&texture_00H10B),
20724     Rule::Get<300, Shader::ALL, 0>(&texture_00Q10B),
20725     Rule::Get<300, Shader::ALL, 0>(&texture_00W10B),
20726     Rule::Get<300, Shader::ALL, 0>(&texture_00I20B),
20727     Rule::Get<300, Shader::ALL, 0>(&texture_00R20B),
20728     Rule::Get<300, Shader::ALL, 0>(&texture_00X20B),
20729     Rule::Get<300, Shader::ALL, 0>(&texture_00J20B),
20730     Rule::Get<300, Shader::ALL, 0>(&texture_00S20B),
20731     Rule::Get<300, Shader::ALL, 0>(&texture_00Y20B),
20732     Rule::Get<300, Shader::ALL, 0>(&texture_00K20B),
20733     Rule::Get<300, Shader::ALL, 0>(&texture_00T20B),
20734     Rule::Get<300, Shader::ALL, 0>(&texture_00Z20B),
20735     Rule::Get<300, Shader::ALL, 0>(&texture_00c20B),
20736     Rule::Get<300, Shader::ALL, 0>(&texture_00d30B),
20737     Rule::Get<300, Shader::ALL, 0>(&texture_00e30B),
20738     Rule::Get<320, Shader::ALL, 0>(&texture_00g30B),
20739     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00g30B),
20740     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00g30B),
20741     Rule::Get<320, Shader::ALL, 0>(&texture_00l30B),
20742     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00l30B),
20743     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00l30B),
20744     Rule::Get<320, Shader::ALL, 0>(&texture_00o30B),
20745     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00o30B),
20746     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00o30B),
20747     Rule::Get<320, Shader::ALL, 0>(&texture_00h30B00B),
20748     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00h30B00B),
20749     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00h30B00B),
20750     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(&texture_00L10B),
20751     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texture_00M10B),
20752     Rule::Get<300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture_00N10B),
20753     Rule::Get<300, Shader::ALL, 0>(&texture_00p10B),
20754     Rule::Get<300, Shader::ALL, 0>(&textureProj_00H20B),
20755     Rule::Get<300, Shader::ALL, 0>(&textureProj_00Q20B),
20756     Rule::Get<300, Shader::ALL, 0>(&textureProj_00W20B),
20757     Rule::Get<300, Shader::ALL, 0>(&textureProj_00H30B),
20758     Rule::Get<300, Shader::ALL, 0>(&textureProj_00Q30B),
20759     Rule::Get<300, Shader::ALL, 0>(&textureProj_00W30B),
20760     Rule::Get<300, Shader::ALL, 0>(&textureProj_00I30B),
20761     Rule::Get<300, Shader::ALL, 0>(&textureProj_00R30B),
20762     Rule::Get<300, Shader::ALL, 0>(&textureProj_00X30B),
20763     Rule::Get<300, Shader::ALL, 0>(&textureProj_00c30B),
20764     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(&textureProj_00L20B),
20765     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(&textureProj_00L30B),
20766     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00M20B),
20767     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00M30B),
20768     Rule::Get<300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00N20B),
20769     Rule::Get<300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00N30B),
20770     Rule::Get<300, Shader::ALL, 0>(&textureLod_00H10B00B),
20771     Rule::Get<300, Shader::ALL, 0>(&textureLod_00Q10B00B),
20772     Rule::Get<300, Shader::ALL, 0>(&textureLod_00W10B00B),
20773     Rule::Get<300, Shader::ALL, 0>(&textureLod_00I20B00B),
20774     Rule::Get<300, Shader::ALL, 0>(&textureLod_00R20B00B),
20775     Rule::Get<300, Shader::ALL, 0>(&textureLod_00X20B00B),
20776     Rule::Get<300, Shader::ALL, 0>(&textureLod_00J20B00B),
20777     Rule::Get<300, Shader::ALL, 0>(&textureLod_00S20B00B),
20778     Rule::Get<300, Shader::ALL, 0>(&textureLod_00Y20B00B),
20779     Rule::Get<300, Shader::ALL, 0>(&textureLod_00K20B00B),
20780     Rule::Get<300, Shader::ALL, 0>(&textureLod_00T20B00B),
20781     Rule::Get<300, Shader::ALL, 0>(&textureLod_00Z20B00B),
20782     Rule::Get<300, Shader::ALL, 0>(&textureLod_00c20B00B),
20783     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_texture_shadow_lod)>(&textureLod_00d30B00B),
20784     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_texture_shadow_lod)>(&textureLod_00e30B00B),
20785     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_shadow_lod)>(&textureLod_00h30B00B00B),
20786     Rule::Get<320, Shader::ALL, 0>(&textureLod_00g30B00B),
20787     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureLodExt_00g30B00B),
20788     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureLodExt_00g30B00B),
20789     Rule::Get<320, Shader::ALL, 0>(&textureLod_00l30B00B),
20790     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureLodExt_00l30B00B),
20791     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureLodExt_00l30B00B),
20792     Rule::Get<320, Shader::ALL, 0>(&textureLod_00o30B00B),
20793     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureLodExt_00o30B00B),
20794     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureLodExt_00o30B00B),
20795     Rule::Get<300, Shader::ALL, 0>(&textureSize_00H00C),
20796     Rule::Get<300, Shader::ALL, 0>(&textureSize_00Q00C),
20797     Rule::Get<300, Shader::ALL, 0>(&textureSize_00W00C),
20798     Rule::Get<300, Shader::ALL, 0>(&textureSize_00I00C),
20799     Rule::Get<300, Shader::ALL, 0>(&textureSize_00R00C),
20800     Rule::Get<300, Shader::ALL, 0>(&textureSize_00X00C),
20801     Rule::Get<300, Shader::ALL, 0>(&textureSize_00J00C),
20802     Rule::Get<300, Shader::ALL, 0>(&textureSize_00S00C),
20803     Rule::Get<300, Shader::ALL, 0>(&textureSize_00Y00C),
20804     Rule::Get<300, Shader::ALL, 0>(&textureSize_00K00C),
20805     Rule::Get<300, Shader::ALL, 0>(&textureSize_00T00C),
20806     Rule::Get<300, Shader::ALL, 0>(&textureSize_00Z00C),
20807     Rule::Get<300, Shader::ALL, 0>(&textureSize_00c00C),
20808     Rule::Get<300, Shader::ALL, 0>(&textureSize_00d00C),
20809     Rule::Get<300, Shader::ALL, 0>(&textureSize_00e00C),
20810     Rule::Get<320, Shader::ALL, 0>(&textureSize_00g00C),
20811     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureSizeExt_00g00C),
20812     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureSizeExt_00g00C),
20813     Rule::Get<320, Shader::ALL, 0>(&textureSize_00l00C),
20814     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureSizeExt_00l00C),
20815     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureSizeExt_00l00C),
20816     Rule::Get<320, Shader::ALL, 0>(&textureSize_00o00C),
20817     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureSizeExt_00o00C),
20818     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureSizeExt_00o00C),
20819     Rule::Get<320, Shader::ALL, 0>(&textureSize_00h00C),
20820     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureSizeExt_00h00C),
20821     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureSizeExt_00h00C),
20822     Rule::Get<320, Shader::ALL, 0>(&textureSize_00f),
20823     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&textureSizeExt_00f),
20824     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&textureSizeExt_00f),
20825     Rule::Get<320, Shader::ALL, 0>(&textureSize_00k),
20826     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&textureSizeExt_00k),
20827     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&textureSizeExt_00k),
20828     Rule::Get<320, Shader::ALL, 0>(&textureSize_00n),
20829     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&textureSizeExt_00n),
20830     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&textureSizeExt_00n),
20831     Rule::Get<310, Shader::ALL, 0>(&textureSize_00O),
20832     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(&textureSizeExt_00O),
20833     Rule::Get<310, Shader::ALL, 0>(&textureSize_00U),
20834     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(&textureSizeExt_00U),
20835     Rule::Get<310, Shader::ALL, 0>(&textureSize_00a),
20836     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(&textureSizeExt_00a),
20837     Rule::Get<320, Shader::ALL, 0>(&textureSize_00P),
20838     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
20839         &textureSizeExt_00P),
20840     Rule::Get<320, Shader::ALL, 0>(&textureSize_00V),
20841     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
20842         &textureSizeExt_00V),
20843     Rule::Get<320, Shader::ALL, 0>(&textureSize_00b),
20844     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
20845         &textureSizeExt_00b),
20846     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(&textureSize_00L00C),
20847     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureSize_00M00C),
20848     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00H20B00B),
20849     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00Q20B00B),
20850     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00W20B00B),
20851     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00H30B00B),
20852     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00Q30B00B),
20853     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00W30B00B),
20854     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00I30B00B),
20855     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00R30B00B),
20856     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00X30B00B),
20857     Rule::Get<300, Shader::ALL, 0>(&textureProjLod_00c30B00B),
20858     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00H10C00C),
20859     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00Q10C00C),
20860     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00W10C00C),
20861     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00I20C00C),
20862     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00R20C00C),
20863     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00X20C00C),
20864     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00K20C00C),
20865     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00T20C00C),
20866     Rule::Get<300, Shader::ALL, 0>(&texelFetch_00Z20C00C),
20867     Rule::Get<320, Shader::ALL, 0>(&texelFetch_00f00C),
20868     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&texelFetchExt_00f00C),
20869     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&texelFetchExt_00f00C),
20870     Rule::Get<320, Shader::ALL, 0>(&texelFetch_00k00C),
20871     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&texelFetchExt_00k00C),
20872     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&texelFetchExt_00k00C),
20873     Rule::Get<320, Shader::ALL, 0>(&texelFetch_00n00C),
20874     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&texelFetchExt_00n00C),
20875     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&texelFetchExt_00n00C),
20876     Rule::Get<310, Shader::ALL, 0>(&texelFetch_00O10C00C),
20877     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(&texelFetchExt_00O10C00C),
20878     Rule::Get<310, Shader::ALL, 0>(&texelFetch_00U10C00C),
20879     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(&texelFetchExt_00U10C00C),
20880     Rule::Get<310, Shader::ALL, 0>(&texelFetch_00a10C00C),
20881     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(&texelFetchExt_00a10C00C),
20882     Rule::Get<320, Shader::ALL, 0>(&texelFetch_00P20C00C),
20883     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
20884         &texelFetchExt_00P20C00C),
20885     Rule::Get<320, Shader::ALL, 0>(&texelFetch_00V20C00C),
20886     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
20887         &texelFetchExt_00V20C00C),
20888     Rule::Get<320, Shader::ALL, 0>(&texelFetch_00b20C00C),
20889     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
20890         &texelFetchExt_00b20C00C),
20891     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(&texelFetch_00L10C00C),
20892     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texelFetch_00M10C00C),
20893     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00H10B10B10B),
20894     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00Q10B10B10B),
20895     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00W10B10B10B),
20896     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00I20B20B20B),
20897     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00R20B20B20B),
20898     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00X20B20B20B),
20899     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00J20B20B20B),
20900     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00S20B20B20B),
20901     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
20902     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00c20B10B10B),
20903     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00d30B20B20B),
20904     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00K20B10B10B),
20905     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00T20B10B10B),
20906     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00Z20B10B10B),
20907     Rule::Get<300, Shader::ALL, 0>(&textureGrad_00e30B10B10B),
20908     Rule::Get<320, Shader::ALL, 0>(&textureGrad_00g30B20B20B),
20909     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(
20910         &textureGradExt_00g30B20B20B),
20911     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(
20912         &textureGradExt_00g30B20B20B),
20913     Rule::Get<320, Shader::ALL, 0>(&textureGrad_00l30B20B20B),
20914     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(
20915         &textureGradExt_00l30B20B20B),
20916     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(
20917         &textureGradExt_00l30B20B20B),
20918     Rule::Get<320, Shader::ALL, 0>(&textureGrad_00o30B20B20B),
20919     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(
20920         &textureGradExt_00o30B20B20B),
20921     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(
20922         &textureGradExt_00o30B20B20B),
20923     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00H20B10B10B),
20924     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00Q20B10B10B),
20925     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00W20B10B10B),
20926     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00H30B10B10B),
20927     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00Q30B10B10B),
20928     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00W30B10B10B),
20929     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00I30B20B20B),
20930     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00R30B20B20B),
20931     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00X30B20B20B),
20932     Rule::Get<300, Shader::ALL, 0>(&textureProjGrad_00c30B10B10B),
20933     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00H10B00B),
20934     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00Q10B00B),
20935     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00W10B00B),
20936     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00I20B00B),
20937     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00R20B00B),
20938     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00X20B00B),
20939     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00J20B00B),
20940     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00S20B00B),
20941     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00Y20B00B),
20942     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00K20B00B),
20943     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00T20B00B),
20944     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00Z20B00B),
20945     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00H20B00B),
20946     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00Q20B00B),
20947     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00W20B00B),
20948     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00H30B00B),
20949     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00Q30B00B),
20950     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00W30B00B),
20951     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00I30B00B),
20952     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
20953     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
20954     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00c20B00B),
20955     Rule::Get<300, Shader::FRAGMENT, 0>(&texture_00d30B00B),
20956     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProj_00c30B00B),
20957     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_shadow_lod)>(&texture_00e30B00B),
20958     Rule::Get<320, Shader::FRAGMENT, 0>(&texture_00g30B00B),
20959     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00g30B00B),
20960     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00g30B00B),
20961     Rule::Get<320, Shader::FRAGMENT, 0>(&texture_00l30B00B),
20962     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00l30B00B),
20963     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00l30B00B),
20964     Rule::Get<320, Shader::FRAGMENT, 0>(&texture_00o30B00B),
20965     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(OES_texture_cube_map_array)>(&textureExt_00o30B00B),
20966     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_cube_map_array)>(&textureExt_00o30B00B),
20967     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_shadow_lod)>(&texture_00h30B00B00B),
20968     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(&texture_00L10B00B),
20969     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
20970         &textureProj_00L20B00B),
20971     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
20972         &textureProj_00L30B00B),
20973     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&texture_00M10B00B),
20974     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00M20B00B),
20975     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00M30B00B),
20976     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00H10B10C),
20977     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00Q10B10C),
20978     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00W10B10C),
20979     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00I20B20C),
20980     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00R20B20C),
20981     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00X20B20C),
20982     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00c20B10C),
20983     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00K20B10C),
20984     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00T20B10C),
20985     Rule::Get<300, Shader::ALL, 0>(&textureOffset_00Z20B10C),
20986     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_texture_shadow_lod)>(&textureOffset_00e30B10C),
20987     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00H20B10C),
20988     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00Q20B10C),
20989     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00W20B10C),
20990     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00H30B10C),
20991     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00Q30B10C),
20992     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00W30B10C),
20993     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00I30B20C),
20994     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00R30B20C),
20995     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00X30B20C),
20996     Rule::Get<300, Shader::ALL, 0>(&textureProjOffset_00c30B10C),
20997     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00H10B00B10C),
20998     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00Q10B00B10C),
20999     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00W10B00B10C),
21000     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00I20B00B20C),
21001     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00R20B00B20C),
21002     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00X20B00B20C),
21003     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00c20B00B10C),
21004     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00K20B00B10C),
21005     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00T20B00B10C),
21006     Rule::Get<300, Shader::ALL, 0>(&textureLodOffset_00Z20B00B10C),
21007     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_texture_shadow_lod)>(&textureLodOffset_00e30B00B10C),
21008     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00H20B00B10C),
21009     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00Q20B00B10C),
21010     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00W20B00B10C),
21011     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00H30B00B10C),
21012     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00Q30B00B10C),
21013     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00W30B00B10C),
21014     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00I30B00B20C),
21015     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00R30B00B20C),
21016     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00X30B00B20C),
21017     Rule::Get<300, Shader::ALL, 0>(&textureProjLodOffset_00c30B00B10C),
21018     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00H10C00C10C),
21019     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00Q10C00C10C),
21020     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00W10C00C10C),
21021     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00I20C00C20C),
21022     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00R20C00C20C),
21023     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00X20C00C20C),
21024     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00K20C00C10C),
21025     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00T20C00C10C),
21026     Rule::Get<300, Shader::ALL, 0>(&texelFetchOffset_00Z20C00C10C),
21027     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00H10B10B10B10C),
21028     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00Q10B10B10B10C),
21029     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00W10B10B10B10C),
21030     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00I20B20B20B20C),
21031     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00R20B20B20B20C),
21032     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00X20B20B20B20C),
21033     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00c20B10B10B10C),
21034     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00K20B10B10B10C),
21035     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00T20B10B10B10C),
21036     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00Z20B10B10B10C),
21037     Rule::Get<300, Shader::ALL, 0>(&textureGradOffset_00e30B10B10B10C),
21038     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00H20B10B10B10C),
21039     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00Q20B10B10B10C),
21040     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00W20B10B10B10C),
21041     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00H30B10B10B10C),
21042     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00Q30B10B10B10C),
21043     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00W30B10B10B10C),
21044     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00I30B20B20B20C),
21045     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00R30B20B20B20C),
21046     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00X30B20B20B20C),
21047     Rule::Get<300, Shader::ALL, 0>(&textureProjGradOffset_00c30B10B10B10C),
21048     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00H10B10C00B),
21049     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00Q10B10C00B),
21050     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00W10B10C00B),
21051     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00I20B20C00B),
21052     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00R20B20C00B),
21053     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00X20B20C00B),
21054     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00c20B10C00B),
21055     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00K20B10C00B),
21056     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00T20B10C00B),
21057     Rule::Get<300, Shader::FRAGMENT, 0>(&textureOffset_00Z20B10C00B),
21058     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_shadow_lod)>(
21059         &textureOffset_00e30B10C00B),
21060     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00H20B10C00B),
21061     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00Q20B10C00B),
21062     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00W20B10C00B),
21063     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00H30B10C00B),
21064     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00Q30B10C00B),
21065     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00W30B10C00B),
21066     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B20C00B),
21067     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00R30B20C00B),
21068     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00X30B20C00B),
21069     Rule::Get<300, Shader::FRAGMENT, 0>(&textureProjOffset_00c30B10C00B),
21070     Rule::Get<310, Shader::ALL, 0>(&textureGather_00H10B),
21071     Rule::Get<310, Shader::ALL, 0>(&textureGather_00Q10B),
21072     Rule::Get<310, Shader::ALL, 0>(&textureGather_00W10B),
21073     Rule::Get<310, Shader::ALL, 0>(&textureGather_00H10B00C),
21074     Rule::Get<310, Shader::ALL, 0>(&textureGather_00Q10B00C),
21075     Rule::Get<310, Shader::ALL, 0>(&textureGather_00W10B00C),
21076     Rule::Get<310, Shader::ALL, 0>(&textureGather_00K20B),
21077     Rule::Get<310, Shader::ALL, 0>(&textureGather_00T20B),
21078     Rule::Get<310, Shader::ALL, 0>(&textureGather_00Z20B),
21079     Rule::Get<310, Shader::ALL, 0>(&textureGather_00K20B00C),
21080     Rule::Get<310, Shader::ALL, 0>(&textureGather_00T20B00C),
21081     Rule::Get<310, Shader::ALL, 0>(&textureGather_00Z20B00C),
21082     Rule::Get<310, Shader::ALL, 0>(&textureGather_00J20B),
21083     Rule::Get<310, Shader::ALL, 0>(&textureGather_00S20B),
21084     Rule::Get<310, Shader::ALL, 0>(&textureGather_00Y20B),
21085     Rule::Get<310, Shader::ALL, 0>(&textureGather_00J20B00C),
21086     Rule::Get<310, Shader::ALL, 0>(&textureGather_00S20B00C),
21087     Rule::Get<310, Shader::ALL, 0>(&textureGather_00Y20B00C),
21088     Rule::Get<320, Shader::ALL, 0>(&textureGather_00g30B),
21089     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00g30B),
21090     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00g30B),
21091     Rule::Get<320, Shader::ALL, 0>(&textureGather_00l30B),
21092     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00l30B),
21093     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00l30B),
21094     Rule::Get<320, Shader::ALL, 0>(&textureGather_00o30B),
21095     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00o30B),
21096     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00o30B),
21097     Rule::Get<320, Shader::ALL, 0>(&textureGather_00g30B00C),
21098     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00g30B00C),
21099     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00g30B00C),
21100     Rule::Get<320, Shader::ALL, 0>(&textureGather_00l30B00C),
21101     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00l30B00C),
21102     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00l30B00C),
21103     Rule::Get<320, Shader::ALL, 0>(&textureGather_00o30B00C),
21104     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00o30B00C),
21105     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00o30B00C),
21106     Rule::Get<320, Shader::ALL, 0>(&textureGather_00h30B00B),
21107     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&textureGatherExt_00h30B00B),
21108     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&textureGatherExt_00h30B00B),
21109     Rule::Get<310, Shader::ALL, 0>(&textureGather_00c10B),
21110     Rule::Get<310, Shader::ALL, 0>(&textureGather_00c10B00B),
21111     Rule::Get<310, Shader::ALL, 0>(&textureGather_00e20B),
21112     Rule::Get<310, Shader::ALL, 0>(&textureGather_00e20B00B),
21113     Rule::Get<310, Shader::ALL, 0>(&textureGather_00d20B),
21114     Rule::Get<310, Shader::ALL, 0>(&textureGather_00d20B00B),
21115     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00H10B10C),
21116     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00Q10B10C),
21117     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00W10B10C),
21118     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00K20B10C),
21119     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00T20B10C),
21120     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00Z20B10C),
21121     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00c10B00B10C),
21122     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00e20B00B10C),
21123     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00H10B10C00C),
21124     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00Q10B10C00C),
21125     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00W10B10C00C),
21126     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00K20B10C00C),
21127     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00T20B10C00C),
21128     Rule::Get<310, Shader::ALL, 0>(&textureGatherOffset_00Z20B10C00C),
21129     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00H10B10Cx4),
21130     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&textureGatherOffsetsExt_00H10B10Cx4),
21131     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&textureGatherOffsetsExt_00H10B10Cx4),
21132     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00Q10B10Cx4),
21133     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&textureGatherOffsetsExt_00Q10B10Cx4),
21134     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&textureGatherOffsetsExt_00Q10B10Cx4),
21135     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00W10B10Cx4),
21136     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&textureGatherOffsetsExt_00W10B10Cx4),
21137     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&textureGatherOffsetsExt_00W10B10Cx4),
21138     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00K20B10Cx4),
21139     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&textureGatherOffsetsExt_00K20B10Cx4),
21140     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&textureGatherOffsetsExt_00K20B10Cx4),
21141     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00T20B10Cx4),
21142     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&textureGatherOffsetsExt_00T20B10Cx4),
21143     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&textureGatherOffsetsExt_00T20B10Cx4),
21144     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00Z20B10Cx4),
21145     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&textureGatherOffsetsExt_00Z20B10Cx4),
21146     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(&textureGatherOffsetsExt_00Z20B10Cx4),
21147     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00c10B00B10Cx4),
21148     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21149         &textureGatherOffsetsExt_00c10B00B10Cx4),
21150     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21151         &textureGatherOffsetsExt_00c10B00B10Cx4),
21152     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00e20B00B10Cx4),
21153     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21154         &textureGatherOffsetsExt_00e20B00B10Cx4),
21155     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21156         &textureGatherOffsetsExt_00e20B00B10Cx4),
21157     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00H10B10Cx400C),
21158     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21159         &textureGatherOffsetsExt_00H10B10Cx400C),
21160     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21161         &textureGatherOffsetsExt_00H10B10Cx400C),
21162     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00Q10B10Cx400C),
21163     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21164         &textureGatherOffsetsExt_00Q10B10Cx400C),
21165     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21166         &textureGatherOffsetsExt_00Q10B10Cx400C),
21167     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00W10B10Cx400C),
21168     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21169         &textureGatherOffsetsExt_00W10B10Cx400C),
21170     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21171         &textureGatherOffsetsExt_00W10B10Cx400C),
21172     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00K20B10Cx400C),
21173     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21174         &textureGatherOffsetsExt_00K20B10Cx400C),
21175     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21176         &textureGatherOffsetsExt_00K20B10Cx400C),
21177     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00T20B10Cx400C),
21178     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21179         &textureGatherOffsetsExt_00T20B10Cx400C),
21180     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21181         &textureGatherOffsetsExt_00T20B10Cx400C),
21182     Rule::Get<320, Shader::ALL, 0>(&textureGatherOffsets_00Z20B10Cx400C),
21183     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
21184         &textureGatherOffsetsExt_00Z20B10Cx400C),
21185     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_gpu_shader5)>(
21186         &textureGatherOffsetsExt_00Z20B10Cx400C),
21187     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00H10B),
21188     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00Q10B),
21189     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00W10B),
21190     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00I20B),
21191     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00R20B),
21192     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00X20B),
21193     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00J20B),
21194     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00S20B),
21195     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00Y20B),
21196     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00K10B),
21197     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00T10B),
21198     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00Z10B),
21199     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00c10B),
21200     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00d20B),
21201     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00e10B),
21202     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00g20B),
21203     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00l20B),
21204     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00o20B),
21205     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_query_lod)>(&textureQueryLOD_00h20B),
21206     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&rgb_2_yuv_20B00G),
21207     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&yuv_2_rgb_20B00G),
21208     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdx_00B),
21209     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_00B),
21210     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdx_10B),
21211     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_10B),
21212     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdx_20B),
21213     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_20B),
21214     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdx_30B),
21215     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_30B),
21216     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdy_00B),
21217     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_00B),
21218     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdy_10B),
21219     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_10B),
21220     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdy_20B),
21221     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_20B),
21222     Rule::Get<300, Shader::FRAGMENT, 0>(&dFdy_30B),
21223     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_30B),
21224     Rule::Get<300, Shader::FRAGMENT, 0>(&fwidth_00B),
21225     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&fwidthExt_00B),
21226     Rule::Get<300, Shader::FRAGMENT, 0>(&fwidth_10B),
21227     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&fwidthExt_10B),
21228     Rule::Get<300, Shader::FRAGMENT, 0>(&fwidth_20B),
21229     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&fwidthExt_20B),
21230     Rule::Get<300, Shader::FRAGMENT, 0>(&fwidth_30B),
21231     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&fwidthExt_30B),
21232     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_00B),
21233     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21234         &interpolateAtCentroidExt_00B),
21235     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_10B),
21236     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21237         &interpolateAtCentroidExt_10B),
21238     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_20B),
21239     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21240         &interpolateAtCentroidExt_20B),
21241     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_30B),
21242     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21243         &interpolateAtCentroidExt_30B),
21244     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtSample_00B00C),
21245     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21246         &interpolateAtSampleExt_00B00C),
21247     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtSample_10B00C),
21248     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21249         &interpolateAtSampleExt_10B00C),
21250     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtSample_20B00C),
21251     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21252         &interpolateAtSampleExt_20B00C),
21253     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtSample_30B00C),
21254     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21255         &interpolateAtSampleExt_30B00C),
21256     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtOffset_00B10B),
21257     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21258         &interpolateAtOffsetExt_00B10B),
21259     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtOffset_10B10B),
21260     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21261         &interpolateAtOffsetExt_10B10B),
21262     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtOffset_20B10B),
21263     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21264         &interpolateAtOffsetExt_20B10B),
21265     Rule::Get<320, Shader::FRAGMENT, 0>(&interpolateAtOffset_30B10B),
21266     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
21267         &interpolateAtOffsetExt_30B10B),
21268     Rule::Get<310, Shader::ALL, 0>(&atomicCounter_00F),
21269     Rule::Get<310, Shader::ALL, 0>(&atomicCounterIncrement_00F),
21270     Rule::Get<310, Shader::ALL, 0>(&atomicCounterDecrement_00F),
21271     Rule::Get<310, Shader::ALL, 0>(&atomicAdd_00D00D),
21272     Rule::Get<310, Shader::ALL, 0>(&atomicAdd_00C00C),
21273     Rule::Get<310, Shader::ALL, 0>(&atomicMin_00D00D),
21274     Rule::Get<310, Shader::ALL, 0>(&atomicMin_00C00C),
21275     Rule::Get<310, Shader::ALL, 0>(&atomicMax_00D00D),
21276     Rule::Get<310, Shader::ALL, 0>(&atomicMax_00C00C),
21277     Rule::Get<310, Shader::ALL, 0>(&atomicAnd_00D00D),
21278     Rule::Get<310, Shader::ALL, 0>(&atomicAnd_00C00C),
21279     Rule::Get<310, Shader::ALL, 0>(&atomicOr_00D00D),
21280     Rule::Get<310, Shader::ALL, 0>(&atomicOr_00C00C),
21281     Rule::Get<310, Shader::ALL, 0>(&atomicXor_00D00D),
21282     Rule::Get<310, Shader::ALL, 0>(&atomicXor_00C00C),
21283     Rule::Get<310, Shader::ALL, 0>(&atomicExchange_00D00D),
21284     Rule::Get<310, Shader::ALL, 0>(&atomicExchange_00C00C),
21285     Rule::Get<310, Shader::ALL, 0>(&atomicCompSwap_00D00D00D),
21286     Rule::Get<310, Shader::ALL, 0>(&atomicCompSwap_00C00C00C),
21287     Rule::Get<310, Shader::ALL, 0>(&imageSize_00q),
21288     Rule::Get<310, Shader::ALL, 0>(&imageSize_00z),
21289     Rule::Get<310, Shader::ALL, 0>(&imageSize_01I),
21290     Rule::Get<310, Shader::ALL, 0>(&imageSize_00r),
21291     Rule::Get<310, Shader::ALL, 0>(&imageSize_01A),
21292     Rule::Get<310, Shader::ALL, 0>(&imageSize_01J),
21293     Rule::Get<310, Shader::ALL, 0>(&imageSize_00s),
21294     Rule::Get<310, Shader::ALL, 0>(&imageSize_01B),
21295     Rule::Get<310, Shader::ALL, 0>(&imageSize_01K),
21296     Rule::Get<310, Shader::ALL, 0>(&imageSize_00t),
21297     Rule::Get<310, Shader::ALL, 0>(&imageSize_01C),
21298     Rule::Get<310, Shader::ALL, 0>(&imageSize_01L),
21299     Rule::Get<320, Shader::ALL, 0>(&imageSize_00w),
21300     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageSizeExt_00w),
21301     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageSizeExt_00w),
21302     Rule::Get<320, Shader::ALL, 0>(&imageSize_01F),
21303     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageSizeExt_01F),
21304     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageSizeExt_01F),
21305     Rule::Get<320, Shader::ALL, 0>(&imageSize_01O),
21306     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageSizeExt_01O),
21307     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageSizeExt_01O),
21308     Rule::Get<320, Shader::ALL, 0>(&imageSize_00y),
21309     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageSizeExt_00y),
21310     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageSizeExt_00y),
21311     Rule::Get<320, Shader::ALL, 0>(&imageSize_01H),
21312     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageSizeExt_01H),
21313     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageSizeExt_01H),
21314     Rule::Get<320, Shader::ALL, 0>(&imageSize_01Q),
21315     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageSizeExt_01Q),
21316     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageSizeExt_01Q),
21317     Rule::Get<310, Shader::ALL, 0>(&imageStore_00q10C30B),
21318     Rule::Get<310, Shader::ALL, 0>(&imageStore_00z10C30C),
21319     Rule::Get<310, Shader::ALL, 0>(&imageStore_01I10C30D),
21320     Rule::Get<310, Shader::ALL, 0>(&imageStore_00r20C30B),
21321     Rule::Get<310, Shader::ALL, 0>(&imageStore_01A20C30C),
21322     Rule::Get<310, Shader::ALL, 0>(&imageStore_01J20C30D),
21323     Rule::Get<310, Shader::ALL, 0>(&imageStore_00s20C30B),
21324     Rule::Get<310, Shader::ALL, 0>(&imageStore_01B20C30C),
21325     Rule::Get<310, Shader::ALL, 0>(&imageStore_01K20C30D),
21326     Rule::Get<310, Shader::ALL, 0>(&imageStore_00t20C30B),
21327     Rule::Get<310, Shader::ALL, 0>(&imageStore_01C20C30C),
21328     Rule::Get<310, Shader::ALL, 0>(&imageStore_01L20C30D),
21329     Rule::Get<320, Shader::ALL, 0>(&imageStore_00w20C30B),
21330     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageStoreExt_00w20C30B),
21331     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageStoreExt_00w20C30B),
21332     Rule::Get<320, Shader::ALL, 0>(&imageStore_01F20C30C),
21333     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageStoreExt_01F20C30C),
21334     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageStoreExt_01F20C30C),
21335     Rule::Get<320, Shader::ALL, 0>(&imageStore_01O20C30D),
21336     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageStoreExt_01O20C30D),
21337     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageStoreExt_01O20C30D),
21338     Rule::Get<320, Shader::ALL, 0>(&imageStore_00y00C30B),
21339     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageStoreExt_00y00C30B),
21340     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageStoreExt_00y00C30B),
21341     Rule::Get<320, Shader::ALL, 0>(&imageStore_01H00C30C),
21342     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageStoreExt_01H00C30C),
21343     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageStoreExt_01H00C30C),
21344     Rule::Get<320, Shader::ALL, 0>(&imageStore_01Q00C30D),
21345     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageStoreExt_01Q00C30D),
21346     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageStoreExt_01Q00C30D),
21347     Rule::Get<310, Shader::ALL, 0>(&imageLoad_00q10C),
21348     Rule::Get<310, Shader::ALL, 0>(&imageLoad_00z10C),
21349     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01I10C),
21350     Rule::Get<310, Shader::ALL, 0>(&imageLoad_00r20C),
21351     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01A20C),
21352     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01J20C),
21353     Rule::Get<310, Shader::ALL, 0>(&imageLoad_00s20C),
21354     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01B20C),
21355     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01K20C),
21356     Rule::Get<310, Shader::ALL, 0>(&imageLoad_00t20C),
21357     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01C20C),
21358     Rule::Get<310, Shader::ALL, 0>(&imageLoad_01L20C),
21359     Rule::Get<320, Shader::ALL, 0>(&imageLoad_00w20C),
21360     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageLoadExt_00w20C),
21361     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageLoadExt_00w20C),
21362     Rule::Get<320, Shader::ALL, 0>(&imageLoad_01F20C),
21363     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageLoadExt_01F20C),
21364     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageLoadExt_01F20C),
21365     Rule::Get<320, Shader::ALL, 0>(&imageLoad_01O20C),
21366     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>(&imageLoadExt_01O20C),
21367     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>(&imageLoadExt_01O20C),
21368     Rule::Get<320, Shader::ALL, 0>(&imageLoad_00y00C),
21369     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageLoadExt_00y00C),
21370     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageLoadExt_00y00C),
21371     Rule::Get<320, Shader::ALL, 0>(&imageLoad_01H00C),
21372     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageLoadExt_01H00C),
21373     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageLoadExt_01H00C),
21374     Rule::Get<320, Shader::ALL, 0>(&imageLoad_01Q00C),
21375     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageLoadExt_01Q00C),
21376     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageLoadExt_01Q00C),
21377     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00q10C00D),
21378     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00q10C00D),
21379     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00z10C00D),
21380     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00z10C00D),
21381     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01I10C00D),
21382     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01I10C00D),
21383     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00r20C00D),
21384     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00r20C00D),
21385     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01A20C00D),
21386     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01A20C00D),
21387     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01J20C00D),
21388     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01J20C00D),
21389     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00t20C00D),
21390     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00t20C00D),
21391     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01C20C00D),
21392     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01C20C00D),
21393     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01L20C00D),
21394     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01L20C00D),
21395     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00y00C00D),
21396     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00y00C00D),
21397     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01H00C00D),
21398     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01H00C00D),
21399     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01Q00C00D),
21400     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01Q00C00D),
21401     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00s20C00D),
21402     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00s20C00D),
21403     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01B20C00D),
21404     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01B20C00D),
21405     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01K20C00D),
21406     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01K20C00D),
21407     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00w20C00D),
21408     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00w20C00D),
21409     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01F20C00D),
21410     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01F20C00D),
21411     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01O20C00D),
21412     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01O20C00D),
21413     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00x10C00D),
21414     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00x10C00D),
21415     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01G10C00D),
21416     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01G10C00D),
21417     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01P10C00D),
21418     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01P10C00D),
21419     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00u10C00C00D),
21420     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21421         &imageAtomicAddExt_00u10C00C00D),
21422     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01D10C00C00D),
21423     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21424         &imageAtomicAddExt_01D10C00C00D),
21425     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01M10C00C00D),
21426     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21427         &imageAtomicAddExt_01M10C00C00D),
21428     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00v20C00C00D),
21429     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21430         &imageAtomicAddExt_00v20C00C00D),
21431     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01E20C00C00D),
21432     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21433         &imageAtomicAddExt_01E20C00C00D),
21434     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01N20C00C00D),
21435     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21436         &imageAtomicAddExt_01N20C00C00D),
21437     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00q10C00C),
21438     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00q10C00C),
21439     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00z10C00C),
21440     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00z10C00C),
21441     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01I10C00C),
21442     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01I10C00C),
21443     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00r20C00C),
21444     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00r20C00C),
21445     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01A20C00C),
21446     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01A20C00C),
21447     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01J20C00C),
21448     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01J20C00C),
21449     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00t20C00C),
21450     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00t20C00C),
21451     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01C20C00C),
21452     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01C20C00C),
21453     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01L20C00C),
21454     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01L20C00C),
21455     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00y00C00C),
21456     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00y00C00C),
21457     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01H00C00C),
21458     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01H00C00C),
21459     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01Q00C00C),
21460     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01Q00C00C),
21461     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00s20C00C),
21462     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00s20C00C),
21463     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01B20C00C),
21464     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01B20C00C),
21465     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01K20C00C),
21466     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01K20C00C),
21467     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00w20C00C),
21468     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00w20C00C),
21469     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01F20C00C),
21470     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01F20C00C),
21471     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01O20C00C),
21472     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01O20C00C),
21473     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00x10C00C),
21474     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_00x10C00C),
21475     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01G10C00C),
21476     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01G10C00C),
21477     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01P10C00C),
21478     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAddExt_01P10C00C),
21479     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00u10C00C00C),
21480     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21481         &imageAtomicAddExt_00u10C00C00C),
21482     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01D10C00C00C),
21483     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21484         &imageAtomicAddExt_01D10C00C00C),
21485     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01M10C00C00C),
21486     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21487         &imageAtomicAddExt_01M10C00C00C),
21488     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_00v20C00C00C),
21489     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21490         &imageAtomicAddExt_00v20C00C00C),
21491     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01E20C00C00C),
21492     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21493         &imageAtomicAddExt_01E20C00C00C),
21494     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAdd_01N20C00C00C),
21495     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21496         &imageAtomicAddExt_01N20C00C00C),
21497     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00q10C00D),
21498     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00q10C00D),
21499     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00z10C00D),
21500     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00z10C00D),
21501     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01I10C00D),
21502     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01I10C00D),
21503     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00r20C00D),
21504     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00r20C00D),
21505     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01A20C00D),
21506     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01A20C00D),
21507     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01J20C00D),
21508     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01J20C00D),
21509     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00t20C00D),
21510     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00t20C00D),
21511     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01C20C00D),
21512     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01C20C00D),
21513     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01L20C00D),
21514     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01L20C00D),
21515     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00y00C00D),
21516     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00y00C00D),
21517     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01H00C00D),
21518     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01H00C00D),
21519     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01Q00C00D),
21520     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01Q00C00D),
21521     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00s20C00D),
21522     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00s20C00D),
21523     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01B20C00D),
21524     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01B20C00D),
21525     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01K20C00D),
21526     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01K20C00D),
21527     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00w20C00D),
21528     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00w20C00D),
21529     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01F20C00D),
21530     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01F20C00D),
21531     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01O20C00D),
21532     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01O20C00D),
21533     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00x10C00D),
21534     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00x10C00D),
21535     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01G10C00D),
21536     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01G10C00D),
21537     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01P10C00D),
21538     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01P10C00D),
21539     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00u10C00C00D),
21540     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21541         &imageAtomicMinExt_00u10C00C00D),
21542     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01D10C00C00D),
21543     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21544         &imageAtomicMinExt_01D10C00C00D),
21545     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01M10C00C00D),
21546     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21547         &imageAtomicMinExt_01M10C00C00D),
21548     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00v20C00C00D),
21549     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21550         &imageAtomicMinExt_00v20C00C00D),
21551     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01E20C00C00D),
21552     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21553         &imageAtomicMinExt_01E20C00C00D),
21554     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01N20C00C00D),
21555     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21556         &imageAtomicMinExt_01N20C00C00D),
21557     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00q10C00C),
21558     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00q10C00C),
21559     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00z10C00C),
21560     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00z10C00C),
21561     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01I10C00C),
21562     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01I10C00C),
21563     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00r20C00C),
21564     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00r20C00C),
21565     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01A20C00C),
21566     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01A20C00C),
21567     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01J20C00C),
21568     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01J20C00C),
21569     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00t20C00C),
21570     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00t20C00C),
21571     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01C20C00C),
21572     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01C20C00C),
21573     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01L20C00C),
21574     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01L20C00C),
21575     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00y00C00C),
21576     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00y00C00C),
21577     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01H00C00C),
21578     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01H00C00C),
21579     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01Q00C00C),
21580     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01Q00C00C),
21581     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00s20C00C),
21582     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00s20C00C),
21583     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01B20C00C),
21584     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01B20C00C),
21585     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01K20C00C),
21586     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01K20C00C),
21587     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00w20C00C),
21588     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00w20C00C),
21589     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01F20C00C),
21590     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01F20C00C),
21591     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01O20C00C),
21592     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01O20C00C),
21593     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00x10C00C),
21594     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_00x10C00C),
21595     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01G10C00C),
21596     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01G10C00C),
21597     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01P10C00C),
21598     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMinExt_01P10C00C),
21599     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00u10C00C00C),
21600     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21601         &imageAtomicMinExt_00u10C00C00C),
21602     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01D10C00C00C),
21603     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21604         &imageAtomicMinExt_01D10C00C00C),
21605     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01M10C00C00C),
21606     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21607         &imageAtomicMinExt_01M10C00C00C),
21608     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_00v20C00C00C),
21609     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21610         &imageAtomicMinExt_00v20C00C00C),
21611     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01E20C00C00C),
21612     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21613         &imageAtomicMinExt_01E20C00C00C),
21614     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMin_01N20C00C00C),
21615     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21616         &imageAtomicMinExt_01N20C00C00C),
21617     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00q10C00D),
21618     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00q10C00D),
21619     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00z10C00D),
21620     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00z10C00D),
21621     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01I10C00D),
21622     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01I10C00D),
21623     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00r20C00D),
21624     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00r20C00D),
21625     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01A20C00D),
21626     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01A20C00D),
21627     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01J20C00D),
21628     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01J20C00D),
21629     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00t20C00D),
21630     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00t20C00D),
21631     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01C20C00D),
21632     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01C20C00D),
21633     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01L20C00D),
21634     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01L20C00D),
21635     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00y00C00D),
21636     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00y00C00D),
21637     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01H00C00D),
21638     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01H00C00D),
21639     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01Q00C00D),
21640     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01Q00C00D),
21641     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00s20C00D),
21642     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00s20C00D),
21643     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01B20C00D),
21644     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01B20C00D),
21645     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01K20C00D),
21646     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01K20C00D),
21647     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00w20C00D),
21648     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00w20C00D),
21649     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01F20C00D),
21650     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01F20C00D),
21651     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01O20C00D),
21652     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01O20C00D),
21653     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00x10C00D),
21654     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00x10C00D),
21655     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01G10C00D),
21656     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01G10C00D),
21657     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01P10C00D),
21658     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01P10C00D),
21659     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00u10C00C00D),
21660     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21661         &imageAtomicMaxExt_00u10C00C00D),
21662     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01D10C00C00D),
21663     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21664         &imageAtomicMaxExt_01D10C00C00D),
21665     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01M10C00C00D),
21666     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21667         &imageAtomicMaxExt_01M10C00C00D),
21668     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00v20C00C00D),
21669     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21670         &imageAtomicMaxExt_00v20C00C00D),
21671     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01E20C00C00D),
21672     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21673         &imageAtomicMaxExt_01E20C00C00D),
21674     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01N20C00C00D),
21675     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21676         &imageAtomicMaxExt_01N20C00C00D),
21677     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00q10C00C),
21678     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00q10C00C),
21679     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00z10C00C),
21680     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00z10C00C),
21681     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01I10C00C),
21682     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01I10C00C),
21683     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00r20C00C),
21684     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00r20C00C),
21685     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01A20C00C),
21686     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01A20C00C),
21687     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01J20C00C),
21688     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01J20C00C),
21689     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00t20C00C),
21690     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00t20C00C),
21691     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01C20C00C),
21692     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01C20C00C),
21693     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01L20C00C),
21694     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01L20C00C),
21695     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00y00C00C),
21696     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00y00C00C),
21697     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01H00C00C),
21698     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01H00C00C),
21699     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01Q00C00C),
21700     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01Q00C00C),
21701     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00s20C00C),
21702     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00s20C00C),
21703     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01B20C00C),
21704     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01B20C00C),
21705     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01K20C00C),
21706     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01K20C00C),
21707     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00w20C00C),
21708     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00w20C00C),
21709     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01F20C00C),
21710     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01F20C00C),
21711     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01O20C00C),
21712     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01O20C00C),
21713     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00x10C00C),
21714     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_00x10C00C),
21715     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01G10C00C),
21716     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01G10C00C),
21717     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01P10C00C),
21718     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicMaxExt_01P10C00C),
21719     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00u10C00C00C),
21720     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21721         &imageAtomicMaxExt_00u10C00C00C),
21722     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01D10C00C00C),
21723     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21724         &imageAtomicMaxExt_01D10C00C00C),
21725     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01M10C00C00C),
21726     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21727         &imageAtomicMaxExt_01M10C00C00C),
21728     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_00v20C00C00C),
21729     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21730         &imageAtomicMaxExt_00v20C00C00C),
21731     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01E20C00C00C),
21732     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21733         &imageAtomicMaxExt_01E20C00C00C),
21734     Rule::Get<320, Shader::ALL, 0>(&imageAtomicMax_01N20C00C00C),
21735     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21736         &imageAtomicMaxExt_01N20C00C00C),
21737     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00q10C00D),
21738     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00q10C00D),
21739     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00z10C00D),
21740     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00z10C00D),
21741     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01I10C00D),
21742     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01I10C00D),
21743     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00r20C00D),
21744     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00r20C00D),
21745     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01A20C00D),
21746     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01A20C00D),
21747     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01J20C00D),
21748     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01J20C00D),
21749     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00t20C00D),
21750     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00t20C00D),
21751     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01C20C00D),
21752     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01C20C00D),
21753     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01L20C00D),
21754     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01L20C00D),
21755     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00y00C00D),
21756     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00y00C00D),
21757     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01H00C00D),
21758     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01H00C00D),
21759     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01Q00C00D),
21760     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01Q00C00D),
21761     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00s20C00D),
21762     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00s20C00D),
21763     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01B20C00D),
21764     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01B20C00D),
21765     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01K20C00D),
21766     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01K20C00D),
21767     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00w20C00D),
21768     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00w20C00D),
21769     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01F20C00D),
21770     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01F20C00D),
21771     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01O20C00D),
21772     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01O20C00D),
21773     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00x10C00D),
21774     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00x10C00D),
21775     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01G10C00D),
21776     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01G10C00D),
21777     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01P10C00D),
21778     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01P10C00D),
21779     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00u10C00C00D),
21780     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21781         &imageAtomicAndExt_00u10C00C00D),
21782     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01D10C00C00D),
21783     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21784         &imageAtomicAndExt_01D10C00C00D),
21785     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01M10C00C00D),
21786     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21787         &imageAtomicAndExt_01M10C00C00D),
21788     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00v20C00C00D),
21789     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21790         &imageAtomicAndExt_00v20C00C00D),
21791     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01E20C00C00D),
21792     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21793         &imageAtomicAndExt_01E20C00C00D),
21794     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01N20C00C00D),
21795     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21796         &imageAtomicAndExt_01N20C00C00D),
21797     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00q10C00C),
21798     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00q10C00C),
21799     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00z10C00C),
21800     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00z10C00C),
21801     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01I10C00C),
21802     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01I10C00C),
21803     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00r20C00C),
21804     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00r20C00C),
21805     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01A20C00C),
21806     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01A20C00C),
21807     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01J20C00C),
21808     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01J20C00C),
21809     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00t20C00C),
21810     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00t20C00C),
21811     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01C20C00C),
21812     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01C20C00C),
21813     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01L20C00C),
21814     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01L20C00C),
21815     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00y00C00C),
21816     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00y00C00C),
21817     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01H00C00C),
21818     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01H00C00C),
21819     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01Q00C00C),
21820     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01Q00C00C),
21821     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00s20C00C),
21822     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00s20C00C),
21823     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01B20C00C),
21824     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01B20C00C),
21825     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01K20C00C),
21826     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01K20C00C),
21827     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00w20C00C),
21828     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00w20C00C),
21829     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01F20C00C),
21830     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01F20C00C),
21831     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01O20C00C),
21832     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01O20C00C),
21833     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00x10C00C),
21834     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_00x10C00C),
21835     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01G10C00C),
21836     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01G10C00C),
21837     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01P10C00C),
21838     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicAndExt_01P10C00C),
21839     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00u10C00C00C),
21840     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21841         &imageAtomicAndExt_00u10C00C00C),
21842     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01D10C00C00C),
21843     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21844         &imageAtomicAndExt_01D10C00C00C),
21845     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01M10C00C00C),
21846     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21847         &imageAtomicAndExt_01M10C00C00C),
21848     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_00v20C00C00C),
21849     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21850         &imageAtomicAndExt_00v20C00C00C),
21851     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01E20C00C00C),
21852     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21853         &imageAtomicAndExt_01E20C00C00C),
21854     Rule::Get<320, Shader::ALL, 0>(&imageAtomicAnd_01N20C00C00C),
21855     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
21856         &imageAtomicAndExt_01N20C00C00C),
21857     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00q10C00D),
21858     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00q10C00D),
21859     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00z10C00D),
21860     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00z10C00D),
21861     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01I10C00D),
21862     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01I10C00D),
21863     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00r20C00D),
21864     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00r20C00D),
21865     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01A20C00D),
21866     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01A20C00D),
21867     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01J20C00D),
21868     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01J20C00D),
21869     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00t20C00D),
21870     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00t20C00D),
21871     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01C20C00D),
21872     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01C20C00D),
21873     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01L20C00D),
21874     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01L20C00D),
21875     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00y00C00D),
21876     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00y00C00D),
21877     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01H00C00D),
21878     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01H00C00D),
21879     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01Q00C00D),
21880     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01Q00C00D),
21881     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00s20C00D),
21882     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00s20C00D),
21883     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01B20C00D),
21884     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01B20C00D),
21885     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01K20C00D),
21886     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01K20C00D),
21887     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00w20C00D),
21888     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00w20C00D),
21889     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01F20C00D),
21890     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01F20C00D),
21891     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01O20C00D),
21892     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01O20C00D),
21893     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00x10C00D),
21894     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00x10C00D),
21895     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01G10C00D),
21896     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01G10C00D),
21897     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01P10C00D),
21898     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01P10C00D),
21899     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00u10C00C00D),
21900     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00u10C00C00D),
21901     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01D10C00C00D),
21902     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01D10C00C00D),
21903     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01M10C00C00D),
21904     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01M10C00C00D),
21905     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00v20C00C00D),
21906     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00v20C00C00D),
21907     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01E20C00C00D),
21908     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01E20C00C00D),
21909     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01N20C00C00D),
21910     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01N20C00C00D),
21911     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00q10C00C),
21912     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00q10C00C),
21913     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00z10C00C),
21914     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00z10C00C),
21915     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01I10C00C),
21916     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01I10C00C),
21917     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00r20C00C),
21918     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00r20C00C),
21919     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01A20C00C),
21920     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01A20C00C),
21921     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01J20C00C),
21922     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01J20C00C),
21923     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00t20C00C),
21924     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00t20C00C),
21925     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01C20C00C),
21926     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01C20C00C),
21927     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01L20C00C),
21928     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01L20C00C),
21929     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00y00C00C),
21930     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00y00C00C),
21931     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01H00C00C),
21932     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01H00C00C),
21933     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01Q00C00C),
21934     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01Q00C00C),
21935     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00s20C00C),
21936     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00s20C00C),
21937     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01B20C00C),
21938     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01B20C00C),
21939     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01K20C00C),
21940     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01K20C00C),
21941     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00w20C00C),
21942     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00w20C00C),
21943     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01F20C00C),
21944     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01F20C00C),
21945     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01O20C00C),
21946     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01O20C00C),
21947     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00x10C00C),
21948     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00x10C00C),
21949     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01G10C00C),
21950     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01G10C00C),
21951     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01P10C00C),
21952     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01P10C00C),
21953     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00u10C00C00C),
21954     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00u10C00C00C),
21955     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01D10C00C00C),
21956     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01D10C00C00C),
21957     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01M10C00C00C),
21958     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01M10C00C00C),
21959     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_00v20C00C00C),
21960     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_00v20C00C00C),
21961     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01E20C00C00C),
21962     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01E20C00C00C),
21963     Rule::Get<320, Shader::ALL, 0>(&imageAtomicOr_01N20C00C00C),
21964     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicOrExt_01N20C00C00C),
21965     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00q10C00D),
21966     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00q10C00D),
21967     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00z10C00D),
21968     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00z10C00D),
21969     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01I10C00D),
21970     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01I10C00D),
21971     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00r20C00D),
21972     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00r20C00D),
21973     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01A20C00D),
21974     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01A20C00D),
21975     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01J20C00D),
21976     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01J20C00D),
21977     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00t20C00D),
21978     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00t20C00D),
21979     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01C20C00D),
21980     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01C20C00D),
21981     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01L20C00D),
21982     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01L20C00D),
21983     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00y00C00D),
21984     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00y00C00D),
21985     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01H00C00D),
21986     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01H00C00D),
21987     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01Q00C00D),
21988     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01Q00C00D),
21989     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00s20C00D),
21990     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00s20C00D),
21991     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01B20C00D),
21992     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01B20C00D),
21993     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01K20C00D),
21994     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01K20C00D),
21995     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00w20C00D),
21996     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00w20C00D),
21997     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01F20C00D),
21998     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01F20C00D),
21999     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01O20C00D),
22000     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01O20C00D),
22001     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00x10C00D),
22002     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00x10C00D),
22003     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01G10C00D),
22004     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01G10C00D),
22005     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01P10C00D),
22006     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01P10C00D),
22007     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00u10C00C00D),
22008     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22009         &imageAtomicXorExt_00u10C00C00D),
22010     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01D10C00C00D),
22011     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22012         &imageAtomicXorExt_01D10C00C00D),
22013     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01M10C00C00D),
22014     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22015         &imageAtomicXorExt_01M10C00C00D),
22016     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00v20C00C00D),
22017     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22018         &imageAtomicXorExt_00v20C00C00D),
22019     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01E20C00C00D),
22020     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22021         &imageAtomicXorExt_01E20C00C00D),
22022     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01N20C00C00D),
22023     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22024         &imageAtomicXorExt_01N20C00C00D),
22025     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00q10C00C),
22026     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00q10C00C),
22027     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00z10C00C),
22028     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00z10C00C),
22029     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01I10C00C),
22030     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01I10C00C),
22031     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00r20C00C),
22032     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00r20C00C),
22033     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01A20C00C),
22034     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01A20C00C),
22035     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01J20C00C),
22036     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01J20C00C),
22037     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00t20C00C),
22038     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00t20C00C),
22039     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01C20C00C),
22040     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01C20C00C),
22041     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01L20C00C),
22042     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01L20C00C),
22043     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00y00C00C),
22044     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00y00C00C),
22045     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01H00C00C),
22046     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01H00C00C),
22047     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01Q00C00C),
22048     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01Q00C00C),
22049     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00s20C00C),
22050     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00s20C00C),
22051     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01B20C00C),
22052     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01B20C00C),
22053     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01K20C00C),
22054     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01K20C00C),
22055     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00w20C00C),
22056     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00w20C00C),
22057     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01F20C00C),
22058     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01F20C00C),
22059     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01O20C00C),
22060     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01O20C00C),
22061     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00x10C00C),
22062     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_00x10C00C),
22063     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01G10C00C),
22064     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01G10C00C),
22065     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01P10C00C),
22066     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(&imageAtomicXorExt_01P10C00C),
22067     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00u10C00C00C),
22068     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22069         &imageAtomicXorExt_00u10C00C00C),
22070     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01D10C00C00C),
22071     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22072         &imageAtomicXorExt_01D10C00C00C),
22073     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01M10C00C00C),
22074     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22075         &imageAtomicXorExt_01M10C00C00C),
22076     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_00v20C00C00C),
22077     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22078         &imageAtomicXorExt_00v20C00C00C),
22079     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01E20C00C00C),
22080     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22081         &imageAtomicXorExt_01E20C00C00C),
22082     Rule::Get<320, Shader::ALL, 0>(&imageAtomicXor_01N20C00C00C),
22083     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22084         &imageAtomicXorExt_01N20C00C00C),
22085     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00q10C00D),
22086     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22087         &imageAtomicExchangeExt_00q10C00D),
22088     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00z10C00D),
22089     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22090         &imageAtomicExchangeExt_00z10C00D),
22091     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01I10C00D),
22092     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22093         &imageAtomicExchangeExt_01I10C00D),
22094     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00r20C00D),
22095     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22096         &imageAtomicExchangeExt_00r20C00D),
22097     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01A20C00D),
22098     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22099         &imageAtomicExchangeExt_01A20C00D),
22100     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01J20C00D),
22101     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22102         &imageAtomicExchangeExt_01J20C00D),
22103     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00t20C00D),
22104     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22105         &imageAtomicExchangeExt_00t20C00D),
22106     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01C20C00D),
22107     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22108         &imageAtomicExchangeExt_01C20C00D),
22109     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01L20C00D),
22110     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22111         &imageAtomicExchangeExt_01L20C00D),
22112     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00y00C00D),
22113     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22114         &imageAtomicExchangeExt_00y00C00D),
22115     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01H00C00D),
22116     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22117         &imageAtomicExchangeExt_01H00C00D),
22118     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01Q00C00D),
22119     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22120         &imageAtomicExchangeExt_01Q00C00D),
22121     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00s20C00D),
22122     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22123         &imageAtomicExchangeExt_00s20C00D),
22124     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01B20C00D),
22125     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22126         &imageAtomicExchangeExt_01B20C00D),
22127     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01K20C00D),
22128     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22129         &imageAtomicExchangeExt_01K20C00D),
22130     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00w20C00D),
22131     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22132         &imageAtomicExchangeExt_00w20C00D),
22133     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01F20C00D),
22134     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22135         &imageAtomicExchangeExt_01F20C00D),
22136     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01O20C00D),
22137     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22138         &imageAtomicExchangeExt_01O20C00D),
22139     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00x10C00D),
22140     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22141         &imageAtomicExchangeExt_00x10C00D),
22142     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01G10C00D),
22143     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22144         &imageAtomicExchangeExt_01G10C00D),
22145     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01P10C00D),
22146     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22147         &imageAtomicExchangeExt_01P10C00D),
22148     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00u10C00C00D),
22149     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22150         &imageAtomicExchangeExt_00u10C00C00D),
22151     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01D10C00C00D),
22152     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22153         &imageAtomicExchangeExt_01D10C00C00D),
22154     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01M10C00C00D),
22155     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22156         &imageAtomicExchangeExt_01M10C00C00D),
22157     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00v20C00C00D),
22158     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22159         &imageAtomicExchangeExt_00v20C00C00D),
22160     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01E20C00C00D),
22161     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22162         &imageAtomicExchangeExt_01E20C00C00D),
22163     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01N20C00C00D),
22164     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22165         &imageAtomicExchangeExt_01N20C00C00D),
22166     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00q10C00C),
22167     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22168         &imageAtomicExchangeExt_00q10C00C),
22169     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00z10C00C),
22170     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22171         &imageAtomicExchangeExt_00z10C00C),
22172     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01I10C00C),
22173     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22174         &imageAtomicExchangeExt_01I10C00C),
22175     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00r20C00C),
22176     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22177         &imageAtomicExchangeExt_00r20C00C),
22178     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01A20C00C),
22179     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22180         &imageAtomicExchangeExt_01A20C00C),
22181     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01J20C00C),
22182     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22183         &imageAtomicExchangeExt_01J20C00C),
22184     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00t20C00C),
22185     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22186         &imageAtomicExchangeExt_00t20C00C),
22187     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01C20C00C),
22188     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22189         &imageAtomicExchangeExt_01C20C00C),
22190     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01L20C00C),
22191     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22192         &imageAtomicExchangeExt_01L20C00C),
22193     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00y00C00C),
22194     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22195         &imageAtomicExchangeExt_00y00C00C),
22196     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01H00C00C),
22197     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22198         &imageAtomicExchangeExt_01H00C00C),
22199     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01Q00C00C),
22200     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22201         &imageAtomicExchangeExt_01Q00C00C),
22202     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00s20C00C),
22203     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22204         &imageAtomicExchangeExt_00s20C00C),
22205     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01B20C00C),
22206     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22207         &imageAtomicExchangeExt_01B20C00C),
22208     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01K20C00C),
22209     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22210         &imageAtomicExchangeExt_01K20C00C),
22211     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00w20C00C),
22212     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22213         &imageAtomicExchangeExt_00w20C00C),
22214     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01F20C00C),
22215     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22216         &imageAtomicExchangeExt_01F20C00C),
22217     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01O20C00C),
22218     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22219         &imageAtomicExchangeExt_01O20C00C),
22220     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00x10C00C),
22221     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22222         &imageAtomicExchangeExt_00x10C00C),
22223     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01G10C00C),
22224     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22225         &imageAtomicExchangeExt_01G10C00C),
22226     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01P10C00C),
22227     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22228         &imageAtomicExchangeExt_01P10C00C),
22229     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00u10C00C00C),
22230     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22231         &imageAtomicExchangeExt_00u10C00C00C),
22232     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01D10C00C00C),
22233     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22234         &imageAtomicExchangeExt_01D10C00C00C),
22235     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01M10C00C00C),
22236     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22237         &imageAtomicExchangeExt_01M10C00C00C),
22238     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00v20C00C00C),
22239     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22240         &imageAtomicExchangeExt_00v20C00C00C),
22241     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01E20C00C00C),
22242     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22243         &imageAtomicExchangeExt_01E20C00C00C),
22244     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01N20C00C00C),
22245     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22246         &imageAtomicExchangeExt_01N20C00C00C),
22247     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00q10C00B),
22248     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22249         &imageAtomicExchangeExt_00q10C00B),
22250     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00z10C00B),
22251     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22252         &imageAtomicExchangeExt_00z10C00B),
22253     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01I10C00B),
22254     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22255         &imageAtomicExchangeExt_01I10C00B),
22256     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00r20C00B),
22257     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22258         &imageAtomicExchangeExt_00r20C00B),
22259     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01A20C00B),
22260     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22261         &imageAtomicExchangeExt_01A20C00B),
22262     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01J20C00B),
22263     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22264         &imageAtomicExchangeExt_01J20C00B),
22265     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00t20C00B),
22266     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22267         &imageAtomicExchangeExt_00t20C00B),
22268     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01C20C00B),
22269     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22270         &imageAtomicExchangeExt_01C20C00B),
22271     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01L20C00B),
22272     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22273         &imageAtomicExchangeExt_01L20C00B),
22274     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00y00C00B),
22275     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22276         &imageAtomicExchangeExt_00y00C00B),
22277     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01H00C00B),
22278     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22279         &imageAtomicExchangeExt_01H00C00B),
22280     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01Q00C00B),
22281     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22282         &imageAtomicExchangeExt_01Q00C00B),
22283     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00s20C00B),
22284     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22285         &imageAtomicExchangeExt_00s20C00B),
22286     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01B20C00B),
22287     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22288         &imageAtomicExchangeExt_01B20C00B),
22289     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01K20C00B),
22290     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22291         &imageAtomicExchangeExt_01K20C00B),
22292     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00w20C00B),
22293     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22294         &imageAtomicExchangeExt_00w20C00B),
22295     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01F20C00B),
22296     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22297         &imageAtomicExchangeExt_01F20C00B),
22298     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01O20C00B),
22299     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22300         &imageAtomicExchangeExt_01O20C00B),
22301     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00x10C00B),
22302     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22303         &imageAtomicExchangeExt_00x10C00B),
22304     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01G10C00B),
22305     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22306         &imageAtomicExchangeExt_01G10C00B),
22307     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01P10C00B),
22308     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22309         &imageAtomicExchangeExt_01P10C00B),
22310     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00u10C00C00B),
22311     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22312         &imageAtomicExchangeExt_00u10C00C00B),
22313     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01D10C00C00B),
22314     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22315         &imageAtomicExchangeExt_01D10C00C00B),
22316     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01M10C00C00B),
22317     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22318         &imageAtomicExchangeExt_01M10C00C00B),
22319     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_00v20C00C00B),
22320     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22321         &imageAtomicExchangeExt_00v20C00C00B),
22322     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01E20C00C00B),
22323     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22324         &imageAtomicExchangeExt_01E20C00C00B),
22325     Rule::Get<320, Shader::ALL, 0>(&imageAtomicExchange_01N20C00C00B),
22326     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22327         &imageAtomicExchangeExt_01N20C00C00B),
22328     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00q10C00D00D),
22329     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22330         &imageAtomicCompSwapExt_00q10C00D00D),
22331     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00z10C00D00D),
22332     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22333         &imageAtomicCompSwapExt_00z10C00D00D),
22334     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01I10C00D00D),
22335     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22336         &imageAtomicCompSwapExt_01I10C00D00D),
22337     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00r20C00D00D),
22338     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22339         &imageAtomicCompSwapExt_00r20C00D00D),
22340     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01A20C00D00D),
22341     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22342         &imageAtomicCompSwapExt_01A20C00D00D),
22343     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01J20C00D00D),
22344     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22345         &imageAtomicCompSwapExt_01J20C00D00D),
22346     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00t20C00D00D),
22347     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22348         &imageAtomicCompSwapExt_00t20C00D00D),
22349     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01C20C00D00D),
22350     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22351         &imageAtomicCompSwapExt_01C20C00D00D),
22352     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01L20C00D00D),
22353     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22354         &imageAtomicCompSwapExt_01L20C00D00D),
22355     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00y00C00D00D),
22356     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22357         &imageAtomicCompSwapExt_00y00C00D00D),
22358     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01H00C00D00D),
22359     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22360         &imageAtomicCompSwapExt_01H00C00D00D),
22361     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01Q00C00D00D),
22362     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22363         &imageAtomicCompSwapExt_01Q00C00D00D),
22364     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00s20C00D00D),
22365     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22366         &imageAtomicCompSwapExt_00s20C00D00D),
22367     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01B20C00D00D),
22368     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22369         &imageAtomicCompSwapExt_01B20C00D00D),
22370     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01K20C00D00D),
22371     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22372         &imageAtomicCompSwapExt_01K20C00D00D),
22373     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00w20C00D00D),
22374     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22375         &imageAtomicCompSwapExt_00w20C00D00D),
22376     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01F20C00D00D),
22377     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22378         &imageAtomicCompSwapExt_01F20C00D00D),
22379     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01O20C00D00D),
22380     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22381         &imageAtomicCompSwapExt_01O20C00D00D),
22382     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00x10C00D00D),
22383     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22384         &imageAtomicCompSwapExt_00x10C00D00D),
22385     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01G10C00D00D),
22386     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22387         &imageAtomicCompSwapExt_01G10C00D00D),
22388     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01P10C00D00D),
22389     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22390         &imageAtomicCompSwapExt_01P10C00D00D),
22391     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00u10C00C00D00D),
22392     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22393         &imageAtomicCompSwapExt_00u10C00C00D00D),
22394     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01D10C00C00D00D),
22395     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22396         &imageAtomicCompSwapExt_01D10C00C00D00D),
22397     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01M10C00C00D00D),
22398     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22399         &imageAtomicCompSwapExt_01M10C00C00D00D),
22400     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00v20C00C00D00D),
22401     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22402         &imageAtomicCompSwapExt_00v20C00C00D00D),
22403     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01E20C00C00D00D),
22404     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22405         &imageAtomicCompSwapExt_01E20C00C00D00D),
22406     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01N20C00C00D00D),
22407     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22408         &imageAtomicCompSwapExt_01N20C00C00D00D),
22409     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00q10C00C00C),
22410     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22411         &imageAtomicCompSwapExt_00q10C00C00C),
22412     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00z10C00C00C),
22413     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22414         &imageAtomicCompSwapExt_00z10C00C00C),
22415     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01I10C00C00C),
22416     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22417         &imageAtomicCompSwapExt_01I10C00C00C),
22418     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00r20C00C00C),
22419     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22420         &imageAtomicCompSwapExt_00r20C00C00C),
22421     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01A20C00C00C),
22422     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22423         &imageAtomicCompSwapExt_01A20C00C00C),
22424     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01J20C00C00C),
22425     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22426         &imageAtomicCompSwapExt_01J20C00C00C),
22427     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00t20C00C00C),
22428     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22429         &imageAtomicCompSwapExt_00t20C00C00C),
22430     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01C20C00C00C),
22431     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22432         &imageAtomicCompSwapExt_01C20C00C00C),
22433     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01L20C00C00C),
22434     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22435         &imageAtomicCompSwapExt_01L20C00C00C),
22436     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00y00C00C00C),
22437     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22438         &imageAtomicCompSwapExt_00y00C00C00C),
22439     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01H00C00C00C),
22440     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22441         &imageAtomicCompSwapExt_01H00C00C00C),
22442     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01Q00C00C00C),
22443     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22444         &imageAtomicCompSwapExt_01Q00C00C00C),
22445     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00s20C00C00C),
22446     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22447         &imageAtomicCompSwapExt_00s20C00C00C),
22448     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01B20C00C00C),
22449     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22450         &imageAtomicCompSwapExt_01B20C00C00C),
22451     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01K20C00C00C),
22452     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22453         &imageAtomicCompSwapExt_01K20C00C00C),
22454     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00w20C00C00C),
22455     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22456         &imageAtomicCompSwapExt_00w20C00C00C),
22457     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01F20C00C00C),
22458     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22459         &imageAtomicCompSwapExt_01F20C00C00C),
22460     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01O20C00C00C),
22461     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22462         &imageAtomicCompSwapExt_01O20C00C00C),
22463     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00x10C00C00C),
22464     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22465         &imageAtomicCompSwapExt_00x10C00C00C),
22466     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01G10C00C00C),
22467     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22468         &imageAtomicCompSwapExt_01G10C00C00C),
22469     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01P10C00C00C),
22470     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22471         &imageAtomicCompSwapExt_01P10C00C00C),
22472     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00u10C00C00C00C),
22473     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22474         &imageAtomicCompSwapExt_00u10C00C00C00C),
22475     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01D10C00C00C00C),
22476     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22477         &imageAtomicCompSwapExt_01D10C00C00C00C),
22478     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01M10C00C00C00C),
22479     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22480         &imageAtomicCompSwapExt_01M10C00C00C00C),
22481     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_00v20C00C00C00C),
22482     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22483         &imageAtomicCompSwapExt_00v20C00C00C00C),
22484     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01E20C00C00C00C),
22485     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22486         &imageAtomicCompSwapExt_01E20C00C00C00C),
22487     Rule::Get<320, Shader::ALL, 0>(&imageAtomicCompSwap_01N20C00C00C00C),
22488     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
22489         &imageAtomicCompSwapExt_01N20C00C00C00C),
22490     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>(
22491         &pixelLocalLoadANGLE_01R),
22492     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>(
22493         &pixelLocalLoadANGLE_01S),
22494     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>(
22495         &pixelLocalLoadANGLE_01T),
22496     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>(
22497         &pixelLocalStoreANGLE_01R30B),
22498     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>(
22499         &pixelLocalStoreANGLE_01S30C),
22500     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>(
22501         &pixelLocalStoreANGLE_01T30D),
22502     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&beginInvocationInterlockNV_),
22503     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&endInvocationInterlockNV_),
22504     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&beginFragmentShaderOrderingINTEL_),
22505     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&beginInvocationInterlockARB_),
22506     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&endInvocationInterlockARB_),
22507     Rule::Get<310, Shader::ALL, 0>(&memoryBarrier_),
22508     Rule::Get<310, Shader::ALL, 0>(&memoryBarrierAtomicCounter_),
22509     Rule::Get<310, Shader::ALL, 0>(&memoryBarrierBuffer_),
22510     Rule::Get<310, Shader::ALL, 0>(&memoryBarrierImage_),
22511     Rule::Get<310, Shader::COMPUTE, 0>(&barrier_),
22512     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&barrierTCSES3_2_),
22513     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(&barrierTCS_),
22514     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(&barrierTCS_),
22515     Rule::Get<310, Shader::COMPUTE, 0>(&memoryBarrierShared_),
22516     Rule::Get<310, Shader::COMPUTE, 0>(&groupMemoryBarrier_),
22517     Rule::Get<320, Shader::GEOMETRY, 0>(&EmitVertexES3_2_),
22518     Rule::Get<310, Shader::GEOMETRY, EXT_INDEX(EXT_geometry_shader)>(&EmitVertex_),
22519     Rule::Get<310, Shader::GEOMETRY, EXT_INDEX(OES_geometry_shader)>(&EmitVertex_),
22520     Rule::Get<320, Shader::GEOMETRY, 0>(&EndPrimitiveES3_2_),
22521     Rule::Get<310, Shader::GEOMETRY, EXT_INDEX(EXT_geometry_shader)>(&EndPrimitive_),
22522     Rule::Get<310, Shader::GEOMETRY, EXT_INDEX(OES_geometry_shader)>(&EndPrimitive_),
22523     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01U),
22524     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01V),
22525     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01W),
22526     Rule::Get<kESSLInternalBackendBuiltIns, Shader::FRAGMENT, 0>(&numSamples_),
22527     Rule::Get<kESSLInternalBackendBuiltIns, Shader::FRAGMENT, 0>(&samplePosition_00D),
22528     Rule::Get<kESSLInternalBackendBuiltIns, Shader::FRAGMENT, 0>(&interpolateAtCenter_00B),
22529     Rule::Get<kESSLInternalBackendBuiltIns, Shader::FRAGMENT, 0>(&interpolateAtCenter_10B),
22530     Rule::Get<kESSLInternalBackendBuiltIns, Shader::FRAGMENT, 0>(&interpolateAtCenter_20B),
22531     Rule::Get<kESSLInternalBackendBuiltIns, Shader::FRAGMENT, 0>(&interpolateAtCenter_30B),
22532     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&saturate_00B),
22533     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&saturate_10B),
22534     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&saturate_20B),
22535     Rule::Get<kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&saturate_30B),
22536     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
22537     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_DepthRange),
22538     Rule::Get<320, Shader::ALL, 0>(&BuiltInVariable::kgl_NumSamplesES3_2),
22539     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_sample_variables)>(&BuiltInVariable::kgl_NumSamples),
22540     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAttribs),
22541     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexUniformVectors),
22542     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits),
22543     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedTextureImageUnits),
22544     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
22545     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentUniformVectors),
22546     Rule::Get<100, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors),
22547     Rule::Get<0, Shader::ALL, 0>(&TableBase::m_gl_MaxDrawBuffers),
22548     Rule::Get<0, Shader::ALL, EXT_INDEX(EXT_blend_func_extended)>(
22549         &TableBase::m_gl_MaxDualSourceDrawBuffersEXT),
22550     Rule::Get<300, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexOutputVectors),
22551     Rule::Get<300, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentInputVectors),
22552     Rule::Get<300, Shader::ALL, 0>(&TableBase::m_gl_MinProgramTexelOffset),
22553     Rule::Get<300, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
22554     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxImageUnits),
22555     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexImageUniforms),
22556     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
22557     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeImageUniforms),
22558     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedImageUniforms),
22559     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedShaderOutputResources),
22560     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupCount),
22561     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
22562     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeUniformComponents),
22563     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeTextureImageUnits),
22564     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
22565     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounterBuffers),
22566     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
22567     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters),
22568     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
22569     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBindings),
22570     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers),
22571     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounterBuffers),
22572     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounterBuffers),
22573     Rule::Get<310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBufferSize),
22574     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryInputComponentsES3_2),
22575     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22576         &TableBase::m_gl_MaxGeometryInputComponents),
22577     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22578         &TableBase::m_gl_MaxGeometryInputComponents),
22579     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryOutputComponentsES3_2),
22580     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22581         &TableBase::m_gl_MaxGeometryOutputComponents),
22582     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22583         &TableBase::m_gl_MaxGeometryOutputComponents),
22584     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryImageUniformsES3_2),
22585     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22586         &TableBase::m_gl_MaxGeometryImageUniforms),
22587     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22588         &TableBase::m_gl_MaxGeometryImageUniforms),
22589     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryTextureImageUnitsES3_2),
22590     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22591         &TableBase::m_gl_MaxGeometryTextureImageUnits),
22592     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22593         &TableBase::m_gl_MaxGeometryTextureImageUnits),
22594     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryOutputVerticesES3_2),
22595     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22596         &TableBase::m_gl_MaxGeometryOutputVertices),
22597     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22598         &TableBase::m_gl_MaxGeometryOutputVertices),
22599     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryTotalOutputComponentsES3_2),
22600     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22601         &TableBase::m_gl_MaxGeometryTotalOutputComponents),
22602     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22603         &TableBase::m_gl_MaxGeometryTotalOutputComponents),
22604     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryUniformComponentsES3_2),
22605     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22606         &TableBase::m_gl_MaxGeometryUniformComponents),
22607     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22608         &TableBase::m_gl_MaxGeometryUniformComponents),
22609     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryAtomicCountersES3_2),
22610     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22611         &TableBase::m_gl_MaxGeometryAtomicCounters),
22612     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22613         &TableBase::m_gl_MaxGeometryAtomicCounters),
22614     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryAtomicCounterBuffersES3_2),
22615     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
22616         &TableBase::m_gl_MaxGeometryAtomicCounterBuffers),
22617     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>(
22618         &TableBase::m_gl_MaxGeometryAtomicCounterBuffers),
22619     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlInputComponentsES3_2),
22620     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22621         &TableBase::m_gl_MaxTessControlInputComponents),
22622     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22623         &TableBase::m_gl_MaxTessControlInputComponents),
22624     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlOutputComponentsES3_2),
22625     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22626         &TableBase::m_gl_MaxTessControlOutputComponents),
22627     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22628         &TableBase::m_gl_MaxTessControlOutputComponents),
22629     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlTextureImageUnitsES3_2),
22630     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22631         &TableBase::m_gl_MaxTessControlTextureImageUnits),
22632     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22633         &TableBase::m_gl_MaxTessControlTextureImageUnits),
22634     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlUniformComponentsES3_2),
22635     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22636         &TableBase::m_gl_MaxTessControlUniformComponents),
22637     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22638         &TableBase::m_gl_MaxTessControlUniformComponents),
22639     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlTotalOutputComponentsES3_2),
22640     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22641         &TableBase::m_gl_MaxTessControlTotalOutputComponents),
22642     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22643         &TableBase::m_gl_MaxTessControlTotalOutputComponents),
22644     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlImageUniformsES3_2),
22645     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22646         &TableBase::m_gl_MaxTessControlImageUniforms),
22647     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22648         &TableBase::m_gl_MaxTessControlImageUniforms),
22649     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlAtomicCountersES3_2),
22650     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22651         &TableBase::m_gl_MaxTessControlAtomicCounters),
22652     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22653         &TableBase::m_gl_MaxTessControlAtomicCounters),
22654     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlAtomicCounterBuffersES3_2),
22655     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22656         &TableBase::m_gl_MaxTessControlAtomicCounterBuffers),
22657     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22658         &TableBase::m_gl_MaxTessControlAtomicCounterBuffers),
22659     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessPatchComponentsES3_2),
22660     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22661         &TableBase::m_gl_MaxTessPatchComponents),
22662     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22663         &TableBase::m_gl_MaxTessPatchComponents),
22664     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxPatchVerticesES3_2),
22665     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22666         &TableBase::m_gl_MaxPatchVertices),
22667     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22668         &TableBase::m_gl_MaxPatchVertices),
22669     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessGenLevelES3_2),
22670     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22671         &TableBase::m_gl_MaxTessGenLevel),
22672     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22673         &TableBase::m_gl_MaxTessGenLevel),
22674     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationInputComponentsES3_2),
22675     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22676         &TableBase::m_gl_MaxTessEvaluationInputComponents),
22677     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22678         &TableBase::m_gl_MaxTessEvaluationInputComponents),
22679     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationOutputComponentsES3_2),
22680     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22681         &TableBase::m_gl_MaxTessEvaluationOutputComponents),
22682     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22683         &TableBase::m_gl_MaxTessEvaluationOutputComponents),
22684     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationTextureImageUnitsES3_2),
22685     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22686         &TableBase::m_gl_MaxTessEvaluationTextureImageUnits),
22687     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22688         &TableBase::m_gl_MaxTessEvaluationTextureImageUnits),
22689     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationUniformComponentsES3_2),
22690     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22691         &TableBase::m_gl_MaxTessEvaluationUniformComponents),
22692     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22693         &TableBase::m_gl_MaxTessEvaluationUniformComponents),
22694     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationImageUniformsES3_2),
22695     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22696         &TableBase::m_gl_MaxTessEvaluationImageUniforms),
22697     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22698         &TableBase::m_gl_MaxTessEvaluationImageUniforms),
22699     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationAtomicCountersES3_2),
22700     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22701         &TableBase::m_gl_MaxTessEvaluationAtomicCounters),
22702     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22703         &TableBase::m_gl_MaxTessEvaluationAtomicCounters),
22704     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2),
22705     Rule::Get<310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>(
22706         &TableBase::m_gl_MaxTessEvaluationAtomicCounterBuffers),
22707     Rule::Get<310, Shader::ALL, EXT_INDEX(OES_tessellation_shader)>(
22708         &TableBase::m_gl_MaxTessEvaluationAtomicCounterBuffers),
22709     Rule::Get<320, Shader::ALL, 0>(&TableBase::m_gl_MaxSamplesES3_2),
22710     Rule::Get<300, Shader::ALL, EXT_INDEX(OES_sample_variables)>(&TableBase::m_gl_MaxSamples),
22711     Rule::Get<0, Shader::ALL, EXT_INDEX(APPLE_clip_distance)>(
22712         &TableBase::m_gl_MaxClipDistancesAPPLE),
22713     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>(
22714         &TableBase::m_gl_MaxClipDistances),
22715     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_clip_cull_distance)>(
22716         &TableBase::m_gl_MaxClipDistances),
22717     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>(
22718         &TableBase::m_gl_MaxCullDistances),
22719     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_clip_cull_distance)>(
22720         &TableBase::m_gl_MaxCullDistances),
22721     Rule::Get<300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>(
22722         &TableBase::m_gl_MaxCombinedClipAndCullDistances),
22723     Rule::Get<300, Shader::ALL, EXT_INDEX(ANGLE_clip_cull_distance)>(
22724         &TableBase::m_gl_MaxCombinedClipAndCullDistances),
22725     Rule::Get<100, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord),
22726     Rule::Get<300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord300),
22727     Rule::Get<0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FrontFacing),
22728     Rule::Get<0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PointCoord),
22729     Rule::Get<100, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragColor),
22730     Rule::Get<100, Shader::FRAGMENT, 0>(&TableBase::m_gl_FragData),
22731     Rule::Get<300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
22732     Rule::Get<310, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
22733     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>(
22734         &BuiltInVariable::kgl_SecondaryFragColorEXT),
22735     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>(
22736         &TableBase::m_gl_SecondaryFragDataEXT),
22737     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_frag_depth)>(&TableBase::m_gl_FragDepthEXT),
22738     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_framebuffer_fetch)>(
22739         &TableBase::m_gl_LastFragData),
22740     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_framebuffer_fetch_non_coherent)>(
22741         &TableBase::m_gl_LastFragData),
22742     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>(
22743         &TableBase::m_gl_LastFragDataNV),
22744     Rule::Get<100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>(
22745         &BuiltInVariable::kgl_LastFragColor),
22746     Rule::Get<0, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch)>(
22747         &BuiltInVariable::kgl_LastFragColorARM),
22748     Rule::Get<0, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch_depth_stencil)>(
22749         &BuiltInVariable::kgl_LastFragDepthARM),
22750     Rule::Get<0, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch_depth_stencil)>(
22751         &BuiltInVariable::kgl_LastFragStencilARM),
22752     Rule::Get<320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PrimitiveIDES3_2),
22753     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDGSES3_2),
22754     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDTCSES3_2),
22755     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDTESES3_2),
22756     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_geometry_shader)>(
22757         &BuiltInVariable::kgl_PrimitiveID),
22758     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(OES_geometry_shader)>(
22759         &BuiltInVariable::kgl_PrimitiveID),
22760     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
22761         &BuiltInVariable::kgl_PrimitiveIDGS),
22762     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(
22763         &BuiltInVariable::kgl_PrimitiveIDGS),
22764     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22765         &BuiltInVariable::kgl_PrimitiveIDTCS),
22766     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22767         &BuiltInVariable::kgl_PrimitiveIDTCS),
22768     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22769         &BuiltInVariable::kgl_PrimitiveIDTES),
22770     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22771         &BuiltInVariable::kgl_PrimitiveIDTES),
22772     Rule::Get<320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_LayerES3_2),
22773     Rule::Get<kESSLInternalBackendBuiltIns, Shader::VERTEX, 0>(&BuiltInVariable::kgl_LayerVS),
22774     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_LayerGSES3_2),
22775     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(EXT_geometry_shader)>(&BuiltInVariable::kgl_Layer),
22776     Rule::Get<310, Shader::FRAGMENT, EXT_INDEX(OES_geometry_shader)>(&BuiltInVariable::kgl_Layer),
22777     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
22778         &BuiltInVariable::kgl_LayerGS),
22779     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(
22780         &BuiltInVariable::kgl_LayerGS),
22781     Rule::Get<320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_SampleIDES3_2),
22782     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>(
22783         &BuiltInVariable::kgl_SampleID),
22784     Rule::Get<320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_SamplePositionES3_2),
22785     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>(
22786         &BuiltInVariable::kgl_SamplePosition),
22787     Rule::Get<320, Shader::FRAGMENT, 0>(&TableBase::m_gl_SampleMaskInES3_2),
22788     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>(
22789         &TableBase::m_gl_SampleMaskIn),
22790     Rule::Get<320, Shader::FRAGMENT, 0>(&TableBase::m_gl_SampleMaskES3_2),
22791     Rule::Get<300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>(&TableBase::m_gl_SampleMask),
22792     Rule::Get<0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
22793     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_PositionGSES3_2),
22794     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_PositionTCSES3_2),
22795     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_PositionTESES3_2),
22796     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
22797         &TableBase::m_gl_PositionGS),
22798     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(
22799         &TableBase::m_gl_PositionGS),
22800     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22801         &TableBase::m_gl_PositionTCS),
22802     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22803         &TableBase::m_gl_PositionTCS),
22804     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22805         &TableBase::m_gl_PositionTES),
22806     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22807         &TableBase::m_gl_PositionTES),
22808     Rule::Get<100, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize),
22809     Rule::Get<300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize300),
22810     Rule::Get<300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceID),
22811     Rule::Get<kESSLInternalBackendBuiltIns, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceIndex),
22812     Rule::Get<300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexID),
22813     Rule::Get<kESSLInternalBackendBuiltIns, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexIndex),
22814     Rule::Get<0, Shader::VERTEX, EXT_INDEX(ANGLE_multi_draw)>(&BuiltInVariable::kgl_DrawID),
22815     Rule::Get<300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>(
22816         &BuiltInVariable::kgl_BaseVertex),
22817     Rule::Get<300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>(
22818         &BuiltInVariable::kgl_BaseInstance),
22819     Rule::Get<0, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>(
22820         &BuiltInVariable::kangle_BaseVertex),
22821     Rule::Get<0, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>(
22822         &BuiltInVariable::kangle_BaseInstance),
22823     Rule::Get<0, Shader::VERTEX, EXT_INDEX(APPLE_clip_distance)>(
22824         &TableBase::m_gl_ClipDistanceAPPLE),
22825     Rule::Get<300, Shader::NOT_COMPUTE, EXT_INDEX(EXT_clip_cull_distance)>(
22826         &TableBase::m_gl_ClipDistance),
22827     Rule::Get<300, Shader::NOT_COMPUTE, EXT_INDEX(ANGLE_clip_cull_distance)>(
22828         &TableBase::m_gl_ClipDistance),
22829     Rule::Get<310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_NumWorkGroups),
22830     Rule::Get<310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
22831     Rule::Get<310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupID),
22832     Rule::Get<310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationID),
22833     Rule::Get<310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_GlobalInvocationID),
22834     Rule::Get<310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationIndex),
22835     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDInES3_2),
22836     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
22837         &BuiltInVariable::kgl_PrimitiveIDIn),
22838     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(
22839         &BuiltInVariable::kgl_PrimitiveIDIn),
22840     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_InvocationIDES3_2),
22841     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&BuiltInVariable::kgl_InvocationIDTCSES3_2),
22842     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
22843         &BuiltInVariable::kgl_InvocationID),
22844     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(
22845         &BuiltInVariable::kgl_InvocationID),
22846     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22847         &BuiltInVariable::kgl_InvocationIDTCS),
22848     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22849         &BuiltInVariable::kgl_InvocationIDTCS),
22850     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_PerVertexES3_2),
22851     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_PerVertexTCSES3_2),
22852     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_PerVertexTESES3_2),
22853     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
22854         &TableBase::m_gl_PerVertex),
22855     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(
22856         &TableBase::m_gl_PerVertex),
22857     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22858         &TableBase::m_gl_PerVertexTCS),
22859     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22860         &TableBase::m_gl_PerVertexTCS),
22861     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22862         &TableBase::m_gl_PerVertexTES),
22863     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22864         &TableBase::m_gl_PerVertexTES),
22865     Rule::Get<320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_inES3_2),
22866     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_inTCSES3_2),
22867     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_inTESES3_2),
22868     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(&TableBase::m_gl_in),
22869     Rule::Get<310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>(&TableBase::m_gl_in),
22870     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22871         &TableBase::m_gl_inTCS),
22872     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22873         &TableBase::m_gl_inTCS),
22874     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22875         &TableBase::m_gl_inTES),
22876     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22877         &TableBase::m_gl_inTES),
22878     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&BuiltInVariable::kgl_PatchVerticesInTCSES3_2),
22879     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&BuiltInVariable::kgl_PatchVerticesInTESES3_2),
22880     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22881         &BuiltInVariable::kgl_PatchVerticesInTCS),
22882     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22883         &BuiltInVariable::kgl_PatchVerticesInTCS),
22884     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22885         &BuiltInVariable::kgl_PatchVerticesInTES),
22886     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22887         &BuiltInVariable::kgl_PatchVerticesInTES),
22888     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_TessLevelOuterTCSES3_2),
22889     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_TessLevelOuterTESES3_2),
22890     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22891         &TableBase::m_gl_TessLevelOuterTCS),
22892     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22893         &TableBase::m_gl_TessLevelOuterTCS),
22894     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22895         &TableBase::m_gl_TessLevelOuterTES),
22896     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22897         &TableBase::m_gl_TessLevelOuterTES),
22898     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_TessLevelInnerTCSES3_2),
22899     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_TessLevelInnerTESES3_2),
22900     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22901         &TableBase::m_gl_TessLevelInnerTCS),
22902     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22903         &TableBase::m_gl_TessLevelInnerTCS),
22904     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22905         &TableBase::m_gl_TessLevelInnerTES),
22906     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22907         &TableBase::m_gl_TessLevelInnerTES),
22908     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_outTCSES3_2),
22909     Rule::Get<320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_outTESES3_2),
22910     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22911         &TableBase::m_gl_outTCS),
22912     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22913         &TableBase::m_gl_outTCS),
22914     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22915         &TableBase::m_gl_outTES),
22916     Rule::Get<310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(OES_tessellation_shader)>(
22917         &TableBase::m_gl_outTES),
22918     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_BoundingBoxTCSES3_2),
22919     Rule::Get<320, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22920         &TableBase::m_gl_BoundingBoxTCS),
22921     Rule::Get<320, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22922         &TableBase::m_gl_BoundingBoxTCS),
22923     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_BoundingBoxEXTTCSES3_2),
22924     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22925         &TableBase::m_gl_BoundingBoxEXTTCS),
22926     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22927         &TableBase::m_gl_BoundingBoxEXTTCS),
22928     Rule::Get<320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_BoundingBoxOESTCSES3_2),
22929     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
22930         &TableBase::m_gl_BoundingBoxOESTCS),
22931     Rule::Get<310, Shader::TESS_CONTROL_EXT, EXT_INDEX(OES_tessellation_shader)>(
22932         &TableBase::m_gl_BoundingBoxOESTCS),
22933     Rule::Get<310, Shader::TESS_EVALUATION_EXT, 0>(&BuiltInVariable::kgl_TessCoord),
22934     Rule::Get<300, Shader::NOT_COMPUTE, EXT_INDEX(OVR_multiview)>(&BuiltInVariable::kgl_ViewID_OVR),
22935     Rule::Get<300, Shader::NOT_COMPUTE, EXT_INDEX(EXT_clip_cull_distance)>(
22936         &TableBase::m_gl_CullDistance),
22937     Rule::Get<300, Shader::NOT_COMPUTE, EXT_INDEX(ANGLE_clip_cull_distance)>(
22938         &TableBase::m_gl_CullDistance)};
22939 
22940 // Flat array of all mangled names.
22941 constexpr const char *kMangledNames[] = {"radians(00B",
22942                                          "radians(10B",
22943                                          "radians(20B",
22944                                          "radians(30B",
22945                                          "degrees(00B",
22946                                          "degrees(10B",
22947                                          "degrees(20B",
22948                                          "degrees(30B",
22949                                          "sin(00B",
22950                                          "sin(10B",
22951                                          "sin(20B",
22952                                          "sin(30B",
22953                                          "cos(00B",
22954                                          "cos(10B",
22955                                          "cos(20B",
22956                                          "cos(30B",
22957                                          "tan(00B",
22958                                          "tan(10B",
22959                                          "tan(20B",
22960                                          "tan(30B",
22961                                          "asin(00B",
22962                                          "asin(10B",
22963                                          "asin(20B",
22964                                          "asin(30B",
22965                                          "acos(00B",
22966                                          "acos(10B",
22967                                          "acos(20B",
22968                                          "acos(30B",
22969                                          "atan(00B00B",
22970                                          "atan(10B10B",
22971                                          "atan(20B20B",
22972                                          "atan(30B30B",
22973                                          "atan(00B",
22974                                          "atan(10B",
22975                                          "atan(20B",
22976                                          "atan(30B",
22977                                          "sinh(00B",
22978                                          "sinh(10B",
22979                                          "sinh(20B",
22980                                          "sinh(30B",
22981                                          "cosh(00B",
22982                                          "cosh(10B",
22983                                          "cosh(20B",
22984                                          "cosh(30B",
22985                                          "tanh(00B",
22986                                          "tanh(10B",
22987                                          "tanh(20B",
22988                                          "tanh(30B",
22989                                          "asinh(00B",
22990                                          "asinh(10B",
22991                                          "asinh(20B",
22992                                          "asinh(30B",
22993                                          "acosh(00B",
22994                                          "acosh(10B",
22995                                          "acosh(20B",
22996                                          "acosh(30B",
22997                                          "atanh(00B",
22998                                          "atanh(10B",
22999                                          "atanh(20B",
23000                                          "atanh(30B",
23001                                          "pow(00B00B",
23002                                          "pow(10B10B",
23003                                          "pow(20B20B",
23004                                          "pow(30B30B",
23005                                          "exp(00B",
23006                                          "exp(10B",
23007                                          "exp(20B",
23008                                          "exp(30B",
23009                                          "log(00B",
23010                                          "log(10B",
23011                                          "log(20B",
23012                                          "log(30B",
23013                                          "exp2(00B",
23014                                          "exp2(10B",
23015                                          "exp2(20B",
23016                                          "exp2(30B",
23017                                          "log2(00B",
23018                                          "log2(10B",
23019                                          "log2(20B",
23020                                          "log2(30B",
23021                                          "sqrt(00B",
23022                                          "sqrt(10B",
23023                                          "sqrt(20B",
23024                                          "sqrt(30B",
23025                                          "inversesqrt(00B",
23026                                          "inversesqrt(10B",
23027                                          "inversesqrt(20B",
23028                                          "inversesqrt(30B",
23029                                          "abs(00B",
23030                                          "abs(10B",
23031                                          "abs(20B",
23032                                          "abs(30B",
23033                                          "abs(00C",
23034                                          "abs(10C",
23035                                          "abs(20C",
23036                                          "abs(30C",
23037                                          "sign(00B",
23038                                          "sign(10B",
23039                                          "sign(20B",
23040                                          "sign(30B",
23041                                          "sign(00C",
23042                                          "sign(10C",
23043                                          "sign(20C",
23044                                          "sign(30C",
23045                                          "floor(00B",
23046                                          "floor(10B",
23047                                          "floor(20B",
23048                                          "floor(30B",
23049                                          "trunc(00B",
23050                                          "trunc(10B",
23051                                          "trunc(20B",
23052                                          "trunc(30B",
23053                                          "round(00B",
23054                                          "round(10B",
23055                                          "round(20B",
23056                                          "round(30B",
23057                                          "roundEven(00B",
23058                                          "roundEven(10B",
23059                                          "roundEven(20B",
23060                                          "roundEven(30B",
23061                                          "ceil(00B",
23062                                          "ceil(10B",
23063                                          "ceil(20B",
23064                                          "ceil(30B",
23065                                          "fract(00B",
23066                                          "fract(10B",
23067                                          "fract(20B",
23068                                          "fract(30B",
23069                                          "mod(00B00B",
23070                                          "mod(10B00B",
23071                                          "mod(20B00B",
23072                                          "mod(30B00B",
23073                                          "mod(10B10B",
23074                                          "mod(20B20B",
23075                                          "mod(30B30B",
23076                                          "min(00B00B",
23077                                          "min(10B00B",
23078                                          "min(20B00B",
23079                                          "min(30B00B",
23080                                          "min(10B10B",
23081                                          "min(20B20B",
23082                                          "min(30B30B",
23083                                          "min(00C00C",
23084                                          "min(10C10C",
23085                                          "min(20C20C",
23086                                          "min(30C30C",
23087                                          "min(10C00C",
23088                                          "min(20C00C",
23089                                          "min(30C00C",
23090                                          "min(00D00D",
23091                                          "min(10D10D",
23092                                          "min(20D20D",
23093                                          "min(30D30D",
23094                                          "min(10D00D",
23095                                          "min(20D00D",
23096                                          "min(30D00D",
23097                                          "max(00B00B",
23098                                          "max(10B00B",
23099                                          "max(20B00B",
23100                                          "max(30B00B",
23101                                          "max(10B10B",
23102                                          "max(20B20B",
23103                                          "max(30B30B",
23104                                          "max(00C00C",
23105                                          "max(10C10C",
23106                                          "max(20C20C",
23107                                          "max(30C30C",
23108                                          "max(10C00C",
23109                                          "max(20C00C",
23110                                          "max(30C00C",
23111                                          "max(00D00D",
23112                                          "max(10D10D",
23113                                          "max(20D20D",
23114                                          "max(30D30D",
23115                                          "max(10D00D",
23116                                          "max(20D00D",
23117                                          "max(30D00D",
23118                                          "clamp(00B00B00B",
23119                                          "clamp(10B00B00B",
23120                                          "clamp(20B00B00B",
23121                                          "clamp(30B00B00B",
23122                                          "clamp(10B10B10B",
23123                                          "clamp(20B20B20B",
23124                                          "clamp(30B30B30B",
23125                                          "clamp(00C00C00C",
23126                                          "clamp(10C00C00C",
23127                                          "clamp(20C00C00C",
23128                                          "clamp(30C00C00C",
23129                                          "clamp(10C10C10C",
23130                                          "clamp(20C20C20C",
23131                                          "clamp(30C30C30C",
23132                                          "clamp(00D00D00D",
23133                                          "clamp(10D00D00D",
23134                                          "clamp(20D00D00D",
23135                                          "clamp(30D00D00D",
23136                                          "clamp(10D10D10D",
23137                                          "clamp(20D20D20D",
23138                                          "clamp(30D30D30D",
23139                                          "mix(00B00B00B",
23140                                          "mix(10B10B00B",
23141                                          "mix(20B20B00B",
23142                                          "mix(30B30B00B",
23143                                          "mix(10B10B10B",
23144                                          "mix(20B20B20B",
23145                                          "mix(30B30B30B",
23146                                          "mix(00B00B00E",
23147                                          "mix(10B10B10E",
23148                                          "mix(20B20B20E",
23149                                          "mix(30B30B30E",
23150                                          "mix(00C00C00E",
23151                                          "mix(10C10C10E",
23152                                          "mix(20C20C20E",
23153                                          "mix(30C30C30E",
23154                                          "mix(00D00D00E",
23155                                          "mix(10D10D10E",
23156                                          "mix(20D20D20E",
23157                                          "mix(30D30D30E",
23158                                          "mix(00E00E00E",
23159                                          "mix(10E10E10E",
23160                                          "mix(20E20E20E",
23161                                          "mix(30E30E30E",
23162                                          "step(00B00B",
23163                                          "step(10B10B",
23164                                          "step(20B20B",
23165                                          "step(30B30B",
23166                                          "step(00B10B",
23167                                          "step(00B20B",
23168                                          "step(00B30B",
23169                                          "smoothstep(00B00B00B",
23170                                          "smoothstep(10B10B10B",
23171                                          "smoothstep(20B20B20B",
23172                                          "smoothstep(30B30B30B",
23173                                          "smoothstep(00B00B10B",
23174                                          "smoothstep(00B00B20B",
23175                                          "smoothstep(00B00B30B",
23176                                          "modf(00B00B",
23177                                          "modf(10B10B",
23178                                          "modf(20B20B",
23179                                          "modf(30B30B",
23180                                          "isnan(00B",
23181                                          "isnan(10B",
23182                                          "isnan(20B",
23183                                          "isnan(30B",
23184                                          "isinf(00B",
23185                                          "isinf(10B",
23186                                          "isinf(20B",
23187                                          "isinf(30B",
23188                                          "floatBitsToInt(00B",
23189                                          "floatBitsToInt(10B",
23190                                          "floatBitsToInt(20B",
23191                                          "floatBitsToInt(30B",
23192                                          "floatBitsToUint(00B",
23193                                          "floatBitsToUint(10B",
23194                                          "floatBitsToUint(20B",
23195                                          "floatBitsToUint(30B",
23196                                          "intBitsToFloat(00C",
23197                                          "intBitsToFloat(10C",
23198                                          "intBitsToFloat(20C",
23199                                          "intBitsToFloat(30C",
23200                                          "uintBitsToFloat(00D",
23201                                          "uintBitsToFloat(10D",
23202                                          "uintBitsToFloat(20D",
23203                                          "uintBitsToFloat(30D",
23204                                          "fma(00B00B00B",
23205                                          "fma(10B10B10B",
23206                                          "fma(20B20B20B",
23207                                          "fma(30B30B30B",
23208                                          "frexp(00B00C",
23209                                          "frexp(10B10C",
23210                                          "frexp(20B20C",
23211                                          "frexp(30B30C",
23212                                          "ldexp(00B00C",
23213                                          "ldexp(10B10C",
23214                                          "ldexp(20B20C",
23215                                          "ldexp(30B30C",
23216                                          "packSnorm2x16(10B",
23217                                          "packHalf2x16(10B",
23218                                          "unpackSnorm2x16(00D",
23219                                          "unpackHalf2x16(00D",
23220                                          "packUnorm2x16(10B",
23221                                          "unpackUnorm2x16(00D",
23222                                          "packUnorm4x8(30B",
23223                                          "packSnorm4x8(30B",
23224                                          "unpackUnorm4x8(00D",
23225                                          "unpackSnorm4x8(00D",
23226                                          "length(00B",
23227                                          "length(10B",
23228                                          "length(20B",
23229                                          "length(30B",
23230                                          "distance(00B00B",
23231                                          "distance(10B10B",
23232                                          "distance(20B20B",
23233                                          "distance(30B30B",
23234                                          "dot(00B00B",
23235                                          "dot(10B10B",
23236                                          "dot(20B20B",
23237                                          "dot(30B30B",
23238                                          "cross(20B20B",
23239                                          "normalize(00B",
23240                                          "normalize(10B",
23241                                          "normalize(20B",
23242                                          "normalize(30B",
23243                                          "faceforward(00B00B00B",
23244                                          "faceforward(10B10B10B",
23245                                          "faceforward(20B20B20B",
23246                                          "faceforward(30B30B30B",
23247                                          "reflect(00B00B",
23248                                          "reflect(10B10B",
23249                                          "reflect(20B20B",
23250                                          "reflect(30B30B",
23251                                          "refract(00B00B00B",
23252                                          "refract(10B10B00B",
23253                                          "refract(20B20B00B",
23254                                          "refract(30B30B00B",
23255                                          "matrixCompMult(50B50B",
23256                                          "matrixCompMult(A0BA0B",
23257                                          "matrixCompMult(F0BF0B",
23258                                          "matrixCompMult(90B90B",
23259                                          "matrixCompMult(60B60B",
23260                                          "matrixCompMult(D0BD0B",
23261                                          "matrixCompMult(70B70B",
23262                                          "matrixCompMult(E0BE0B",
23263                                          "matrixCompMult(B0BB0B",
23264                                          "outerProduct(10B10B",
23265                                          "outerProduct(20B20B",
23266                                          "outerProduct(30B30B",
23267                                          "outerProduct(20B10B",
23268                                          "outerProduct(10B20B",
23269                                          "outerProduct(30B10B",
23270                                          "outerProduct(10B30B",
23271                                          "outerProduct(30B20B",
23272                                          "outerProduct(20B30B",
23273                                          "transpose(50B",
23274                                          "transpose(A0B",
23275                                          "transpose(F0B",
23276                                          "transpose(60B",
23277                                          "transpose(90B",
23278                                          "transpose(70B",
23279                                          "transpose(D0B",
23280                                          "transpose(B0B",
23281                                          "transpose(E0B",
23282                                          "determinant(50B",
23283                                          "determinant(A0B",
23284                                          "determinant(F0B",
23285                                          "inverse(50B",
23286                                          "inverse(A0B",
23287                                          "inverse(F0B",
23288                                          "lessThan(10B10B",
23289                                          "lessThan(20B20B",
23290                                          "lessThan(30B30B",
23291                                          "lessThan(10C10C",
23292                                          "lessThan(20C20C",
23293                                          "lessThan(30C30C",
23294                                          "lessThan(10D10D",
23295                                          "lessThan(20D20D",
23296                                          "lessThan(30D30D",
23297                                          "lessThanEqual(10B10B",
23298                                          "lessThanEqual(20B20B",
23299                                          "lessThanEqual(30B30B",
23300                                          "lessThanEqual(10C10C",
23301                                          "lessThanEqual(20C20C",
23302                                          "lessThanEqual(30C30C",
23303                                          "lessThanEqual(10D10D",
23304                                          "lessThanEqual(20D20D",
23305                                          "lessThanEqual(30D30D",
23306                                          "greaterThan(10B10B",
23307                                          "greaterThan(20B20B",
23308                                          "greaterThan(30B30B",
23309                                          "greaterThan(10C10C",
23310                                          "greaterThan(20C20C",
23311                                          "greaterThan(30C30C",
23312                                          "greaterThan(10D10D",
23313                                          "greaterThan(20D20D",
23314                                          "greaterThan(30D30D",
23315                                          "greaterThanEqual(10B10B",
23316                                          "greaterThanEqual(20B20B",
23317                                          "greaterThanEqual(30B30B",
23318                                          "greaterThanEqual(10C10C",
23319                                          "greaterThanEqual(20C20C",
23320                                          "greaterThanEqual(30C30C",
23321                                          "greaterThanEqual(10D10D",
23322                                          "greaterThanEqual(20D20D",
23323                                          "greaterThanEqual(30D30D",
23324                                          "equal(10B10B",
23325                                          "equal(20B20B",
23326                                          "equal(30B30B",
23327                                          "equal(10C10C",
23328                                          "equal(20C20C",
23329                                          "equal(30C30C",
23330                                          "equal(10D10D",
23331                                          "equal(20D20D",
23332                                          "equal(30D30D",
23333                                          "equal(10E10E",
23334                                          "equal(20E20E",
23335                                          "equal(30E30E",
23336                                          "notEqual(10B10B",
23337                                          "notEqual(20B20B",
23338                                          "notEqual(30B30B",
23339                                          "notEqual(10C10C",
23340                                          "notEqual(20C20C",
23341                                          "notEqual(30C30C",
23342                                          "notEqual(10D10D",
23343                                          "notEqual(20D20D",
23344                                          "notEqual(30D30D",
23345                                          "notEqual(10E10E",
23346                                          "notEqual(20E20E",
23347                                          "notEqual(30E30E",
23348                                          "any(10E",
23349                                          "any(20E",
23350                                          "any(30E",
23351                                          "all(10E",
23352                                          "all(20E",
23353                                          "all(30E",
23354                                          "not(10E",
23355                                          "not(20E",
23356                                          "not(30E",
23357                                          "bitfieldExtract(00C00C00C",
23358                                          "bitfieldExtract(10C00C00C",
23359                                          "bitfieldExtract(20C00C00C",
23360                                          "bitfieldExtract(30C00C00C",
23361                                          "bitfieldExtract(00D00C00C",
23362                                          "bitfieldExtract(10D00C00C",
23363                                          "bitfieldExtract(20D00C00C",
23364                                          "bitfieldExtract(30D00C00C",
23365                                          "bitfieldInsert(00C00C00C00C",
23366                                          "bitfieldInsert(10C10C00C00C",
23367                                          "bitfieldInsert(20C20C00C00C",
23368                                          "bitfieldInsert(30C30C00C00C",
23369                                          "bitfieldInsert(00D00D00C00C",
23370                                          "bitfieldInsert(10D10D00C00C",
23371                                          "bitfieldInsert(20D20D00C00C",
23372                                          "bitfieldInsert(30D30D00C00C",
23373                                          "bitfieldReverse(00C",
23374                                          "bitfieldReverse(10C",
23375                                          "bitfieldReverse(20C",
23376                                          "bitfieldReverse(30C",
23377                                          "bitfieldReverse(00D",
23378                                          "bitfieldReverse(10D",
23379                                          "bitfieldReverse(20D",
23380                                          "bitfieldReverse(30D",
23381                                          "bitCount(00C",
23382                                          "bitCount(10C",
23383                                          "bitCount(20C",
23384                                          "bitCount(30C",
23385                                          "bitCount(00D",
23386                                          "bitCount(10D",
23387                                          "bitCount(20D",
23388                                          "bitCount(30D",
23389                                          "findLSB(00C",
23390                                          "findLSB(10C",
23391                                          "findLSB(20C",
23392                                          "findLSB(30C",
23393                                          "findLSB(00D",
23394                                          "findLSB(10D",
23395                                          "findLSB(20D",
23396                                          "findLSB(30D",
23397                                          "findMSB(00C",
23398                                          "findMSB(10C",
23399                                          "findMSB(20C",
23400                                          "findMSB(30C",
23401                                          "findMSB(00D",
23402                                          "findMSB(10D",
23403                                          "findMSB(20D",
23404                                          "findMSB(30D",
23405                                          "uaddCarry(00D00D00D",
23406                                          "uaddCarry(10D10D10D",
23407                                          "uaddCarry(20D20D20D",
23408                                          "uaddCarry(30D30D30D",
23409                                          "usubBorrow(00D00D00D",
23410                                          "usubBorrow(10D10D10D",
23411                                          "usubBorrow(20D20D20D",
23412                                          "usubBorrow(30D30D30D",
23413                                          "umulExtended(00D00D00D00D",
23414                                          "umulExtended(10D10D10D10D",
23415                                          "umulExtended(20D20D20D20D",
23416                                          "umulExtended(30D30D30D30D",
23417                                          "imulExtended(00C00C00C00C",
23418                                          "imulExtended(10C10C10C10C",
23419                                          "imulExtended(20C20C20C20C",
23420                                          "imulExtended(30C30C30C30C",
23421                                          "texture2D(00H10B",
23422                                          "texture2DProj(00H20B",
23423                                          "texture2DProj(00H30B",
23424                                          "textureCube(00J20B",
23425                                          "texture3D(00I20B",
23426                                          "texture3DProj(00I30B",
23427                                          "shadow2DEXT(00c20B",
23428                                          "shadow2DProjEXT(00c30B",
23429                                          "texture2D(00L10B",
23430                                          "texture2DProj(00L20B",
23431                                          "texture2DProj(00L30B",
23432                                          "texture2DRect(00N10B",
23433                                          "texture2DRectProj(00N20B",
23434                                          "texture2DRectProj(00N30B",
23435                                          "texture2DGradEXT(00H10B10B10B",
23436                                          "texture2DProjGradEXT(00H20B10B10B",
23437                                          "texture2DProjGradEXT(00H30B10B10B",
23438                                          "textureCubeGradEXT(00J20B20B20B",
23439                                          "textureVideoWEBGL(00p10B",
23440                                          "texture2D(00H10B00B",
23441                                          "texture2DProj(00H20B00B",
23442                                          "texture2DProj(00H30B00B",
23443                                          "textureCube(00J20B00B",
23444                                          "texture3D(00I20B00B",
23445                                          "texture3DProj(00I30B00B",
23446                                          "texture3DLod(00I20B00B",
23447                                          "texture3DProjLod(00I30B00B",
23448                                          "texture2DLod(00H10B00B",
23449                                          "texture2DProjLod(00H20B00B",
23450                                          "texture2DProjLod(00H30B00B",
23451                                          "textureCubeLod(00J20B00B",
23452                                          "texture2DLodEXT(00H10B00B",
23453                                          "texture2DProjLodEXT(00H20B00B",
23454                                          "texture2DProjLodEXT(00H30B00B",
23455                                          "textureCubeLodEXT(00J20B00B",
23456                                          "texture(00H10B",
23457                                          "texture(00Q10B",
23458                                          "texture(00W10B",
23459                                          "texture(00I20B",
23460                                          "texture(00R20B",
23461                                          "texture(00X20B",
23462                                          "texture(00J20B",
23463                                          "texture(00S20B",
23464                                          "texture(00Y20B",
23465                                          "texture(00K20B",
23466                                          "texture(00T20B",
23467                                          "texture(00Z20B",
23468                                          "texture(00c20B",
23469                                          "texture(00d30B",
23470                                          "texture(00e30B",
23471                                          "texture(00g30B",
23472                                          "texture(00l30B",
23473                                          "texture(00o30B",
23474                                          "texture(00h30B00B",
23475                                          "texture(00L10B",
23476                                          "texture(00M10B",
23477                                          "texture(00N10B",
23478                                          "texture(00p10B",
23479                                          "textureProj(00H20B",
23480                                          "textureProj(00Q20B",
23481                                          "textureProj(00W20B",
23482                                          "textureProj(00H30B",
23483                                          "textureProj(00Q30B",
23484                                          "textureProj(00W30B",
23485                                          "textureProj(00I30B",
23486                                          "textureProj(00R30B",
23487                                          "textureProj(00X30B",
23488                                          "textureProj(00c30B",
23489                                          "textureProj(00L20B",
23490                                          "textureProj(00L30B",
23491                                          "textureProj(00M20B",
23492                                          "textureProj(00M30B",
23493                                          "textureProj(00N20B",
23494                                          "textureProj(00N30B",
23495                                          "textureLod(00H10B00B",
23496                                          "textureLod(00Q10B00B",
23497                                          "textureLod(00W10B00B",
23498                                          "textureLod(00I20B00B",
23499                                          "textureLod(00R20B00B",
23500                                          "textureLod(00X20B00B",
23501                                          "textureLod(00J20B00B",
23502                                          "textureLod(00S20B00B",
23503                                          "textureLod(00Y20B00B",
23504                                          "textureLod(00K20B00B",
23505                                          "textureLod(00T20B00B",
23506                                          "textureLod(00Z20B00B",
23507                                          "textureLod(00c20B00B",
23508                                          "textureLod(00d30B00B",
23509                                          "textureLod(00e30B00B",
23510                                          "textureLod(00h30B00B00B",
23511                                          "textureLod(00g30B00B",
23512                                          "textureLod(00l30B00B",
23513                                          "textureLod(00o30B00B",
23514                                          "textureSize(00H00C",
23515                                          "textureSize(00Q00C",
23516                                          "textureSize(00W00C",
23517                                          "textureSize(00I00C",
23518                                          "textureSize(00R00C",
23519                                          "textureSize(00X00C",
23520                                          "textureSize(00J00C",
23521                                          "textureSize(00S00C",
23522                                          "textureSize(00Y00C",
23523                                          "textureSize(00K00C",
23524                                          "textureSize(00T00C",
23525                                          "textureSize(00Z00C",
23526                                          "textureSize(00c00C",
23527                                          "textureSize(00d00C",
23528                                          "textureSize(00e00C",
23529                                          "textureSize(00g00C",
23530                                          "textureSize(00l00C",
23531                                          "textureSize(00o00C",
23532                                          "textureSize(00h00C",
23533                                          "textureSize(00f",
23534                                          "textureSize(00k",
23535                                          "textureSize(00n",
23536                                          "textureSize(00O",
23537                                          "textureSize(00U",
23538                                          "textureSize(00a",
23539                                          "textureSize(00P",
23540                                          "textureSize(00V",
23541                                          "textureSize(00b",
23542                                          "textureSize(00L00C",
23543                                          "textureSize(00M00C",
23544                                          "textureProjLod(00H20B00B",
23545                                          "textureProjLod(00Q20B00B",
23546                                          "textureProjLod(00W20B00B",
23547                                          "textureProjLod(00H30B00B",
23548                                          "textureProjLod(00Q30B00B",
23549                                          "textureProjLod(00W30B00B",
23550                                          "textureProjLod(00I30B00B",
23551                                          "textureProjLod(00R30B00B",
23552                                          "textureProjLod(00X30B00B",
23553                                          "textureProjLod(00c30B00B",
23554                                          "texelFetch(00H10C00C",
23555                                          "texelFetch(00Q10C00C",
23556                                          "texelFetch(00W10C00C",
23557                                          "texelFetch(00I20C00C",
23558                                          "texelFetch(00R20C00C",
23559                                          "texelFetch(00X20C00C",
23560                                          "texelFetch(00K20C00C",
23561                                          "texelFetch(00T20C00C",
23562                                          "texelFetch(00Z20C00C",
23563                                          "texelFetch(00f00C",
23564                                          "texelFetch(00k00C",
23565                                          "texelFetch(00n00C",
23566                                          "texelFetch(00O10C00C",
23567                                          "texelFetch(00U10C00C",
23568                                          "texelFetch(00a10C00C",
23569                                          "texelFetch(00P20C00C",
23570                                          "texelFetch(00V20C00C",
23571                                          "texelFetch(00b20C00C",
23572                                          "texelFetch(00L10C00C",
23573                                          "texelFetch(00M10C00C",
23574                                          "textureGrad(00H10B10B10B",
23575                                          "textureGrad(00Q10B10B10B",
23576                                          "textureGrad(00W10B10B10B",
23577                                          "textureGrad(00I20B20B20B",
23578                                          "textureGrad(00R20B20B20B",
23579                                          "textureGrad(00X20B20B20B",
23580                                          "textureGrad(00J20B20B20B",
23581                                          "textureGrad(00S20B20B20B",
23582                                          "textureGrad(00Y20B20B20B",
23583                                          "textureGrad(00c20B10B10B",
23584                                          "textureGrad(00d30B20B20B",
23585                                          "textureGrad(00K20B10B10B",
23586                                          "textureGrad(00T20B10B10B",
23587                                          "textureGrad(00Z20B10B10B",
23588                                          "textureGrad(00e30B10B10B",
23589                                          "textureGrad(00g30B20B20B",
23590                                          "textureGrad(00l30B20B20B",
23591                                          "textureGrad(00o30B20B20B",
23592                                          "textureProjGrad(00H20B10B10B",
23593                                          "textureProjGrad(00Q20B10B10B",
23594                                          "textureProjGrad(00W20B10B10B",
23595                                          "textureProjGrad(00H30B10B10B",
23596                                          "textureProjGrad(00Q30B10B10B",
23597                                          "textureProjGrad(00W30B10B10B",
23598                                          "textureProjGrad(00I30B20B20B",
23599                                          "textureProjGrad(00R30B20B20B",
23600                                          "textureProjGrad(00X30B20B20B",
23601                                          "textureProjGrad(00c30B10B10B",
23602                                          "texture(00H10B00B",
23603                                          "texture(00Q10B00B",
23604                                          "texture(00W10B00B",
23605                                          "texture(00I20B00B",
23606                                          "texture(00R20B00B",
23607                                          "texture(00X20B00B",
23608                                          "texture(00J20B00B",
23609                                          "texture(00S20B00B",
23610                                          "texture(00Y20B00B",
23611                                          "texture(00K20B00B",
23612                                          "texture(00T20B00B",
23613                                          "texture(00Z20B00B",
23614                                          "textureProj(00H20B00B",
23615                                          "textureProj(00Q20B00B",
23616                                          "textureProj(00W20B00B",
23617                                          "textureProj(00H30B00B",
23618                                          "textureProj(00Q30B00B",
23619                                          "textureProj(00W30B00B",
23620                                          "textureProj(00I30B00B",
23621                                          "textureProj(00R30B00B",
23622                                          "textureProj(00X30B00B",
23623                                          "texture(00c20B00B",
23624                                          "texture(00d30B00B",
23625                                          "textureProj(00c30B00B",
23626                                          "texture(00e30B00B",
23627                                          "texture(00g30B00B",
23628                                          "texture(00l30B00B",
23629                                          "texture(00o30B00B",
23630                                          "texture(00h30B00B00B",
23631                                          "texture(00L10B00B",
23632                                          "textureProj(00L20B00B",
23633                                          "textureProj(00L30B00B",
23634                                          "texture(00M10B00B",
23635                                          "textureProj(00M20B00B",
23636                                          "textureProj(00M30B00B",
23637                                          "textureOffset(00H10B10C",
23638                                          "textureOffset(00Q10B10C",
23639                                          "textureOffset(00W10B10C",
23640                                          "textureOffset(00I20B20C",
23641                                          "textureOffset(00R20B20C",
23642                                          "textureOffset(00X20B20C",
23643                                          "textureOffset(00c20B10C",
23644                                          "textureOffset(00K20B10C",
23645                                          "textureOffset(00T20B10C",
23646                                          "textureOffset(00Z20B10C",
23647                                          "textureOffset(00e30B10C",
23648                                          "textureProjOffset(00H20B10C",
23649                                          "textureProjOffset(00Q20B10C",
23650                                          "textureProjOffset(00W20B10C",
23651                                          "textureProjOffset(00H30B10C",
23652                                          "textureProjOffset(00Q30B10C",
23653                                          "textureProjOffset(00W30B10C",
23654                                          "textureProjOffset(00I30B20C",
23655                                          "textureProjOffset(00R30B20C",
23656                                          "textureProjOffset(00X30B20C",
23657                                          "textureProjOffset(00c30B10C",
23658                                          "textureLodOffset(00H10B00B10C",
23659                                          "textureLodOffset(00Q10B00B10C",
23660                                          "textureLodOffset(00W10B00B10C",
23661                                          "textureLodOffset(00I20B00B20C",
23662                                          "textureLodOffset(00R20B00B20C",
23663                                          "textureLodOffset(00X20B00B20C",
23664                                          "textureLodOffset(00c20B00B10C",
23665                                          "textureLodOffset(00K20B00B10C",
23666                                          "textureLodOffset(00T20B00B10C",
23667                                          "textureLodOffset(00Z20B00B10C",
23668                                          "textureLodOffset(00e30B00B10C",
23669                                          "textureProjLodOffset(00H20B00B10C",
23670                                          "textureProjLodOffset(00Q20B00B10C",
23671                                          "textureProjLodOffset(00W20B00B10C",
23672                                          "textureProjLodOffset(00H30B00B10C",
23673                                          "textureProjLodOffset(00Q30B00B10C",
23674                                          "textureProjLodOffset(00W30B00B10C",
23675                                          "textureProjLodOffset(00I30B00B20C",
23676                                          "textureProjLodOffset(00R30B00B20C",
23677                                          "textureProjLodOffset(00X30B00B20C",
23678                                          "textureProjLodOffset(00c30B00B10C",
23679                                          "texelFetchOffset(00H10C00C10C",
23680                                          "texelFetchOffset(00Q10C00C10C",
23681                                          "texelFetchOffset(00W10C00C10C",
23682                                          "texelFetchOffset(00I20C00C20C",
23683                                          "texelFetchOffset(00R20C00C20C",
23684                                          "texelFetchOffset(00X20C00C20C",
23685                                          "texelFetchOffset(00K20C00C10C",
23686                                          "texelFetchOffset(00T20C00C10C",
23687                                          "texelFetchOffset(00Z20C00C10C",
23688                                          "textureGradOffset(00H10B10B10B10C",
23689                                          "textureGradOffset(00Q10B10B10B10C",
23690                                          "textureGradOffset(00W10B10B10B10C",
23691                                          "textureGradOffset(00I20B20B20B20C",
23692                                          "textureGradOffset(00R20B20B20B20C",
23693                                          "textureGradOffset(00X20B20B20B20C",
23694                                          "textureGradOffset(00c20B10B10B10C",
23695                                          "textureGradOffset(00K20B10B10B10C",
23696                                          "textureGradOffset(00T20B10B10B10C",
23697                                          "textureGradOffset(00Z20B10B10B10C",
23698                                          "textureGradOffset(00e30B10B10B10C",
23699                                          "textureProjGradOffset(00H20B10B10B10C",
23700                                          "textureProjGradOffset(00Q20B10B10B10C",
23701                                          "textureProjGradOffset(00W20B10B10B10C",
23702                                          "textureProjGradOffset(00H30B10B10B10C",
23703                                          "textureProjGradOffset(00Q30B10B10B10C",
23704                                          "textureProjGradOffset(00W30B10B10B10C",
23705                                          "textureProjGradOffset(00I30B20B20B20C",
23706                                          "textureProjGradOffset(00R30B20B20B20C",
23707                                          "textureProjGradOffset(00X30B20B20B20C",
23708                                          "textureProjGradOffset(00c30B10B10B10C",
23709                                          "textureOffset(00H10B10C00B",
23710                                          "textureOffset(00Q10B10C00B",
23711                                          "textureOffset(00W10B10C00B",
23712                                          "textureOffset(00I20B20C00B",
23713                                          "textureOffset(00R20B20C00B",
23714                                          "textureOffset(00X20B20C00B",
23715                                          "textureOffset(00c20B10C00B",
23716                                          "textureOffset(00K20B10C00B",
23717                                          "textureOffset(00T20B10C00B",
23718                                          "textureOffset(00Z20B10C00B",
23719                                          "textureOffset(00e30B10C00B",
23720                                          "textureProjOffset(00H20B10C00B",
23721                                          "textureProjOffset(00Q20B10C00B",
23722                                          "textureProjOffset(00W20B10C00B",
23723                                          "textureProjOffset(00H30B10C00B",
23724                                          "textureProjOffset(00Q30B10C00B",
23725                                          "textureProjOffset(00W30B10C00B",
23726                                          "textureProjOffset(00I30B20C00B",
23727                                          "textureProjOffset(00R30B20C00B",
23728                                          "textureProjOffset(00X30B20C00B",
23729                                          "textureProjOffset(00c30B10C00B",
23730                                          "textureGather(00H10B",
23731                                          "textureGather(00Q10B",
23732                                          "textureGather(00W10B",
23733                                          "textureGather(00H10B00C",
23734                                          "textureGather(00Q10B00C",
23735                                          "textureGather(00W10B00C",
23736                                          "textureGather(00K20B",
23737                                          "textureGather(00T20B",
23738                                          "textureGather(00Z20B",
23739                                          "textureGather(00K20B00C",
23740                                          "textureGather(00T20B00C",
23741                                          "textureGather(00Z20B00C",
23742                                          "textureGather(00J20B",
23743                                          "textureGather(00S20B",
23744                                          "textureGather(00Y20B",
23745                                          "textureGather(00J20B00C",
23746                                          "textureGather(00S20B00C",
23747                                          "textureGather(00Y20B00C",
23748                                          "textureGather(00g30B",
23749                                          "textureGather(00l30B",
23750                                          "textureGather(00o30B",
23751                                          "textureGather(00g30B00C",
23752                                          "textureGather(00l30B00C",
23753                                          "textureGather(00o30B00C",
23754                                          "textureGather(00h30B00B",
23755                                          "textureGather(00c10B",
23756                                          "textureGather(00c10B00B",
23757                                          "textureGather(00e20B",
23758                                          "textureGather(00e20B00B",
23759                                          "textureGather(00d20B",
23760                                          "textureGather(00d20B00B",
23761                                          "textureGatherOffset(00H10B10C",
23762                                          "textureGatherOffset(00Q10B10C",
23763                                          "textureGatherOffset(00W10B10C",
23764                                          "textureGatherOffset(00K20B10C",
23765                                          "textureGatherOffset(00T20B10C",
23766                                          "textureGatherOffset(00Z20B10C",
23767                                          "textureGatherOffset(00c10B00B10C",
23768                                          "textureGatherOffset(00e20B00B10C",
23769                                          "textureGatherOffset(00H10B10C00C",
23770                                          "textureGatherOffset(00Q10B10C00C",
23771                                          "textureGatherOffset(00W10B10C00C",
23772                                          "textureGatherOffset(00K20B10C00C",
23773                                          "textureGatherOffset(00T20B10C00C",
23774                                          "textureGatherOffset(00Z20B10C00C",
23775                                          "textureGatherOffsets(00H10B10Cx4",
23776                                          "textureGatherOffsets(00Q10B10Cx4",
23777                                          "textureGatherOffsets(00W10B10Cx4",
23778                                          "textureGatherOffsets(00K20B10Cx4",
23779                                          "textureGatherOffsets(00T20B10Cx4",
23780                                          "textureGatherOffsets(00Z20B10Cx4",
23781                                          "textureGatherOffsets(00c10B00B10Cx4",
23782                                          "textureGatherOffsets(00e20B00B10Cx4",
23783                                          "textureGatherOffsets(00H10B10Cx400C",
23784                                          "textureGatherOffsets(00Q10B10Cx400C",
23785                                          "textureGatherOffsets(00W10B10Cx400C",
23786                                          "textureGatherOffsets(00K20B10Cx400C",
23787                                          "textureGatherOffsets(00T20B10Cx400C",
23788                                          "textureGatherOffsets(00Z20B10Cx400C",
23789                                          "textureQueryLOD(00H10B",
23790                                          "textureQueryLOD(00Q10B",
23791                                          "textureQueryLOD(00W10B",
23792                                          "textureQueryLOD(00I20B",
23793                                          "textureQueryLOD(00R20B",
23794                                          "textureQueryLOD(00X20B",
23795                                          "textureQueryLOD(00J20B",
23796                                          "textureQueryLOD(00S20B",
23797                                          "textureQueryLOD(00Y20B",
23798                                          "textureQueryLOD(00K10B",
23799                                          "textureQueryLOD(00T10B",
23800                                          "textureQueryLOD(00Z10B",
23801                                          "textureQueryLOD(00c10B",
23802                                          "textureQueryLOD(00d20B",
23803                                          "textureQueryLOD(00e10B",
23804                                          "textureQueryLOD(00g20B",
23805                                          "textureQueryLOD(00l20B",
23806                                          "textureQueryLOD(00o20B",
23807                                          "textureQueryLOD(00h20B",
23808                                          "rgb_2_yuv(20B00G",
23809                                          "yuv_2_rgb(20B00G",
23810                                          "dFdx(00B",
23811                                          "dFdx(10B",
23812                                          "dFdx(20B",
23813                                          "dFdx(30B",
23814                                          "dFdy(00B",
23815                                          "dFdy(10B",
23816                                          "dFdy(20B",
23817                                          "dFdy(30B",
23818                                          "fwidth(00B",
23819                                          "fwidth(10B",
23820                                          "fwidth(20B",
23821                                          "fwidth(30B",
23822                                          "interpolateAtCentroid(00B",
23823                                          "interpolateAtCentroid(10B",
23824                                          "interpolateAtCentroid(20B",
23825                                          "interpolateAtCentroid(30B",
23826                                          "interpolateAtSample(00B00C",
23827                                          "interpolateAtSample(10B00C",
23828                                          "interpolateAtSample(20B00C",
23829                                          "interpolateAtSample(30B00C",
23830                                          "interpolateAtOffset(00B10B",
23831                                          "interpolateAtOffset(10B10B",
23832                                          "interpolateAtOffset(20B10B",
23833                                          "interpolateAtOffset(30B10B",
23834                                          "atomicCounter(00F",
23835                                          "atomicCounterIncrement(00F",
23836                                          "atomicCounterDecrement(00F",
23837                                          "atomicAdd(00D00D",
23838                                          "atomicAdd(00C00C",
23839                                          "atomicMin(00D00D",
23840                                          "atomicMin(00C00C",
23841                                          "atomicMax(00D00D",
23842                                          "atomicMax(00C00C",
23843                                          "atomicAnd(00D00D",
23844                                          "atomicAnd(00C00C",
23845                                          "atomicOr(00D00D",
23846                                          "atomicOr(00C00C",
23847                                          "atomicXor(00D00D",
23848                                          "atomicXor(00C00C",
23849                                          "atomicExchange(00D00D",
23850                                          "atomicExchange(00C00C",
23851                                          "atomicCompSwap(00D00D00D",
23852                                          "atomicCompSwap(00C00C00C",
23853                                          "imageSize(00q",
23854                                          "imageSize(00z",
23855                                          "imageSize(01I",
23856                                          "imageSize(00r",
23857                                          "imageSize(01A",
23858                                          "imageSize(01J",
23859                                          "imageSize(00s",
23860                                          "imageSize(01B",
23861                                          "imageSize(01K",
23862                                          "imageSize(00t",
23863                                          "imageSize(01C",
23864                                          "imageSize(01L",
23865                                          "imageSize(00w",
23866                                          "imageSize(01F",
23867                                          "imageSize(01O",
23868                                          "imageSize(00y",
23869                                          "imageSize(01H",
23870                                          "imageSize(01Q",
23871                                          "imageStore(00q10C30B",
23872                                          "imageStore(00z10C30C",
23873                                          "imageStore(01I10C30D",
23874                                          "imageStore(00r20C30B",
23875                                          "imageStore(01A20C30C",
23876                                          "imageStore(01J20C30D",
23877                                          "imageStore(00s20C30B",
23878                                          "imageStore(01B20C30C",
23879                                          "imageStore(01K20C30D",
23880                                          "imageStore(00t20C30B",
23881                                          "imageStore(01C20C30C",
23882                                          "imageStore(01L20C30D",
23883                                          "imageStore(00w20C30B",
23884                                          "imageStore(01F20C30C",
23885                                          "imageStore(01O20C30D",
23886                                          "imageStore(00y00C30B",
23887                                          "imageStore(01H00C30C",
23888                                          "imageStore(01Q00C30D",
23889                                          "imageLoad(00q10C",
23890                                          "imageLoad(00z10C",
23891                                          "imageLoad(01I10C",
23892                                          "imageLoad(00r20C",
23893                                          "imageLoad(01A20C",
23894                                          "imageLoad(01J20C",
23895                                          "imageLoad(00s20C",
23896                                          "imageLoad(01B20C",
23897                                          "imageLoad(01K20C",
23898                                          "imageLoad(00t20C",
23899                                          "imageLoad(01C20C",
23900                                          "imageLoad(01L20C",
23901                                          "imageLoad(00w20C",
23902                                          "imageLoad(01F20C",
23903                                          "imageLoad(01O20C",
23904                                          "imageLoad(00y00C",
23905                                          "imageLoad(01H00C",
23906                                          "imageLoad(01Q00C",
23907                                          "imageAtomicAdd(00q10C00D",
23908                                          "imageAtomicAdd(00z10C00D",
23909                                          "imageAtomicAdd(01I10C00D",
23910                                          "imageAtomicAdd(00r20C00D",
23911                                          "imageAtomicAdd(01A20C00D",
23912                                          "imageAtomicAdd(01J20C00D",
23913                                          "imageAtomicAdd(00t20C00D",
23914                                          "imageAtomicAdd(01C20C00D",
23915                                          "imageAtomicAdd(01L20C00D",
23916                                          "imageAtomicAdd(00y00C00D",
23917                                          "imageAtomicAdd(01H00C00D",
23918                                          "imageAtomicAdd(01Q00C00D",
23919                                          "imageAtomicAdd(00s20C00D",
23920                                          "imageAtomicAdd(01B20C00D",
23921                                          "imageAtomicAdd(01K20C00D",
23922                                          "imageAtomicAdd(00w20C00D",
23923                                          "imageAtomicAdd(01F20C00D",
23924                                          "imageAtomicAdd(01O20C00D",
23925                                          "imageAtomicAdd(00x10C00D",
23926                                          "imageAtomicAdd(01G10C00D",
23927                                          "imageAtomicAdd(01P10C00D",
23928                                          "imageAtomicAdd(00u10C00C00D",
23929                                          "imageAtomicAdd(01D10C00C00D",
23930                                          "imageAtomicAdd(01M10C00C00D",
23931                                          "imageAtomicAdd(00v20C00C00D",
23932                                          "imageAtomicAdd(01E20C00C00D",
23933                                          "imageAtomicAdd(01N20C00C00D",
23934                                          "imageAtomicAdd(00q10C00C",
23935                                          "imageAtomicAdd(00z10C00C",
23936                                          "imageAtomicAdd(01I10C00C",
23937                                          "imageAtomicAdd(00r20C00C",
23938                                          "imageAtomicAdd(01A20C00C",
23939                                          "imageAtomicAdd(01J20C00C",
23940                                          "imageAtomicAdd(00t20C00C",
23941                                          "imageAtomicAdd(01C20C00C",
23942                                          "imageAtomicAdd(01L20C00C",
23943                                          "imageAtomicAdd(00y00C00C",
23944                                          "imageAtomicAdd(01H00C00C",
23945                                          "imageAtomicAdd(01Q00C00C",
23946                                          "imageAtomicAdd(00s20C00C",
23947                                          "imageAtomicAdd(01B20C00C",
23948                                          "imageAtomicAdd(01K20C00C",
23949                                          "imageAtomicAdd(00w20C00C",
23950                                          "imageAtomicAdd(01F20C00C",
23951                                          "imageAtomicAdd(01O20C00C",
23952                                          "imageAtomicAdd(00x10C00C",
23953                                          "imageAtomicAdd(01G10C00C",
23954                                          "imageAtomicAdd(01P10C00C",
23955                                          "imageAtomicAdd(00u10C00C00C",
23956                                          "imageAtomicAdd(01D10C00C00C",
23957                                          "imageAtomicAdd(01M10C00C00C",
23958                                          "imageAtomicAdd(00v20C00C00C",
23959                                          "imageAtomicAdd(01E20C00C00C",
23960                                          "imageAtomicAdd(01N20C00C00C",
23961                                          "imageAtomicMin(00q10C00D",
23962                                          "imageAtomicMin(00z10C00D",
23963                                          "imageAtomicMin(01I10C00D",
23964                                          "imageAtomicMin(00r20C00D",
23965                                          "imageAtomicMin(01A20C00D",
23966                                          "imageAtomicMin(01J20C00D",
23967                                          "imageAtomicMin(00t20C00D",
23968                                          "imageAtomicMin(01C20C00D",
23969                                          "imageAtomicMin(01L20C00D",
23970                                          "imageAtomicMin(00y00C00D",
23971                                          "imageAtomicMin(01H00C00D",
23972                                          "imageAtomicMin(01Q00C00D",
23973                                          "imageAtomicMin(00s20C00D",
23974                                          "imageAtomicMin(01B20C00D",
23975                                          "imageAtomicMin(01K20C00D",
23976                                          "imageAtomicMin(00w20C00D",
23977                                          "imageAtomicMin(01F20C00D",
23978                                          "imageAtomicMin(01O20C00D",
23979                                          "imageAtomicMin(00x10C00D",
23980                                          "imageAtomicMin(01G10C00D",
23981                                          "imageAtomicMin(01P10C00D",
23982                                          "imageAtomicMin(00u10C00C00D",
23983                                          "imageAtomicMin(01D10C00C00D",
23984                                          "imageAtomicMin(01M10C00C00D",
23985                                          "imageAtomicMin(00v20C00C00D",
23986                                          "imageAtomicMin(01E20C00C00D",
23987                                          "imageAtomicMin(01N20C00C00D",
23988                                          "imageAtomicMin(00q10C00C",
23989                                          "imageAtomicMin(00z10C00C",
23990                                          "imageAtomicMin(01I10C00C",
23991                                          "imageAtomicMin(00r20C00C",
23992                                          "imageAtomicMin(01A20C00C",
23993                                          "imageAtomicMin(01J20C00C",
23994                                          "imageAtomicMin(00t20C00C",
23995                                          "imageAtomicMin(01C20C00C",
23996                                          "imageAtomicMin(01L20C00C",
23997                                          "imageAtomicMin(00y00C00C",
23998                                          "imageAtomicMin(01H00C00C",
23999                                          "imageAtomicMin(01Q00C00C",
24000                                          "imageAtomicMin(00s20C00C",
24001                                          "imageAtomicMin(01B20C00C",
24002                                          "imageAtomicMin(01K20C00C",
24003                                          "imageAtomicMin(00w20C00C",
24004                                          "imageAtomicMin(01F20C00C",
24005                                          "imageAtomicMin(01O20C00C",
24006                                          "imageAtomicMin(00x10C00C",
24007                                          "imageAtomicMin(01G10C00C",
24008                                          "imageAtomicMin(01P10C00C",
24009                                          "imageAtomicMin(00u10C00C00C",
24010                                          "imageAtomicMin(01D10C00C00C",
24011                                          "imageAtomicMin(01M10C00C00C",
24012                                          "imageAtomicMin(00v20C00C00C",
24013                                          "imageAtomicMin(01E20C00C00C",
24014                                          "imageAtomicMin(01N20C00C00C",
24015                                          "imageAtomicMax(00q10C00D",
24016                                          "imageAtomicMax(00z10C00D",
24017                                          "imageAtomicMax(01I10C00D",
24018                                          "imageAtomicMax(00r20C00D",
24019                                          "imageAtomicMax(01A20C00D",
24020                                          "imageAtomicMax(01J20C00D",
24021                                          "imageAtomicMax(00t20C00D",
24022                                          "imageAtomicMax(01C20C00D",
24023                                          "imageAtomicMax(01L20C00D",
24024                                          "imageAtomicMax(00y00C00D",
24025                                          "imageAtomicMax(01H00C00D",
24026                                          "imageAtomicMax(01Q00C00D",
24027                                          "imageAtomicMax(00s20C00D",
24028                                          "imageAtomicMax(01B20C00D",
24029                                          "imageAtomicMax(01K20C00D",
24030                                          "imageAtomicMax(00w20C00D",
24031                                          "imageAtomicMax(01F20C00D",
24032                                          "imageAtomicMax(01O20C00D",
24033                                          "imageAtomicMax(00x10C00D",
24034                                          "imageAtomicMax(01G10C00D",
24035                                          "imageAtomicMax(01P10C00D",
24036                                          "imageAtomicMax(00u10C00C00D",
24037                                          "imageAtomicMax(01D10C00C00D",
24038                                          "imageAtomicMax(01M10C00C00D",
24039                                          "imageAtomicMax(00v20C00C00D",
24040                                          "imageAtomicMax(01E20C00C00D",
24041                                          "imageAtomicMax(01N20C00C00D",
24042                                          "imageAtomicMax(00q10C00C",
24043                                          "imageAtomicMax(00z10C00C",
24044                                          "imageAtomicMax(01I10C00C",
24045                                          "imageAtomicMax(00r20C00C",
24046                                          "imageAtomicMax(01A20C00C",
24047                                          "imageAtomicMax(01J20C00C",
24048                                          "imageAtomicMax(00t20C00C",
24049                                          "imageAtomicMax(01C20C00C",
24050                                          "imageAtomicMax(01L20C00C",
24051                                          "imageAtomicMax(00y00C00C",
24052                                          "imageAtomicMax(01H00C00C",
24053                                          "imageAtomicMax(01Q00C00C",
24054                                          "imageAtomicMax(00s20C00C",
24055                                          "imageAtomicMax(01B20C00C",
24056                                          "imageAtomicMax(01K20C00C",
24057                                          "imageAtomicMax(00w20C00C",
24058                                          "imageAtomicMax(01F20C00C",
24059                                          "imageAtomicMax(01O20C00C",
24060                                          "imageAtomicMax(00x10C00C",
24061                                          "imageAtomicMax(01G10C00C",
24062                                          "imageAtomicMax(01P10C00C",
24063                                          "imageAtomicMax(00u10C00C00C",
24064                                          "imageAtomicMax(01D10C00C00C",
24065                                          "imageAtomicMax(01M10C00C00C",
24066                                          "imageAtomicMax(00v20C00C00C",
24067                                          "imageAtomicMax(01E20C00C00C",
24068                                          "imageAtomicMax(01N20C00C00C",
24069                                          "imageAtomicAnd(00q10C00D",
24070                                          "imageAtomicAnd(00z10C00D",
24071                                          "imageAtomicAnd(01I10C00D",
24072                                          "imageAtomicAnd(00r20C00D",
24073                                          "imageAtomicAnd(01A20C00D",
24074                                          "imageAtomicAnd(01J20C00D",
24075                                          "imageAtomicAnd(00t20C00D",
24076                                          "imageAtomicAnd(01C20C00D",
24077                                          "imageAtomicAnd(01L20C00D",
24078                                          "imageAtomicAnd(00y00C00D",
24079                                          "imageAtomicAnd(01H00C00D",
24080                                          "imageAtomicAnd(01Q00C00D",
24081                                          "imageAtomicAnd(00s20C00D",
24082                                          "imageAtomicAnd(01B20C00D",
24083                                          "imageAtomicAnd(01K20C00D",
24084                                          "imageAtomicAnd(00w20C00D",
24085                                          "imageAtomicAnd(01F20C00D",
24086                                          "imageAtomicAnd(01O20C00D",
24087                                          "imageAtomicAnd(00x10C00D",
24088                                          "imageAtomicAnd(01G10C00D",
24089                                          "imageAtomicAnd(01P10C00D",
24090                                          "imageAtomicAnd(00u10C00C00D",
24091                                          "imageAtomicAnd(01D10C00C00D",
24092                                          "imageAtomicAnd(01M10C00C00D",
24093                                          "imageAtomicAnd(00v20C00C00D",
24094                                          "imageAtomicAnd(01E20C00C00D",
24095                                          "imageAtomicAnd(01N20C00C00D",
24096                                          "imageAtomicAnd(00q10C00C",
24097                                          "imageAtomicAnd(00z10C00C",
24098                                          "imageAtomicAnd(01I10C00C",
24099                                          "imageAtomicAnd(00r20C00C",
24100                                          "imageAtomicAnd(01A20C00C",
24101                                          "imageAtomicAnd(01J20C00C",
24102                                          "imageAtomicAnd(00t20C00C",
24103                                          "imageAtomicAnd(01C20C00C",
24104                                          "imageAtomicAnd(01L20C00C",
24105                                          "imageAtomicAnd(00y00C00C",
24106                                          "imageAtomicAnd(01H00C00C",
24107                                          "imageAtomicAnd(01Q00C00C",
24108                                          "imageAtomicAnd(00s20C00C",
24109                                          "imageAtomicAnd(01B20C00C",
24110                                          "imageAtomicAnd(01K20C00C",
24111                                          "imageAtomicAnd(00w20C00C",
24112                                          "imageAtomicAnd(01F20C00C",
24113                                          "imageAtomicAnd(01O20C00C",
24114                                          "imageAtomicAnd(00x10C00C",
24115                                          "imageAtomicAnd(01G10C00C",
24116                                          "imageAtomicAnd(01P10C00C",
24117                                          "imageAtomicAnd(00u10C00C00C",
24118                                          "imageAtomicAnd(01D10C00C00C",
24119                                          "imageAtomicAnd(01M10C00C00C",
24120                                          "imageAtomicAnd(00v20C00C00C",
24121                                          "imageAtomicAnd(01E20C00C00C",
24122                                          "imageAtomicAnd(01N20C00C00C",
24123                                          "imageAtomicOr(00q10C00D",
24124                                          "imageAtomicOr(00z10C00D",
24125                                          "imageAtomicOr(01I10C00D",
24126                                          "imageAtomicOr(00r20C00D",
24127                                          "imageAtomicOr(01A20C00D",
24128                                          "imageAtomicOr(01J20C00D",
24129                                          "imageAtomicOr(00t20C00D",
24130                                          "imageAtomicOr(01C20C00D",
24131                                          "imageAtomicOr(01L20C00D",
24132                                          "imageAtomicOr(00y00C00D",
24133                                          "imageAtomicOr(01H00C00D",
24134                                          "imageAtomicOr(01Q00C00D",
24135                                          "imageAtomicOr(00s20C00D",
24136                                          "imageAtomicOr(01B20C00D",
24137                                          "imageAtomicOr(01K20C00D",
24138                                          "imageAtomicOr(00w20C00D",
24139                                          "imageAtomicOr(01F20C00D",
24140                                          "imageAtomicOr(01O20C00D",
24141                                          "imageAtomicOr(00x10C00D",
24142                                          "imageAtomicOr(01G10C00D",
24143                                          "imageAtomicOr(01P10C00D",
24144                                          "imageAtomicOr(00u10C00C00D",
24145                                          "imageAtomicOr(01D10C00C00D",
24146                                          "imageAtomicOr(01M10C00C00D",
24147                                          "imageAtomicOr(00v20C00C00D",
24148                                          "imageAtomicOr(01E20C00C00D",
24149                                          "imageAtomicOr(01N20C00C00D",
24150                                          "imageAtomicOr(00q10C00C",
24151                                          "imageAtomicOr(00z10C00C",
24152                                          "imageAtomicOr(01I10C00C",
24153                                          "imageAtomicOr(00r20C00C",
24154                                          "imageAtomicOr(01A20C00C",
24155                                          "imageAtomicOr(01J20C00C",
24156                                          "imageAtomicOr(00t20C00C",
24157                                          "imageAtomicOr(01C20C00C",
24158                                          "imageAtomicOr(01L20C00C",
24159                                          "imageAtomicOr(00y00C00C",
24160                                          "imageAtomicOr(01H00C00C",
24161                                          "imageAtomicOr(01Q00C00C",
24162                                          "imageAtomicOr(00s20C00C",
24163                                          "imageAtomicOr(01B20C00C",
24164                                          "imageAtomicOr(01K20C00C",
24165                                          "imageAtomicOr(00w20C00C",
24166                                          "imageAtomicOr(01F20C00C",
24167                                          "imageAtomicOr(01O20C00C",
24168                                          "imageAtomicOr(00x10C00C",
24169                                          "imageAtomicOr(01G10C00C",
24170                                          "imageAtomicOr(01P10C00C",
24171                                          "imageAtomicOr(00u10C00C00C",
24172                                          "imageAtomicOr(01D10C00C00C",
24173                                          "imageAtomicOr(01M10C00C00C",
24174                                          "imageAtomicOr(00v20C00C00C",
24175                                          "imageAtomicOr(01E20C00C00C",
24176                                          "imageAtomicOr(01N20C00C00C",
24177                                          "imageAtomicXor(00q10C00D",
24178                                          "imageAtomicXor(00z10C00D",
24179                                          "imageAtomicXor(01I10C00D",
24180                                          "imageAtomicXor(00r20C00D",
24181                                          "imageAtomicXor(01A20C00D",
24182                                          "imageAtomicXor(01J20C00D",
24183                                          "imageAtomicXor(00t20C00D",
24184                                          "imageAtomicXor(01C20C00D",
24185                                          "imageAtomicXor(01L20C00D",
24186                                          "imageAtomicXor(00y00C00D",
24187                                          "imageAtomicXor(01H00C00D",
24188                                          "imageAtomicXor(01Q00C00D",
24189                                          "imageAtomicXor(00s20C00D",
24190                                          "imageAtomicXor(01B20C00D",
24191                                          "imageAtomicXor(01K20C00D",
24192                                          "imageAtomicXor(00w20C00D",
24193                                          "imageAtomicXor(01F20C00D",
24194                                          "imageAtomicXor(01O20C00D",
24195                                          "imageAtomicXor(00x10C00D",
24196                                          "imageAtomicXor(01G10C00D",
24197                                          "imageAtomicXor(01P10C00D",
24198                                          "imageAtomicXor(00u10C00C00D",
24199                                          "imageAtomicXor(01D10C00C00D",
24200                                          "imageAtomicXor(01M10C00C00D",
24201                                          "imageAtomicXor(00v20C00C00D",
24202                                          "imageAtomicXor(01E20C00C00D",
24203                                          "imageAtomicXor(01N20C00C00D",
24204                                          "imageAtomicXor(00q10C00C",
24205                                          "imageAtomicXor(00z10C00C",
24206                                          "imageAtomicXor(01I10C00C",
24207                                          "imageAtomicXor(00r20C00C",
24208                                          "imageAtomicXor(01A20C00C",
24209                                          "imageAtomicXor(01J20C00C",
24210                                          "imageAtomicXor(00t20C00C",
24211                                          "imageAtomicXor(01C20C00C",
24212                                          "imageAtomicXor(01L20C00C",
24213                                          "imageAtomicXor(00y00C00C",
24214                                          "imageAtomicXor(01H00C00C",
24215                                          "imageAtomicXor(01Q00C00C",
24216                                          "imageAtomicXor(00s20C00C",
24217                                          "imageAtomicXor(01B20C00C",
24218                                          "imageAtomicXor(01K20C00C",
24219                                          "imageAtomicXor(00w20C00C",
24220                                          "imageAtomicXor(01F20C00C",
24221                                          "imageAtomicXor(01O20C00C",
24222                                          "imageAtomicXor(00x10C00C",
24223                                          "imageAtomicXor(01G10C00C",
24224                                          "imageAtomicXor(01P10C00C",
24225                                          "imageAtomicXor(00u10C00C00C",
24226                                          "imageAtomicXor(01D10C00C00C",
24227                                          "imageAtomicXor(01M10C00C00C",
24228                                          "imageAtomicXor(00v20C00C00C",
24229                                          "imageAtomicXor(01E20C00C00C",
24230                                          "imageAtomicXor(01N20C00C00C",
24231                                          "imageAtomicExchange(00q10C00D",
24232                                          "imageAtomicExchange(00z10C00D",
24233                                          "imageAtomicExchange(01I10C00D",
24234                                          "imageAtomicExchange(00r20C00D",
24235                                          "imageAtomicExchange(01A20C00D",
24236                                          "imageAtomicExchange(01J20C00D",
24237                                          "imageAtomicExchange(00t20C00D",
24238                                          "imageAtomicExchange(01C20C00D",
24239                                          "imageAtomicExchange(01L20C00D",
24240                                          "imageAtomicExchange(00y00C00D",
24241                                          "imageAtomicExchange(01H00C00D",
24242                                          "imageAtomicExchange(01Q00C00D",
24243                                          "imageAtomicExchange(00s20C00D",
24244                                          "imageAtomicExchange(01B20C00D",
24245                                          "imageAtomicExchange(01K20C00D",
24246                                          "imageAtomicExchange(00w20C00D",
24247                                          "imageAtomicExchange(01F20C00D",
24248                                          "imageAtomicExchange(01O20C00D",
24249                                          "imageAtomicExchange(00x10C00D",
24250                                          "imageAtomicExchange(01G10C00D",
24251                                          "imageAtomicExchange(01P10C00D",
24252                                          "imageAtomicExchange(00u10C00C00D",
24253                                          "imageAtomicExchange(01D10C00C00D",
24254                                          "imageAtomicExchange(01M10C00C00D",
24255                                          "imageAtomicExchange(00v20C00C00D",
24256                                          "imageAtomicExchange(01E20C00C00D",
24257                                          "imageAtomicExchange(01N20C00C00D",
24258                                          "imageAtomicExchange(00q10C00C",
24259                                          "imageAtomicExchange(00z10C00C",
24260                                          "imageAtomicExchange(01I10C00C",
24261                                          "imageAtomicExchange(00r20C00C",
24262                                          "imageAtomicExchange(01A20C00C",
24263                                          "imageAtomicExchange(01J20C00C",
24264                                          "imageAtomicExchange(00t20C00C",
24265                                          "imageAtomicExchange(01C20C00C",
24266                                          "imageAtomicExchange(01L20C00C",
24267                                          "imageAtomicExchange(00y00C00C",
24268                                          "imageAtomicExchange(01H00C00C",
24269                                          "imageAtomicExchange(01Q00C00C",
24270                                          "imageAtomicExchange(00s20C00C",
24271                                          "imageAtomicExchange(01B20C00C",
24272                                          "imageAtomicExchange(01K20C00C",
24273                                          "imageAtomicExchange(00w20C00C",
24274                                          "imageAtomicExchange(01F20C00C",
24275                                          "imageAtomicExchange(01O20C00C",
24276                                          "imageAtomicExchange(00x10C00C",
24277                                          "imageAtomicExchange(01G10C00C",
24278                                          "imageAtomicExchange(01P10C00C",
24279                                          "imageAtomicExchange(00u10C00C00C",
24280                                          "imageAtomicExchange(01D10C00C00C",
24281                                          "imageAtomicExchange(01M10C00C00C",
24282                                          "imageAtomicExchange(00v20C00C00C",
24283                                          "imageAtomicExchange(01E20C00C00C",
24284                                          "imageAtomicExchange(01N20C00C00C",
24285                                          "imageAtomicExchange(00q10C00B",
24286                                          "imageAtomicExchange(00z10C00B",
24287                                          "imageAtomicExchange(01I10C00B",
24288                                          "imageAtomicExchange(00r20C00B",
24289                                          "imageAtomicExchange(01A20C00B",
24290                                          "imageAtomicExchange(01J20C00B",
24291                                          "imageAtomicExchange(00t20C00B",
24292                                          "imageAtomicExchange(01C20C00B",
24293                                          "imageAtomicExchange(01L20C00B",
24294                                          "imageAtomicExchange(00y00C00B",
24295                                          "imageAtomicExchange(01H00C00B",
24296                                          "imageAtomicExchange(01Q00C00B",
24297                                          "imageAtomicExchange(00s20C00B",
24298                                          "imageAtomicExchange(01B20C00B",
24299                                          "imageAtomicExchange(01K20C00B",
24300                                          "imageAtomicExchange(00w20C00B",
24301                                          "imageAtomicExchange(01F20C00B",
24302                                          "imageAtomicExchange(01O20C00B",
24303                                          "imageAtomicExchange(00x10C00B",
24304                                          "imageAtomicExchange(01G10C00B",
24305                                          "imageAtomicExchange(01P10C00B",
24306                                          "imageAtomicExchange(00u10C00C00B",
24307                                          "imageAtomicExchange(01D10C00C00B",
24308                                          "imageAtomicExchange(01M10C00C00B",
24309                                          "imageAtomicExchange(00v20C00C00B",
24310                                          "imageAtomicExchange(01E20C00C00B",
24311                                          "imageAtomicExchange(01N20C00C00B",
24312                                          "imageAtomicCompSwap(00q10C00D00D",
24313                                          "imageAtomicCompSwap(00z10C00D00D",
24314                                          "imageAtomicCompSwap(01I10C00D00D",
24315                                          "imageAtomicCompSwap(00r20C00D00D",
24316                                          "imageAtomicCompSwap(01A20C00D00D",
24317                                          "imageAtomicCompSwap(01J20C00D00D",
24318                                          "imageAtomicCompSwap(00t20C00D00D",
24319                                          "imageAtomicCompSwap(01C20C00D00D",
24320                                          "imageAtomicCompSwap(01L20C00D00D",
24321                                          "imageAtomicCompSwap(00y00C00D00D",
24322                                          "imageAtomicCompSwap(01H00C00D00D",
24323                                          "imageAtomicCompSwap(01Q00C00D00D",
24324                                          "imageAtomicCompSwap(00s20C00D00D",
24325                                          "imageAtomicCompSwap(01B20C00D00D",
24326                                          "imageAtomicCompSwap(01K20C00D00D",
24327                                          "imageAtomicCompSwap(00w20C00D00D",
24328                                          "imageAtomicCompSwap(01F20C00D00D",
24329                                          "imageAtomicCompSwap(01O20C00D00D",
24330                                          "imageAtomicCompSwap(00x10C00D00D",
24331                                          "imageAtomicCompSwap(01G10C00D00D",
24332                                          "imageAtomicCompSwap(01P10C00D00D",
24333                                          "imageAtomicCompSwap(00u10C00C00D00D",
24334                                          "imageAtomicCompSwap(01D10C00C00D00D",
24335                                          "imageAtomicCompSwap(01M10C00C00D00D",
24336                                          "imageAtomicCompSwap(00v20C00C00D00D",
24337                                          "imageAtomicCompSwap(01E20C00C00D00D",
24338                                          "imageAtomicCompSwap(01N20C00C00D00D",
24339                                          "imageAtomicCompSwap(00q10C00C00C",
24340                                          "imageAtomicCompSwap(00z10C00C00C",
24341                                          "imageAtomicCompSwap(01I10C00C00C",
24342                                          "imageAtomicCompSwap(00r20C00C00C",
24343                                          "imageAtomicCompSwap(01A20C00C00C",
24344                                          "imageAtomicCompSwap(01J20C00C00C",
24345                                          "imageAtomicCompSwap(00t20C00C00C",
24346                                          "imageAtomicCompSwap(01C20C00C00C",
24347                                          "imageAtomicCompSwap(01L20C00C00C",
24348                                          "imageAtomicCompSwap(00y00C00C00C",
24349                                          "imageAtomicCompSwap(01H00C00C00C",
24350                                          "imageAtomicCompSwap(01Q00C00C00C",
24351                                          "imageAtomicCompSwap(00s20C00C00C",
24352                                          "imageAtomicCompSwap(01B20C00C00C",
24353                                          "imageAtomicCompSwap(01K20C00C00C",
24354                                          "imageAtomicCompSwap(00w20C00C00C",
24355                                          "imageAtomicCompSwap(01F20C00C00C",
24356                                          "imageAtomicCompSwap(01O20C00C00C",
24357                                          "imageAtomicCompSwap(00x10C00C00C",
24358                                          "imageAtomicCompSwap(01G10C00C00C",
24359                                          "imageAtomicCompSwap(01P10C00C00C",
24360                                          "imageAtomicCompSwap(00u10C00C00C00C",
24361                                          "imageAtomicCompSwap(01D10C00C00C00C",
24362                                          "imageAtomicCompSwap(01M10C00C00C00C",
24363                                          "imageAtomicCompSwap(00v20C00C00C00C",
24364                                          "imageAtomicCompSwap(01E20C00C00C00C",
24365                                          "imageAtomicCompSwap(01N20C00C00C00C",
24366                                          "pixelLocalLoadANGLE(01R",
24367                                          "pixelLocalLoadANGLE(01S",
24368                                          "pixelLocalLoadANGLE(01T",
24369                                          "pixelLocalStoreANGLE(01R30B",
24370                                          "pixelLocalStoreANGLE(01S30C",
24371                                          "pixelLocalStoreANGLE(01T30D",
24372                                          "beginInvocationInterlockNV(",
24373                                          "endInvocationInterlockNV(",
24374                                          "beginFragmentShaderOrderingINTEL(",
24375                                          "beginInvocationInterlockARB(",
24376                                          "endInvocationInterlockARB(",
24377                                          "memoryBarrier(",
24378                                          "memoryBarrierAtomicCounter(",
24379                                          "memoryBarrierBuffer(",
24380                                          "memoryBarrierImage(",
24381                                          "barrier(",
24382                                          "memoryBarrierShared(",
24383                                          "groupMemoryBarrier(",
24384                                          "EmitVertex(",
24385                                          "EndPrimitive(",
24386                                          "subpassLoad(01U",
24387                                          "subpassLoad(01V",
24388                                          "subpassLoad(01W",
24389                                          "numSamples(",
24390                                          "samplePosition(00D",
24391                                          "interpolateAtCenter(00B",
24392                                          "interpolateAtCenter(10B",
24393                                          "interpolateAtCenter(20B",
24394                                          "interpolateAtCenter(30B",
24395                                          "saturate(00B",
24396                                          "saturate(10B",
24397                                          "saturate(20B",
24398                                          "saturate(30B",
24399                                          "gl_DepthRangeParameters",
24400                                          "gl_DepthRange",
24401                                          "gl_NumSamples",
24402                                          "gl_MaxVertexAttribs",
24403                                          "gl_MaxVertexUniformVectors",
24404                                          "gl_MaxVertexTextureImageUnits",
24405                                          "gl_MaxCombinedTextureImageUnits",
24406                                          "gl_MaxTextureImageUnits",
24407                                          "gl_MaxFragmentUniformVectors",
24408                                          "gl_MaxVaryingVectors",
24409                                          "gl_MaxDrawBuffers",
24410                                          "gl_MaxDualSourceDrawBuffersEXT",
24411                                          "gl_MaxVertexOutputVectors",
24412                                          "gl_MaxFragmentInputVectors",
24413                                          "gl_MinProgramTexelOffset",
24414                                          "gl_MaxProgramTexelOffset",
24415                                          "gl_MaxImageUnits",
24416                                          "gl_MaxVertexImageUniforms",
24417                                          "gl_MaxFragmentImageUniforms",
24418                                          "gl_MaxComputeImageUniforms",
24419                                          "gl_MaxCombinedImageUniforms",
24420                                          "gl_MaxCombinedShaderOutputResources",
24421                                          "gl_MaxComputeWorkGroupCount",
24422                                          "gl_MaxComputeWorkGroupSize",
24423                                          "gl_MaxComputeUniformComponents",
24424                                          "gl_MaxComputeTextureImageUnits",
24425                                          "gl_MaxComputeAtomicCounters",
24426                                          "gl_MaxComputeAtomicCounterBuffers",
24427                                          "gl_MaxVertexAtomicCounters",
24428                                          "gl_MaxFragmentAtomicCounters",
24429                                          "gl_MaxCombinedAtomicCounters",
24430                                          "gl_MaxAtomicCounterBindings",
24431                                          "gl_MaxVertexAtomicCounterBuffers",
24432                                          "gl_MaxFragmentAtomicCounterBuffers",
24433                                          "gl_MaxCombinedAtomicCounterBuffers",
24434                                          "gl_MaxAtomicCounterBufferSize",
24435                                          "gl_MaxGeometryInputComponents",
24436                                          "gl_MaxGeometryOutputComponents",
24437                                          "gl_MaxGeometryImageUniforms",
24438                                          "gl_MaxGeometryTextureImageUnits",
24439                                          "gl_MaxGeometryOutputVertices",
24440                                          "gl_MaxGeometryTotalOutputComponents",
24441                                          "gl_MaxGeometryUniformComponents",
24442                                          "gl_MaxGeometryAtomicCounters",
24443                                          "gl_MaxGeometryAtomicCounterBuffers",
24444                                          "gl_MaxTessControlInputComponents",
24445                                          "gl_MaxTessControlOutputComponents",
24446                                          "gl_MaxTessControlTextureImageUnits",
24447                                          "gl_MaxTessControlUniformComponents",
24448                                          "gl_MaxTessControlTotalOutputComponents",
24449                                          "gl_MaxTessControlImageUniforms",
24450                                          "gl_MaxTessControlAtomicCounters",
24451                                          "gl_MaxTessControlAtomicCounterBuffers",
24452                                          "gl_MaxTessPatchComponents",
24453                                          "gl_MaxPatchVertices",
24454                                          "gl_MaxTessGenLevel",
24455                                          "gl_MaxTessEvaluationInputComponents",
24456                                          "gl_MaxTessEvaluationOutputComponents",
24457                                          "gl_MaxTessEvaluationTextureImageUnits",
24458                                          "gl_MaxTessEvaluationUniformComponents",
24459                                          "gl_MaxTessEvaluationImageUniforms",
24460                                          "gl_MaxTessEvaluationAtomicCounters",
24461                                          "gl_MaxTessEvaluationAtomicCounterBuffers",
24462                                          "gl_MaxSamples",
24463                                          "gl_MaxClipDistances",
24464                                          "gl_MaxCullDistances",
24465                                          "gl_MaxCombinedClipAndCullDistances",
24466                                          "gl_FragCoord",
24467                                          "gl_FrontFacing",
24468                                          "gl_PointCoord",
24469                                          "gl_FragColor",
24470                                          "gl_FragData",
24471                                          "gl_FragDepth",
24472                                          "gl_HelperInvocation",
24473                                          "gl_SecondaryFragColorEXT",
24474                                          "gl_SecondaryFragDataEXT",
24475                                          "gl_FragDepthEXT",
24476                                          "gl_LastFragData",
24477                                          "gl_LastFragColor",
24478                                          "gl_LastFragColorARM",
24479                                          "gl_LastFragDepthARM",
24480                                          "gl_LastFragStencilARM",
24481                                          "gl_PrimitiveID",
24482                                          "gl_Layer",
24483                                          "gl_SampleID",
24484                                          "gl_SamplePosition",
24485                                          "gl_SampleMaskIn",
24486                                          "gl_SampleMask",
24487                                          "gl_Position",
24488                                          "gl_PointSize",
24489                                          "gl_InstanceID",
24490                                          "gl_InstanceIndex",
24491                                          "gl_VertexID",
24492                                          "gl_VertexIndex",
24493                                          "gl_DrawID",
24494                                          "gl_BaseVertex",
24495                                          "gl_BaseInstance",
24496                                          "angle_BaseVertex",
24497                                          "angle_BaseInstance",
24498                                          "gl_ClipDistance",
24499                                          "gl_NumWorkGroups",
24500                                          "gl_WorkGroupSize",
24501                                          "gl_WorkGroupID",
24502                                          "gl_LocalInvocationID",
24503                                          "gl_GlobalInvocationID",
24504                                          "gl_LocalInvocationIndex",
24505                                          "gl_PrimitiveIDIn",
24506                                          "gl_InvocationID",
24507                                          "gl_PerVertex",
24508                                          "gl_in",
24509                                          "gl_PatchVerticesIn",
24510                                          "gl_TessLevelOuter",
24511                                          "gl_TessLevelInner",
24512                                          "gl_out",
24513                                          "gl_BoundingBox",
24514                                          "gl_BoundingBoxEXT",
24515                                          "gl_BoundingBoxOES",
24516                                          "gl_TessCoord",
24517                                          "gl_ViewID_OVR",
24518                                          "gl_CullDistance"};
24519 
24520 // Flat array of offsets from a symbol into the rules table.
24521 constexpr uint16_t kMangledOffsets[] = {
24522     0,     // radians_00B
24523     1,     // radians_10B
24524     2,     // radians_20B
24525     3,     // radians_30B
24526     4,     // degrees_00B
24527     5,     // degrees_10B
24528     6,     // degrees_20B
24529     7,     // degrees_30B
24530     8,     // sin_00B
24531     9,     // sin_10B
24532     10,    // sin_20B
24533     11,    // sin_30B
24534     12,    // cos_00B
24535     13,    // cos_10B
24536     14,    // cos_20B
24537     15,    // cos_30B
24538     16,    // tan_00B
24539     17,    // tan_10B
24540     18,    // tan_20B
24541     19,    // tan_30B
24542     20,    // asin_00B
24543     21,    // asin_10B
24544     22,    // asin_20B
24545     23,    // asin_30B
24546     24,    // acos_00B
24547     25,    // acos_10B
24548     26,    // acos_20B
24549     27,    // acos_30B
24550     28,    // atan_00B00B
24551     29,    // atan_10B10B
24552     30,    // atan_20B20B
24553     31,    // atan_30B30B
24554     32,    // atan_00B
24555     33,    // atan_10B
24556     34,    // atan_20B
24557     35,    // atan_30B
24558     36,    // sinh_00B
24559     37,    // sinh_10B
24560     38,    // sinh_20B
24561     39,    // sinh_30B
24562     40,    // cosh_00B
24563     41,    // cosh_10B
24564     42,    // cosh_20B
24565     43,    // cosh_30B
24566     44,    // tanh_00B
24567     45,    // tanh_10B
24568     46,    // tanh_20B
24569     47,    // tanh_30B
24570     48,    // asinh_00B
24571     49,    // asinh_10B
24572     50,    // asinh_20B
24573     51,    // asinh_30B
24574     52,    // acosh_00B
24575     53,    // acosh_10B
24576     54,    // acosh_20B
24577     55,    // acosh_30B
24578     56,    // atanh_00B
24579     57,    // atanh_10B
24580     58,    // atanh_20B
24581     59,    // atanh_30B
24582     60,    // pow_00B00B
24583     61,    // pow_10B10B
24584     62,    // pow_20B20B
24585     63,    // pow_30B30B
24586     64,    // exp_00B
24587     65,    // exp_10B
24588     66,    // exp_20B
24589     67,    // exp_30B
24590     68,    // log_00B
24591     69,    // log_10B
24592     70,    // log_20B
24593     71,    // log_30B
24594     72,    // exp2_00B
24595     73,    // exp2_10B
24596     74,    // exp2_20B
24597     75,    // exp2_30B
24598     76,    // log2_00B
24599     77,    // log2_10B
24600     78,    // log2_20B
24601     79,    // log2_30B
24602     80,    // sqrt_00B
24603     81,    // sqrt_10B
24604     82,    // sqrt_20B
24605     83,    // sqrt_30B
24606     84,    // inversesqrt_00B
24607     85,    // inversesqrt_10B
24608     86,    // inversesqrt_20B
24609     87,    // inversesqrt_30B
24610     88,    // abs_00B
24611     89,    // abs_10B
24612     90,    // abs_20B
24613     91,    // abs_30B
24614     92,    // abs_00C
24615     93,    // abs_10C
24616     94,    // abs_20C
24617     95,    // abs_30C
24618     96,    // sign_00B
24619     97,    // sign_10B
24620     98,    // sign_20B
24621     99,    // sign_30B
24622     100,   // sign_00C
24623     101,   // sign_10C
24624     102,   // sign_20C
24625     103,   // sign_30C
24626     104,   // floor_00B
24627     105,   // floor_10B
24628     106,   // floor_20B
24629     107,   // floor_30B
24630     108,   // trunc_00B
24631     109,   // trunc_10B
24632     110,   // trunc_20B
24633     111,   // trunc_30B
24634     112,   // round_00B
24635     113,   // round_10B
24636     114,   // round_20B
24637     115,   // round_30B
24638     116,   // roundEven_00B
24639     117,   // roundEven_10B
24640     118,   // roundEven_20B
24641     119,   // roundEven_30B
24642     120,   // ceil_00B
24643     121,   // ceil_10B
24644     122,   // ceil_20B
24645     123,   // ceil_30B
24646     124,   // fract_00B
24647     125,   // fract_10B
24648     126,   // fract_20B
24649     127,   // fract_30B
24650     128,   // mod_00B00B
24651     129,   // mod_10B00B
24652     130,   // mod_20B00B
24653     131,   // mod_30B00B
24654     132,   // mod_10B10B
24655     133,   // mod_20B20B
24656     134,   // mod_30B30B
24657     135,   // min_00B00B
24658     136,   // min_10B00B
24659     137,   // min_20B00B
24660     138,   // min_30B00B
24661     139,   // min_10B10B
24662     140,   // min_20B20B
24663     141,   // min_30B30B
24664     142,   // min_00C00C
24665     143,   // min_10C10C
24666     144,   // min_20C20C
24667     145,   // min_30C30C
24668     146,   // min_10C00C
24669     147,   // min_20C00C
24670     148,   // min_30C00C
24671     149,   // min_00D00D
24672     150,   // min_10D10D
24673     151,   // min_20D20D
24674     152,   // min_30D30D
24675     153,   // min_10D00D
24676     154,   // min_20D00D
24677     155,   // min_30D00D
24678     156,   // max_00B00B
24679     157,   // max_10B00B
24680     158,   // max_20B00B
24681     159,   // max_30B00B
24682     160,   // max_10B10B
24683     161,   // max_20B20B
24684     162,   // max_30B30B
24685     163,   // max_00C00C
24686     164,   // max_10C10C
24687     165,   // max_20C20C
24688     166,   // max_30C30C
24689     167,   // max_10C00C
24690     168,   // max_20C00C
24691     169,   // max_30C00C
24692     170,   // max_00D00D
24693     171,   // max_10D10D
24694     172,   // max_20D20D
24695     173,   // max_30D30D
24696     174,   // max_10D00D
24697     175,   // max_20D00D
24698     176,   // max_30D00D
24699     177,   // clamp_00B00B00B
24700     178,   // clamp_10B00B00B
24701     179,   // clamp_20B00B00B
24702     180,   // clamp_30B00B00B
24703     181,   // clamp_10B10B10B
24704     182,   // clamp_20B20B20B
24705     183,   // clamp_30B30B30B
24706     184,   // clamp_00C00C00C
24707     185,   // clamp_10C00C00C
24708     186,   // clamp_20C00C00C
24709     187,   // clamp_30C00C00C
24710     188,   // clamp_10C10C10C
24711     189,   // clamp_20C20C20C
24712     190,   // clamp_30C30C30C
24713     191,   // clamp_00D00D00D
24714     192,   // clamp_10D00D00D
24715     193,   // clamp_20D00D00D
24716     194,   // clamp_30D00D00D
24717     195,   // clamp_10D10D10D
24718     196,   // clamp_20D20D20D
24719     197,   // clamp_30D30D30D
24720     198,   // mix_00B00B00B
24721     199,   // mix_10B10B00B
24722     200,   // mix_20B20B00B
24723     201,   // mix_30B30B00B
24724     202,   // mix_10B10B10B
24725     203,   // mix_20B20B20B
24726     204,   // mix_30B30B30B
24727     205,   // mix_00B00B00E
24728     206,   // mix_10B10B10E
24729     207,   // mix_20B20B20E
24730     208,   // mix_30B30B30E
24731     209,   // mix_00C00C00E
24732     210,   // mix_10C10C10E
24733     211,   // mix_20C20C20E
24734     212,   // mix_30C30C30E
24735     213,   // mix_00D00D00E
24736     214,   // mix_10D10D10E
24737     215,   // mix_20D20D20E
24738     216,   // mix_30D30D30E
24739     217,   // mix_00E00E00E
24740     218,   // mix_10E10E10E
24741     219,   // mix_20E20E20E
24742     220,   // mix_30E30E30E
24743     221,   // step_00B00B
24744     222,   // step_10B10B
24745     223,   // step_20B20B
24746     224,   // step_30B30B
24747     225,   // step_00B10B
24748     226,   // step_00B20B
24749     227,   // step_00B30B
24750     228,   // smoothstep_00B00B00B
24751     229,   // smoothstep_10B10B10B
24752     230,   // smoothstep_20B20B20B
24753     231,   // smoothstep_30B30B30B
24754     232,   // smoothstep_00B00B10B
24755     233,   // smoothstep_00B00B20B
24756     234,   // smoothstep_00B00B30B
24757     235,   // modf_00B00B
24758     236,   // modf_10B10B
24759     237,   // modf_20B20B
24760     238,   // modf_30B30B
24761     239,   // isnan_00B
24762     240,   // isnan_10B
24763     241,   // isnan_20B
24764     242,   // isnan_30B
24765     243,   // isinf_00B
24766     244,   // isinf_10B
24767     245,   // isinf_20B
24768     246,   // isinf_30B
24769     247,   // floatBitsToInt_00B
24770     248,   // floatBitsToInt_10B
24771     249,   // floatBitsToInt_20B
24772     250,   // floatBitsToInt_30B
24773     251,   // floatBitsToUint_00B
24774     252,   // floatBitsToUint_10B
24775     253,   // floatBitsToUint_20B
24776     254,   // floatBitsToUint_30B
24777     255,   // intBitsToFloat_00C
24778     256,   // intBitsToFloat_10C
24779     257,   // intBitsToFloat_20C
24780     258,   // intBitsToFloat_30C
24781     259,   // uintBitsToFloat_00D
24782     260,   // uintBitsToFloat_10D
24783     261,   // uintBitsToFloat_20D
24784     262,   // uintBitsToFloat_30D
24785     263,   // fma_00B00B00B
24786     266,   // fma_10B10B10B
24787     269,   // fma_20B20B20B
24788     272,   // fma_30B30B30B
24789     275,   // frexp_00B00C
24790     276,   // frexp_10B10C
24791     277,   // frexp_20B20C
24792     278,   // frexp_30B30C
24793     279,   // ldexp_00B00C
24794     280,   // ldexp_10B10C
24795     281,   // ldexp_20B20C
24796     282,   // ldexp_30B30C
24797     283,   // packSnorm2x16_10B
24798     284,   // packHalf2x16_10B
24799     285,   // unpackSnorm2x16_00D
24800     286,   // unpackHalf2x16_00D
24801     287,   // packUnorm2x16_10B
24802     288,   // unpackUnorm2x16_00D
24803     289,   // packUnorm4x8_30B
24804     290,   // packSnorm4x8_30B
24805     291,   // unpackUnorm4x8_00D
24806     292,   // unpackSnorm4x8_00D
24807     293,   // length_00B
24808     294,   // length_10B
24809     295,   // length_20B
24810     296,   // length_30B
24811     297,   // distance_00B00B
24812     298,   // distance_10B10B
24813     299,   // distance_20B20B
24814     300,   // distance_30B30B
24815     301,   // dot_00B00B
24816     302,   // dot_10B10B
24817     303,   // dot_20B20B
24818     304,   // dot_30B30B
24819     305,   // cross_20B20B
24820     306,   // normalize_00B
24821     307,   // normalize_10B
24822     308,   // normalize_20B
24823     309,   // normalize_30B
24824     310,   // faceforward_00B00B00B
24825     311,   // faceforward_10B10B10B
24826     312,   // faceforward_20B20B20B
24827     313,   // faceforward_30B30B30B
24828     314,   // reflect_00B00B
24829     315,   // reflect_10B10B
24830     316,   // reflect_20B20B
24831     317,   // reflect_30B30B
24832     318,   // refract_00B00B00B
24833     319,   // refract_10B10B00B
24834     320,   // refract_20B20B00B
24835     321,   // refract_30B30B00B
24836     322,   // matrixCompMult_50B50B
24837     323,   // matrixCompMult_A0BA0B
24838     324,   // matrixCompMult_F0BF0B
24839     325,   // matrixCompMult_90B90B
24840     326,   // matrixCompMult_60B60B
24841     327,   // matrixCompMult_D0BD0B
24842     328,   // matrixCompMult_70B70B
24843     329,   // matrixCompMult_E0BE0B
24844     330,   // matrixCompMult_B0BB0B
24845     331,   // outerProduct_10B10B
24846     332,   // outerProduct_20B20B
24847     333,   // outerProduct_30B30B
24848     334,   // outerProduct_20B10B
24849     335,   // outerProduct_10B20B
24850     336,   // outerProduct_30B10B
24851     337,   // outerProduct_10B30B
24852     338,   // outerProduct_30B20B
24853     339,   // outerProduct_20B30B
24854     340,   // transpose_50B
24855     341,   // transpose_A0B
24856     342,   // transpose_F0B
24857     343,   // transpose_60B
24858     344,   // transpose_90B
24859     345,   // transpose_70B
24860     346,   // transpose_D0B
24861     347,   // transpose_B0B
24862     348,   // transpose_E0B
24863     349,   // determinant_50B
24864     350,   // determinant_A0B
24865     351,   // determinant_F0B
24866     352,   // inverse_50B
24867     353,   // inverse_A0B
24868     354,   // inverse_F0B
24869     355,   // lessThan_10B10B
24870     356,   // lessThan_20B20B
24871     357,   // lessThan_30B30B
24872     358,   // lessThan_10C10C
24873     359,   // lessThan_20C20C
24874     360,   // lessThan_30C30C
24875     361,   // lessThan_10D10D
24876     362,   // lessThan_20D20D
24877     363,   // lessThan_30D30D
24878     364,   // lessThanEqual_10B10B
24879     365,   // lessThanEqual_20B20B
24880     366,   // lessThanEqual_30B30B
24881     367,   // lessThanEqual_10C10C
24882     368,   // lessThanEqual_20C20C
24883     369,   // lessThanEqual_30C30C
24884     370,   // lessThanEqual_10D10D
24885     371,   // lessThanEqual_20D20D
24886     372,   // lessThanEqual_30D30D
24887     373,   // greaterThan_10B10B
24888     374,   // greaterThan_20B20B
24889     375,   // greaterThan_30B30B
24890     376,   // greaterThan_10C10C
24891     377,   // greaterThan_20C20C
24892     378,   // greaterThan_30C30C
24893     379,   // greaterThan_10D10D
24894     380,   // greaterThan_20D20D
24895     381,   // greaterThan_30D30D
24896     382,   // greaterThanEqual_10B10B
24897     383,   // greaterThanEqual_20B20B
24898     384,   // greaterThanEqual_30B30B
24899     385,   // greaterThanEqual_10C10C
24900     386,   // greaterThanEqual_20C20C
24901     387,   // greaterThanEqual_30C30C
24902     388,   // greaterThanEqual_10D10D
24903     389,   // greaterThanEqual_20D20D
24904     390,   // greaterThanEqual_30D30D
24905     391,   // equal_10B10B
24906     392,   // equal_20B20B
24907     393,   // equal_30B30B
24908     394,   // equal_10C10C
24909     395,   // equal_20C20C
24910     396,   // equal_30C30C
24911     397,   // equal_10D10D
24912     398,   // equal_20D20D
24913     399,   // equal_30D30D
24914     400,   // equal_10E10E
24915     401,   // equal_20E20E
24916     402,   // equal_30E30E
24917     403,   // notEqual_10B10B
24918     404,   // notEqual_20B20B
24919     405,   // notEqual_30B30B
24920     406,   // notEqual_10C10C
24921     407,   // notEqual_20C20C
24922     408,   // notEqual_30C30C
24923     409,   // notEqual_10D10D
24924     410,   // notEqual_20D20D
24925     411,   // notEqual_30D30D
24926     412,   // notEqual_10E10E
24927     413,   // notEqual_20E20E
24928     414,   // notEqual_30E30E
24929     415,   // any_10E
24930     416,   // any_20E
24931     417,   // any_30E
24932     418,   // all_10E
24933     419,   // all_20E
24934     420,   // all_30E
24935     421,   // not_10E
24936     422,   // not_20E
24937     423,   // not_30E
24938     424,   // bitfieldExtract_00C00C00C
24939     425,   // bitfieldExtract_10C00C00C
24940     426,   // bitfieldExtract_20C00C00C
24941     427,   // bitfieldExtract_30C00C00C
24942     428,   // bitfieldExtract_00D00C00C
24943     429,   // bitfieldExtract_10D00C00C
24944     430,   // bitfieldExtract_20D00C00C
24945     431,   // bitfieldExtract_30D00C00C
24946     432,   // bitfieldInsert_00C00C00C00C
24947     433,   // bitfieldInsert_10C10C00C00C
24948     434,   // bitfieldInsert_20C20C00C00C
24949     435,   // bitfieldInsert_30C30C00C00C
24950     436,   // bitfieldInsert_00D00D00C00C
24951     437,   // bitfieldInsert_10D10D00C00C
24952     438,   // bitfieldInsert_20D20D00C00C
24953     439,   // bitfieldInsert_30D30D00C00C
24954     440,   // bitfieldReverse_00C
24955     441,   // bitfieldReverse_10C
24956     442,   // bitfieldReverse_20C
24957     443,   // bitfieldReverse_30C
24958     444,   // bitfieldReverse_00D
24959     445,   // bitfieldReverse_10D
24960     446,   // bitfieldReverse_20D
24961     447,   // bitfieldReverse_30D
24962     448,   // bitCount_00C
24963     449,   // bitCount_10C
24964     450,   // bitCount_20C
24965     451,   // bitCount_30C
24966     452,   // bitCount_00D
24967     453,   // bitCount_10D
24968     454,   // bitCount_20D
24969     455,   // bitCount_30D
24970     456,   // findLSB_00C
24971     457,   // findLSB_10C
24972     458,   // findLSB_20C
24973     459,   // findLSB_30C
24974     460,   // findLSB_00D
24975     461,   // findLSB_10D
24976     462,   // findLSB_20D
24977     463,   // findLSB_30D
24978     464,   // findMSB_00C
24979     465,   // findMSB_10C
24980     466,   // findMSB_20C
24981     467,   // findMSB_30C
24982     468,   // findMSB_00D
24983     469,   // findMSB_10D
24984     470,   // findMSB_20D
24985     471,   // findMSB_30D
24986     472,   // uaddCarry_00D00D00D
24987     473,   // uaddCarry_10D10D10D
24988     474,   // uaddCarry_20D20D20D
24989     475,   // uaddCarry_30D30D30D
24990     476,   // usubBorrow_00D00D00D
24991     477,   // usubBorrow_10D10D10D
24992     478,   // usubBorrow_20D20D20D
24993     479,   // usubBorrow_30D30D30D
24994     480,   // umulExtended_00D00D00D00D
24995     481,   // umulExtended_10D10D10D10D
24996     482,   // umulExtended_20D20D20D20D
24997     483,   // umulExtended_30D30D30D30D
24998     484,   // imulExtended_00C00C00C00C
24999     485,   // imulExtended_10C10C10C10C
25000     486,   // imulExtended_20C20C20C20C
25001     487,   // imulExtended_30C30C30C30C
25002     488,   // texture2D_00H10B
25003     489,   // texture2DProj_00H20B
25004     490,   // texture2DProj_00H30B
25005     491,   // textureCube_00J20B
25006     492,   // texture3D_00I20B
25007     493,   // texture3DProj_00I30B
25008     494,   // shadow2DEXT_00c20B
25009     495,   // shadow2DProjEXT_00c30B
25010     496,   // texture2D_00L10B
25011     498,   // texture2DProj_00L20B
25012     500,   // texture2DProj_00L30B
25013     502,   // texture2DRect_00N10B
25014     503,   // texture2DRectProj_00N20B
25015     504,   // texture2DRectProj_00N30B
25016     505,   // texture2DGradEXT_00H10B10B10B
25017     506,   // texture2DProjGradEXT_00H20B10B10B
25018     507,   // texture2DProjGradEXT_00H30B10B10B
25019     508,   // textureCubeGradEXT_00J20B20B20B
25020     509,   // textureVideoWEBGL_00p10B
25021     510,   // texture2D_00H10B00B
25022     511,   // texture2DProj_00H20B00B
25023     512,   // texture2DProj_00H30B00B
25024     513,   // textureCube_00J20B00B
25025     514,   // texture3D_00I20B00B
25026     515,   // texture3DProj_00I30B00B
25027     516,   // texture3DLod_00I20B00B
25028     517,   // texture3DProjLod_00I30B00B
25029     518,   // texture2DLod_00H10B00B
25030     519,   // texture2DProjLod_00H20B00B
25031     520,   // texture2DProjLod_00H30B00B
25032     521,   // textureCubeLod_00J20B00B
25033     522,   // texture2DLodEXT_00H10B00B
25034     523,   // texture2DProjLodEXT_00H20B00B
25035     524,   // texture2DProjLodEXT_00H30B00B
25036     525,   // textureCubeLodEXT_00J20B00B
25037     526,   // texture_00H10B
25038     527,   // texture_00Q10B
25039     528,   // texture_00W10B
25040     529,   // texture_00I20B
25041     530,   // texture_00R20B
25042     531,   // texture_00X20B
25043     532,   // texture_00J20B
25044     533,   // texture_00S20B
25045     534,   // texture_00Y20B
25046     535,   // texture_00K20B
25047     536,   // texture_00T20B
25048     537,   // texture_00Z20B
25049     538,   // texture_00c20B
25050     539,   // texture_00d30B
25051     540,   // texture_00e30B
25052     541,   // texture_00g30B
25053     544,   // texture_00l30B
25054     547,   // texture_00o30B
25055     550,   // texture_00h30B00B
25056     553,   // texture_00L10B
25057     554,   // texture_00M10B
25058     555,   // texture_00N10B
25059     556,   // texture_00p10B
25060     557,   // textureProj_00H20B
25061     558,   // textureProj_00Q20B
25062     559,   // textureProj_00W20B
25063     560,   // textureProj_00H30B
25064     561,   // textureProj_00Q30B
25065     562,   // textureProj_00W30B
25066     563,   // textureProj_00I30B
25067     564,   // textureProj_00R30B
25068     565,   // textureProj_00X30B
25069     566,   // textureProj_00c30B
25070     567,   // textureProj_00L20B
25071     568,   // textureProj_00L30B
25072     569,   // textureProj_00M20B
25073     570,   // textureProj_00M30B
25074     571,   // textureProj_00N20B
25075     572,   // textureProj_00N30B
25076     573,   // textureLod_00H10B00B
25077     574,   // textureLod_00Q10B00B
25078     575,   // textureLod_00W10B00B
25079     576,   // textureLod_00I20B00B
25080     577,   // textureLod_00R20B00B
25081     578,   // textureLod_00X20B00B
25082     579,   // textureLod_00J20B00B
25083     580,   // textureLod_00S20B00B
25084     581,   // textureLod_00Y20B00B
25085     582,   // textureLod_00K20B00B
25086     583,   // textureLod_00T20B00B
25087     584,   // textureLod_00Z20B00B
25088     585,   // textureLod_00c20B00B
25089     586,   // textureLod_00d30B00B
25090     587,   // textureLod_00e30B00B
25091     588,   // textureLod_00h30B00B00B
25092     589,   // textureLod_00g30B00B
25093     592,   // textureLod_00l30B00B
25094     595,   // textureLod_00o30B00B
25095     598,   // textureSize_00H00C
25096     599,   // textureSize_00Q00C
25097     600,   // textureSize_00W00C
25098     601,   // textureSize_00I00C
25099     602,   // textureSize_00R00C
25100     603,   // textureSize_00X00C
25101     604,   // textureSize_00J00C
25102     605,   // textureSize_00S00C
25103     606,   // textureSize_00Y00C
25104     607,   // textureSize_00K00C
25105     608,   // textureSize_00T00C
25106     609,   // textureSize_00Z00C
25107     610,   // textureSize_00c00C
25108     611,   // textureSize_00d00C
25109     612,   // textureSize_00e00C
25110     613,   // textureSize_00g00C
25111     616,   // textureSize_00l00C
25112     619,   // textureSize_00o00C
25113     622,   // textureSize_00h00C
25114     625,   // textureSize_00f
25115     628,   // textureSize_00k
25116     631,   // textureSize_00n
25117     634,   // textureSize_00O
25118     636,   // textureSize_00U
25119     638,   // textureSize_00a
25120     640,   // textureSize_00P
25121     642,   // textureSize_00V
25122     644,   // textureSize_00b
25123     646,   // textureSize_00L00C
25124     647,   // textureSize_00M00C
25125     648,   // textureProjLod_00H20B00B
25126     649,   // textureProjLod_00Q20B00B
25127     650,   // textureProjLod_00W20B00B
25128     651,   // textureProjLod_00H30B00B
25129     652,   // textureProjLod_00Q30B00B
25130     653,   // textureProjLod_00W30B00B
25131     654,   // textureProjLod_00I30B00B
25132     655,   // textureProjLod_00R30B00B
25133     656,   // textureProjLod_00X30B00B
25134     657,   // textureProjLod_00c30B00B
25135     658,   // texelFetch_00H10C00C
25136     659,   // texelFetch_00Q10C00C
25137     660,   // texelFetch_00W10C00C
25138     661,   // texelFetch_00I20C00C
25139     662,   // texelFetch_00R20C00C
25140     663,   // texelFetch_00X20C00C
25141     664,   // texelFetch_00K20C00C
25142     665,   // texelFetch_00T20C00C
25143     666,   // texelFetch_00Z20C00C
25144     667,   // texelFetch_00f00C
25145     670,   // texelFetch_00k00C
25146     673,   // texelFetch_00n00C
25147     676,   // texelFetch_00O10C00C
25148     678,   // texelFetch_00U10C00C
25149     680,   // texelFetch_00a10C00C
25150     682,   // texelFetch_00P20C00C
25151     684,   // texelFetch_00V20C00C
25152     686,   // texelFetch_00b20C00C
25153     688,   // texelFetch_00L10C00C
25154     689,   // texelFetch_00M10C00C
25155     690,   // textureGrad_00H10B10B10B
25156     691,   // textureGrad_00Q10B10B10B
25157     692,   // textureGrad_00W10B10B10B
25158     693,   // textureGrad_00I20B20B20B
25159     694,   // textureGrad_00R20B20B20B
25160     695,   // textureGrad_00X20B20B20B
25161     696,   // textureGrad_00J20B20B20B
25162     697,   // textureGrad_00S20B20B20B
25163     698,   // textureGrad_00Y20B20B20B
25164     699,   // textureGrad_00c20B10B10B
25165     700,   // textureGrad_00d30B20B20B
25166     701,   // textureGrad_00K20B10B10B
25167     702,   // textureGrad_00T20B10B10B
25168     703,   // textureGrad_00Z20B10B10B
25169     704,   // textureGrad_00e30B10B10B
25170     705,   // textureGrad_00g30B20B20B
25171     708,   // textureGrad_00l30B20B20B
25172     711,   // textureGrad_00o30B20B20B
25173     714,   // textureProjGrad_00H20B10B10B
25174     715,   // textureProjGrad_00Q20B10B10B
25175     716,   // textureProjGrad_00W20B10B10B
25176     717,   // textureProjGrad_00H30B10B10B
25177     718,   // textureProjGrad_00Q30B10B10B
25178     719,   // textureProjGrad_00W30B10B10B
25179     720,   // textureProjGrad_00I30B20B20B
25180     721,   // textureProjGrad_00R30B20B20B
25181     722,   // textureProjGrad_00X30B20B20B
25182     723,   // textureProjGrad_00c30B10B10B
25183     724,   // texture_00H10B00B
25184     725,   // texture_00Q10B00B
25185     726,   // texture_00W10B00B
25186     727,   // texture_00I20B00B
25187     728,   // texture_00R20B00B
25188     729,   // texture_00X20B00B
25189     730,   // texture_00J20B00B
25190     731,   // texture_00S20B00B
25191     732,   // texture_00Y20B00B
25192     733,   // texture_00K20B00B
25193     734,   // texture_00T20B00B
25194     735,   // texture_00Z20B00B
25195     736,   // textureProj_00H20B00B
25196     737,   // textureProj_00Q20B00B
25197     738,   // textureProj_00W20B00B
25198     739,   // textureProj_00H30B00B
25199     740,   // textureProj_00Q30B00B
25200     741,   // textureProj_00W30B00B
25201     742,   // textureProj_00I30B00B
25202     743,   // textureProj_00R30B00B
25203     744,   // textureProj_00X30B00B
25204     745,   // texture_00c20B00B
25205     746,   // texture_00d30B00B
25206     747,   // textureProj_00c30B00B
25207     748,   // texture_00e30B00B
25208     749,   // texture_00g30B00B
25209     752,   // texture_00l30B00B
25210     755,   // texture_00o30B00B
25211     758,   // texture_00h30B00B00B
25212     759,   // texture_00L10B00B
25213     760,   // textureProj_00L20B00B
25214     761,   // textureProj_00L30B00B
25215     762,   // texture_00M10B00B
25216     763,   // textureProj_00M20B00B
25217     764,   // textureProj_00M30B00B
25218     765,   // textureOffset_00H10B10C
25219     766,   // textureOffset_00Q10B10C
25220     767,   // textureOffset_00W10B10C
25221     768,   // textureOffset_00I20B20C
25222     769,   // textureOffset_00R20B20C
25223     770,   // textureOffset_00X20B20C
25224     771,   // textureOffset_00c20B10C
25225     772,   // textureOffset_00K20B10C
25226     773,   // textureOffset_00T20B10C
25227     774,   // textureOffset_00Z20B10C
25228     775,   // textureOffset_00e30B10C
25229     776,   // textureProjOffset_00H20B10C
25230     777,   // textureProjOffset_00Q20B10C
25231     778,   // textureProjOffset_00W20B10C
25232     779,   // textureProjOffset_00H30B10C
25233     780,   // textureProjOffset_00Q30B10C
25234     781,   // textureProjOffset_00W30B10C
25235     782,   // textureProjOffset_00I30B20C
25236     783,   // textureProjOffset_00R30B20C
25237     784,   // textureProjOffset_00X30B20C
25238     785,   // textureProjOffset_00c30B10C
25239     786,   // textureLodOffset_00H10B00B10C
25240     787,   // textureLodOffset_00Q10B00B10C
25241     788,   // textureLodOffset_00W10B00B10C
25242     789,   // textureLodOffset_00I20B00B20C
25243     790,   // textureLodOffset_00R20B00B20C
25244     791,   // textureLodOffset_00X20B00B20C
25245     792,   // textureLodOffset_00c20B00B10C
25246     793,   // textureLodOffset_00K20B00B10C
25247     794,   // textureLodOffset_00T20B00B10C
25248     795,   // textureLodOffset_00Z20B00B10C
25249     796,   // textureLodOffset_00e30B00B10C
25250     797,   // textureProjLodOffset_00H20B00B10C
25251     798,   // textureProjLodOffset_00Q20B00B10C
25252     799,   // textureProjLodOffset_00W20B00B10C
25253     800,   // textureProjLodOffset_00H30B00B10C
25254     801,   // textureProjLodOffset_00Q30B00B10C
25255     802,   // textureProjLodOffset_00W30B00B10C
25256     803,   // textureProjLodOffset_00I30B00B20C
25257     804,   // textureProjLodOffset_00R30B00B20C
25258     805,   // textureProjLodOffset_00X30B00B20C
25259     806,   // textureProjLodOffset_00c30B00B10C
25260     807,   // texelFetchOffset_00H10C00C10C
25261     808,   // texelFetchOffset_00Q10C00C10C
25262     809,   // texelFetchOffset_00W10C00C10C
25263     810,   // texelFetchOffset_00I20C00C20C
25264     811,   // texelFetchOffset_00R20C00C20C
25265     812,   // texelFetchOffset_00X20C00C20C
25266     813,   // texelFetchOffset_00K20C00C10C
25267     814,   // texelFetchOffset_00T20C00C10C
25268     815,   // texelFetchOffset_00Z20C00C10C
25269     816,   // textureGradOffset_00H10B10B10B10C
25270     817,   // textureGradOffset_00Q10B10B10B10C
25271     818,   // textureGradOffset_00W10B10B10B10C
25272     819,   // textureGradOffset_00I20B20B20B20C
25273     820,   // textureGradOffset_00R20B20B20B20C
25274     821,   // textureGradOffset_00X20B20B20B20C
25275     822,   // textureGradOffset_00c20B10B10B10C
25276     823,   // textureGradOffset_00K20B10B10B10C
25277     824,   // textureGradOffset_00T20B10B10B10C
25278     825,   // textureGradOffset_00Z20B10B10B10C
25279     826,   // textureGradOffset_00e30B10B10B10C
25280     827,   // textureProjGradOffset_00H20B10B10B10C
25281     828,   // textureProjGradOffset_00Q20B10B10B10C
25282     829,   // textureProjGradOffset_00W20B10B10B10C
25283     830,   // textureProjGradOffset_00H30B10B10B10C
25284     831,   // textureProjGradOffset_00Q30B10B10B10C
25285     832,   // textureProjGradOffset_00W30B10B10B10C
25286     833,   // textureProjGradOffset_00I30B20B20B20C
25287     834,   // textureProjGradOffset_00R30B20B20B20C
25288     835,   // textureProjGradOffset_00X30B20B20B20C
25289     836,   // textureProjGradOffset_00c30B10B10B10C
25290     837,   // textureOffset_00H10B10C00B
25291     838,   // textureOffset_00Q10B10C00B
25292     839,   // textureOffset_00W10B10C00B
25293     840,   // textureOffset_00I20B20C00B
25294     841,   // textureOffset_00R20B20C00B
25295     842,   // textureOffset_00X20B20C00B
25296     843,   // textureOffset_00c20B10C00B
25297     844,   // textureOffset_00K20B10C00B
25298     845,   // textureOffset_00T20B10C00B
25299     846,   // textureOffset_00Z20B10C00B
25300     847,   // textureOffset_00e30B10C00B
25301     848,   // textureProjOffset_00H20B10C00B
25302     849,   // textureProjOffset_00Q20B10C00B
25303     850,   // textureProjOffset_00W20B10C00B
25304     851,   // textureProjOffset_00H30B10C00B
25305     852,   // textureProjOffset_00Q30B10C00B
25306     853,   // textureProjOffset_00W30B10C00B
25307     854,   // textureProjOffset_00I30B20C00B
25308     855,   // textureProjOffset_00R30B20C00B
25309     856,   // textureProjOffset_00X30B20C00B
25310     857,   // textureProjOffset_00c30B10C00B
25311     858,   // textureGather_00H10B
25312     859,   // textureGather_00Q10B
25313     860,   // textureGather_00W10B
25314     861,   // textureGather_00H10B00C
25315     862,   // textureGather_00Q10B00C
25316     863,   // textureGather_00W10B00C
25317     864,   // textureGather_00K20B
25318     865,   // textureGather_00T20B
25319     866,   // textureGather_00Z20B
25320     867,   // textureGather_00K20B00C
25321     868,   // textureGather_00T20B00C
25322     869,   // textureGather_00Z20B00C
25323     870,   // textureGather_00J20B
25324     871,   // textureGather_00S20B
25325     872,   // textureGather_00Y20B
25326     873,   // textureGather_00J20B00C
25327     874,   // textureGather_00S20B00C
25328     875,   // textureGather_00Y20B00C
25329     876,   // textureGather_00g30B
25330     879,   // textureGather_00l30B
25331     882,   // textureGather_00o30B
25332     885,   // textureGather_00g30B00C
25333     888,   // textureGather_00l30B00C
25334     891,   // textureGather_00o30B00C
25335     894,   // textureGather_00h30B00B
25336     897,   // textureGather_00c10B
25337     898,   // textureGather_00c10B00B
25338     899,   // textureGather_00e20B
25339     900,   // textureGather_00e20B00B
25340     901,   // textureGather_00d20B
25341     902,   // textureGather_00d20B00B
25342     903,   // textureGatherOffset_00H10B10C
25343     904,   // textureGatherOffset_00Q10B10C
25344     905,   // textureGatherOffset_00W10B10C
25345     906,   // textureGatherOffset_00K20B10C
25346     907,   // textureGatherOffset_00T20B10C
25347     908,   // textureGatherOffset_00Z20B10C
25348     909,   // textureGatherOffset_00c10B00B10C
25349     910,   // textureGatherOffset_00e20B00B10C
25350     911,   // textureGatherOffset_00H10B10C00C
25351     912,   // textureGatherOffset_00Q10B10C00C
25352     913,   // textureGatherOffset_00W10B10C00C
25353     914,   // textureGatherOffset_00K20B10C00C
25354     915,   // textureGatherOffset_00T20B10C00C
25355     916,   // textureGatherOffset_00Z20B10C00C
25356     917,   // textureGatherOffsets_00H10B10Cx4
25357     920,   // textureGatherOffsets_00Q10B10Cx4
25358     923,   // textureGatherOffsets_00W10B10Cx4
25359     926,   // textureGatherOffsets_00K20B10Cx4
25360     929,   // textureGatherOffsets_00T20B10Cx4
25361     932,   // textureGatherOffsets_00Z20B10Cx4
25362     935,   // textureGatherOffsets_00c10B00B10Cx4
25363     938,   // textureGatherOffsets_00e20B00B10Cx4
25364     941,   // textureGatherOffsets_00H10B10Cx400C
25365     944,   // textureGatherOffsets_00Q10B10Cx400C
25366     947,   // textureGatherOffsets_00W10B10Cx400C
25367     950,   // textureGatherOffsets_00K20B10Cx400C
25368     953,   // textureGatherOffsets_00T20B10Cx400C
25369     956,   // textureGatherOffsets_00Z20B10Cx400C
25370     959,   // textureQueryLOD_00H10B
25371     960,   // textureQueryLOD_00Q10B
25372     961,   // textureQueryLOD_00W10B
25373     962,   // textureQueryLOD_00I20B
25374     963,   // textureQueryLOD_00R20B
25375     964,   // textureQueryLOD_00X20B
25376     965,   // textureQueryLOD_00J20B
25377     966,   // textureQueryLOD_00S20B
25378     967,   // textureQueryLOD_00Y20B
25379     968,   // textureQueryLOD_00K10B
25380     969,   // textureQueryLOD_00T10B
25381     970,   // textureQueryLOD_00Z10B
25382     971,   // textureQueryLOD_00c10B
25383     972,   // textureQueryLOD_00d20B
25384     973,   // textureQueryLOD_00e10B
25385     974,   // textureQueryLOD_00g20B
25386     975,   // textureQueryLOD_00l20B
25387     976,   // textureQueryLOD_00o20B
25388     977,   // textureQueryLOD_00h20B
25389     978,   // rgb_2_yuv_20B00G
25390     979,   // yuv_2_rgb_20B00G
25391     980,   // dFdx_00B
25392     982,   // dFdx_10B
25393     984,   // dFdx_20B
25394     986,   // dFdx_30B
25395     988,   // dFdy_00B
25396     990,   // dFdy_10B
25397     992,   // dFdy_20B
25398     994,   // dFdy_30B
25399     996,   // fwidth_00B
25400     998,   // fwidth_10B
25401     1000,  // fwidth_20B
25402     1002,  // fwidth_30B
25403     1004,  // interpolateAtCentroid_00B
25404     1006,  // interpolateAtCentroid_10B
25405     1008,  // interpolateAtCentroid_20B
25406     1010,  // interpolateAtCentroid_30B
25407     1012,  // interpolateAtSample_00B00C
25408     1014,  // interpolateAtSample_10B00C
25409     1016,  // interpolateAtSample_20B00C
25410     1018,  // interpolateAtSample_30B00C
25411     1020,  // interpolateAtOffset_00B10B
25412     1022,  // interpolateAtOffset_10B10B
25413     1024,  // interpolateAtOffset_20B10B
25414     1026,  // interpolateAtOffset_30B10B
25415     1028,  // atomicCounter_00F
25416     1029,  // atomicCounterIncrement_00F
25417     1030,  // atomicCounterDecrement_00F
25418     1031,  // atomicAdd_00D00D
25419     1032,  // atomicAdd_00C00C
25420     1033,  // atomicMin_00D00D
25421     1034,  // atomicMin_00C00C
25422     1035,  // atomicMax_00D00D
25423     1036,  // atomicMax_00C00C
25424     1037,  // atomicAnd_00D00D
25425     1038,  // atomicAnd_00C00C
25426     1039,  // atomicOr_00D00D
25427     1040,  // atomicOr_00C00C
25428     1041,  // atomicXor_00D00D
25429     1042,  // atomicXor_00C00C
25430     1043,  // atomicExchange_00D00D
25431     1044,  // atomicExchange_00C00C
25432     1045,  // atomicCompSwap_00D00D00D
25433     1046,  // atomicCompSwap_00C00C00C
25434     1047,  // imageSize_00q
25435     1048,  // imageSize_00z
25436     1049,  // imageSize_01I
25437     1050,  // imageSize_00r
25438     1051,  // imageSize_01A
25439     1052,  // imageSize_01J
25440     1053,  // imageSize_00s
25441     1054,  // imageSize_01B
25442     1055,  // imageSize_01K
25443     1056,  // imageSize_00t
25444     1057,  // imageSize_01C
25445     1058,  // imageSize_01L
25446     1059,  // imageSize_00w
25447     1062,  // imageSize_01F
25448     1065,  // imageSize_01O
25449     1068,  // imageSize_00y
25450     1071,  // imageSize_01H
25451     1074,  // imageSize_01Q
25452     1077,  // imageStore_00q10C30B
25453     1078,  // imageStore_00z10C30C
25454     1079,  // imageStore_01I10C30D
25455     1080,  // imageStore_00r20C30B
25456     1081,  // imageStore_01A20C30C
25457     1082,  // imageStore_01J20C30D
25458     1083,  // imageStore_00s20C30B
25459     1084,  // imageStore_01B20C30C
25460     1085,  // imageStore_01K20C30D
25461     1086,  // imageStore_00t20C30B
25462     1087,  // imageStore_01C20C30C
25463     1088,  // imageStore_01L20C30D
25464     1089,  // imageStore_00w20C30B
25465     1092,  // imageStore_01F20C30C
25466     1095,  // imageStore_01O20C30D
25467     1098,  // imageStore_00y00C30B
25468     1101,  // imageStore_01H00C30C
25469     1104,  // imageStore_01Q00C30D
25470     1107,  // imageLoad_00q10C
25471     1108,  // imageLoad_00z10C
25472     1109,  // imageLoad_01I10C
25473     1110,  // imageLoad_00r20C
25474     1111,  // imageLoad_01A20C
25475     1112,  // imageLoad_01J20C
25476     1113,  // imageLoad_00s20C
25477     1114,  // imageLoad_01B20C
25478     1115,  // imageLoad_01K20C
25479     1116,  // imageLoad_00t20C
25480     1117,  // imageLoad_01C20C
25481     1118,  // imageLoad_01L20C
25482     1119,  // imageLoad_00w20C
25483     1122,  // imageLoad_01F20C
25484     1125,  // imageLoad_01O20C
25485     1128,  // imageLoad_00y00C
25486     1131,  // imageLoad_01H00C
25487     1134,  // imageLoad_01Q00C
25488     1137,  // imageAtomicAdd_00q10C00D
25489     1139,  // imageAtomicAdd_00z10C00D
25490     1141,  // imageAtomicAdd_01I10C00D
25491     1143,  // imageAtomicAdd_00r20C00D
25492     1145,  // imageAtomicAdd_01A20C00D
25493     1147,  // imageAtomicAdd_01J20C00D
25494     1149,  // imageAtomicAdd_00t20C00D
25495     1151,  // imageAtomicAdd_01C20C00D
25496     1153,  // imageAtomicAdd_01L20C00D
25497     1155,  // imageAtomicAdd_00y00C00D
25498     1157,  // imageAtomicAdd_01H00C00D
25499     1159,  // imageAtomicAdd_01Q00C00D
25500     1161,  // imageAtomicAdd_00s20C00D
25501     1163,  // imageAtomicAdd_01B20C00D
25502     1165,  // imageAtomicAdd_01K20C00D
25503     1167,  // imageAtomicAdd_00w20C00D
25504     1169,  // imageAtomicAdd_01F20C00D
25505     1171,  // imageAtomicAdd_01O20C00D
25506     1173,  // imageAtomicAdd_00x10C00D
25507     1175,  // imageAtomicAdd_01G10C00D
25508     1177,  // imageAtomicAdd_01P10C00D
25509     1179,  // imageAtomicAdd_00u10C00C00D
25510     1181,  // imageAtomicAdd_01D10C00C00D
25511     1183,  // imageAtomicAdd_01M10C00C00D
25512     1185,  // imageAtomicAdd_00v20C00C00D
25513     1187,  // imageAtomicAdd_01E20C00C00D
25514     1189,  // imageAtomicAdd_01N20C00C00D
25515     1191,  // imageAtomicAdd_00q10C00C
25516     1193,  // imageAtomicAdd_00z10C00C
25517     1195,  // imageAtomicAdd_01I10C00C
25518     1197,  // imageAtomicAdd_00r20C00C
25519     1199,  // imageAtomicAdd_01A20C00C
25520     1201,  // imageAtomicAdd_01J20C00C
25521     1203,  // imageAtomicAdd_00t20C00C
25522     1205,  // imageAtomicAdd_01C20C00C
25523     1207,  // imageAtomicAdd_01L20C00C
25524     1209,  // imageAtomicAdd_00y00C00C
25525     1211,  // imageAtomicAdd_01H00C00C
25526     1213,  // imageAtomicAdd_01Q00C00C
25527     1215,  // imageAtomicAdd_00s20C00C
25528     1217,  // imageAtomicAdd_01B20C00C
25529     1219,  // imageAtomicAdd_01K20C00C
25530     1221,  // imageAtomicAdd_00w20C00C
25531     1223,  // imageAtomicAdd_01F20C00C
25532     1225,  // imageAtomicAdd_01O20C00C
25533     1227,  // imageAtomicAdd_00x10C00C
25534     1229,  // imageAtomicAdd_01G10C00C
25535     1231,  // imageAtomicAdd_01P10C00C
25536     1233,  // imageAtomicAdd_00u10C00C00C
25537     1235,  // imageAtomicAdd_01D10C00C00C
25538     1237,  // imageAtomicAdd_01M10C00C00C
25539     1239,  // imageAtomicAdd_00v20C00C00C
25540     1241,  // imageAtomicAdd_01E20C00C00C
25541     1243,  // imageAtomicAdd_01N20C00C00C
25542     1245,  // imageAtomicMin_00q10C00D
25543     1247,  // imageAtomicMin_00z10C00D
25544     1249,  // imageAtomicMin_01I10C00D
25545     1251,  // imageAtomicMin_00r20C00D
25546     1253,  // imageAtomicMin_01A20C00D
25547     1255,  // imageAtomicMin_01J20C00D
25548     1257,  // imageAtomicMin_00t20C00D
25549     1259,  // imageAtomicMin_01C20C00D
25550     1261,  // imageAtomicMin_01L20C00D
25551     1263,  // imageAtomicMin_00y00C00D
25552     1265,  // imageAtomicMin_01H00C00D
25553     1267,  // imageAtomicMin_01Q00C00D
25554     1269,  // imageAtomicMin_00s20C00D
25555     1271,  // imageAtomicMin_01B20C00D
25556     1273,  // imageAtomicMin_01K20C00D
25557     1275,  // imageAtomicMin_00w20C00D
25558     1277,  // imageAtomicMin_01F20C00D
25559     1279,  // imageAtomicMin_01O20C00D
25560     1281,  // imageAtomicMin_00x10C00D
25561     1283,  // imageAtomicMin_01G10C00D
25562     1285,  // imageAtomicMin_01P10C00D
25563     1287,  // imageAtomicMin_00u10C00C00D
25564     1289,  // imageAtomicMin_01D10C00C00D
25565     1291,  // imageAtomicMin_01M10C00C00D
25566     1293,  // imageAtomicMin_00v20C00C00D
25567     1295,  // imageAtomicMin_01E20C00C00D
25568     1297,  // imageAtomicMin_01N20C00C00D
25569     1299,  // imageAtomicMin_00q10C00C
25570     1301,  // imageAtomicMin_00z10C00C
25571     1303,  // imageAtomicMin_01I10C00C
25572     1305,  // imageAtomicMin_00r20C00C
25573     1307,  // imageAtomicMin_01A20C00C
25574     1309,  // imageAtomicMin_01J20C00C
25575     1311,  // imageAtomicMin_00t20C00C
25576     1313,  // imageAtomicMin_01C20C00C
25577     1315,  // imageAtomicMin_01L20C00C
25578     1317,  // imageAtomicMin_00y00C00C
25579     1319,  // imageAtomicMin_01H00C00C
25580     1321,  // imageAtomicMin_01Q00C00C
25581     1323,  // imageAtomicMin_00s20C00C
25582     1325,  // imageAtomicMin_01B20C00C
25583     1327,  // imageAtomicMin_01K20C00C
25584     1329,  // imageAtomicMin_00w20C00C
25585     1331,  // imageAtomicMin_01F20C00C
25586     1333,  // imageAtomicMin_01O20C00C
25587     1335,  // imageAtomicMin_00x10C00C
25588     1337,  // imageAtomicMin_01G10C00C
25589     1339,  // imageAtomicMin_01P10C00C
25590     1341,  // imageAtomicMin_00u10C00C00C
25591     1343,  // imageAtomicMin_01D10C00C00C
25592     1345,  // imageAtomicMin_01M10C00C00C
25593     1347,  // imageAtomicMin_00v20C00C00C
25594     1349,  // imageAtomicMin_01E20C00C00C
25595     1351,  // imageAtomicMin_01N20C00C00C
25596     1353,  // imageAtomicMax_00q10C00D
25597     1355,  // imageAtomicMax_00z10C00D
25598     1357,  // imageAtomicMax_01I10C00D
25599     1359,  // imageAtomicMax_00r20C00D
25600     1361,  // imageAtomicMax_01A20C00D
25601     1363,  // imageAtomicMax_01J20C00D
25602     1365,  // imageAtomicMax_00t20C00D
25603     1367,  // imageAtomicMax_01C20C00D
25604     1369,  // imageAtomicMax_01L20C00D
25605     1371,  // imageAtomicMax_00y00C00D
25606     1373,  // imageAtomicMax_01H00C00D
25607     1375,  // imageAtomicMax_01Q00C00D
25608     1377,  // imageAtomicMax_00s20C00D
25609     1379,  // imageAtomicMax_01B20C00D
25610     1381,  // imageAtomicMax_01K20C00D
25611     1383,  // imageAtomicMax_00w20C00D
25612     1385,  // imageAtomicMax_01F20C00D
25613     1387,  // imageAtomicMax_01O20C00D
25614     1389,  // imageAtomicMax_00x10C00D
25615     1391,  // imageAtomicMax_01G10C00D
25616     1393,  // imageAtomicMax_01P10C00D
25617     1395,  // imageAtomicMax_00u10C00C00D
25618     1397,  // imageAtomicMax_01D10C00C00D
25619     1399,  // imageAtomicMax_01M10C00C00D
25620     1401,  // imageAtomicMax_00v20C00C00D
25621     1403,  // imageAtomicMax_01E20C00C00D
25622     1405,  // imageAtomicMax_01N20C00C00D
25623     1407,  // imageAtomicMax_00q10C00C
25624     1409,  // imageAtomicMax_00z10C00C
25625     1411,  // imageAtomicMax_01I10C00C
25626     1413,  // imageAtomicMax_00r20C00C
25627     1415,  // imageAtomicMax_01A20C00C
25628     1417,  // imageAtomicMax_01J20C00C
25629     1419,  // imageAtomicMax_00t20C00C
25630     1421,  // imageAtomicMax_01C20C00C
25631     1423,  // imageAtomicMax_01L20C00C
25632     1425,  // imageAtomicMax_00y00C00C
25633     1427,  // imageAtomicMax_01H00C00C
25634     1429,  // imageAtomicMax_01Q00C00C
25635     1431,  // imageAtomicMax_00s20C00C
25636     1433,  // imageAtomicMax_01B20C00C
25637     1435,  // imageAtomicMax_01K20C00C
25638     1437,  // imageAtomicMax_00w20C00C
25639     1439,  // imageAtomicMax_01F20C00C
25640     1441,  // imageAtomicMax_01O20C00C
25641     1443,  // imageAtomicMax_00x10C00C
25642     1445,  // imageAtomicMax_01G10C00C
25643     1447,  // imageAtomicMax_01P10C00C
25644     1449,  // imageAtomicMax_00u10C00C00C
25645     1451,  // imageAtomicMax_01D10C00C00C
25646     1453,  // imageAtomicMax_01M10C00C00C
25647     1455,  // imageAtomicMax_00v20C00C00C
25648     1457,  // imageAtomicMax_01E20C00C00C
25649     1459,  // imageAtomicMax_01N20C00C00C
25650     1461,  // imageAtomicAnd_00q10C00D
25651     1463,  // imageAtomicAnd_00z10C00D
25652     1465,  // imageAtomicAnd_01I10C00D
25653     1467,  // imageAtomicAnd_00r20C00D
25654     1469,  // imageAtomicAnd_01A20C00D
25655     1471,  // imageAtomicAnd_01J20C00D
25656     1473,  // imageAtomicAnd_00t20C00D
25657     1475,  // imageAtomicAnd_01C20C00D
25658     1477,  // imageAtomicAnd_01L20C00D
25659     1479,  // imageAtomicAnd_00y00C00D
25660     1481,  // imageAtomicAnd_01H00C00D
25661     1483,  // imageAtomicAnd_01Q00C00D
25662     1485,  // imageAtomicAnd_00s20C00D
25663     1487,  // imageAtomicAnd_01B20C00D
25664     1489,  // imageAtomicAnd_01K20C00D
25665     1491,  // imageAtomicAnd_00w20C00D
25666     1493,  // imageAtomicAnd_01F20C00D
25667     1495,  // imageAtomicAnd_01O20C00D
25668     1497,  // imageAtomicAnd_00x10C00D
25669     1499,  // imageAtomicAnd_01G10C00D
25670     1501,  // imageAtomicAnd_01P10C00D
25671     1503,  // imageAtomicAnd_00u10C00C00D
25672     1505,  // imageAtomicAnd_01D10C00C00D
25673     1507,  // imageAtomicAnd_01M10C00C00D
25674     1509,  // imageAtomicAnd_00v20C00C00D
25675     1511,  // imageAtomicAnd_01E20C00C00D
25676     1513,  // imageAtomicAnd_01N20C00C00D
25677     1515,  // imageAtomicAnd_00q10C00C
25678     1517,  // imageAtomicAnd_00z10C00C
25679     1519,  // imageAtomicAnd_01I10C00C
25680     1521,  // imageAtomicAnd_00r20C00C
25681     1523,  // imageAtomicAnd_01A20C00C
25682     1525,  // imageAtomicAnd_01J20C00C
25683     1527,  // imageAtomicAnd_00t20C00C
25684     1529,  // imageAtomicAnd_01C20C00C
25685     1531,  // imageAtomicAnd_01L20C00C
25686     1533,  // imageAtomicAnd_00y00C00C
25687     1535,  // imageAtomicAnd_01H00C00C
25688     1537,  // imageAtomicAnd_01Q00C00C
25689     1539,  // imageAtomicAnd_00s20C00C
25690     1541,  // imageAtomicAnd_01B20C00C
25691     1543,  // imageAtomicAnd_01K20C00C
25692     1545,  // imageAtomicAnd_00w20C00C
25693     1547,  // imageAtomicAnd_01F20C00C
25694     1549,  // imageAtomicAnd_01O20C00C
25695     1551,  // imageAtomicAnd_00x10C00C
25696     1553,  // imageAtomicAnd_01G10C00C
25697     1555,  // imageAtomicAnd_01P10C00C
25698     1557,  // imageAtomicAnd_00u10C00C00C
25699     1559,  // imageAtomicAnd_01D10C00C00C
25700     1561,  // imageAtomicAnd_01M10C00C00C
25701     1563,  // imageAtomicAnd_00v20C00C00C
25702     1565,  // imageAtomicAnd_01E20C00C00C
25703     1567,  // imageAtomicAnd_01N20C00C00C
25704     1569,  // imageAtomicOr_00q10C00D
25705     1571,  // imageAtomicOr_00z10C00D
25706     1573,  // imageAtomicOr_01I10C00D
25707     1575,  // imageAtomicOr_00r20C00D
25708     1577,  // imageAtomicOr_01A20C00D
25709     1579,  // imageAtomicOr_01J20C00D
25710     1581,  // imageAtomicOr_00t20C00D
25711     1583,  // imageAtomicOr_01C20C00D
25712     1585,  // imageAtomicOr_01L20C00D
25713     1587,  // imageAtomicOr_00y00C00D
25714     1589,  // imageAtomicOr_01H00C00D
25715     1591,  // imageAtomicOr_01Q00C00D
25716     1593,  // imageAtomicOr_00s20C00D
25717     1595,  // imageAtomicOr_01B20C00D
25718     1597,  // imageAtomicOr_01K20C00D
25719     1599,  // imageAtomicOr_00w20C00D
25720     1601,  // imageAtomicOr_01F20C00D
25721     1603,  // imageAtomicOr_01O20C00D
25722     1605,  // imageAtomicOr_00x10C00D
25723     1607,  // imageAtomicOr_01G10C00D
25724     1609,  // imageAtomicOr_01P10C00D
25725     1611,  // imageAtomicOr_00u10C00C00D
25726     1613,  // imageAtomicOr_01D10C00C00D
25727     1615,  // imageAtomicOr_01M10C00C00D
25728     1617,  // imageAtomicOr_00v20C00C00D
25729     1619,  // imageAtomicOr_01E20C00C00D
25730     1621,  // imageAtomicOr_01N20C00C00D
25731     1623,  // imageAtomicOr_00q10C00C
25732     1625,  // imageAtomicOr_00z10C00C
25733     1627,  // imageAtomicOr_01I10C00C
25734     1629,  // imageAtomicOr_00r20C00C
25735     1631,  // imageAtomicOr_01A20C00C
25736     1633,  // imageAtomicOr_01J20C00C
25737     1635,  // imageAtomicOr_00t20C00C
25738     1637,  // imageAtomicOr_01C20C00C
25739     1639,  // imageAtomicOr_01L20C00C
25740     1641,  // imageAtomicOr_00y00C00C
25741     1643,  // imageAtomicOr_01H00C00C
25742     1645,  // imageAtomicOr_01Q00C00C
25743     1647,  // imageAtomicOr_00s20C00C
25744     1649,  // imageAtomicOr_01B20C00C
25745     1651,  // imageAtomicOr_01K20C00C
25746     1653,  // imageAtomicOr_00w20C00C
25747     1655,  // imageAtomicOr_01F20C00C
25748     1657,  // imageAtomicOr_01O20C00C
25749     1659,  // imageAtomicOr_00x10C00C
25750     1661,  // imageAtomicOr_01G10C00C
25751     1663,  // imageAtomicOr_01P10C00C
25752     1665,  // imageAtomicOr_00u10C00C00C
25753     1667,  // imageAtomicOr_01D10C00C00C
25754     1669,  // imageAtomicOr_01M10C00C00C
25755     1671,  // imageAtomicOr_00v20C00C00C
25756     1673,  // imageAtomicOr_01E20C00C00C
25757     1675,  // imageAtomicOr_01N20C00C00C
25758     1677,  // imageAtomicXor_00q10C00D
25759     1679,  // imageAtomicXor_00z10C00D
25760     1681,  // imageAtomicXor_01I10C00D
25761     1683,  // imageAtomicXor_00r20C00D
25762     1685,  // imageAtomicXor_01A20C00D
25763     1687,  // imageAtomicXor_01J20C00D
25764     1689,  // imageAtomicXor_00t20C00D
25765     1691,  // imageAtomicXor_01C20C00D
25766     1693,  // imageAtomicXor_01L20C00D
25767     1695,  // imageAtomicXor_00y00C00D
25768     1697,  // imageAtomicXor_01H00C00D
25769     1699,  // imageAtomicXor_01Q00C00D
25770     1701,  // imageAtomicXor_00s20C00D
25771     1703,  // imageAtomicXor_01B20C00D
25772     1705,  // imageAtomicXor_01K20C00D
25773     1707,  // imageAtomicXor_00w20C00D
25774     1709,  // imageAtomicXor_01F20C00D
25775     1711,  // imageAtomicXor_01O20C00D
25776     1713,  // imageAtomicXor_00x10C00D
25777     1715,  // imageAtomicXor_01G10C00D
25778     1717,  // imageAtomicXor_01P10C00D
25779     1719,  // imageAtomicXor_00u10C00C00D
25780     1721,  // imageAtomicXor_01D10C00C00D
25781     1723,  // imageAtomicXor_01M10C00C00D
25782     1725,  // imageAtomicXor_00v20C00C00D
25783     1727,  // imageAtomicXor_01E20C00C00D
25784     1729,  // imageAtomicXor_01N20C00C00D
25785     1731,  // imageAtomicXor_00q10C00C
25786     1733,  // imageAtomicXor_00z10C00C
25787     1735,  // imageAtomicXor_01I10C00C
25788     1737,  // imageAtomicXor_00r20C00C
25789     1739,  // imageAtomicXor_01A20C00C
25790     1741,  // imageAtomicXor_01J20C00C
25791     1743,  // imageAtomicXor_00t20C00C
25792     1745,  // imageAtomicXor_01C20C00C
25793     1747,  // imageAtomicXor_01L20C00C
25794     1749,  // imageAtomicXor_00y00C00C
25795     1751,  // imageAtomicXor_01H00C00C
25796     1753,  // imageAtomicXor_01Q00C00C
25797     1755,  // imageAtomicXor_00s20C00C
25798     1757,  // imageAtomicXor_01B20C00C
25799     1759,  // imageAtomicXor_01K20C00C
25800     1761,  // imageAtomicXor_00w20C00C
25801     1763,  // imageAtomicXor_01F20C00C
25802     1765,  // imageAtomicXor_01O20C00C
25803     1767,  // imageAtomicXor_00x10C00C
25804     1769,  // imageAtomicXor_01G10C00C
25805     1771,  // imageAtomicXor_01P10C00C
25806     1773,  // imageAtomicXor_00u10C00C00C
25807     1775,  // imageAtomicXor_01D10C00C00C
25808     1777,  // imageAtomicXor_01M10C00C00C
25809     1779,  // imageAtomicXor_00v20C00C00C
25810     1781,  // imageAtomicXor_01E20C00C00C
25811     1783,  // imageAtomicXor_01N20C00C00C
25812     1785,  // imageAtomicExchange_00q10C00D
25813     1787,  // imageAtomicExchange_00z10C00D
25814     1789,  // imageAtomicExchange_01I10C00D
25815     1791,  // imageAtomicExchange_00r20C00D
25816     1793,  // imageAtomicExchange_01A20C00D
25817     1795,  // imageAtomicExchange_01J20C00D
25818     1797,  // imageAtomicExchange_00t20C00D
25819     1799,  // imageAtomicExchange_01C20C00D
25820     1801,  // imageAtomicExchange_01L20C00D
25821     1803,  // imageAtomicExchange_00y00C00D
25822     1805,  // imageAtomicExchange_01H00C00D
25823     1807,  // imageAtomicExchange_01Q00C00D
25824     1809,  // imageAtomicExchange_00s20C00D
25825     1811,  // imageAtomicExchange_01B20C00D
25826     1813,  // imageAtomicExchange_01K20C00D
25827     1815,  // imageAtomicExchange_00w20C00D
25828     1817,  // imageAtomicExchange_01F20C00D
25829     1819,  // imageAtomicExchange_01O20C00D
25830     1821,  // imageAtomicExchange_00x10C00D
25831     1823,  // imageAtomicExchange_01G10C00D
25832     1825,  // imageAtomicExchange_01P10C00D
25833     1827,  // imageAtomicExchange_00u10C00C00D
25834     1829,  // imageAtomicExchange_01D10C00C00D
25835     1831,  // imageAtomicExchange_01M10C00C00D
25836     1833,  // imageAtomicExchange_00v20C00C00D
25837     1835,  // imageAtomicExchange_01E20C00C00D
25838     1837,  // imageAtomicExchange_01N20C00C00D
25839     1839,  // imageAtomicExchange_00q10C00C
25840     1841,  // imageAtomicExchange_00z10C00C
25841     1843,  // imageAtomicExchange_01I10C00C
25842     1845,  // imageAtomicExchange_00r20C00C
25843     1847,  // imageAtomicExchange_01A20C00C
25844     1849,  // imageAtomicExchange_01J20C00C
25845     1851,  // imageAtomicExchange_00t20C00C
25846     1853,  // imageAtomicExchange_01C20C00C
25847     1855,  // imageAtomicExchange_01L20C00C
25848     1857,  // imageAtomicExchange_00y00C00C
25849     1859,  // imageAtomicExchange_01H00C00C
25850     1861,  // imageAtomicExchange_01Q00C00C
25851     1863,  // imageAtomicExchange_00s20C00C
25852     1865,  // imageAtomicExchange_01B20C00C
25853     1867,  // imageAtomicExchange_01K20C00C
25854     1869,  // imageAtomicExchange_00w20C00C
25855     1871,  // imageAtomicExchange_01F20C00C
25856     1873,  // imageAtomicExchange_01O20C00C
25857     1875,  // imageAtomicExchange_00x10C00C
25858     1877,  // imageAtomicExchange_01G10C00C
25859     1879,  // imageAtomicExchange_01P10C00C
25860     1881,  // imageAtomicExchange_00u10C00C00C
25861     1883,  // imageAtomicExchange_01D10C00C00C
25862     1885,  // imageAtomicExchange_01M10C00C00C
25863     1887,  // imageAtomicExchange_00v20C00C00C
25864     1889,  // imageAtomicExchange_01E20C00C00C
25865     1891,  // imageAtomicExchange_01N20C00C00C
25866     1893,  // imageAtomicExchange_00q10C00B
25867     1895,  // imageAtomicExchange_00z10C00B
25868     1897,  // imageAtomicExchange_01I10C00B
25869     1899,  // imageAtomicExchange_00r20C00B
25870     1901,  // imageAtomicExchange_01A20C00B
25871     1903,  // imageAtomicExchange_01J20C00B
25872     1905,  // imageAtomicExchange_00t20C00B
25873     1907,  // imageAtomicExchange_01C20C00B
25874     1909,  // imageAtomicExchange_01L20C00B
25875     1911,  // imageAtomicExchange_00y00C00B
25876     1913,  // imageAtomicExchange_01H00C00B
25877     1915,  // imageAtomicExchange_01Q00C00B
25878     1917,  // imageAtomicExchange_00s20C00B
25879     1919,  // imageAtomicExchange_01B20C00B
25880     1921,  // imageAtomicExchange_01K20C00B
25881     1923,  // imageAtomicExchange_00w20C00B
25882     1925,  // imageAtomicExchange_01F20C00B
25883     1927,  // imageAtomicExchange_01O20C00B
25884     1929,  // imageAtomicExchange_00x10C00B
25885     1931,  // imageAtomicExchange_01G10C00B
25886     1933,  // imageAtomicExchange_01P10C00B
25887     1935,  // imageAtomicExchange_00u10C00C00B
25888     1937,  // imageAtomicExchange_01D10C00C00B
25889     1939,  // imageAtomicExchange_01M10C00C00B
25890     1941,  // imageAtomicExchange_00v20C00C00B
25891     1943,  // imageAtomicExchange_01E20C00C00B
25892     1945,  // imageAtomicExchange_01N20C00C00B
25893     1947,  // imageAtomicCompSwap_00q10C00D00D
25894     1949,  // imageAtomicCompSwap_00z10C00D00D
25895     1951,  // imageAtomicCompSwap_01I10C00D00D
25896     1953,  // imageAtomicCompSwap_00r20C00D00D
25897     1955,  // imageAtomicCompSwap_01A20C00D00D
25898     1957,  // imageAtomicCompSwap_01J20C00D00D
25899     1959,  // imageAtomicCompSwap_00t20C00D00D
25900     1961,  // imageAtomicCompSwap_01C20C00D00D
25901     1963,  // imageAtomicCompSwap_01L20C00D00D
25902     1965,  // imageAtomicCompSwap_00y00C00D00D
25903     1967,  // imageAtomicCompSwap_01H00C00D00D
25904     1969,  // imageAtomicCompSwap_01Q00C00D00D
25905     1971,  // imageAtomicCompSwap_00s20C00D00D
25906     1973,  // imageAtomicCompSwap_01B20C00D00D
25907     1975,  // imageAtomicCompSwap_01K20C00D00D
25908     1977,  // imageAtomicCompSwap_00w20C00D00D
25909     1979,  // imageAtomicCompSwap_01F20C00D00D
25910     1981,  // imageAtomicCompSwap_01O20C00D00D
25911     1983,  // imageAtomicCompSwap_00x10C00D00D
25912     1985,  // imageAtomicCompSwap_01G10C00D00D
25913     1987,  // imageAtomicCompSwap_01P10C00D00D
25914     1989,  // imageAtomicCompSwap_00u10C00C00D00D
25915     1991,  // imageAtomicCompSwap_01D10C00C00D00D
25916     1993,  // imageAtomicCompSwap_01M10C00C00D00D
25917     1995,  // imageAtomicCompSwap_00v20C00C00D00D
25918     1997,  // imageAtomicCompSwap_01E20C00C00D00D
25919     1999,  // imageAtomicCompSwap_01N20C00C00D00D
25920     2001,  // imageAtomicCompSwap_00q10C00C00C
25921     2003,  // imageAtomicCompSwap_00z10C00C00C
25922     2005,  // imageAtomicCompSwap_01I10C00C00C
25923     2007,  // imageAtomicCompSwap_00r20C00C00C
25924     2009,  // imageAtomicCompSwap_01A20C00C00C
25925     2011,  // imageAtomicCompSwap_01J20C00C00C
25926     2013,  // imageAtomicCompSwap_00t20C00C00C
25927     2015,  // imageAtomicCompSwap_01C20C00C00C
25928     2017,  // imageAtomicCompSwap_01L20C00C00C
25929     2019,  // imageAtomicCompSwap_00y00C00C00C
25930     2021,  // imageAtomicCompSwap_01H00C00C00C
25931     2023,  // imageAtomicCompSwap_01Q00C00C00C
25932     2025,  // imageAtomicCompSwap_00s20C00C00C
25933     2027,  // imageAtomicCompSwap_01B20C00C00C
25934     2029,  // imageAtomicCompSwap_01K20C00C00C
25935     2031,  // imageAtomicCompSwap_00w20C00C00C
25936     2033,  // imageAtomicCompSwap_01F20C00C00C
25937     2035,  // imageAtomicCompSwap_01O20C00C00C
25938     2037,  // imageAtomicCompSwap_00x10C00C00C
25939     2039,  // imageAtomicCompSwap_01G10C00C00C
25940     2041,  // imageAtomicCompSwap_01P10C00C00C
25941     2043,  // imageAtomicCompSwap_00u10C00C00C00C
25942     2045,  // imageAtomicCompSwap_01D10C00C00C00C
25943     2047,  // imageAtomicCompSwap_01M10C00C00C00C
25944     2049,  // imageAtomicCompSwap_00v20C00C00C00C
25945     2051,  // imageAtomicCompSwap_01E20C00C00C00C
25946     2053,  // imageAtomicCompSwap_01N20C00C00C00C
25947     2055,  // pixelLocalLoadANGLE_01R
25948     2056,  // pixelLocalLoadANGLE_01S
25949     2057,  // pixelLocalLoadANGLE_01T
25950     2058,  // pixelLocalStoreANGLE_01R30B
25951     2059,  // pixelLocalStoreANGLE_01S30C
25952     2060,  // pixelLocalStoreANGLE_01T30D
25953     2061,  // beginInvocationInterlockNV_
25954     2062,  // endInvocationInterlockNV_
25955     2063,  // beginFragmentShaderOrderingINTEL_
25956     2064,  // beginInvocationInterlockARB_
25957     2065,  // endInvocationInterlockARB_
25958     2066,  // memoryBarrier_
25959     2067,  // memoryBarrierAtomicCounter_
25960     2068,  // memoryBarrierBuffer_
25961     2069,  // memoryBarrierImage_
25962     2070,  // barrier_
25963     2074,  // memoryBarrierShared_
25964     2075,  // groupMemoryBarrier_
25965     2076,  // EmitVertex_
25966     2079,  // EndPrimitive_
25967     2082,  // subpassLoad_01U
25968     2083,  // subpassLoad_01V
25969     2084,  // subpassLoad_01W
25970     2085,  // numSamples_
25971     2086,  // samplePosition_00D
25972     2087,  // interpolateAtCenter_00B
25973     2088,  // interpolateAtCenter_10B
25974     2089,  // interpolateAtCenter_20B
25975     2090,  // interpolateAtCenter_30B
25976     2091,  // saturate_00B
25977     2092,  // saturate_10B
25978     2093,  // saturate_20B
25979     2094,  // saturate_30B
25980     2095,  // gl_DepthRangeParameters
25981     2096,  // gl_DepthRange
25982     2097,  // gl_NumSamples
25983     2099,  // gl_MaxVertexAttribs
25984     2100,  // gl_MaxVertexUniformVectors
25985     2101,  // gl_MaxVertexTextureImageUnits
25986     2102,  // gl_MaxCombinedTextureImageUnits
25987     2103,  // gl_MaxTextureImageUnits
25988     2104,  // gl_MaxFragmentUniformVectors
25989     2105,  // gl_MaxVaryingVectors
25990     2106,  // gl_MaxDrawBuffers
25991     2107,  // gl_MaxDualSourceDrawBuffersEXT
25992     2108,  // gl_MaxVertexOutputVectors
25993     2109,  // gl_MaxFragmentInputVectors
25994     2110,  // gl_MinProgramTexelOffset
25995     2111,  // gl_MaxProgramTexelOffset
25996     2112,  // gl_MaxImageUnits
25997     2113,  // gl_MaxVertexImageUniforms
25998     2114,  // gl_MaxFragmentImageUniforms
25999     2115,  // gl_MaxComputeImageUniforms
26000     2116,  // gl_MaxCombinedImageUniforms
26001     2117,  // gl_MaxCombinedShaderOutputResources
26002     2118,  // gl_MaxComputeWorkGroupCount
26003     2119,  // gl_MaxComputeWorkGroupSize
26004     2120,  // gl_MaxComputeUniformComponents
26005     2121,  // gl_MaxComputeTextureImageUnits
26006     2122,  // gl_MaxComputeAtomicCounters
26007     2123,  // gl_MaxComputeAtomicCounterBuffers
26008     2124,  // gl_MaxVertexAtomicCounters
26009     2125,  // gl_MaxFragmentAtomicCounters
26010     2126,  // gl_MaxCombinedAtomicCounters
26011     2127,  // gl_MaxAtomicCounterBindings
26012     2128,  // gl_MaxVertexAtomicCounterBuffers
26013     2129,  // gl_MaxFragmentAtomicCounterBuffers
26014     2130,  // gl_MaxCombinedAtomicCounterBuffers
26015     2131,  // gl_MaxAtomicCounterBufferSize
26016     2132,  // gl_MaxGeometryInputComponents
26017     2135,  // gl_MaxGeometryOutputComponents
26018     2138,  // gl_MaxGeometryImageUniforms
26019     2141,  // gl_MaxGeometryTextureImageUnits
26020     2144,  // gl_MaxGeometryOutputVertices
26021     2147,  // gl_MaxGeometryTotalOutputComponents
26022     2150,  // gl_MaxGeometryUniformComponents
26023     2153,  // gl_MaxGeometryAtomicCounters
26024     2156,  // gl_MaxGeometryAtomicCounterBuffers
26025     2159,  // gl_MaxTessControlInputComponents
26026     2162,  // gl_MaxTessControlOutputComponents
26027     2165,  // gl_MaxTessControlTextureImageUnits
26028     2168,  // gl_MaxTessControlUniformComponents
26029     2171,  // gl_MaxTessControlTotalOutputComponents
26030     2174,  // gl_MaxTessControlImageUniforms
26031     2177,  // gl_MaxTessControlAtomicCounters
26032     2180,  // gl_MaxTessControlAtomicCounterBuffers
26033     2183,  // gl_MaxTessPatchComponents
26034     2186,  // gl_MaxPatchVertices
26035     2189,  // gl_MaxTessGenLevel
26036     2192,  // gl_MaxTessEvaluationInputComponents
26037     2195,  // gl_MaxTessEvaluationOutputComponents
26038     2198,  // gl_MaxTessEvaluationTextureImageUnits
26039     2201,  // gl_MaxTessEvaluationUniformComponents
26040     2204,  // gl_MaxTessEvaluationImageUniforms
26041     2207,  // gl_MaxTessEvaluationAtomicCounters
26042     2210,  // gl_MaxTessEvaluationAtomicCounterBuffers
26043     2213,  // gl_MaxSamples
26044     2215,  // gl_MaxClipDistances
26045     2218,  // gl_MaxCullDistances
26046     2220,  // gl_MaxCombinedClipAndCullDistances
26047     2222,  // gl_FragCoord
26048     2224,  // gl_FrontFacing
26049     2225,  // gl_PointCoord
26050     2226,  // gl_FragColor
26051     2227,  // gl_FragData
26052     2228,  // gl_FragDepth
26053     2229,  // gl_HelperInvocation
26054     2230,  // gl_SecondaryFragColorEXT
26055     2231,  // gl_SecondaryFragDataEXT
26056     2232,  // gl_FragDepthEXT
26057     2233,  // gl_LastFragData
26058     2236,  // gl_LastFragColor
26059     2237,  // gl_LastFragColorARM
26060     2238,  // gl_LastFragDepthARM
26061     2239,  // gl_LastFragStencilARM
26062     2240,  // gl_PrimitiveID
26063     2252,  // gl_Layer
26064     2259,  // gl_SampleID
26065     2261,  // gl_SamplePosition
26066     2263,  // gl_SampleMaskIn
26067     2265,  // gl_SampleMask
26068     2267,  // gl_Position
26069     2277,  // gl_PointSize
26070     2279,  // gl_InstanceID
26071     2280,  // gl_InstanceIndex
26072     2281,  // gl_VertexID
26073     2282,  // gl_VertexIndex
26074     2283,  // gl_DrawID
26075     2284,  // gl_BaseVertex
26076     2285,  // gl_BaseInstance
26077     2286,  // angle_BaseVertex
26078     2287,  // angle_BaseInstance
26079     2288,  // gl_ClipDistance
26080     2291,  // gl_NumWorkGroups
26081     2292,  // gl_WorkGroupSize
26082     2293,  // gl_WorkGroupID
26083     2294,  // gl_LocalInvocationID
26084     2295,  // gl_GlobalInvocationID
26085     2296,  // gl_LocalInvocationIndex
26086     2297,  // gl_PrimitiveIDIn
26087     2300,  // gl_InvocationID
26088     2306,  // gl_PerVertex
26089     2315,  // gl_in
26090     2324,  // gl_PatchVerticesIn
26091     2330,  // gl_TessLevelOuter
26092     2336,  // gl_TessLevelInner
26093     2342,  // gl_out
26094     2348,  // gl_BoundingBox
26095     2351,  // gl_BoundingBoxEXT
26096     2354,  // gl_BoundingBoxOES
26097     2357,  // gl_TessCoord
26098     2358,  // gl_ViewID_OVR
26099     2359,  // gl_CullDistance
26100 };
26101 
26102 using Ext = TExtension;
26103 
26104 // Flat array of all unmangled name identifiers.
26105 constexpr UnmangledEntry unmangled[] = {
26106     {"radians", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26107     {"degrees", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26108     {"sin", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26109     {"cos", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26110     {"tan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26111     {"asin", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26112     {"acos", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26113     {"atan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26114     {"sinh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26115     {"cosh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26116     {"tanh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26117     {"asinh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26118     {"acosh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26119     {"atanh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26120     {"pow", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26121     {"exp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26122     {"log", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26123     {"exp2", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26124     {"log2", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26125     {"sqrt", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26126     {"inversesqrt", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26127     {"abs", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26128     {"sign", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26129     {"floor", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26130     {"trunc", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26131     {"round", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26132     {"roundEven", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26133     {"ceil", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26134     {"fract", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26135     {"mod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26136     {"min", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26137     {"max", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26138     {"clamp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26139     {"mix", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26140     {"step", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26141     {"smoothstep", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26142     {"modf", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26143     {"isnan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26144     {"isinf", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26145     {"floatBitsToInt", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26146     {"floatBitsToUint", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26147     {"intBitsToFloat", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26148     {"uintBitsToFloat", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26149     {"fma", std::array<TExtension, 2>{{Ext::EXT_gpu_shader5, Ext::OES_gpu_shader5}}, 310,
26150      Shader::ALL},
26151     {"frexp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26152     {"ldexp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26153     {"packSnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26154     {"packHalf2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26155     {"unpackSnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26156     {"unpackHalf2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26157     {"packUnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26158     {"unpackUnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26159     {"packUnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26160     {"packSnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26161     {"unpackUnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26162     {"unpackSnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26163     {"length", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26164     {"distance", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26165     {"dot", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26166     {"cross", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26167     {"normalize", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26168     {"faceforward", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26169     {"reflect", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26170     {"refract", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26171     {"matrixCompMult", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26172     {"outerProduct", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26173     {"transpose", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26174     {"determinant", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26175     {"inverse", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26176     {"lessThan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26177     {"lessThanEqual", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26178     {"greaterThan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26179     {"greaterThanEqual", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26180     {"equal", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26181     {"notEqual", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26182     {"any", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26183     {"all", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26184     {"not", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 0, Shader::ALL},
26185     {"bitfieldExtract", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26186     {"bitfieldInsert", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26187     {"bitfieldReverse", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26188     {"bitCount", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26189     {"findLSB", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26190     {"findMSB", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26191     {"uaddCarry", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26192     {"usubBorrow", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26193     {"umulExtended", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26194     {"imulExtended", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26195     {"texture2D", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::ALL},
26196     {"texture2DProj", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::ALL},
26197     {"textureCube", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::ALL},
26198     {"texture3D", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, 100, Shader::FRAGMENT},
26199     {"texture3DProj", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, 100, Shader::FRAGMENT},
26200     {"shadow2DEXT", std::array<TExtension, 1>{{Ext::EXT_shadow_samplers}}, 100, Shader::ALL},
26201     {"shadow2DProjEXT", std::array<TExtension, 1>{{Ext::EXT_shadow_samplers}}, 100, Shader::ALL},
26202     {"texture2DRect", std::array<TExtension, 1>{{Ext::ARB_texture_rectangle}}, 100, Shader::ALL},
26203     {"texture2DRectProj", std::array<TExtension, 1>{{Ext::ARB_texture_rectangle}}, 100,
26204      Shader::ALL},
26205     {"texture2DGradEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, 100,
26206      Shader::ALL},
26207     {"texture2DProjGradEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, 100,
26208      Shader::ALL},
26209     {"textureCubeGradEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, 100,
26210      Shader::ALL},
26211     {"textureVideoWEBGL", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::ALL},
26212     {"texture3DLod", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, 100, Shader::ALL},
26213     {"texture3DProjLod", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, 100, Shader::ALL},
26214     {"texture2DLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::VERTEX},
26215     {"texture2DProjLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::VERTEX},
26216     {"textureCubeLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 100, Shader::VERTEX},
26217     {"texture2DLodEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, 100,
26218      Shader::FRAGMENT},
26219     {"texture2DProjLodEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, 100,
26220      Shader::FRAGMENT},
26221     {"textureCubeLodEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, 100,
26222      Shader::FRAGMENT},
26223     {"texture", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, 300,
26224      Shader::FRAGMENT},
26225     {"textureProj", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26226     {"textureLod",
26227      std::array<TExtension, 2>{{Ext::OES_texture_cube_map_array, Ext::EXT_texture_cube_map_array}},
26228      310, Shader::ALL},
26229     {"textureSize", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, 300,
26230      Shader::ALL},
26231     {"textureProjLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26232     {"texelFetch", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, 300,
26233      Shader::ALL},
26234     {"textureGrad",
26235      std::array<TExtension, 2>{{Ext::OES_texture_cube_map_array, Ext::EXT_texture_cube_map_array}},
26236      310, Shader::ALL},
26237     {"textureProjGrad", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26238     {"textureOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26239     {"textureProjOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26240     {"textureLodOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26241     {"textureProjLodOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26242     {"texelFetchOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26243     {"textureGradOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26244     {"textureProjGradOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::ALL},
26245     {"textureGather", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26246     {"textureGatherOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26247     {"textureGatherOffsets",
26248      std::array<TExtension, 2>{{Ext::EXT_gpu_shader5, Ext::OES_gpu_shader5}}, 310, Shader::ALL},
26249     {"textureQueryLOD", std::array<TExtension, 1>{{Ext::EXT_texture_query_lod}}, 310,
26250      Shader::FRAGMENT},
26251     {"rgb_2_yuv", std::array<TExtension, 1>{{Ext::EXT_YUV_target}}, 300, Shader::ALL},
26252     {"yuv_2_rgb", std::array<TExtension, 1>{{Ext::EXT_YUV_target}}, 300, Shader::ALL},
26253     {"dFdx", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::FRAGMENT},
26254     {"dFdy", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::FRAGMENT},
26255     {"fwidth", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 300, Shader::FRAGMENT},
26256     {"interpolateAtCentroid",
26257      std::array<TExtension, 1>{{Ext::OES_shader_multisample_interpolation}}, 300, Shader::FRAGMENT},
26258     {"interpolateAtSample", std::array<TExtension, 1>{{Ext::OES_shader_multisample_interpolation}},
26259      300, Shader::FRAGMENT},
26260     {"interpolateAtOffset", std::array<TExtension, 1>{{Ext::OES_shader_multisample_interpolation}},
26261      300, Shader::FRAGMENT},
26262     {"atomicCounter", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26263     {"atomicCounterIncrement", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26264     {"atomicCounterDecrement", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26265     {"atomicAdd", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26266     {"atomicMin", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26267     {"atomicMax", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26268     {"atomicAnd", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26269     {"atomicOr", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26270     {"atomicXor", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26271     {"atomicExchange", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26272     {"atomicCompSwap", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26273     {"imageSize", std::array<TExtension, 2>{{Ext::OES_texture_buffer, Ext::EXT_texture_buffer}},
26274      310, Shader::ALL},
26275     {"imageStore", std::array<TExtension, 2>{{Ext::OES_texture_buffer, Ext::EXT_texture_buffer}},
26276      310, Shader::ALL},
26277     {"imageLoad", std::array<TExtension, 2>{{Ext::OES_texture_buffer, Ext::EXT_texture_buffer}},
26278      310, Shader::ALL},
26279     {"imageAtomicAdd", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310, Shader::ALL},
26280     {"imageAtomicMin", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310, Shader::ALL},
26281     {"imageAtomicMax", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310, Shader::ALL},
26282     {"imageAtomicAnd", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310, Shader::ALL},
26283     {"imageAtomicOr", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310, Shader::ALL},
26284     {"imageAtomicXor", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310, Shader::ALL},
26285     {"imageAtomicExchange", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310,
26286      Shader::ALL},
26287     {"imageAtomicCompSwap", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, 310,
26288      Shader::ALL},
26289     {"pixelLocalLoadANGLE", std::array<TExtension, 1>{{Ext::ANGLE_shader_pixel_local_storage}}, 300,
26290      Shader::ALL},
26291     {"pixelLocalStoreANGLE", std::array<TExtension, 1>{{Ext::ANGLE_shader_pixel_local_storage}},
26292      300, Shader::ALL},
26293     {"beginInvocationInterlockNV", std::array<TExtension, 1>{{Ext::UNDEFINED}},
26294      kESSLInternalBackendBuiltIns, Shader::ALL},
26295     {"endInvocationInterlockNV", std::array<TExtension, 1>{{Ext::UNDEFINED}},
26296      kESSLInternalBackendBuiltIns, Shader::ALL},
26297     {"beginFragmentShaderOrderingINTEL", std::array<TExtension, 1>{{Ext::UNDEFINED}},
26298      kESSLInternalBackendBuiltIns, Shader::ALL},
26299     {"beginInvocationInterlockARB", std::array<TExtension, 1>{{Ext::UNDEFINED}},
26300      kESSLInternalBackendBuiltIns, Shader::ALL},
26301     {"endInvocationInterlockARB", std::array<TExtension, 1>{{Ext::UNDEFINED}},
26302      kESSLInternalBackendBuiltIns, Shader::ALL},
26303     {"memoryBarrier", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26304     {"memoryBarrierAtomicCounter", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26305     {"memoryBarrierBuffer", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26306     {"memoryBarrierImage", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::ALL},
26307     {"barrier", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 320, Shader::TESS_CONTROL_EXT},
26308     {"memoryBarrierShared", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::COMPUTE},
26309     {"groupMemoryBarrier", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 310, Shader::COMPUTE},
26310     {"EmitVertex", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 320, Shader::GEOMETRY},
26311     {"EndPrimitive", std::array<TExtension, 1>{{Ext::UNDEFINED}}, 320, Shader::GEOMETRY},
26312     {"subpassLoad", std::array<TExtension, 1>{{Ext::UNDEFINED}}, kESSLInternalBackendBuiltIns,
26313      Shader::ALL},
26314     {"numSamples", std::array<TExtension, 1>{{Ext::UNDEFINED}}, kESSLInternalBackendBuiltIns,
26315      Shader::FRAGMENT},
26316     {"samplePosition", std::array<TExtension, 1>{{Ext::UNDEFINED}}, kESSLInternalBackendBuiltIns,
26317      Shader::FRAGMENT},
26318     {"interpolateAtCenter", std::array<TExtension, 1>{{Ext::UNDEFINED}},
26319      kESSLInternalBackendBuiltIns, Shader::FRAGMENT},
26320     {"saturate", std::array<TExtension, 1>{{Ext::UNDEFINED}}, kESSLInternalBackendBuiltIns,
26321      Shader::ALL}};
26322 
26323 }  // namespace BuiltInArray
26324 
initializeBuiltInVariables(sh::GLenum shaderType,ShShaderSpec spec,const ShBuiltInResources & resources)26325 void TSymbolTable::initializeBuiltInVariables(sh::GLenum shaderType,
26326                                               ShShaderSpec spec,
26327                                               const ShBuiltInResources &resources)
26328 {
26329     const TSourceLoc zeroSourceLoc             = {0, 0, 0, 0};
26330     TFieldList *fields_gl_DepthRangeParameters = new TFieldList();
26331     fields_gl_DepthRangeParameters->push_back(
26332         new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::near, zeroSourceLoc,
26333                    SymbolType::BuiltIn));
26334     fields_gl_DepthRangeParameters->push_back(
26335         new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::far, zeroSourceLoc,
26336                    SymbolType::BuiltIn));
26337     fields_gl_DepthRangeParameters->push_back(
26338         new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::diff, zeroSourceLoc,
26339                    SymbolType::BuiltIn));
26340     TStructure *gl_DepthRangeParameters = new TStructure(
26341         BuiltInId::gl_DepthRangeParameters, BuiltInName::gl_DepthRangeParameters,
26342         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_DepthRangeParameters);
26343     m_gl_DepthRangeParameters = gl_DepthRangeParameters;
26344     TType *type_gl_DepthRange = new TType(gl_DepthRangeParameters, false);
26345     type_gl_DepthRange->setQualifier(EvqUniform);
26346     type_gl_DepthRange->realize();
26347     m_gl_DepthRange =
26348         new TVariable(BuiltInId::gl_DepthRange, BuiltInName::gl_DepthRange, SymbolType::BuiltIn,
26349                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_DepthRange);
26350     m_gl_MaxVertexAttribs =
26351         new TVariable(BuiltInId::gl_MaxVertexAttribs, BuiltInName::gl_MaxVertexAttribs,
26352                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26353                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26354     {
26355         TConstantUnion *unionArray = new TConstantUnion[1];
26356         unionArray[0].setIConst(resources.MaxVertexAttribs);
26357         static_cast<TVariable *>(m_gl_MaxVertexAttribs)->shareConstPointer(unionArray);
26358     }
26359     m_gl_MaxVertexUniformVectors = new TVariable(
26360         BuiltInId::gl_MaxVertexUniformVectors, BuiltInName::gl_MaxVertexUniformVectors,
26361         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26362         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26363     {
26364         TConstantUnion *unionArray = new TConstantUnion[1];
26365         unionArray[0].setIConst(resources.MaxVertexUniformVectors);
26366         static_cast<TVariable *>(m_gl_MaxVertexUniformVectors)->shareConstPointer(unionArray);
26367     }
26368     m_gl_MaxVertexTextureImageUnits = new TVariable(
26369         BuiltInId::gl_MaxVertexTextureImageUnits, BuiltInName::gl_MaxVertexTextureImageUnits,
26370         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26371         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26372     {
26373         TConstantUnion *unionArray = new TConstantUnion[1];
26374         unionArray[0].setIConst(resources.MaxVertexTextureImageUnits);
26375         static_cast<TVariable *>(m_gl_MaxVertexTextureImageUnits)->shareConstPointer(unionArray);
26376     }
26377     m_gl_MaxCombinedTextureImageUnits = new TVariable(
26378         BuiltInId::gl_MaxCombinedTextureImageUnits, BuiltInName::gl_MaxCombinedTextureImageUnits,
26379         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26380         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26381     {
26382         TConstantUnion *unionArray = new TConstantUnion[1];
26383         unionArray[0].setIConst(resources.MaxCombinedTextureImageUnits);
26384         static_cast<TVariable *>(m_gl_MaxCombinedTextureImageUnits)->shareConstPointer(unionArray);
26385     }
26386     m_gl_MaxTextureImageUnits =
26387         new TVariable(BuiltInId::gl_MaxTextureImageUnits, BuiltInName::gl_MaxTextureImageUnits,
26388                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26389                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26390     {
26391         TConstantUnion *unionArray = new TConstantUnion[1];
26392         unionArray[0].setIConst(resources.MaxTextureImageUnits);
26393         static_cast<TVariable *>(m_gl_MaxTextureImageUnits)->shareConstPointer(unionArray);
26394     }
26395     m_gl_MaxFragmentUniformVectors = new TVariable(
26396         BuiltInId::gl_MaxFragmentUniformVectors, BuiltInName::gl_MaxFragmentUniformVectors,
26397         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26398         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26399     {
26400         TConstantUnion *unionArray = new TConstantUnion[1];
26401         unionArray[0].setIConst(resources.MaxFragmentUniformVectors);
26402         static_cast<TVariable *>(m_gl_MaxFragmentUniformVectors)->shareConstPointer(unionArray);
26403     }
26404     m_gl_MaxVaryingVectors =
26405         new TVariable(BuiltInId::gl_MaxVaryingVectors, BuiltInName::gl_MaxVaryingVectors,
26406                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26407                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26408     {
26409         TConstantUnion *unionArray = new TConstantUnion[1];
26410         unionArray[0].setIConst(resources.MaxVaryingVectors);
26411         static_cast<TVariable *>(m_gl_MaxVaryingVectors)->shareConstPointer(unionArray);
26412     }
26413     m_gl_MaxDrawBuffers =
26414         new TVariable(BuiltInId::gl_MaxDrawBuffers, BuiltInName::gl_MaxDrawBuffers,
26415                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26416                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26417     {
26418         TConstantUnion *unionArray = new TConstantUnion[1];
26419         unionArray[0].setIConst(resources.MaxDrawBuffers);
26420         static_cast<TVariable *>(m_gl_MaxDrawBuffers)->shareConstPointer(unionArray);
26421     }
26422     m_gl_MaxDualSourceDrawBuffersEXT = new TVariable(
26423         BuiltInId::gl_MaxDualSourceDrawBuffersEXT, BuiltInName::gl_MaxDualSourceDrawBuffersEXT,
26424         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_blend_func_extended}},
26425         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26426     {
26427         TConstantUnion *unionArray = new TConstantUnion[1];
26428         unionArray[0].setIConst(resources.MaxDualSourceDrawBuffers);
26429         static_cast<TVariable *>(m_gl_MaxDualSourceDrawBuffersEXT)->shareConstPointer(unionArray);
26430     }
26431     m_gl_MaxVertexOutputVectors =
26432         new TVariable(BuiltInId::gl_MaxVertexOutputVectors, BuiltInName::gl_MaxVertexOutputVectors,
26433                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26434                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26435     {
26436         TConstantUnion *unionArray = new TConstantUnion[1];
26437         unionArray[0].setIConst(resources.MaxVertexOutputVectors);
26438         static_cast<TVariable *>(m_gl_MaxVertexOutputVectors)->shareConstPointer(unionArray);
26439     }
26440     m_gl_MaxFragmentInputVectors = new TVariable(
26441         BuiltInId::gl_MaxFragmentInputVectors, BuiltInName::gl_MaxFragmentInputVectors,
26442         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26443         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26444     {
26445         TConstantUnion *unionArray = new TConstantUnion[1];
26446         unionArray[0].setIConst(resources.MaxFragmentInputVectors);
26447         static_cast<TVariable *>(m_gl_MaxFragmentInputVectors)->shareConstPointer(unionArray);
26448     }
26449     m_gl_MinProgramTexelOffset =
26450         new TVariable(BuiltInId::gl_MinProgramTexelOffset, BuiltInName::gl_MinProgramTexelOffset,
26451                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26452                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26453     {
26454         TConstantUnion *unionArray = new TConstantUnion[1];
26455         unionArray[0].setIConst(resources.MinProgramTexelOffset);
26456         static_cast<TVariable *>(m_gl_MinProgramTexelOffset)->shareConstPointer(unionArray);
26457     }
26458     m_gl_MaxProgramTexelOffset =
26459         new TVariable(BuiltInId::gl_MaxProgramTexelOffset, BuiltInName::gl_MaxProgramTexelOffset,
26460                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26461                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26462     {
26463         TConstantUnion *unionArray = new TConstantUnion[1];
26464         unionArray[0].setIConst(resources.MaxProgramTexelOffset);
26465         static_cast<TVariable *>(m_gl_MaxProgramTexelOffset)->shareConstPointer(unionArray);
26466     }
26467     m_gl_MaxImageUnits =
26468         new TVariable(BuiltInId::gl_MaxImageUnits, BuiltInName::gl_MaxImageUnits,
26469                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26470                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26471     {
26472         TConstantUnion *unionArray = new TConstantUnion[1];
26473         unionArray[0].setIConst(resources.MaxImageUnits);
26474         static_cast<TVariable *>(m_gl_MaxImageUnits)->shareConstPointer(unionArray);
26475     }
26476     m_gl_MaxVertexImageUniforms =
26477         new TVariable(BuiltInId::gl_MaxVertexImageUniforms, BuiltInName::gl_MaxVertexImageUniforms,
26478                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26479                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26480     {
26481         TConstantUnion *unionArray = new TConstantUnion[1];
26482         unionArray[0].setIConst(resources.MaxVertexImageUniforms);
26483         static_cast<TVariable *>(m_gl_MaxVertexImageUniforms)->shareConstPointer(unionArray);
26484     }
26485     m_gl_MaxFragmentImageUniforms = new TVariable(
26486         BuiltInId::gl_MaxFragmentImageUniforms, BuiltInName::gl_MaxFragmentImageUniforms,
26487         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26488         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26489     {
26490         TConstantUnion *unionArray = new TConstantUnion[1];
26491         unionArray[0].setIConst(resources.MaxFragmentImageUniforms);
26492         static_cast<TVariable *>(m_gl_MaxFragmentImageUniforms)->shareConstPointer(unionArray);
26493     }
26494     m_gl_MaxComputeImageUniforms = new TVariable(
26495         BuiltInId::gl_MaxComputeImageUniforms, BuiltInName::gl_MaxComputeImageUniforms,
26496         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26497         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26498     {
26499         TConstantUnion *unionArray = new TConstantUnion[1];
26500         unionArray[0].setIConst(resources.MaxComputeImageUniforms);
26501         static_cast<TVariable *>(m_gl_MaxComputeImageUniforms)->shareConstPointer(unionArray);
26502     }
26503     m_gl_MaxCombinedImageUniforms = new TVariable(
26504         BuiltInId::gl_MaxCombinedImageUniforms, BuiltInName::gl_MaxCombinedImageUniforms,
26505         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26506         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26507     {
26508         TConstantUnion *unionArray = new TConstantUnion[1];
26509         unionArray[0].setIConst(resources.MaxCombinedImageUniforms);
26510         static_cast<TVariable *>(m_gl_MaxCombinedImageUniforms)->shareConstPointer(unionArray);
26511     }
26512     m_gl_MaxCombinedShaderOutputResources =
26513         new TVariable(BuiltInId::gl_MaxCombinedShaderOutputResources,
26514                       BuiltInName::gl_MaxCombinedShaderOutputResources, SymbolType::BuiltIn,
26515                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26516                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26517     {
26518         TConstantUnion *unionArray = new TConstantUnion[1];
26519         unionArray[0].setIConst(resources.MaxCombinedShaderOutputResources);
26520         static_cast<TVariable *>(m_gl_MaxCombinedShaderOutputResources)
26521             ->shareConstPointer(unionArray);
26522     }
26523     m_gl_MaxComputeWorkGroupCount = new TVariable(
26524         BuiltInId::gl_MaxComputeWorkGroupCount, BuiltInName::gl_MaxComputeWorkGroupCount,
26525         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26526         StaticType::Get<EbtInt, EbpHigh, EvqConst, 3, 1>());
26527     {
26528         TConstantUnion *unionArray = new TConstantUnion[3];
26529         for (size_t index = 0u; index < 3; ++index)
26530         {
26531             unionArray[index].setIConst(resources.MaxComputeWorkGroupCount[index]);
26532         }
26533         static_cast<TVariable *>(m_gl_MaxComputeWorkGroupCount)->shareConstPointer(unionArray);
26534     }
26535     m_gl_MaxComputeWorkGroupSize = new TVariable(
26536         BuiltInId::gl_MaxComputeWorkGroupSize, BuiltInName::gl_MaxComputeWorkGroupSize,
26537         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26538         StaticType::Get<EbtInt, EbpHigh, EvqConst, 3, 1>());
26539     {
26540         TConstantUnion *unionArray = new TConstantUnion[3];
26541         for (size_t index = 0u; index < 3; ++index)
26542         {
26543             unionArray[index].setIConst(resources.MaxComputeWorkGroupSize[index]);
26544         }
26545         static_cast<TVariable *>(m_gl_MaxComputeWorkGroupSize)->shareConstPointer(unionArray);
26546     }
26547     m_gl_MaxComputeUniformComponents = new TVariable(
26548         BuiltInId::gl_MaxComputeUniformComponents, BuiltInName::gl_MaxComputeUniformComponents,
26549         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26550         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26551     {
26552         TConstantUnion *unionArray = new TConstantUnion[1];
26553         unionArray[0].setIConst(resources.MaxComputeUniformComponents);
26554         static_cast<TVariable *>(m_gl_MaxComputeUniformComponents)->shareConstPointer(unionArray);
26555     }
26556     m_gl_MaxComputeTextureImageUnits = new TVariable(
26557         BuiltInId::gl_MaxComputeTextureImageUnits, BuiltInName::gl_MaxComputeTextureImageUnits,
26558         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26559         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26560     {
26561         TConstantUnion *unionArray = new TConstantUnion[1];
26562         unionArray[0].setIConst(resources.MaxComputeTextureImageUnits);
26563         static_cast<TVariable *>(m_gl_MaxComputeTextureImageUnits)->shareConstPointer(unionArray);
26564     }
26565     m_gl_MaxComputeAtomicCounters = new TVariable(
26566         BuiltInId::gl_MaxComputeAtomicCounters, BuiltInName::gl_MaxComputeAtomicCounters,
26567         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26568         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26569     {
26570         TConstantUnion *unionArray = new TConstantUnion[1];
26571         unionArray[0].setIConst(resources.MaxComputeAtomicCounters);
26572         static_cast<TVariable *>(m_gl_MaxComputeAtomicCounters)->shareConstPointer(unionArray);
26573     }
26574     m_gl_MaxComputeAtomicCounterBuffers =
26575         new TVariable(BuiltInId::gl_MaxComputeAtomicCounterBuffers,
26576                       BuiltInName::gl_MaxComputeAtomicCounterBuffers, SymbolType::BuiltIn,
26577                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26578                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26579     {
26580         TConstantUnion *unionArray = new TConstantUnion[1];
26581         unionArray[0].setIConst(resources.MaxComputeAtomicCounterBuffers);
26582         static_cast<TVariable *>(m_gl_MaxComputeAtomicCounterBuffers)
26583             ->shareConstPointer(unionArray);
26584     }
26585     m_gl_MaxVertexAtomicCounters = new TVariable(
26586         BuiltInId::gl_MaxVertexAtomicCounters, BuiltInName::gl_MaxVertexAtomicCounters,
26587         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26588         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26589     {
26590         TConstantUnion *unionArray = new TConstantUnion[1];
26591         unionArray[0].setIConst(resources.MaxVertexAtomicCounters);
26592         static_cast<TVariable *>(m_gl_MaxVertexAtomicCounters)->shareConstPointer(unionArray);
26593     }
26594     m_gl_MaxFragmentAtomicCounters = new TVariable(
26595         BuiltInId::gl_MaxFragmentAtomicCounters, BuiltInName::gl_MaxFragmentAtomicCounters,
26596         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26597         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26598     {
26599         TConstantUnion *unionArray = new TConstantUnion[1];
26600         unionArray[0].setIConst(resources.MaxFragmentAtomicCounters);
26601         static_cast<TVariable *>(m_gl_MaxFragmentAtomicCounters)->shareConstPointer(unionArray);
26602     }
26603     m_gl_MaxCombinedAtomicCounters = new TVariable(
26604         BuiltInId::gl_MaxCombinedAtomicCounters, BuiltInName::gl_MaxCombinedAtomicCounters,
26605         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26606         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26607     {
26608         TConstantUnion *unionArray = new TConstantUnion[1];
26609         unionArray[0].setIConst(resources.MaxCombinedAtomicCounters);
26610         static_cast<TVariable *>(m_gl_MaxCombinedAtomicCounters)->shareConstPointer(unionArray);
26611     }
26612     m_gl_MaxAtomicCounterBindings = new TVariable(
26613         BuiltInId::gl_MaxAtomicCounterBindings, BuiltInName::gl_MaxAtomicCounterBindings,
26614         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26615         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26616     {
26617         TConstantUnion *unionArray = new TConstantUnion[1];
26618         unionArray[0].setIConst(resources.MaxAtomicCounterBindings);
26619         static_cast<TVariable *>(m_gl_MaxAtomicCounterBindings)->shareConstPointer(unionArray);
26620     }
26621     m_gl_MaxVertexAtomicCounterBuffers = new TVariable(
26622         BuiltInId::gl_MaxVertexAtomicCounterBuffers, BuiltInName::gl_MaxVertexAtomicCounterBuffers,
26623         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26624         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26625     {
26626         TConstantUnion *unionArray = new TConstantUnion[1];
26627         unionArray[0].setIConst(resources.MaxVertexAtomicCounterBuffers);
26628         static_cast<TVariable *>(m_gl_MaxVertexAtomicCounterBuffers)->shareConstPointer(unionArray);
26629     }
26630     m_gl_MaxFragmentAtomicCounterBuffers =
26631         new TVariable(BuiltInId::gl_MaxFragmentAtomicCounterBuffers,
26632                       BuiltInName::gl_MaxFragmentAtomicCounterBuffers, SymbolType::BuiltIn,
26633                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26634                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26635     {
26636         TConstantUnion *unionArray = new TConstantUnion[1];
26637         unionArray[0].setIConst(resources.MaxFragmentAtomicCounterBuffers);
26638         static_cast<TVariable *>(m_gl_MaxFragmentAtomicCounterBuffers)
26639             ->shareConstPointer(unionArray);
26640     }
26641     m_gl_MaxCombinedAtomicCounterBuffers =
26642         new TVariable(BuiltInId::gl_MaxCombinedAtomicCounterBuffers,
26643                       BuiltInName::gl_MaxCombinedAtomicCounterBuffers, SymbolType::BuiltIn,
26644                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26645                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26646     {
26647         TConstantUnion *unionArray = new TConstantUnion[1];
26648         unionArray[0].setIConst(resources.MaxCombinedAtomicCounterBuffers);
26649         static_cast<TVariable *>(m_gl_MaxCombinedAtomicCounterBuffers)
26650             ->shareConstPointer(unionArray);
26651     }
26652     m_gl_MaxAtomicCounterBufferSize = new TVariable(
26653         BuiltInId::gl_MaxAtomicCounterBufferSize, BuiltInName::gl_MaxAtomicCounterBufferSize,
26654         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26655         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26656     {
26657         TConstantUnion *unionArray = new TConstantUnion[1];
26658         unionArray[0].setIConst(resources.MaxAtomicCounterBufferSize);
26659         static_cast<TVariable *>(m_gl_MaxAtomicCounterBufferSize)->shareConstPointer(unionArray);
26660     }
26661     m_gl_MaxGeometryInputComponents =
26662         new TVariable(BuiltInId::gl_MaxGeometryInputComponents,
26663                       BuiltInName::gl_MaxGeometryInputComponents, SymbolType::BuiltIn,
26664                       std::array<TExtension, 2u>{
26665                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26666                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26667     {
26668         TConstantUnion *unionArray = new TConstantUnion[1];
26669         unionArray[0].setIConst(resources.MaxGeometryInputComponents);
26670         static_cast<TVariable *>(m_gl_MaxGeometryInputComponents)->shareConstPointer(unionArray);
26671     }
26672     m_gl_MaxGeometryInputComponentsES3_2 = new TVariable(
26673         BuiltInId::gl_MaxGeometryInputComponentsES3_2, BuiltInName::gl_MaxGeometryInputComponents,
26674         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26675         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26676     {
26677         TConstantUnion *unionArray = new TConstantUnion[1];
26678         unionArray[0].setIConst(resources.MaxGeometryInputComponents);
26679         static_cast<TVariable *>(m_gl_MaxGeometryInputComponentsES3_2)
26680             ->shareConstPointer(unionArray);
26681     }
26682     m_gl_MaxGeometryOutputComponents =
26683         new TVariable(BuiltInId::gl_MaxGeometryOutputComponents,
26684                       BuiltInName::gl_MaxGeometryOutputComponents, SymbolType::BuiltIn,
26685                       std::array<TExtension, 2u>{
26686                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26687                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26688     {
26689         TConstantUnion *unionArray = new TConstantUnion[1];
26690         unionArray[0].setIConst(resources.MaxGeometryOutputComponents);
26691         static_cast<TVariable *>(m_gl_MaxGeometryOutputComponents)->shareConstPointer(unionArray);
26692     }
26693     m_gl_MaxGeometryOutputComponentsES3_2 = new TVariable(
26694         BuiltInId::gl_MaxGeometryOutputComponentsES3_2, BuiltInName::gl_MaxGeometryOutputComponents,
26695         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26696         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26697     {
26698         TConstantUnion *unionArray = new TConstantUnion[1];
26699         unionArray[0].setIConst(resources.MaxGeometryOutputComponents);
26700         static_cast<TVariable *>(m_gl_MaxGeometryOutputComponentsES3_2)
26701             ->shareConstPointer(unionArray);
26702     }
26703     m_gl_MaxGeometryImageUniforms =
26704         new TVariable(BuiltInId::gl_MaxGeometryImageUniforms,
26705                       BuiltInName::gl_MaxGeometryImageUniforms, SymbolType::BuiltIn,
26706                       std::array<TExtension, 2u>{
26707                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26708                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26709     {
26710         TConstantUnion *unionArray = new TConstantUnion[1];
26711         unionArray[0].setIConst(resources.MaxGeometryImageUniforms);
26712         static_cast<TVariable *>(m_gl_MaxGeometryImageUniforms)->shareConstPointer(unionArray);
26713     }
26714     m_gl_MaxGeometryImageUniformsES3_2 = new TVariable(
26715         BuiltInId::gl_MaxGeometryImageUniformsES3_2, BuiltInName::gl_MaxGeometryImageUniforms,
26716         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26717         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26718     {
26719         TConstantUnion *unionArray = new TConstantUnion[1];
26720         unionArray[0].setIConst(resources.MaxGeometryImageUniforms);
26721         static_cast<TVariable *>(m_gl_MaxGeometryImageUniformsES3_2)->shareConstPointer(unionArray);
26722     }
26723     m_gl_MaxGeometryTextureImageUnits =
26724         new TVariable(BuiltInId::gl_MaxGeometryTextureImageUnits,
26725                       BuiltInName::gl_MaxGeometryTextureImageUnits, SymbolType::BuiltIn,
26726                       std::array<TExtension, 2u>{
26727                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26728                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26729     {
26730         TConstantUnion *unionArray = new TConstantUnion[1];
26731         unionArray[0].setIConst(resources.MaxGeometryTextureImageUnits);
26732         static_cast<TVariable *>(m_gl_MaxGeometryTextureImageUnits)->shareConstPointer(unionArray);
26733     }
26734     m_gl_MaxGeometryTextureImageUnitsES3_2 =
26735         new TVariable(BuiltInId::gl_MaxGeometryTextureImageUnitsES3_2,
26736                       BuiltInName::gl_MaxGeometryTextureImageUnits, SymbolType::BuiltIn,
26737                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26738                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26739     {
26740         TConstantUnion *unionArray = new TConstantUnion[1];
26741         unionArray[0].setIConst(resources.MaxGeometryTextureImageUnits);
26742         static_cast<TVariable *>(m_gl_MaxGeometryTextureImageUnitsES3_2)
26743             ->shareConstPointer(unionArray);
26744     }
26745     m_gl_MaxGeometryOutputVertices =
26746         new TVariable(BuiltInId::gl_MaxGeometryOutputVertices,
26747                       BuiltInName::gl_MaxGeometryOutputVertices, SymbolType::BuiltIn,
26748                       std::array<TExtension, 2u>{
26749                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26750                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26751     {
26752         TConstantUnion *unionArray = new TConstantUnion[1];
26753         unionArray[0].setIConst(resources.MaxGeometryOutputVertices);
26754         static_cast<TVariable *>(m_gl_MaxGeometryOutputVertices)->shareConstPointer(unionArray);
26755     }
26756     m_gl_MaxGeometryOutputVerticesES3_2 = new TVariable(
26757         BuiltInId::gl_MaxGeometryOutputVerticesES3_2, BuiltInName::gl_MaxGeometryOutputVertices,
26758         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26759         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26760     {
26761         TConstantUnion *unionArray = new TConstantUnion[1];
26762         unionArray[0].setIConst(resources.MaxGeometryOutputVertices);
26763         static_cast<TVariable *>(m_gl_MaxGeometryOutputVerticesES3_2)
26764             ->shareConstPointer(unionArray);
26765     }
26766     m_gl_MaxGeometryTotalOutputComponents =
26767         new TVariable(BuiltInId::gl_MaxGeometryTotalOutputComponents,
26768                       BuiltInName::gl_MaxGeometryTotalOutputComponents, SymbolType::BuiltIn,
26769                       std::array<TExtension, 2u>{
26770                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26771                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26772     {
26773         TConstantUnion *unionArray = new TConstantUnion[1];
26774         unionArray[0].setIConst(resources.MaxGeometryTotalOutputComponents);
26775         static_cast<TVariable *>(m_gl_MaxGeometryTotalOutputComponents)
26776             ->shareConstPointer(unionArray);
26777     }
26778     m_gl_MaxGeometryTotalOutputComponentsES3_2 =
26779         new TVariable(BuiltInId::gl_MaxGeometryTotalOutputComponentsES3_2,
26780                       BuiltInName::gl_MaxGeometryTotalOutputComponents, SymbolType::BuiltIn,
26781                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26782                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26783     {
26784         TConstantUnion *unionArray = new TConstantUnion[1];
26785         unionArray[0].setIConst(resources.MaxGeometryTotalOutputComponents);
26786         static_cast<TVariable *>(m_gl_MaxGeometryTotalOutputComponentsES3_2)
26787             ->shareConstPointer(unionArray);
26788     }
26789     m_gl_MaxGeometryUniformComponents =
26790         new TVariable(BuiltInId::gl_MaxGeometryUniformComponents,
26791                       BuiltInName::gl_MaxGeometryUniformComponents, SymbolType::BuiltIn,
26792                       std::array<TExtension, 2u>{
26793                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26794                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26795     {
26796         TConstantUnion *unionArray = new TConstantUnion[1];
26797         unionArray[0].setIConst(resources.MaxGeometryUniformComponents);
26798         static_cast<TVariable *>(m_gl_MaxGeometryUniformComponents)->shareConstPointer(unionArray);
26799     }
26800     m_gl_MaxGeometryUniformComponentsES3_2 =
26801         new TVariable(BuiltInId::gl_MaxGeometryUniformComponentsES3_2,
26802                       BuiltInName::gl_MaxGeometryUniformComponents, SymbolType::BuiltIn,
26803                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26804                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26805     {
26806         TConstantUnion *unionArray = new TConstantUnion[1];
26807         unionArray[0].setIConst(resources.MaxGeometryUniformComponents);
26808         static_cast<TVariable *>(m_gl_MaxGeometryUniformComponentsES3_2)
26809             ->shareConstPointer(unionArray);
26810     }
26811     m_gl_MaxGeometryAtomicCounters =
26812         new TVariable(BuiltInId::gl_MaxGeometryAtomicCounters,
26813                       BuiltInName::gl_MaxGeometryAtomicCounters, SymbolType::BuiltIn,
26814                       std::array<TExtension, 2u>{
26815                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26816                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26817     {
26818         TConstantUnion *unionArray = new TConstantUnion[1];
26819         unionArray[0].setIConst(resources.MaxGeometryAtomicCounters);
26820         static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounters)->shareConstPointer(unionArray);
26821     }
26822     m_gl_MaxGeometryAtomicCountersES3_2 = new TVariable(
26823         BuiltInId::gl_MaxGeometryAtomicCountersES3_2, BuiltInName::gl_MaxGeometryAtomicCounters,
26824         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26825         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26826     {
26827         TConstantUnion *unionArray = new TConstantUnion[1];
26828         unionArray[0].setIConst(resources.MaxGeometryAtomicCounters);
26829         static_cast<TVariable *>(m_gl_MaxGeometryAtomicCountersES3_2)
26830             ->shareConstPointer(unionArray);
26831     }
26832     m_gl_MaxGeometryAtomicCounterBuffers =
26833         new TVariable(BuiltInId::gl_MaxGeometryAtomicCounterBuffers,
26834                       BuiltInName::gl_MaxGeometryAtomicCounterBuffers, SymbolType::BuiltIn,
26835                       std::array<TExtension, 2u>{
26836                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
26837                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26838     {
26839         TConstantUnion *unionArray = new TConstantUnion[1];
26840         unionArray[0].setIConst(resources.MaxGeometryAtomicCounterBuffers);
26841         static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounterBuffers)
26842             ->shareConstPointer(unionArray);
26843     }
26844     m_gl_MaxGeometryAtomicCounterBuffersES3_2 =
26845         new TVariable(BuiltInId::gl_MaxGeometryAtomicCounterBuffersES3_2,
26846                       BuiltInName::gl_MaxGeometryAtomicCounterBuffers, SymbolType::BuiltIn,
26847                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26848                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26849     {
26850         TConstantUnion *unionArray = new TConstantUnion[1];
26851         unionArray[0].setIConst(resources.MaxGeometryAtomicCounterBuffers);
26852         static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounterBuffersES3_2)
26853             ->shareConstPointer(unionArray);
26854     }
26855     m_gl_MaxTessControlInputComponents =
26856         new TVariable(BuiltInId::gl_MaxTessControlInputComponents,
26857                       BuiltInName::gl_MaxTessControlInputComponents, SymbolType::BuiltIn,
26858                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26859                                                   TExtension::OES_tessellation_shader}},
26860                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26861     {
26862         TConstantUnion *unionArray = new TConstantUnion[1];
26863         unionArray[0].setIConst(resources.MaxTessControlInputComponents);
26864         static_cast<TVariable *>(m_gl_MaxTessControlInputComponents)->shareConstPointer(unionArray);
26865     }
26866     m_gl_MaxTessControlInputComponentsES3_2 =
26867         new TVariable(BuiltInId::gl_MaxTessControlInputComponentsES3_2,
26868                       BuiltInName::gl_MaxTessControlInputComponents, SymbolType::BuiltIn,
26869                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26870                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26871     {
26872         TConstantUnion *unionArray = new TConstantUnion[1];
26873         unionArray[0].setIConst(resources.MaxTessControlInputComponents);
26874         static_cast<TVariable *>(m_gl_MaxTessControlInputComponentsES3_2)
26875             ->shareConstPointer(unionArray);
26876     }
26877     m_gl_MaxTessControlOutputComponents =
26878         new TVariable(BuiltInId::gl_MaxTessControlOutputComponents,
26879                       BuiltInName::gl_MaxTessControlOutputComponents, SymbolType::BuiltIn,
26880                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26881                                                   TExtension::OES_tessellation_shader}},
26882                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26883     {
26884         TConstantUnion *unionArray = new TConstantUnion[1];
26885         unionArray[0].setIConst(resources.MaxTessControlOutputComponents);
26886         static_cast<TVariable *>(m_gl_MaxTessControlOutputComponents)
26887             ->shareConstPointer(unionArray);
26888     }
26889     m_gl_MaxTessControlOutputComponentsES3_2 =
26890         new TVariable(BuiltInId::gl_MaxTessControlOutputComponentsES3_2,
26891                       BuiltInName::gl_MaxTessControlOutputComponents, SymbolType::BuiltIn,
26892                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26893                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26894     {
26895         TConstantUnion *unionArray = new TConstantUnion[1];
26896         unionArray[0].setIConst(resources.MaxTessControlOutputComponents);
26897         static_cast<TVariable *>(m_gl_MaxTessControlOutputComponentsES3_2)
26898             ->shareConstPointer(unionArray);
26899     }
26900     m_gl_MaxTessControlTextureImageUnits =
26901         new TVariable(BuiltInId::gl_MaxTessControlTextureImageUnits,
26902                       BuiltInName::gl_MaxTessControlTextureImageUnits, SymbolType::BuiltIn,
26903                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26904                                                   TExtension::OES_tessellation_shader}},
26905                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26906     {
26907         TConstantUnion *unionArray = new TConstantUnion[1];
26908         unionArray[0].setIConst(resources.MaxTessControlTextureImageUnits);
26909         static_cast<TVariable *>(m_gl_MaxTessControlTextureImageUnits)
26910             ->shareConstPointer(unionArray);
26911     }
26912     m_gl_MaxTessControlTextureImageUnitsES3_2 =
26913         new TVariable(BuiltInId::gl_MaxTessControlTextureImageUnitsES3_2,
26914                       BuiltInName::gl_MaxTessControlTextureImageUnits, SymbolType::BuiltIn,
26915                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26916                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26917     {
26918         TConstantUnion *unionArray = new TConstantUnion[1];
26919         unionArray[0].setIConst(resources.MaxTessControlTextureImageUnits);
26920         static_cast<TVariable *>(m_gl_MaxTessControlTextureImageUnitsES3_2)
26921             ->shareConstPointer(unionArray);
26922     }
26923     m_gl_MaxTessControlUniformComponents =
26924         new TVariable(BuiltInId::gl_MaxTessControlUniformComponents,
26925                       BuiltInName::gl_MaxTessControlUniformComponents, SymbolType::BuiltIn,
26926                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26927                                                   TExtension::OES_tessellation_shader}},
26928                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26929     {
26930         TConstantUnion *unionArray = new TConstantUnion[1];
26931         unionArray[0].setIConst(resources.MaxTessControlUniformComponents);
26932         static_cast<TVariable *>(m_gl_MaxTessControlUniformComponents)
26933             ->shareConstPointer(unionArray);
26934     }
26935     m_gl_MaxTessControlUniformComponentsES3_2 =
26936         new TVariable(BuiltInId::gl_MaxTessControlUniformComponentsES3_2,
26937                       BuiltInName::gl_MaxTessControlUniformComponents, SymbolType::BuiltIn,
26938                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26939                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26940     {
26941         TConstantUnion *unionArray = new TConstantUnion[1];
26942         unionArray[0].setIConst(resources.MaxTessControlUniformComponents);
26943         static_cast<TVariable *>(m_gl_MaxTessControlUniformComponentsES3_2)
26944             ->shareConstPointer(unionArray);
26945     }
26946     m_gl_MaxTessControlTotalOutputComponents =
26947         new TVariable(BuiltInId::gl_MaxTessControlTotalOutputComponents,
26948                       BuiltInName::gl_MaxTessControlTotalOutputComponents, SymbolType::BuiltIn,
26949                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26950                                                   TExtension::OES_tessellation_shader}},
26951                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26952     {
26953         TConstantUnion *unionArray = new TConstantUnion[1];
26954         unionArray[0].setIConst(resources.MaxTessControlTotalOutputComponents);
26955         static_cast<TVariable *>(m_gl_MaxTessControlTotalOutputComponents)
26956             ->shareConstPointer(unionArray);
26957     }
26958     m_gl_MaxTessControlTotalOutputComponentsES3_2 =
26959         new TVariable(BuiltInId::gl_MaxTessControlTotalOutputComponentsES3_2,
26960                       BuiltInName::gl_MaxTessControlTotalOutputComponents, SymbolType::BuiltIn,
26961                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26962                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26963     {
26964         TConstantUnion *unionArray = new TConstantUnion[1];
26965         unionArray[0].setIConst(resources.MaxTessControlTotalOutputComponents);
26966         static_cast<TVariable *>(m_gl_MaxTessControlTotalOutputComponentsES3_2)
26967             ->shareConstPointer(unionArray);
26968     }
26969     m_gl_MaxTessControlImageUniforms =
26970         new TVariable(BuiltInId::gl_MaxTessControlImageUniforms,
26971                       BuiltInName::gl_MaxTessControlImageUniforms, SymbolType::BuiltIn,
26972                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26973                                                   TExtension::OES_tessellation_shader}},
26974                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26975     {
26976         TConstantUnion *unionArray = new TConstantUnion[1];
26977         unionArray[0].setIConst(resources.MaxTessControlImageUniforms);
26978         static_cast<TVariable *>(m_gl_MaxTessControlImageUniforms)->shareConstPointer(unionArray);
26979     }
26980     m_gl_MaxTessControlImageUniformsES3_2 = new TVariable(
26981         BuiltInId::gl_MaxTessControlImageUniformsES3_2, BuiltInName::gl_MaxTessControlImageUniforms,
26982         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
26983         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26984     {
26985         TConstantUnion *unionArray = new TConstantUnion[1];
26986         unionArray[0].setIConst(resources.MaxTessControlImageUniforms);
26987         static_cast<TVariable *>(m_gl_MaxTessControlImageUniformsES3_2)
26988             ->shareConstPointer(unionArray);
26989     }
26990     m_gl_MaxTessControlAtomicCounters =
26991         new TVariable(BuiltInId::gl_MaxTessControlAtomicCounters,
26992                       BuiltInName::gl_MaxTessControlAtomicCounters, SymbolType::BuiltIn,
26993                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
26994                                                   TExtension::OES_tessellation_shader}},
26995                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
26996     {
26997         TConstantUnion *unionArray = new TConstantUnion[1];
26998         unionArray[0].setIConst(resources.MaxTessControlAtomicCounters);
26999         static_cast<TVariable *>(m_gl_MaxTessControlAtomicCounters)->shareConstPointer(unionArray);
27000     }
27001     m_gl_MaxTessControlAtomicCountersES3_2 =
27002         new TVariable(BuiltInId::gl_MaxTessControlAtomicCountersES3_2,
27003                       BuiltInName::gl_MaxTessControlAtomicCounters, SymbolType::BuiltIn,
27004                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27005                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27006     {
27007         TConstantUnion *unionArray = new TConstantUnion[1];
27008         unionArray[0].setIConst(resources.MaxTessControlAtomicCounters);
27009         static_cast<TVariable *>(m_gl_MaxTessControlAtomicCountersES3_2)
27010             ->shareConstPointer(unionArray);
27011     }
27012     m_gl_MaxTessControlAtomicCounterBuffers =
27013         new TVariable(BuiltInId::gl_MaxTessControlAtomicCounterBuffers,
27014                       BuiltInName::gl_MaxTessControlAtomicCounterBuffers, SymbolType::BuiltIn,
27015                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27016                                                   TExtension::OES_tessellation_shader}},
27017                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27018     {
27019         TConstantUnion *unionArray = new TConstantUnion[1];
27020         unionArray[0].setIConst(resources.MaxTessControlAtomicCounterBuffers);
27021         static_cast<TVariable *>(m_gl_MaxTessControlAtomicCounterBuffers)
27022             ->shareConstPointer(unionArray);
27023     }
27024     m_gl_MaxTessControlAtomicCounterBuffersES3_2 =
27025         new TVariable(BuiltInId::gl_MaxTessControlAtomicCounterBuffersES3_2,
27026                       BuiltInName::gl_MaxTessControlAtomicCounterBuffers, SymbolType::BuiltIn,
27027                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27028                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27029     {
27030         TConstantUnion *unionArray = new TConstantUnion[1];
27031         unionArray[0].setIConst(resources.MaxTessControlAtomicCounterBuffers);
27032         static_cast<TVariable *>(m_gl_MaxTessControlAtomicCounterBuffersES3_2)
27033             ->shareConstPointer(unionArray);
27034     }
27035     m_gl_MaxTessPatchComponents =
27036         new TVariable(BuiltInId::gl_MaxTessPatchComponents, BuiltInName::gl_MaxTessPatchComponents,
27037                       SymbolType::BuiltIn,
27038                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27039                                                   TExtension::OES_tessellation_shader}},
27040                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27041     {
27042         TConstantUnion *unionArray = new TConstantUnion[1];
27043         unionArray[0].setIConst(resources.MaxTessPatchComponents);
27044         static_cast<TVariable *>(m_gl_MaxTessPatchComponents)->shareConstPointer(unionArray);
27045     }
27046     m_gl_MaxTessPatchComponentsES3_2 = new TVariable(
27047         BuiltInId::gl_MaxTessPatchComponentsES3_2, BuiltInName::gl_MaxTessPatchComponents,
27048         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27049         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27050     {
27051         TConstantUnion *unionArray = new TConstantUnion[1];
27052         unionArray[0].setIConst(resources.MaxTessPatchComponents);
27053         static_cast<TVariable *>(m_gl_MaxTessPatchComponentsES3_2)->shareConstPointer(unionArray);
27054     }
27055     m_gl_MaxPatchVertices = new TVariable(
27056         BuiltInId::gl_MaxPatchVertices, BuiltInName::gl_MaxPatchVertices, SymbolType::BuiltIn,
27057         std::array<TExtension, 2u>{
27058             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27059         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27060     {
27061         TConstantUnion *unionArray = new TConstantUnion[1];
27062         unionArray[0].setIConst(resources.MaxPatchVertices);
27063         static_cast<TVariable *>(m_gl_MaxPatchVertices)->shareConstPointer(unionArray);
27064     }
27065     m_gl_MaxPatchVerticesES3_2 =
27066         new TVariable(BuiltInId::gl_MaxPatchVerticesES3_2, BuiltInName::gl_MaxPatchVertices,
27067                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27068                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27069     {
27070         TConstantUnion *unionArray = new TConstantUnion[1];
27071         unionArray[0].setIConst(resources.MaxPatchVertices);
27072         static_cast<TVariable *>(m_gl_MaxPatchVerticesES3_2)->shareConstPointer(unionArray);
27073     }
27074     m_gl_MaxTessGenLevel = new TVariable(
27075         BuiltInId::gl_MaxTessGenLevel, BuiltInName::gl_MaxTessGenLevel, SymbolType::BuiltIn,
27076         std::array<TExtension, 2u>{
27077             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27078         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27079     {
27080         TConstantUnion *unionArray = new TConstantUnion[1];
27081         unionArray[0].setIConst(resources.MaxTessGenLevel);
27082         static_cast<TVariable *>(m_gl_MaxTessGenLevel)->shareConstPointer(unionArray);
27083     }
27084     m_gl_MaxTessGenLevelES3_2 =
27085         new TVariable(BuiltInId::gl_MaxTessGenLevelES3_2, BuiltInName::gl_MaxTessGenLevel,
27086                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27087                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27088     {
27089         TConstantUnion *unionArray = new TConstantUnion[1];
27090         unionArray[0].setIConst(resources.MaxTessGenLevel);
27091         static_cast<TVariable *>(m_gl_MaxTessGenLevelES3_2)->shareConstPointer(unionArray);
27092     }
27093     m_gl_MaxTessEvaluationInputComponents =
27094         new TVariable(BuiltInId::gl_MaxTessEvaluationInputComponents,
27095                       BuiltInName::gl_MaxTessEvaluationInputComponents, SymbolType::BuiltIn,
27096                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27097                                                   TExtension::OES_tessellation_shader}},
27098                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27099     {
27100         TConstantUnion *unionArray = new TConstantUnion[1];
27101         unionArray[0].setIConst(resources.MaxTessEvaluationInputComponents);
27102         static_cast<TVariable *>(m_gl_MaxTessEvaluationInputComponents)
27103             ->shareConstPointer(unionArray);
27104     }
27105     m_gl_MaxTessEvaluationInputComponentsES3_2 =
27106         new TVariable(BuiltInId::gl_MaxTessEvaluationInputComponentsES3_2,
27107                       BuiltInName::gl_MaxTessEvaluationInputComponents, SymbolType::BuiltIn,
27108                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27109                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27110     {
27111         TConstantUnion *unionArray = new TConstantUnion[1];
27112         unionArray[0].setIConst(resources.MaxTessEvaluationInputComponents);
27113         static_cast<TVariable *>(m_gl_MaxTessEvaluationInputComponentsES3_2)
27114             ->shareConstPointer(unionArray);
27115     }
27116     m_gl_MaxTessEvaluationOutputComponents =
27117         new TVariable(BuiltInId::gl_MaxTessEvaluationOutputComponents,
27118                       BuiltInName::gl_MaxTessEvaluationOutputComponents, SymbolType::BuiltIn,
27119                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27120                                                   TExtension::OES_tessellation_shader}},
27121                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27122     {
27123         TConstantUnion *unionArray = new TConstantUnion[1];
27124         unionArray[0].setIConst(resources.MaxTessEvaluationOutputComponents);
27125         static_cast<TVariable *>(m_gl_MaxTessEvaluationOutputComponents)
27126             ->shareConstPointer(unionArray);
27127     }
27128     m_gl_MaxTessEvaluationOutputComponentsES3_2 =
27129         new TVariable(BuiltInId::gl_MaxTessEvaluationOutputComponentsES3_2,
27130                       BuiltInName::gl_MaxTessEvaluationOutputComponents, SymbolType::BuiltIn,
27131                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27132                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27133     {
27134         TConstantUnion *unionArray = new TConstantUnion[1];
27135         unionArray[0].setIConst(resources.MaxTessEvaluationOutputComponents);
27136         static_cast<TVariable *>(m_gl_MaxTessEvaluationOutputComponentsES3_2)
27137             ->shareConstPointer(unionArray);
27138     }
27139     m_gl_MaxTessEvaluationTextureImageUnits =
27140         new TVariable(BuiltInId::gl_MaxTessEvaluationTextureImageUnits,
27141                       BuiltInName::gl_MaxTessEvaluationTextureImageUnits, SymbolType::BuiltIn,
27142                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27143                                                   TExtension::OES_tessellation_shader}},
27144                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27145     {
27146         TConstantUnion *unionArray = new TConstantUnion[1];
27147         unionArray[0].setIConst(resources.MaxTessEvaluationTextureImageUnits);
27148         static_cast<TVariable *>(m_gl_MaxTessEvaluationTextureImageUnits)
27149             ->shareConstPointer(unionArray);
27150     }
27151     m_gl_MaxTessEvaluationTextureImageUnitsES3_2 =
27152         new TVariable(BuiltInId::gl_MaxTessEvaluationTextureImageUnitsES3_2,
27153                       BuiltInName::gl_MaxTessEvaluationTextureImageUnits, SymbolType::BuiltIn,
27154                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27155                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27156     {
27157         TConstantUnion *unionArray = new TConstantUnion[1];
27158         unionArray[0].setIConst(resources.MaxTessEvaluationTextureImageUnits);
27159         static_cast<TVariable *>(m_gl_MaxTessEvaluationTextureImageUnitsES3_2)
27160             ->shareConstPointer(unionArray);
27161     }
27162     m_gl_MaxTessEvaluationUniformComponents =
27163         new TVariable(BuiltInId::gl_MaxTessEvaluationUniformComponents,
27164                       BuiltInName::gl_MaxTessEvaluationUniformComponents, SymbolType::BuiltIn,
27165                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27166                                                   TExtension::OES_tessellation_shader}},
27167                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27168     {
27169         TConstantUnion *unionArray = new TConstantUnion[1];
27170         unionArray[0].setIConst(resources.MaxTessEvaluationUniformComponents);
27171         static_cast<TVariable *>(m_gl_MaxTessEvaluationUniformComponents)
27172             ->shareConstPointer(unionArray);
27173     }
27174     m_gl_MaxTessEvaluationUniformComponentsES3_2 =
27175         new TVariable(BuiltInId::gl_MaxTessEvaluationUniformComponentsES3_2,
27176                       BuiltInName::gl_MaxTessEvaluationUniformComponents, SymbolType::BuiltIn,
27177                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27178                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27179     {
27180         TConstantUnion *unionArray = new TConstantUnion[1];
27181         unionArray[0].setIConst(resources.MaxTessEvaluationUniformComponents);
27182         static_cast<TVariable *>(m_gl_MaxTessEvaluationUniformComponentsES3_2)
27183             ->shareConstPointer(unionArray);
27184     }
27185     m_gl_MaxTessEvaluationImageUniforms =
27186         new TVariable(BuiltInId::gl_MaxTessEvaluationImageUniforms,
27187                       BuiltInName::gl_MaxTessEvaluationImageUniforms, SymbolType::BuiltIn,
27188                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27189                                                   TExtension::OES_tessellation_shader}},
27190                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27191     {
27192         TConstantUnion *unionArray = new TConstantUnion[1];
27193         unionArray[0].setIConst(resources.MaxTessEvaluationImageUniforms);
27194         static_cast<TVariable *>(m_gl_MaxTessEvaluationImageUniforms)
27195             ->shareConstPointer(unionArray);
27196     }
27197     m_gl_MaxTessEvaluationImageUniformsES3_2 =
27198         new TVariable(BuiltInId::gl_MaxTessEvaluationImageUniformsES3_2,
27199                       BuiltInName::gl_MaxTessEvaluationImageUniforms, SymbolType::BuiltIn,
27200                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27201                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27202     {
27203         TConstantUnion *unionArray = new TConstantUnion[1];
27204         unionArray[0].setIConst(resources.MaxTessEvaluationImageUniforms);
27205         static_cast<TVariable *>(m_gl_MaxTessEvaluationImageUniformsES3_2)
27206             ->shareConstPointer(unionArray);
27207     }
27208     m_gl_MaxTessEvaluationAtomicCounters =
27209         new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCounters,
27210                       BuiltInName::gl_MaxTessEvaluationAtomicCounters, SymbolType::BuiltIn,
27211                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27212                                                   TExtension::OES_tessellation_shader}},
27213                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27214     {
27215         TConstantUnion *unionArray = new TConstantUnion[1];
27216         unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounters);
27217         static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCounters)
27218             ->shareConstPointer(unionArray);
27219     }
27220     m_gl_MaxTessEvaluationAtomicCountersES3_2 =
27221         new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCountersES3_2,
27222                       BuiltInName::gl_MaxTessEvaluationAtomicCounters, SymbolType::BuiltIn,
27223                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27224                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27225     {
27226         TConstantUnion *unionArray = new TConstantUnion[1];
27227         unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounters);
27228         static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCountersES3_2)
27229             ->shareConstPointer(unionArray);
27230     }
27231     m_gl_MaxTessEvaluationAtomicCounterBuffers =
27232         new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCounterBuffers,
27233                       BuiltInName::gl_MaxTessEvaluationAtomicCounterBuffers, SymbolType::BuiltIn,
27234                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27235                                                   TExtension::OES_tessellation_shader}},
27236                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27237     {
27238         TConstantUnion *unionArray = new TConstantUnion[1];
27239         unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounterBuffers);
27240         static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCounterBuffers)
27241             ->shareConstPointer(unionArray);
27242     }
27243     m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2 =
27244         new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCounterBuffersES3_2,
27245                       BuiltInName::gl_MaxTessEvaluationAtomicCounterBuffers, SymbolType::BuiltIn,
27246                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27247                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27248     {
27249         TConstantUnion *unionArray = new TConstantUnion[1];
27250         unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounterBuffers);
27251         static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2)
27252             ->shareConstPointer(unionArray);
27253     }
27254     m_gl_MaxSamples =
27255         new TVariable(BuiltInId::gl_MaxSamples, BuiltInName::gl_MaxSamples, SymbolType::BuiltIn,
27256                       std::array<TExtension, 1u>{{TExtension::OES_sample_variables}},
27257                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27258     {
27259         TConstantUnion *unionArray = new TConstantUnion[1];
27260         unionArray[0].setIConst(resources.MaxSamples);
27261         static_cast<TVariable *>(m_gl_MaxSamples)->shareConstPointer(unionArray);
27262     }
27263     m_gl_MaxSamplesES3_2 =
27264         new TVariable(BuiltInId::gl_MaxSamplesES3_2, BuiltInName::gl_MaxSamples,
27265                       SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}},
27266                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27267     {
27268         TConstantUnion *unionArray = new TConstantUnion[1];
27269         unionArray[0].setIConst(resources.MaxSamples);
27270         static_cast<TVariable *>(m_gl_MaxSamplesES3_2)->shareConstPointer(unionArray);
27271     }
27272     m_gl_MaxClipDistancesAPPLE = new TVariable(
27273         BuiltInId::gl_MaxClipDistancesAPPLE, BuiltInName::gl_MaxClipDistances, SymbolType::BuiltIn,
27274         std::array<TExtension, 1u>{{TExtension::APPLE_clip_distance}},
27275         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27276     {
27277         TConstantUnion *unionArray = new TConstantUnion[1];
27278         unionArray[0].setIConst(resources.MaxClipDistances);
27279         static_cast<TVariable *>(m_gl_MaxClipDistancesAPPLE)->shareConstPointer(unionArray);
27280     }
27281     m_gl_MaxClipDistances = new TVariable(
27282         BuiltInId::gl_MaxClipDistances, BuiltInName::gl_MaxClipDistances, SymbolType::BuiltIn,
27283         std::array<TExtension, 2u>{
27284             {TExtension::EXT_clip_cull_distance, TExtension::ANGLE_clip_cull_distance}},
27285         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27286     {
27287         TConstantUnion *unionArray = new TConstantUnion[1];
27288         unionArray[0].setIConst(resources.MaxClipDistances);
27289         static_cast<TVariable *>(m_gl_MaxClipDistances)->shareConstPointer(unionArray);
27290     }
27291     m_gl_MaxCullDistances = new TVariable(
27292         BuiltInId::gl_MaxCullDistances, BuiltInName::gl_MaxCullDistances, SymbolType::BuiltIn,
27293         std::array<TExtension, 2u>{
27294             {TExtension::EXT_clip_cull_distance, TExtension::ANGLE_clip_cull_distance}},
27295         StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27296     {
27297         TConstantUnion *unionArray = new TConstantUnion[1];
27298         unionArray[0].setIConst(resources.MaxCullDistances);
27299         static_cast<TVariable *>(m_gl_MaxCullDistances)->shareConstPointer(unionArray);
27300     }
27301     m_gl_MaxCombinedClipAndCullDistances =
27302         new TVariable(BuiltInId::gl_MaxCombinedClipAndCullDistances,
27303                       BuiltInName::gl_MaxCombinedClipAndCullDistances, SymbolType::BuiltIn,
27304                       std::array<TExtension, 2u>{{TExtension::EXT_clip_cull_distance,
27305                                                   TExtension::ANGLE_clip_cull_distance}},
27306                       StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
27307     {
27308         TConstantUnion *unionArray = new TConstantUnion[1];
27309         unionArray[0].setIConst(resources.MaxCombinedClipAndCullDistances);
27310         static_cast<TVariable *>(m_gl_MaxCombinedClipAndCullDistances)
27311             ->shareConstPointer(unionArray);
27312     }
27313     TType *type_gl_FragData = new TType(EbtFloat, EbpMedium, EvqFragData, 4);
27314     if (spec != SH_WEBGL2_SPEC && spec != SH_WEBGL3_SPEC)
27315     {
27316         type_gl_FragData->makeArray(resources.MaxDrawBuffers);
27317     }
27318     else
27319     {
27320         type_gl_FragData->makeArray(1u);
27321     }
27322     type_gl_FragData->realize();
27323     m_gl_FragData =
27324         new TVariable(BuiltInId::gl_FragData, BuiltInName::gl_FragData, SymbolType::BuiltIn,
27325                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_FragData);
27326     TType *type_gl_SecondaryFragDataEXT =
27327         new TType(EbtFloat, EbpMedium, EvqSecondaryFragDataEXT, 4, 1);
27328     type_gl_SecondaryFragDataEXT->makeArray(resources.MaxDualSourceDrawBuffers);
27329     type_gl_SecondaryFragDataEXT->realize();
27330     m_gl_SecondaryFragDataEXT = new TVariable(
27331         BuiltInId::gl_SecondaryFragDataEXT, BuiltInName::gl_SecondaryFragDataEXT,
27332         SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_blend_func_extended}},
27333         type_gl_SecondaryFragDataEXT);
27334     TType *type_gl_FragDepthEXT =
27335         new TType(EbtFloat, resources.FragmentPrecisionHigh ? EbpHigh : EbpMedium, EvqFragDepth, 1);
27336     type_gl_FragDepthEXT->realize();
27337     m_gl_FragDepthEXT = new TVariable(
27338         BuiltInId::gl_FragDepthEXT, BuiltInName::gl_FragDepthEXT, SymbolType::BuiltIn,
27339         std::array<TExtension, 1u>{{TExtension::EXT_frag_depth}}, type_gl_FragDepthEXT);
27340     TType *type_gl_LastFragData = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1);
27341     type_gl_LastFragData->makeArray(resources.MaxDrawBuffers);
27342     type_gl_LastFragData->realize();
27343     m_gl_LastFragData = new TVariable(
27344         BuiltInId::gl_LastFragData, BuiltInName::gl_LastFragData, SymbolType::BuiltIn,
27345         std::array<TExtension, 2u>{{TExtension::EXT_shader_framebuffer_fetch,
27346                                     TExtension::EXT_shader_framebuffer_fetch_non_coherent}},
27347         type_gl_LastFragData);
27348     TType *type_gl_LastFragDataNV = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1);
27349     type_gl_LastFragDataNV->makeArray(resources.MaxDrawBuffers);
27350     type_gl_LastFragDataNV->realize();
27351     m_gl_LastFragDataNV = new TVariable(
27352         BuiltInId::gl_LastFragDataNV, BuiltInName::gl_LastFragData, SymbolType::BuiltIn,
27353         std::array<TExtension, 1u>{{TExtension::NV_shader_framebuffer_fetch}},
27354         type_gl_LastFragDataNV);
27355     TType *type_gl_SampleMaskIn = new TType(EbtInt, EbpHigh, EvqSampleMaskIn, 1);
27356     type_gl_SampleMaskIn->makeArray((resources.MaxSamples + 31) / 32);
27357     type_gl_SampleMaskIn->realize();
27358     m_gl_SampleMaskIn = new TVariable(
27359         BuiltInId::gl_SampleMaskIn, BuiltInName::gl_SampleMaskIn, SymbolType::BuiltIn,
27360         std::array<TExtension, 1u>{{TExtension::OES_sample_variables}}, type_gl_SampleMaskIn);
27361     TType *type_gl_SampleMaskInES3_2 = new TType(EbtInt, EbpHigh, EvqSampleMaskIn, 1);
27362     type_gl_SampleMaskInES3_2->makeArray((resources.MaxSamples + 31) / 32);
27363     type_gl_SampleMaskInES3_2->realize();
27364     m_gl_SampleMaskInES3_2 = new TVariable(
27365         BuiltInId::gl_SampleMaskInES3_2, BuiltInName::gl_SampleMaskIn, SymbolType::BuiltIn,
27366         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_SampleMaskInES3_2);
27367     TType *type_gl_SampleMask = new TType(EbtInt, EbpHigh, EvqSampleMask, 1);
27368     type_gl_SampleMask->makeArray((resources.MaxSamples + 31) / 32);
27369     type_gl_SampleMask->realize();
27370     m_gl_SampleMask = new TVariable(
27371         BuiltInId::gl_SampleMask, BuiltInName::gl_SampleMask, SymbolType::BuiltIn,
27372         std::array<TExtension, 1u>{{TExtension::OES_sample_variables}}, type_gl_SampleMask);
27373     TType *type_gl_SampleMaskES3_2 = new TType(EbtInt, EbpHigh, EvqSampleMask, 1);
27374     type_gl_SampleMaskES3_2->makeArray((resources.MaxSamples + 31) / 32);
27375     type_gl_SampleMaskES3_2->realize();
27376     m_gl_SampleMaskES3_2 = new TVariable(
27377         BuiltInId::gl_SampleMaskES3_2, BuiltInName::gl_SampleMask, SymbolType::BuiltIn,
27378         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_SampleMaskES3_2);
27379     TType *type_gl_ClipDistanceAPPLE = new TType(EbtFloat, EbpHigh, EvqClipDistance, 1);
27380     type_gl_ClipDistanceAPPLE->makeArray(resources.MaxClipDistances);
27381     type_gl_ClipDistanceAPPLE->realize();
27382     m_gl_ClipDistanceAPPLE = new TVariable(
27383         BuiltInId::gl_ClipDistanceAPPLE, BuiltInName::gl_ClipDistance, SymbolType::BuiltIn,
27384         std::array<TExtension, 1u>{{TExtension::APPLE_clip_distance}}, type_gl_ClipDistanceAPPLE);
27385     TFieldList *fields_gl_PerVertex = new TFieldList();
27386     fields_gl_PerVertex->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1),
27387                                               BuiltInName::gl_Position, zeroSourceLoc,
27388                                               SymbolType::BuiltIn));
27389     TInterfaceBlock *gl_PerVertex =
27390         new TInterfaceBlock(BuiltInId::gl_PerVertex, BuiltInName::gl_PerVertex,
27391                             std::array<TExtension, 2u>{
27392                                 {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
27393                             fields_gl_PerVertex);
27394     m_gl_PerVertex                       = gl_PerVertex;
27395     TFieldList *fields_gl_PerVertexES3_2 = new TFieldList();
27396     fields_gl_PerVertexES3_2->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1),
27397                                                    BuiltInName::gl_Position, zeroSourceLoc,
27398                                                    SymbolType::BuiltIn));
27399     TInterfaceBlock *gl_PerVertexES3_2 = new TInterfaceBlock(
27400         BuiltInId::gl_PerVertexES3_2, BuiltInName::gl_PerVertex,
27401         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexES3_2);
27402     m_gl_PerVertexES3_2 = gl_PerVertexES3_2;
27403     TType *type_gl_in   = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
27404     type_gl_in->makeArray(0u);
27405     type_gl_in->realize();
27406     m_gl_in = new TVariable(BuiltInId::gl_in, BuiltInName::gl_in, SymbolType::BuiltIn,
27407                             std::array<TExtension, 2u>{
27408                                 {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
27409                             type_gl_in);
27410     TType *type_gl_inES3_2 = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
27411     type_gl_inES3_2->makeArray(0u);
27412     type_gl_inES3_2->realize();
27413     m_gl_inES3_2 =
27414         new TVariable(BuiltInId::gl_inES3_2, BuiltInName::gl_in, SymbolType::BuiltIn,
27415                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_inES3_2);
27416     TFieldList *fields_gl_PerVertexOutBlock = new TFieldList();
27417     fields_gl_PerVertexOutBlock->push_back(
27418         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27419                    zeroSourceLoc, SymbolType::BuiltIn));
27420     TInterfaceBlock *gl_PerVertexOutBlock =
27421         new TInterfaceBlock(BuiltInId::gl_PerVertexOutBlock, BuiltInName::gl_PerVertex,
27422                             std::array<TExtension, 2u>{
27423                                 {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
27424                             fields_gl_PerVertexOutBlock);
27425     TFieldList *fields_gl_PerVertexOutBlockES3_2 = new TFieldList();
27426     fields_gl_PerVertexOutBlockES3_2->push_back(
27427         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27428                    zeroSourceLoc, SymbolType::BuiltIn));
27429     TInterfaceBlock *gl_PerVertexOutBlockES3_2 = new TInterfaceBlock(
27430         BuiltInId::gl_PerVertexOutBlockES3_2, BuiltInName::gl_PerVertex,
27431         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexOutBlockES3_2);
27432     TType *type_gl_PositionGS = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
27433     type_gl_PositionGS->setInterfaceBlock(gl_PerVertexOutBlock);
27434     type_gl_PositionGS->realize();
27435     m_gl_PositionGS =
27436         new TVariable(BuiltInId::gl_PositionGS, BuiltInName::gl_Position, SymbolType::BuiltIn,
27437                       std::array<TExtension, 2u>{
27438                           {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}},
27439                       type_gl_PositionGS);
27440     TType *type_gl_PositionGSES3_2 = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
27441     type_gl_PositionGSES3_2->setInterfaceBlock(gl_PerVertexOutBlockES3_2);
27442     type_gl_PositionGSES3_2->realize();
27443     m_gl_PositionGSES3_2 =
27444         new TVariable(BuiltInId::gl_PositionGSES3_2, BuiltInName::gl_Position, SymbolType::BuiltIn,
27445                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_PositionGSES3_2);
27446     TType *type_gl_TessLevelOuterTCS = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1);
27447     type_gl_TessLevelOuterTCS->makeArray(4u);
27448     type_gl_TessLevelOuterTCS->realize();
27449     m_gl_TessLevelOuterTCS = new TVariable(
27450         BuiltInId::gl_TessLevelOuterTCS, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn,
27451         std::array<TExtension, 2u>{
27452             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27453         type_gl_TessLevelOuterTCS);
27454     TType *type_gl_TessLevelOuterTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1);
27455     type_gl_TessLevelOuterTCSES3_2->makeArray(4u);
27456     type_gl_TessLevelOuterTCSES3_2->realize();
27457     m_gl_TessLevelOuterTCSES3_2 = new TVariable(
27458         BuiltInId::gl_TessLevelOuterTCSES3_2, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn,
27459         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelOuterTCSES3_2);
27460     TType *type_gl_TessLevelInnerTCS = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1);
27461     type_gl_TessLevelInnerTCS->makeArray(2u);
27462     type_gl_TessLevelInnerTCS->realize();
27463     m_gl_TessLevelInnerTCS = new TVariable(
27464         BuiltInId::gl_TessLevelInnerTCS, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn,
27465         std::array<TExtension, 2u>{
27466             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27467         type_gl_TessLevelInnerTCS);
27468     TType *type_gl_TessLevelInnerTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1);
27469     type_gl_TessLevelInnerTCSES3_2->makeArray(2u);
27470     type_gl_TessLevelInnerTCSES3_2->realize();
27471     m_gl_TessLevelInnerTCSES3_2 = new TVariable(
27472         BuiltInId::gl_TessLevelInnerTCSES3_2, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn,
27473         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelInnerTCSES3_2);
27474     TFieldList *fields_gl_PerVertexTCS = new TFieldList();
27475     fields_gl_PerVertexTCS->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1),
27476                                                  BuiltInName::gl_Position, zeroSourceLoc,
27477                                                  SymbolType::BuiltIn));
27478     TInterfaceBlock *gl_PerVertexTCS =
27479         new TInterfaceBlock(BuiltInId::gl_PerVertexTCS, BuiltInName::gl_PerVertex,
27480                             std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27481                                                         TExtension::OES_tessellation_shader}},
27482                             fields_gl_PerVertexTCS);
27483     m_gl_PerVertexTCS                       = gl_PerVertexTCS;
27484     TFieldList *fields_gl_PerVertexTCSES3_2 = new TFieldList();
27485     fields_gl_PerVertexTCSES3_2->push_back(
27486         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27487                    zeroSourceLoc, SymbolType::BuiltIn));
27488     TInterfaceBlock *gl_PerVertexTCSES3_2 = new TInterfaceBlock(
27489         BuiltInId::gl_PerVertexTCSES3_2, BuiltInName::gl_PerVertex,
27490         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexTCSES3_2);
27491     m_gl_PerVertexTCSES3_2 = gl_PerVertexTCSES3_2;
27492     TType *type_gl_inTCS   = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
27493     type_gl_inTCS->makeArray(resources.MaxPatchVertices);
27494     type_gl_inTCS->realize();
27495     m_gl_inTCS = new TVariable(BuiltInId::gl_inTCS, BuiltInName::gl_in, SymbolType::BuiltIn,
27496                                std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27497                                                            TExtension::OES_tessellation_shader}},
27498                                type_gl_inTCS);
27499     TType *type_gl_inTCSES3_2 = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
27500     type_gl_inTCSES3_2->makeArray(resources.MaxPatchVertices);
27501     type_gl_inTCSES3_2->realize();
27502     m_gl_inTCSES3_2 =
27503         new TVariable(BuiltInId::gl_inTCSES3_2, BuiltInName::gl_in, SymbolType::BuiltIn,
27504                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_inTCSES3_2);
27505     TType *type_gl_outTCS = new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create());
27506     type_gl_outTCS->makeArray(resources.MaxPatchVertices);
27507     type_gl_outTCS->realize();
27508     m_gl_outTCS = new TVariable(BuiltInId::gl_outTCS, BuiltInName::gl_out, SymbolType::BuiltIn,
27509                                 std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27510                                                             TExtension::OES_tessellation_shader}},
27511                                 type_gl_outTCS);
27512     TType *type_gl_outTCSES3_2 =
27513         new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create());
27514     type_gl_outTCSES3_2->makeArray(resources.MaxPatchVertices);
27515     type_gl_outTCSES3_2->realize();
27516     m_gl_outTCSES3_2 =
27517         new TVariable(BuiltInId::gl_outTCSES3_2, BuiltInName::gl_out, SymbolType::BuiltIn,
27518                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_outTCSES3_2);
27519     TType *type_gl_BoundingBoxTCS = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4);
27520     type_gl_BoundingBoxTCS->makeArray(2u);
27521     type_gl_BoundingBoxTCS->realize();
27522     m_gl_BoundingBoxTCS = new TVariable(
27523         BuiltInId::gl_BoundingBoxTCS, BuiltInName::gl_BoundingBox, SymbolType::BuiltIn,
27524         std::array<TExtension, 2u>{
27525             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27526         type_gl_BoundingBoxTCS);
27527     TType *type_gl_BoundingBoxTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4);
27528     type_gl_BoundingBoxTCSES3_2->makeArray(2u);
27529     type_gl_BoundingBoxTCSES3_2->realize();
27530     m_gl_BoundingBoxTCSES3_2 = new TVariable(
27531         BuiltInId::gl_BoundingBoxTCSES3_2, BuiltInName::gl_BoundingBox, SymbolType::BuiltIn,
27532         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_BoundingBoxTCSES3_2);
27533     TFieldList *fields_gl_PerVertexOutTcsBlock = new TFieldList();
27534     fields_gl_PerVertexOutTcsBlock->push_back(
27535         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27536                    zeroSourceLoc, SymbolType::BuiltIn));
27537     TInterfaceBlock *gl_PerVertexOutTcsBlock =
27538         new TInterfaceBlock(BuiltInId::gl_PerVertexOutTcsBlock, BuiltInName::gl_PerVertex,
27539                             std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27540                                                         TExtension::OES_tessellation_shader}},
27541                             fields_gl_PerVertexOutTcsBlock);
27542     TFieldList *fields_gl_PerVertexOutTcsBlockES3_2 = new TFieldList();
27543     fields_gl_PerVertexOutTcsBlockES3_2->push_back(
27544         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27545                    zeroSourceLoc, SymbolType::BuiltIn));
27546     TInterfaceBlock *gl_PerVertexOutTcsBlockES3_2 = new TInterfaceBlock(
27547         BuiltInId::gl_PerVertexOutTcsBlockES3_2, BuiltInName::gl_PerVertex,
27548         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexOutTcsBlockES3_2);
27549     TType *type_gl_PositionTCS = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
27550     type_gl_PositionTCS->setInterfaceBlock(gl_PerVertexOutTcsBlock);
27551     type_gl_PositionTCS->realize();
27552     m_gl_PositionTCS =
27553         new TVariable(BuiltInId::gl_PositionTCS, BuiltInName::gl_Position, SymbolType::BuiltIn,
27554                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27555                                                   TExtension::OES_tessellation_shader}},
27556                       type_gl_PositionTCS);
27557     TType *type_gl_PositionTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
27558     type_gl_PositionTCSES3_2->setInterfaceBlock(gl_PerVertexOutTcsBlockES3_2);
27559     type_gl_PositionTCSES3_2->realize();
27560     m_gl_PositionTCSES3_2 = new TVariable(
27561         BuiltInId::gl_PositionTCSES3_2, BuiltInName::gl_Position, SymbolType::BuiltIn,
27562         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_PositionTCSES3_2);
27563     TType *type_gl_BoundingBoxEXTTCS = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4);
27564     type_gl_BoundingBoxEXTTCS->makeArray(2u);
27565     type_gl_BoundingBoxEXTTCS->realize();
27566     m_gl_BoundingBoxEXTTCS = new TVariable(
27567         BuiltInId::gl_BoundingBoxEXTTCS, BuiltInName::gl_BoundingBoxEXT, SymbolType::BuiltIn,
27568         std::array<TExtension, 2u>{
27569             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27570         type_gl_BoundingBoxEXTTCS);
27571     TType *type_gl_BoundingBoxEXTTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4);
27572     type_gl_BoundingBoxEXTTCSES3_2->makeArray(2u);
27573     type_gl_BoundingBoxEXTTCSES3_2->realize();
27574     m_gl_BoundingBoxEXTTCSES3_2 = new TVariable(
27575         BuiltInId::gl_BoundingBoxEXTTCSES3_2, BuiltInName::gl_BoundingBoxEXT, SymbolType::BuiltIn,
27576         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_BoundingBoxEXTTCSES3_2);
27577     TType *type_gl_BoundingBoxOESTCS = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4);
27578     type_gl_BoundingBoxOESTCS->makeArray(2u);
27579     type_gl_BoundingBoxOESTCS->realize();
27580     m_gl_BoundingBoxOESTCS = new TVariable(
27581         BuiltInId::gl_BoundingBoxOESTCS, BuiltInName::gl_BoundingBoxOES, SymbolType::BuiltIn,
27582         std::array<TExtension, 2u>{
27583             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27584         type_gl_BoundingBoxOESTCS);
27585     TType *type_gl_BoundingBoxOESTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4);
27586     type_gl_BoundingBoxOESTCSES3_2->makeArray(2u);
27587     type_gl_BoundingBoxOESTCSES3_2->realize();
27588     m_gl_BoundingBoxOESTCSES3_2 = new TVariable(
27589         BuiltInId::gl_BoundingBoxOESTCSES3_2, BuiltInName::gl_BoundingBoxOES, SymbolType::BuiltIn,
27590         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_BoundingBoxOESTCSES3_2);
27591     TType *type_gl_TessLevelOuterTES = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1);
27592     type_gl_TessLevelOuterTES->makeArray(4u);
27593     type_gl_TessLevelOuterTES->realize();
27594     m_gl_TessLevelOuterTES = new TVariable(
27595         BuiltInId::gl_TessLevelOuterTES, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn,
27596         std::array<TExtension, 2u>{
27597             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27598         type_gl_TessLevelOuterTES);
27599     TType *type_gl_TessLevelOuterTESES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1);
27600     type_gl_TessLevelOuterTESES3_2->makeArray(4u);
27601     type_gl_TessLevelOuterTESES3_2->realize();
27602     m_gl_TessLevelOuterTESES3_2 = new TVariable(
27603         BuiltInId::gl_TessLevelOuterTESES3_2, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn,
27604         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelOuterTESES3_2);
27605     TType *type_gl_TessLevelInnerTES = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1);
27606     type_gl_TessLevelInnerTES->makeArray(2u);
27607     type_gl_TessLevelInnerTES->realize();
27608     m_gl_TessLevelInnerTES = new TVariable(
27609         BuiltInId::gl_TessLevelInnerTES, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn,
27610         std::array<TExtension, 2u>{
27611             {TExtension::EXT_tessellation_shader, TExtension::OES_tessellation_shader}},
27612         type_gl_TessLevelInnerTES);
27613     TType *type_gl_TessLevelInnerTESES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1);
27614     type_gl_TessLevelInnerTESES3_2->makeArray(2u);
27615     type_gl_TessLevelInnerTESES3_2->realize();
27616     m_gl_TessLevelInnerTESES3_2 = new TVariable(
27617         BuiltInId::gl_TessLevelInnerTESES3_2, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn,
27618         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelInnerTESES3_2);
27619     TFieldList *fields_gl_PerVertexTES = new TFieldList();
27620     fields_gl_PerVertexTES->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1),
27621                                                  BuiltInName::gl_Position, zeroSourceLoc,
27622                                                  SymbolType::BuiltIn));
27623     TInterfaceBlock *gl_PerVertexTES =
27624         new TInterfaceBlock(BuiltInId::gl_PerVertexTES, BuiltInName::gl_PerVertex,
27625                             std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27626                                                         TExtension::OES_tessellation_shader}},
27627                             fields_gl_PerVertexTES);
27628     m_gl_PerVertexTES                       = gl_PerVertexTES;
27629     TFieldList *fields_gl_PerVertexTESES3_2 = new TFieldList();
27630     fields_gl_PerVertexTESES3_2->push_back(
27631         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27632                    zeroSourceLoc, SymbolType::BuiltIn));
27633     TInterfaceBlock *gl_PerVertexTESES3_2 = new TInterfaceBlock(
27634         BuiltInId::gl_PerVertexTESES3_2, BuiltInName::gl_PerVertex,
27635         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexTESES3_2);
27636     m_gl_PerVertexTESES3_2 = gl_PerVertexTESES3_2;
27637     TType *type_gl_inTES   = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
27638     type_gl_inTES->makeArray(resources.MaxPatchVertices);
27639     type_gl_inTES->realize();
27640     m_gl_inTES = new TVariable(BuiltInId::gl_inTES, BuiltInName::gl_in, SymbolType::BuiltIn,
27641                                std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27642                                                            TExtension::OES_tessellation_shader}},
27643                                type_gl_inTES);
27644     TType *type_gl_inTESES3_2 = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
27645     type_gl_inTESES3_2->makeArray(resources.MaxPatchVertices);
27646     type_gl_inTESES3_2->realize();
27647     m_gl_inTESES3_2 =
27648         new TVariable(BuiltInId::gl_inTESES3_2, BuiltInName::gl_in, SymbolType::BuiltIn,
27649                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_inTESES3_2);
27650     TType *type_gl_outTES = new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create());
27651     type_gl_outTES->makeArray(resources.MaxPatchVertices);
27652     type_gl_outTES->realize();
27653     m_gl_outTES = new TVariable(BuiltInId::gl_outTES, BuiltInName::gl_out, SymbolType::BuiltIn,
27654                                 std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27655                                                             TExtension::OES_tessellation_shader}},
27656                                 type_gl_outTES);
27657     TType *type_gl_outTESES3_2 =
27658         new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create());
27659     type_gl_outTESES3_2->makeArray(resources.MaxPatchVertices);
27660     type_gl_outTESES3_2->realize();
27661     m_gl_outTESES3_2 =
27662         new TVariable(BuiltInId::gl_outTESES3_2, BuiltInName::gl_out, SymbolType::BuiltIn,
27663                       std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_outTESES3_2);
27664     TFieldList *fields_gl_PerVertexOutTesBlock = new TFieldList();
27665     fields_gl_PerVertexOutTesBlock->push_back(
27666         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27667                    zeroSourceLoc, SymbolType::BuiltIn));
27668     TInterfaceBlock *gl_PerVertexOutTesBlock =
27669         new TInterfaceBlock(BuiltInId::gl_PerVertexOutTesBlock, BuiltInName::gl_PerVertex,
27670                             std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27671                                                         TExtension::OES_tessellation_shader}},
27672                             fields_gl_PerVertexOutTesBlock);
27673     TFieldList *fields_gl_PerVertexOutTesBlockES3_2 = new TFieldList();
27674     fields_gl_PerVertexOutTesBlockES3_2->push_back(
27675         new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
27676                    zeroSourceLoc, SymbolType::BuiltIn));
27677     TInterfaceBlock *gl_PerVertexOutTesBlockES3_2 = new TInterfaceBlock(
27678         BuiltInId::gl_PerVertexOutTesBlockES3_2, BuiltInName::gl_PerVertex,
27679         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexOutTesBlockES3_2);
27680     TType *type_gl_PositionTES = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
27681     type_gl_PositionTES->setInterfaceBlock(gl_PerVertexOutTesBlock);
27682     type_gl_PositionTES->realize();
27683     m_gl_PositionTES =
27684         new TVariable(BuiltInId::gl_PositionTES, BuiltInName::gl_Position, SymbolType::BuiltIn,
27685                       std::array<TExtension, 2u>{{TExtension::EXT_tessellation_shader,
27686                                                   TExtension::OES_tessellation_shader}},
27687                       type_gl_PositionTES);
27688     TType *type_gl_PositionTESES3_2 = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
27689     type_gl_PositionTESES3_2->setInterfaceBlock(gl_PerVertexOutTesBlockES3_2);
27690     type_gl_PositionTESES3_2->realize();
27691     m_gl_PositionTESES3_2 = new TVariable(
27692         BuiltInId::gl_PositionTESES3_2, BuiltInName::gl_Position, SymbolType::BuiltIn,
27693         std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_PositionTESES3_2);
27694     TType *type_gl_ClipDistance = new TType(EbtFloat, EbpHigh, EvqClipDistance, 1);
27695     type_gl_ClipDistance->makeArray(resources.MaxClipDistances);
27696     type_gl_ClipDistance->realize();
27697     m_gl_ClipDistance =
27698         new TVariable(BuiltInId::gl_ClipDistance, BuiltInName::gl_ClipDistance, SymbolType::BuiltIn,
27699                       std::array<TExtension, 2u>{{TExtension::EXT_clip_cull_distance,
27700                                                   TExtension::ANGLE_clip_cull_distance}},
27701                       type_gl_ClipDistance);
27702     TType *type_gl_CullDistance = new TType(EbtFloat, EbpHigh, EvqCullDistance, 1);
27703     type_gl_CullDistance->makeArray(resources.MaxCullDistances);
27704     type_gl_CullDistance->realize();
27705     m_gl_CullDistance =
27706         new TVariable(BuiltInId::gl_CullDistance, BuiltInName::gl_CullDistance, SymbolType::BuiltIn,
27707                       std::array<TExtension, 2u>{{TExtension::EXT_clip_cull_distance,
27708                                                   TExtension::ANGLE_clip_cull_distance}},
27709                       type_gl_CullDistance);
27710 }
27711 
27712 namespace
27713 {
GetNextRuleIndex(uint32_t nameHash)27714 uint16_t GetNextRuleIndex(uint32_t nameHash)
27715 {
27716     if (nameHash == 1578 - 1)
27717         return ArraySize(BuiltInArray::kRules);
27718     return BuiltInArray::kMangledOffsets[nameHash + 1];
27719 }
27720 }  // namespace
27721 
findBuiltIn(const ImmutableString & name,int shaderVersion) const27722 const TSymbol *TSymbolTable::findBuiltIn(const ImmutableString &name, int shaderVersion) const
27723 {
27724     if (name.length() > 40)
27725         return nullptr;
27726 
27727     uint32_t nameHash = name.mangledNameHash();
27728     if (nameHash >= 1578)
27729         return nullptr;
27730 
27731     const char *actualName = BuiltInArray::kMangledNames[nameHash];
27732     if (name != actualName)
27733         return nullptr;
27734 
27735     uint16_t startIndex = BuiltInArray::kMangledOffsets[nameHash];
27736     uint16_t nextIndex  = GetNextRuleIndex(nameHash);
27737 
27738     return FindMangledBuiltIn(mShaderSpec, shaderVersion, mShaderType, mResources, *this,
27739                               BuiltInArray::kRules, startIndex, nextIndex);
27740 }
27741 
isUnmangledBuiltInName(const ImmutableString & name,int shaderVersion,const TExtensionBehavior & extensions) const27742 bool TSymbolTable::isUnmangledBuiltInName(const ImmutableString &name,
27743                                           int shaderVersion,
27744                                           const TExtensionBehavior &extensions) const
27745 {
27746     if (name.length() > 32)
27747         return false;
27748 
27749     uint32_t nameHash = name.unmangledNameHash();
27750     if (nameHash >= 179)
27751         return false;
27752 
27753     return BuiltInArray::unmangled[nameHash].matches(name, mShaderSpec, shaderVersion, mShaderType,
27754                                                      extensions);
27755 }
27756 
27757 }  // namespace sh
27758