diff options
Diffstat (limited to 'gfx/angle/checkout/src/compiler/translator/SymbolTable_ESSL_autogen.cpp')
-rw-r--r-- | gfx/angle/checkout/src/compiler/translator/SymbolTable_ESSL_autogen.cpp | 30071 |
1 files changed, 30071 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/compiler/translator/SymbolTable_ESSL_autogen.cpp b/gfx/angle/checkout/src/compiler/translator/SymbolTable_ESSL_autogen.cpp new file mode 100644 index 0000000000..483e9b4748 --- /dev/null +++ b/gfx/angle/checkout/src/compiler/translator/SymbolTable_ESSL_autogen.cpp @@ -0,0 +1,30071 @@ +// GENERATED FILE - DO NOT EDIT. +// Generated by gen_builtin_symbols.py using data from builtin_variables.json and +// builtin_function_declarations.txt. +// +// Copyright 2020 The ANGLE Project Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +// +// SymbolTable_ESSL_autogen.cpp: +// Compile-time initialized built-ins. + +#include <cmath> + +#include "compiler/translator/SymbolTable.h" + +#include "angle_gl.h" +#include "compiler/translator/ImmutableString.h" +#include "compiler/translator/StaticType.h" +#include "compiler/translator/Symbol.h" +#include "compiler/translator/SymbolTable.h" +#include "compiler/translator/tree_util/BuiltIn.h" + +namespace sh +{ +using Resources = ShBuiltInResources; +using TableBase = TSymbolTableBase; + +const int TSymbolTable::kLastBuiltInId = 5603; + +namespace BuiltInName +{ + +constexpr const ImmutableString _empty(""); +constexpr const ImmutableString EmitVertex("EmitVertex"); +constexpr const ImmutableString EmitVertexES3_2("EmitVertex"); +constexpr const ImmutableString EndPrimitive("EndPrimitive"); +constexpr const ImmutableString EndPrimitiveES3_2("EndPrimitive"); +constexpr const ImmutableString abs("abs"); +constexpr const ImmutableString acos("acos"); +constexpr const ImmutableString acosh("acosh"); +constexpr const ImmutableString all("all"); +constexpr const ImmutableString angle_BaseInstance("angle_BaseInstance"); +constexpr const ImmutableString angle_BaseVertex("angle_BaseVertex"); +constexpr const ImmutableString any("any"); +constexpr const ImmutableString asin("asin"); +constexpr const ImmutableString asinh("asinh"); +constexpr const ImmutableString atan("atan"); +constexpr const ImmutableString atanh("atanh"); +constexpr const ImmutableString atomicAdd("atomicAdd"); +constexpr const ImmutableString atomicAnd("atomicAnd"); +constexpr const ImmutableString atomicCompSwap("atomicCompSwap"); +constexpr const ImmutableString atomicCounter("atomicCounter"); +constexpr const ImmutableString atomicCounterDecrement("atomicCounterDecrement"); +constexpr const ImmutableString atomicCounterIncrement("atomicCounterIncrement"); +constexpr const ImmutableString atomicExchange("atomicExchange"); +constexpr const ImmutableString atomicMax("atomicMax"); +constexpr const ImmutableString atomicMin("atomicMin"); +constexpr const ImmutableString atomicOr("atomicOr"); +constexpr const ImmutableString atomicXor("atomicXor"); +constexpr const ImmutableString barrier("barrier"); +constexpr const ImmutableString barrierTCS("barrier"); +constexpr const ImmutableString barrierTCSES3_2("barrier"); +constexpr const ImmutableString beginFragmentShaderOrderingINTEL( + "beginFragmentShaderOrderingINTEL"); +constexpr const ImmutableString beginInvocationInterlockARB("beginInvocationInterlockARB"); +constexpr const ImmutableString beginInvocationInterlockNV("beginInvocationInterlockNV"); +constexpr const ImmutableString bitCount("bitCount"); +constexpr const ImmutableString bitfieldExtract("bitfieldExtract"); +constexpr const ImmutableString bitfieldInsert("bitfieldInsert"); +constexpr const ImmutableString bitfieldReverse("bitfieldReverse"); +constexpr const ImmutableString ceil("ceil"); +constexpr const ImmutableString clamp("clamp"); +constexpr const ImmutableString cos("cos"); +constexpr const ImmutableString cosh("cosh"); +constexpr const ImmutableString cross("cross"); +constexpr const ImmutableString dFdx("dFdx"); +constexpr const ImmutableString dFdxExt("dFdx"); +constexpr const ImmutableString dFdy("dFdy"); +constexpr const ImmutableString dFdyExt("dFdy"); +constexpr const ImmutableString degrees("degrees"); +constexpr const ImmutableString determinant("determinant"); +constexpr const ImmutableString diff("diff"); +constexpr const ImmutableString distance("distance"); +constexpr const ImmutableString dot("dot"); +constexpr const ImmutableString endInvocationInterlockARB("endInvocationInterlockARB"); +constexpr const ImmutableString endInvocationInterlockNV("endInvocationInterlockNV"); +constexpr const ImmutableString equal("equal"); +constexpr const ImmutableString exp("exp"); +constexpr const ImmutableString exp2("exp2"); +constexpr const ImmutableString faceforward("faceforward"); +constexpr const ImmutableString far("far"); +constexpr const ImmutableString findLSB("findLSB"); +constexpr const ImmutableString findMSB("findMSB"); +constexpr const ImmutableString floatBitsToInt("floatBitsToInt"); +constexpr const ImmutableString floatBitsToUint("floatBitsToUint"); +constexpr const ImmutableString floor("floor"); +constexpr const ImmutableString fma("fma"); +constexpr const ImmutableString fmaExt("fma"); +constexpr const ImmutableString fract("fract"); +constexpr const ImmutableString frexp("frexp"); +constexpr const ImmutableString fwidth("fwidth"); +constexpr const ImmutableString fwidthExt("fwidth"); +constexpr const ImmutableString gl_BaseInstance("gl_BaseInstance"); +constexpr const ImmutableString gl_BaseVertex("gl_BaseVertex"); +constexpr const ImmutableString gl_BoundingBox("gl_BoundingBox"); +constexpr const ImmutableString gl_BoundingBoxEXT("gl_BoundingBoxEXT"); +constexpr const ImmutableString gl_BoundingBoxOES("gl_BoundingBoxOES"); +constexpr const ImmutableString gl_ClipDistance("gl_ClipDistance"); +constexpr const ImmutableString gl_CullDistance("gl_CullDistance"); +constexpr const ImmutableString gl_DepthRange("gl_DepthRange"); +constexpr const ImmutableString gl_DepthRangeParameters("gl_DepthRangeParameters"); +constexpr const ImmutableString gl_DrawID("gl_DrawID"); +constexpr const ImmutableString gl_FragColor("gl_FragColor"); +constexpr const ImmutableString gl_FragCoord("gl_FragCoord"); +constexpr const ImmutableString gl_FragData("gl_FragData"); +constexpr const ImmutableString gl_FragDepth("gl_FragDepth"); +constexpr const ImmutableString gl_FragDepthEXT("gl_FragDepthEXT"); +constexpr const ImmutableString gl_FrontFacing("gl_FrontFacing"); +constexpr const ImmutableString gl_GlobalInvocationID("gl_GlobalInvocationID"); +constexpr const ImmutableString gl_HelperInvocation("gl_HelperInvocation"); +constexpr const ImmutableString gl_InstanceID("gl_InstanceID"); +constexpr const ImmutableString gl_InstanceIndex("gl_InstanceIndex"); +constexpr const ImmutableString gl_InvocationID("gl_InvocationID"); +constexpr const ImmutableString gl_LastFragColor("gl_LastFragColor"); +constexpr const ImmutableString gl_LastFragColorARM("gl_LastFragColorARM"); +constexpr const ImmutableString gl_LastFragData("gl_LastFragData"); +constexpr const ImmutableString gl_Layer("gl_Layer"); +constexpr const ImmutableString gl_LocalInvocationID("gl_LocalInvocationID"); +constexpr const ImmutableString gl_LocalInvocationIndex("gl_LocalInvocationIndex"); +constexpr const ImmutableString gl_MaxAtomicCounterBindings("gl_MaxAtomicCounterBindings"); +constexpr const ImmutableString gl_MaxAtomicCounterBufferSize("gl_MaxAtomicCounterBufferSize"); +constexpr const ImmutableString gl_MaxClipDistances("gl_MaxClipDistances"); +constexpr const ImmutableString gl_MaxCombinedAtomicCounterBuffers( + "gl_MaxCombinedAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxCombinedAtomicCounters("gl_MaxCombinedAtomicCounters"); +constexpr const ImmutableString gl_MaxCombinedClipAndCullDistances( + "gl_MaxCombinedClipAndCullDistances"); +constexpr const ImmutableString gl_MaxCombinedImageUniforms("gl_MaxCombinedImageUniforms"); +constexpr const ImmutableString gl_MaxCombinedShaderOutputResources( + "gl_MaxCombinedShaderOutputResources"); +constexpr const ImmutableString gl_MaxCombinedTextureImageUnits("gl_MaxCombinedTextureImageUnits"); +constexpr const ImmutableString gl_MaxComputeAtomicCounterBuffers( + "gl_MaxComputeAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxComputeAtomicCounters("gl_MaxComputeAtomicCounters"); +constexpr const ImmutableString gl_MaxComputeImageUniforms("gl_MaxComputeImageUniforms"); +constexpr const ImmutableString gl_MaxComputeTextureImageUnits("gl_MaxComputeTextureImageUnits"); +constexpr const ImmutableString gl_MaxComputeUniformComponents("gl_MaxComputeUniformComponents"); +constexpr const ImmutableString gl_MaxComputeWorkGroupCount("gl_MaxComputeWorkGroupCount"); +constexpr const ImmutableString gl_MaxComputeWorkGroupSize("gl_MaxComputeWorkGroupSize"); +constexpr const ImmutableString gl_MaxCullDistances("gl_MaxCullDistances"); +constexpr const ImmutableString gl_MaxDrawBuffers("gl_MaxDrawBuffers"); +constexpr const ImmutableString gl_MaxDualSourceDrawBuffersEXT("gl_MaxDualSourceDrawBuffersEXT"); +constexpr const ImmutableString gl_MaxFragmentAtomicCounterBuffers( + "gl_MaxFragmentAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxFragmentAtomicCounters("gl_MaxFragmentAtomicCounters"); +constexpr const ImmutableString gl_MaxFragmentImageUniforms("gl_MaxFragmentImageUniforms"); +constexpr const ImmutableString gl_MaxFragmentInputVectors("gl_MaxFragmentInputVectors"); +constexpr const ImmutableString gl_MaxFragmentUniformVectors("gl_MaxFragmentUniformVectors"); +constexpr const ImmutableString gl_MaxGeometryAtomicCounterBuffers( + "gl_MaxGeometryAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxGeometryAtomicCounters("gl_MaxGeometryAtomicCounters"); +constexpr const ImmutableString gl_MaxGeometryImageUniforms("gl_MaxGeometryImageUniforms"); +constexpr const ImmutableString gl_MaxGeometryInputComponents("gl_MaxGeometryInputComponents"); +constexpr const ImmutableString gl_MaxGeometryOutputComponents("gl_MaxGeometryOutputComponents"); +constexpr const ImmutableString gl_MaxGeometryOutputVertices("gl_MaxGeometryOutputVertices"); +constexpr const ImmutableString gl_MaxGeometryTextureImageUnits("gl_MaxGeometryTextureImageUnits"); +constexpr const ImmutableString gl_MaxGeometryTotalOutputComponents( + "gl_MaxGeometryTotalOutputComponents"); +constexpr const ImmutableString gl_MaxGeometryUniformComponents("gl_MaxGeometryUniformComponents"); +constexpr const ImmutableString gl_MaxImageUnits("gl_MaxImageUnits"); +constexpr const ImmutableString gl_MaxPatchVertices("gl_MaxPatchVertices"); +constexpr const ImmutableString gl_MaxProgramTexelOffset("gl_MaxProgramTexelOffset"); +constexpr const ImmutableString gl_MaxSamples("gl_MaxSamples"); +constexpr const ImmutableString gl_MaxTessControlAtomicCounterBuffers( + "gl_MaxTessControlAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxTessControlAtomicCounters("gl_MaxTessControlAtomicCounters"); +constexpr const ImmutableString gl_MaxTessControlImageUniforms("gl_MaxTessControlImageUniforms"); +constexpr const ImmutableString gl_MaxTessControlInputComponents( + "gl_MaxTessControlInputComponents"); +constexpr const ImmutableString gl_MaxTessControlOutputComponents( + "gl_MaxTessControlOutputComponents"); +constexpr const ImmutableString gl_MaxTessControlTextureImageUnits( + "gl_MaxTessControlTextureImageUnits"); +constexpr const ImmutableString gl_MaxTessControlTotalOutputComponents( + "gl_MaxTessControlTotalOutputComponents"); +constexpr const ImmutableString gl_MaxTessControlUniformComponents( + "gl_MaxTessControlUniformComponents"); +constexpr const ImmutableString gl_MaxTessEvaluationAtomicCounterBuffers( + "gl_MaxTessEvaluationAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxTessEvaluationAtomicCounters( + "gl_MaxTessEvaluationAtomicCounters"); +constexpr const ImmutableString gl_MaxTessEvaluationImageUniforms( + "gl_MaxTessEvaluationImageUniforms"); +constexpr const ImmutableString gl_MaxTessEvaluationInputComponents( + "gl_MaxTessEvaluationInputComponents"); +constexpr const ImmutableString gl_MaxTessEvaluationOutputComponents( + "gl_MaxTessEvaluationOutputComponents"); +constexpr const ImmutableString gl_MaxTessEvaluationTextureImageUnits( + "gl_MaxTessEvaluationTextureImageUnits"); +constexpr const ImmutableString gl_MaxTessEvaluationUniformComponents( + "gl_MaxTessEvaluationUniformComponents"); +constexpr const ImmutableString gl_MaxTessGenLevel("gl_MaxTessGenLevel"); +constexpr const ImmutableString gl_MaxTessPatchComponents("gl_MaxTessPatchComponents"); +constexpr const ImmutableString gl_MaxTextureImageUnits("gl_MaxTextureImageUnits"); +constexpr const ImmutableString gl_MaxVaryingVectors("gl_MaxVaryingVectors"); +constexpr const ImmutableString gl_MaxVertexAtomicCounterBuffers( + "gl_MaxVertexAtomicCounterBuffers"); +constexpr const ImmutableString gl_MaxVertexAtomicCounters("gl_MaxVertexAtomicCounters"); +constexpr const ImmutableString gl_MaxVertexAttribs("gl_MaxVertexAttribs"); +constexpr const ImmutableString gl_MaxVertexImageUniforms("gl_MaxVertexImageUniforms"); +constexpr const ImmutableString gl_MaxVertexOutputVectors("gl_MaxVertexOutputVectors"); +constexpr const ImmutableString gl_MaxVertexTextureImageUnits("gl_MaxVertexTextureImageUnits"); +constexpr const ImmutableString gl_MaxVertexUniformVectors("gl_MaxVertexUniformVectors"); +constexpr const ImmutableString gl_MinProgramTexelOffset("gl_MinProgramTexelOffset"); +constexpr const ImmutableString gl_NumSamples("gl_NumSamples"); +constexpr const ImmutableString gl_NumWorkGroups("gl_NumWorkGroups"); +constexpr const ImmutableString gl_PatchVerticesIn("gl_PatchVerticesIn"); +constexpr const ImmutableString gl_PerVertex("gl_PerVertex"); +constexpr const ImmutableString gl_PointCoord("gl_PointCoord"); +constexpr const ImmutableString gl_PointSize("gl_PointSize"); +constexpr const ImmutableString gl_Position("gl_Position"); +constexpr const ImmutableString gl_PrimitiveID("gl_PrimitiveID"); +constexpr const ImmutableString gl_PrimitiveIDIn("gl_PrimitiveIDIn"); +constexpr const ImmutableString gl_SampleID("gl_SampleID"); +constexpr const ImmutableString gl_SampleMask("gl_SampleMask"); +constexpr const ImmutableString gl_SampleMaskIn("gl_SampleMaskIn"); +constexpr const ImmutableString gl_SamplePosition("gl_SamplePosition"); +constexpr const ImmutableString gl_SecondaryFragColorEXT("gl_SecondaryFragColorEXT"); +constexpr const ImmutableString gl_SecondaryFragDataEXT("gl_SecondaryFragDataEXT"); +constexpr const ImmutableString gl_TessCoord("gl_TessCoord"); +constexpr const ImmutableString gl_TessLevelInner("gl_TessLevelInner"); +constexpr const ImmutableString gl_TessLevelOuter("gl_TessLevelOuter"); +constexpr const ImmutableString gl_VertexID("gl_VertexID"); +constexpr const ImmutableString gl_VertexIndex("gl_VertexIndex"); +constexpr const ImmutableString gl_ViewID_OVR("gl_ViewID_OVR"); +constexpr const ImmutableString gl_ViewportIndex("gl_ViewportIndex"); +constexpr const ImmutableString gl_WorkGroupID("gl_WorkGroupID"); +constexpr const ImmutableString gl_WorkGroupSize("gl_WorkGroupSize"); +constexpr const ImmutableString gl_in("gl_in"); +constexpr const ImmutableString gl_out("gl_out"); +constexpr const ImmutableString greaterThan("greaterThan"); +constexpr const ImmutableString greaterThanEqual("greaterThanEqual"); +constexpr const ImmutableString groupMemoryBarrier("groupMemoryBarrier"); +constexpr const ImmutableString imageAtomicAdd("imageAtomicAdd"); +constexpr const ImmutableString imageAtomicAddExt("imageAtomicAdd"); +constexpr const ImmutableString imageAtomicAnd("imageAtomicAnd"); +constexpr const ImmutableString imageAtomicAndExt("imageAtomicAnd"); +constexpr const ImmutableString imageAtomicCompSwap("imageAtomicCompSwap"); +constexpr const ImmutableString imageAtomicCompSwapExt("imageAtomicCompSwap"); +constexpr const ImmutableString imageAtomicExchange("imageAtomicExchange"); +constexpr const ImmutableString imageAtomicExchangeExt("imageAtomicExchange"); +constexpr const ImmutableString imageAtomicMax("imageAtomicMax"); +constexpr const ImmutableString imageAtomicMaxExt("imageAtomicMax"); +constexpr const ImmutableString imageAtomicMin("imageAtomicMin"); +constexpr const ImmutableString imageAtomicMinExt("imageAtomicMin"); +constexpr const ImmutableString imageAtomicOr("imageAtomicOr"); +constexpr const ImmutableString imageAtomicOrExt("imageAtomicOr"); +constexpr const ImmutableString imageAtomicXor("imageAtomicXor"); +constexpr const ImmutableString imageAtomicXorExt("imageAtomicXor"); +constexpr const ImmutableString imageLoad("imageLoad"); +constexpr const ImmutableString imageLoadExt("imageLoad"); +constexpr const ImmutableString imageSize("imageSize"); +constexpr const ImmutableString imageSizeExt("imageSize"); +constexpr const ImmutableString imageStore("imageStore"); +constexpr const ImmutableString imageStoreExt("imageStore"); +constexpr const ImmutableString imulExtended("imulExtended"); +constexpr const ImmutableString intBitsToFloat("intBitsToFloat"); +constexpr const ImmutableString interpolateAtCentroid("interpolateAtCentroid"); +constexpr const ImmutableString interpolateAtCentroidExt("interpolateAtCentroid"); +constexpr const ImmutableString interpolateAtOffset("interpolateAtOffset"); +constexpr const ImmutableString interpolateAtOffsetExt("interpolateAtOffset"); +constexpr const ImmutableString interpolateAtSample("interpolateAtSample"); +constexpr const ImmutableString interpolateAtSampleExt("interpolateAtSample"); +constexpr const ImmutableString inverse("inverse"); +constexpr const ImmutableString inversesqrt("inversesqrt"); +constexpr const ImmutableString isinf("isinf"); +constexpr const ImmutableString isnan("isnan"); +constexpr const ImmutableString ldexp("ldexp"); +constexpr const ImmutableString length("length"); +constexpr const ImmutableString lessThan("lessThan"); +constexpr const ImmutableString lessThanEqual("lessThanEqual"); +constexpr const ImmutableString log("log"); +constexpr const ImmutableString log2("log2"); +constexpr const ImmutableString matrixCompMult("matrixCompMult"); +constexpr const ImmutableString max("max"); +constexpr const ImmutableString memoryBarrier("memoryBarrier"); +constexpr const ImmutableString memoryBarrierAtomicCounter("memoryBarrierAtomicCounter"); +constexpr const ImmutableString memoryBarrierBuffer("memoryBarrierBuffer"); +constexpr const ImmutableString memoryBarrierImage("memoryBarrierImage"); +constexpr const ImmutableString memoryBarrierShared("memoryBarrierShared"); +constexpr const ImmutableString min("min"); +constexpr const ImmutableString mix("mix"); +constexpr const ImmutableString mod("mod"); +constexpr const ImmutableString modf("modf"); +constexpr const ImmutableString near("near"); +constexpr const ImmutableString normalize("normalize"); +constexpr const ImmutableString notEqual("notEqual"); +constexpr const ImmutableString notFunc("not"); +constexpr const ImmutableString outerProduct("outerProduct"); +constexpr const ImmutableString packHalf2x16("packHalf2x16"); +constexpr const ImmutableString packSnorm2x16("packSnorm2x16"); +constexpr const ImmutableString packSnorm4x8("packSnorm4x8"); +constexpr const ImmutableString packUnorm2x16("packUnorm2x16"); +constexpr const ImmutableString packUnorm4x8("packUnorm4x8"); +constexpr const ImmutableString pixelLocalLoadANGLE("pixelLocalLoadANGLE"); +constexpr const ImmutableString pixelLocalStoreANGLE("pixelLocalStoreANGLE"); +constexpr const ImmutableString pow("pow"); +constexpr const ImmutableString radians("radians"); +constexpr const ImmutableString reflect("reflect"); +constexpr const ImmutableString refract("refract"); +constexpr const ImmutableString rgb_2_yuv("rgb_2_yuv"); +constexpr const ImmutableString round("round"); +constexpr const ImmutableString roundEven("roundEven"); +constexpr const ImmutableString shadow2DEXT("shadow2DEXT"); +constexpr const ImmutableString shadow2DProjEXT("shadow2DProjEXT"); +constexpr const ImmutableString sign("sign"); +constexpr const ImmutableString sin("sin"); +constexpr const ImmutableString sinh("sinh"); +constexpr const ImmutableString smoothstep("smoothstep"); +constexpr const ImmutableString sqrt("sqrt"); +constexpr const ImmutableString step("step"); +constexpr const ImmutableString subpassLoad("subpassLoad"); +constexpr const ImmutableString tan("tan"); +constexpr const ImmutableString tanh("tanh"); +constexpr const ImmutableString texelFetch("texelFetch"); +constexpr const ImmutableString texelFetchExt("texelFetch"); +constexpr const ImmutableString texelFetchOffset("texelFetchOffset"); +constexpr const ImmutableString texture("texture"); +constexpr const ImmutableString texture2D("texture2D"); +constexpr const ImmutableString texture2DGradEXT("texture2DGradEXT"); +constexpr const ImmutableString texture2DLod("texture2DLod"); +constexpr const ImmutableString texture2DLodEXT("texture2DLodEXT"); +constexpr const ImmutableString texture2DProj("texture2DProj"); +constexpr const ImmutableString texture2DProjGradEXT("texture2DProjGradEXT"); +constexpr const ImmutableString texture2DProjLod("texture2DProjLod"); +constexpr const ImmutableString texture2DProjLodEXT("texture2DProjLodEXT"); +constexpr const ImmutableString texture2DRect("texture2DRect"); +constexpr const ImmutableString texture2DRectProj("texture2DRectProj"); +constexpr const ImmutableString texture3D("texture3D"); +constexpr const ImmutableString texture3DLod("texture3DLod"); +constexpr const ImmutableString texture3DProj("texture3DProj"); +constexpr const ImmutableString texture3DProjLod("texture3DProjLod"); +constexpr const ImmutableString textureCube("textureCube"); +constexpr const ImmutableString textureCubeGradEXT("textureCubeGradEXT"); +constexpr const ImmutableString textureCubeLod("textureCubeLod"); +constexpr const ImmutableString textureCubeLodEXT("textureCubeLodEXT"); +constexpr const ImmutableString textureExt("texture"); +constexpr const ImmutableString textureGather("textureGather"); +constexpr const ImmutableString textureGatherExt("textureGather"); +constexpr const ImmutableString textureGatherOffset("textureGatherOffset"); +constexpr const ImmutableString textureGatherOffsets("textureGatherOffsets"); +constexpr const ImmutableString textureGatherOffsetsExt("textureGatherOffsets"); +constexpr const ImmutableString textureGrad("textureGrad"); +constexpr const ImmutableString textureGradExt("textureGrad"); +constexpr const ImmutableString textureGradOffset("textureGradOffset"); +constexpr const ImmutableString textureLod("textureLod"); +constexpr const ImmutableString textureLodExt("textureLod"); +constexpr const ImmutableString textureLodOffset("textureLodOffset"); +constexpr const ImmutableString textureOffset("textureOffset"); +constexpr const ImmutableString textureProj("textureProj"); +constexpr const ImmutableString textureProjGrad("textureProjGrad"); +constexpr const ImmutableString textureProjGradOffset("textureProjGradOffset"); +constexpr const ImmutableString textureProjLod("textureProjLod"); +constexpr const ImmutableString textureProjLodOffset("textureProjLodOffset"); +constexpr const ImmutableString textureProjOffset("textureProjOffset"); +constexpr const ImmutableString textureSize("textureSize"); +constexpr const ImmutableString textureSizeExt("textureSize"); +constexpr const ImmutableString textureVideoWEBGL("textureVideoWEBGL"); +constexpr const ImmutableString transpose("transpose"); +constexpr const ImmutableString trunc("trunc"); +constexpr const ImmutableString uaddCarry("uaddCarry"); +constexpr const ImmutableString uintBitsToFloat("uintBitsToFloat"); +constexpr const ImmutableString umulExtended("umulExtended"); +constexpr const ImmutableString unpackHalf2x16("unpackHalf2x16"); +constexpr const ImmutableString unpackSnorm2x16("unpackSnorm2x16"); +constexpr const ImmutableString unpackSnorm4x8("unpackSnorm4x8"); +constexpr const ImmutableString unpackUnorm2x16("unpackUnorm2x16"); +constexpr const ImmutableString unpackUnorm4x8("unpackUnorm4x8"); +constexpr const ImmutableString usubBorrow("usubBorrow"); +constexpr const ImmutableString yuv_2_rgb("yuv_2_rgb"); + +} // namespace BuiltInName + +// TODO(oetuaho): Would be nice to make this a class instead of a namespace so that we could friend +// this from TVariable. Now symbol constructors taking an id have to be public even though they're +// not supposed to be accessible from outside of here. http://anglebug.com/2390 +namespace BuiltInVariable +{ + +constexpr const unsigned int kArraySize4[1] = {4}; + +constexpr const TVariable kangle_BaseInstance( + BuiltInId::angle_BaseInstance, + BuiltInName::angle_BaseInstance, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}}, + StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>()); +constexpr const TVariable kangle_BaseVertex( + BuiltInId::angle_BaseVertex, + BuiltInName::angle_BaseVertex, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}}, + StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>()); +constexpr const TVariable kgl_BaseInstance( + BuiltInId::gl_BaseInstance, + BuiltInName::gl_BaseInstance, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}}, + StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>()); +constexpr const TVariable kgl_BaseVertex( + BuiltInId::gl_BaseVertex, + BuiltInName::gl_BaseVertex, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::ANGLE_base_vertex_base_instance_shader_builtin}}, + StaticType::Get<EbtInt, EbpHigh, EvqUniform, 1, 1>()); +constexpr const TVariable kgl_DrawID(BuiltInId::gl_DrawID, + BuiltInName::gl_DrawID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::ANGLE_multi_draw}}, + StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>()); +constexpr const TVariable kgl_FragColor(BuiltInId::gl_FragColor, + BuiltInName::gl_FragColor, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpMedium, EvqFragColor, 4, 1>()); +constexpr const TVariable kgl_FragCoord(BuiltInId::gl_FragCoord, + BuiltInName::gl_FragCoord, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpMedium, EvqFragCoord, 4, 1>()); +constexpr const TVariable kgl_FragCoord300( + BuiltInId::gl_FragCoord300, + BuiltInName::gl_FragCoord, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpHigh, EvqFragCoord, 4, 1>()); +constexpr const TVariable kgl_FragDepth(BuiltInId::gl_FragDepth, + BuiltInName::gl_FragDepth, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpHigh, EvqFragDepth, 1, 1>()); +constexpr const TVariable kgl_FrontFacing( + BuiltInId::gl_FrontFacing, + BuiltInName::gl_FrontFacing, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtBool, EbpUndefined, EvqFrontFacing, 1, 1>()); +constexpr const TVariable kgl_GlobalInvocationID( + BuiltInId::gl_GlobalInvocationID, + BuiltInName::gl_GlobalInvocationID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobalInvocationID, 3, 1>()); +constexpr const TVariable kgl_HelperInvocation( + BuiltInId::gl_HelperInvocation, + BuiltInName::gl_HelperInvocation, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtBool, EbpUndefined, EvqHelperInvocation, 1, 1>()); +constexpr const TVariable kgl_InstanceID(BuiltInId::gl_InstanceID, + BuiltInName::gl_InstanceID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>()); +constexpr const TVariable kgl_InstanceIndex( + BuiltInId::gl_InstanceIndex, + BuiltInName::gl_InstanceIndex, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>()); +constexpr const TVariable kgl_InvocationID( + BuiltInId::gl_InvocationID, + BuiltInName::gl_InvocationID, + SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>()); +constexpr const TVariable kgl_InvocationIDES3_2( + BuiltInId::gl_InvocationIDES3_2, + BuiltInName::gl_InvocationID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>()); +constexpr const TVariable kgl_InvocationIDTCS( + BuiltInId::gl_InvocationIDTCS, + BuiltInName::gl_InvocationID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>()); +constexpr const TVariable kgl_InvocationIDTCSES3_2( + BuiltInId::gl_InvocationIDTCSES3_2, + BuiltInName::gl_InvocationID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>()); +constexpr const TVariable kgl_LastFragColor( + BuiltInId::gl_LastFragColor, + BuiltInName::gl_LastFragColor, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::NV_shader_framebuffer_fetch}}, + StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>()); +constexpr const TVariable kgl_LastFragColorARM( + BuiltInId::gl_LastFragColorARM, + BuiltInName::gl_LastFragColorARM, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::ARM_shader_framebuffer_fetch}}, + StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>()); +constexpr const TVariable kgl_Layer(BuiltInId::gl_Layer, + BuiltInName::gl_Layer, + SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, + TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqLayerIn, 1, 1>()); +constexpr const TVariable kgl_LayerES3_2(BuiltInId::gl_LayerES3_2, + BuiltInName::gl_Layer, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqLayerIn, 1, 1>()); +constexpr const TVariable kgl_LayerGS(BuiltInId::gl_LayerGS, + BuiltInName::gl_Layer, + SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, + TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqLayerOut, 1, 1>()); +constexpr const TVariable kgl_LayerGSES3_2(BuiltInId::gl_LayerGSES3_2, + BuiltInName::gl_Layer, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqLayerOut, 1, 1>()); +constexpr const TVariable kgl_LayerVS(BuiltInId::gl_LayerVS, + BuiltInName::gl_Layer, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqLayerOut, 1, 1>()); +constexpr const TVariable kgl_LocalInvocationID( + BuiltInId::gl_LocalInvocationID, + BuiltInName::gl_LocalInvocationID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationID, 3, 1>()); +constexpr const TVariable kgl_LocalInvocationIndex( + BuiltInId::gl_LocalInvocationIndex, + BuiltInName::gl_LocalInvocationIndex, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationIndex, 1, 1>()); +constexpr const TVariable kgl_NumSamples(BuiltInId::gl_NumSamples, + BuiltInName::gl_NumSamples, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{ + {TExtension::OES_sample_variables}}, + StaticType::Get<EbtInt, EbpLow, EvqUniform, 1, 1>()); +constexpr const TVariable kgl_NumSamplesES3_2(BuiltInId::gl_NumSamplesES3_2, + BuiltInName::gl_NumSamples, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpLow, EvqUniform, 1, 1>()); +constexpr const TVariable kgl_NumWorkGroups( + BuiltInId::gl_NumWorkGroups, + BuiltInName::gl_NumWorkGroups, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqNumWorkGroups, 3, 1>()); +constexpr const TVariable kgl_PatchVerticesInTCS( + BuiltInId::gl_PatchVerticesInTCS, + BuiltInName::gl_PatchVerticesIn, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>()); +constexpr const TVariable kgl_PatchVerticesInTCSES3_2( + BuiltInId::gl_PatchVerticesInTCSES3_2, + BuiltInName::gl_PatchVerticesIn, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>()); +constexpr const TVariable kgl_PatchVerticesInTES( + BuiltInId::gl_PatchVerticesInTES, + BuiltInName::gl_PatchVerticesIn, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>()); +constexpr const TVariable kgl_PatchVerticesInTESES3_2( + BuiltInId::gl_PatchVerticesInTESES3_2, + BuiltInName::gl_PatchVerticesIn, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>()); +constexpr const TVariable kgl_PointCoord( + BuiltInId::gl_PointCoord, + BuiltInName::gl_PointCoord, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpMedium, EvqPointCoord, 2, 1>()); +constexpr const TVariable kgl_PointSize(BuiltInId::gl_PointSize, + BuiltInName::gl_PointSize, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpMedium, EvqPointSize, 1, 1>()); +constexpr const TVariable kgl_PointSize300( + BuiltInId::gl_PointSize300, + BuiltInName::gl_PointSize, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpHigh, EvqPointSize, 1, 1>()); +constexpr const TVariable kgl_Position(BuiltInId::gl_Position, + BuiltInName::gl_Position, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpHigh, EvqPosition, 4, 1>()); +constexpr const TVariable kgl_PrimitiveID( + BuiltInId::gl_PrimitiveID, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDES3_2( + BuiltInId::gl_PrimitiveIDES3_2, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDGS( + BuiltInId::gl_PrimitiveIDGS, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDGSES3_2( + BuiltInId::gl_PrimitiveIDGSES3_2, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDIn( + BuiltInId::gl_PrimitiveIDIn, + BuiltInName::gl_PrimitiveIDIn, + SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDInES3_2( + BuiltInId::gl_PrimitiveIDInES3_2, + BuiltInName::gl_PrimitiveIDIn, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDTCS( + BuiltInId::gl_PrimitiveIDTCS, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDTCSES3_2( + BuiltInId::gl_PrimitiveIDTCSES3_2, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDTES( + BuiltInId::gl_PrimitiveIDTES, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_PrimitiveIDTESES3_2( + BuiltInId::gl_PrimitiveIDTESES3_2, + BuiltInName::gl_PrimitiveID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>()); +constexpr const TVariable kgl_SampleID(BuiltInId::gl_SampleID, + BuiltInName::gl_SampleID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{ + {TExtension::OES_sample_variables}}, + StaticType::Get<EbtInt, EbpLow, EvqSampleID, 1, 1>()); +constexpr const TVariable kgl_SampleIDES3_2(BuiltInId::gl_SampleIDES3_2, + BuiltInName::gl_SampleID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpLow, EvqSampleID, 1, 1>()); +constexpr const TVariable kgl_SamplePosition( + BuiltInId::gl_SamplePosition, + BuiltInName::gl_SamplePosition, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::OES_sample_variables}}, + StaticType::Get<EbtFloat, EbpMedium, EvqSamplePosition, 2, 1>()); +constexpr const TVariable kgl_SamplePositionES3_2( + BuiltInId::gl_SamplePositionES3_2, + BuiltInName::gl_SamplePosition, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpMedium, EvqSamplePosition, 2, 1>()); +constexpr const TVariable kgl_SecondaryFragColorEXT( + BuiltInId::gl_SecondaryFragColorEXT, + BuiltInName::gl_SecondaryFragColorEXT, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_blend_func_extended}}, + StaticType::Get<EbtFloat, EbpMedium, EvqSecondaryFragColorEXT, 4, 1>()); +constexpr const TVariable kgl_TessCoord(BuiltInId::gl_TessCoord, + BuiltInName::gl_TessCoord, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpHigh, EvqTessCoord, 3, 1>()); +constexpr const TVariable kgl_VertexID(BuiltInId::gl_VertexID, + BuiltInName::gl_VertexID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>()); +constexpr const TVariable kgl_VertexIndex(BuiltInId::gl_VertexIndex, + BuiltInName::gl_VertexIndex, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>()); +constexpr const TVariable kgl_ViewID_OVR(BuiltInId::gl_ViewID_OVR, + BuiltInName::gl_ViewID_OVR, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::OVR_multiview}}, + StaticType::Get<EbtUInt, EbpHigh, EvqViewIDOVR, 1, 1>()); +constexpr const TVariable kgl_ViewportIndex( + BuiltInId::gl_ViewportIndex, + BuiltInName::gl_ViewportIndex, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqViewportIndex, 1, 1>()); +constexpr const TVariable kgl_WorkGroupID( + BuiltInId::gl_WorkGroupID, + BuiltInName::gl_WorkGroupID, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupID, 3, 1>()); +constexpr const TVariable kgl_WorkGroupSize( + BuiltInId::gl_WorkGroupSize, + BuiltInName::gl_WorkGroupSize, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupSize, 3, 1>()); +constexpr const TVariable kpt00B(BuiltInId::pt00B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00D(BuiltInId::pt00D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00E(BuiltInId::pt00E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00F(BuiltInId::pt00F, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00G( + BuiltInId::pt00G, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtAtomicCounter, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00H( + BuiltInId::pt00H, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtYuvCscStandardEXT, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00I(BuiltInId::pt00I, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00J(BuiltInId::pt00J, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler3D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00K(BuiltInId::pt00K, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerCube, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00L( + BuiltInId::pt00L, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00M( + BuiltInId::pt00M, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00N( + BuiltInId::pt00N, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerExternal2DY2YEXT, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00O( + BuiltInId::pt00O, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00P(BuiltInId::pt00P, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00Q( + BuiltInId::pt00Q, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00R(BuiltInId::pt00R, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00S(BuiltInId::pt00S, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00T(BuiltInId::pt00T, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00U( + BuiltInId::pt00U, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00V(BuiltInId::pt00V, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00W( + BuiltInId::pt00W, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00X(BuiltInId::pt00X, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00Y(BuiltInId::pt00Y, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00Z(BuiltInId::pt00Z, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00a( + BuiltInId::pt00a, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00b(BuiltInId::pt00b, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00c( + BuiltInId::pt00c, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00d( + BuiltInId::pt00d, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00e( + BuiltInId::pt00e, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00f( + BuiltInId::pt00f, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00j( + BuiltInId::pt00j, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00k( + BuiltInId::pt00k, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00l( + BuiltInId::pt00l, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerCubeArrayShadow, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00r( + BuiltInId::pt00r, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00s( + BuiltInId::pt00s, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00w( + BuiltInId::pt00w, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00x( + BuiltInId::pt00x, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00y( + BuiltInId::pt00y, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSamplerVideoWEBGL, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt00z(BuiltInId::pt00z, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01A(BuiltInId::pt01A, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01B(BuiltInId::pt01B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01C(BuiltInId::pt01C, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01D(BuiltInId::pt01D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage1D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01E(BuiltInId::pt01E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage1DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01F(BuiltInId::pt01F, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage2DMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01G( + BuiltInId::pt01G, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01H( + BuiltInId::pt01H, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01I(BuiltInId::pt01I, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImageRect, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01J(BuiltInId::pt01J, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtImageBuffer, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01K(BuiltInId::pt01K, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01L(BuiltInId::pt01L, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01M( + BuiltInId::pt01M, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01N(BuiltInId::pt01N, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01O(BuiltInId::pt01O, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage1D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01P( + BuiltInId::pt01P, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage1DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01Q(BuiltInId::pt01Q, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage2DMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01R( + BuiltInId::pt01R, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01S( + BuiltInId::pt01S, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01T(BuiltInId::pt01T, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImageRect, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01U(BuiltInId::pt01U, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIImageBuffer, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01V(BuiltInId::pt01V, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01W(BuiltInId::pt01W, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01X( + BuiltInId::pt01X, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01Y(BuiltInId::pt01Y, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01Z(BuiltInId::pt01Z, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage1D, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01a( + BuiltInId::pt01a, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage1DArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01b(BuiltInId::pt01b, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage2DMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01c( + BuiltInId::pt01c, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01d( + BuiltInId::pt01d, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01e(BuiltInId::pt01e, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImageRect, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01f(BuiltInId::pt01f, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUImageBuffer, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01g( + BuiltInId::pt01g, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtPixelLocalANGLE, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01h( + BuiltInId::pt01h, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtIPixelLocalANGLE, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01i( + BuiltInId::pt01i, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUPixelLocalANGLE, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01j(BuiltInId::pt01j, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSubpassInput, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01k( + BuiltInId::pt01k, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISubpassInput, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01l( + BuiltInId::pt01l, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSubpassInput, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01m( + BuiltInId::pt01m, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtSubpassInputMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01n( + BuiltInId::pt01n, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtISubpassInputMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt01o( + BuiltInId::pt01o, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUSubpassInputMS, EbpUndefined, EvqGlobal, 1, 1>()); +constexpr const TVariable kpt10B(BuiltInId::pt10B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>()); +constexpr const TVariable kpt10D(BuiltInId::pt10D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>()); +constexpr const TVariable kpt10Dx4( + BuiltInId::pt10Dx4, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::GetArray<EbtInt, EbpUndefined, EvqGlobal, 2, 1, kArraySize4, 1>()); +constexpr const TVariable kpt10E(BuiltInId::pt10E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>()); +constexpr const TVariable kpt10F(BuiltInId::pt10F, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>()); +constexpr const TVariable kpt20B(BuiltInId::pt20B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>()); +constexpr const TVariable kpt20D(BuiltInId::pt20D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>()); +constexpr const TVariable kpt20E(BuiltInId::pt20E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>()); +constexpr const TVariable kpt20F(BuiltInId::pt20F, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>()); +constexpr const TVariable kpt30B(BuiltInId::pt30B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>()); +constexpr const TVariable kpt30D(BuiltInId::pt30D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>()); +constexpr const TVariable kpt30E(BuiltInId::pt30E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>()); +constexpr const TVariable kpt30F(BuiltInId::pt30F, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>()); +constexpr const TVariable kpt50B(BuiltInId::pt50B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>()); +constexpr const TVariable kpt60B(BuiltInId::pt60B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>()); +constexpr const TVariable kpt70B(BuiltInId::pt70B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>()); +constexpr const TVariable kpt90B(BuiltInId::pt90B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>()); +constexpr const TVariable kptA0B(BuiltInId::ptA0B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>()); +constexpr const TVariable kptB0B(BuiltInId::ptB0B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>()); +constexpr const TVariable kptD0B(BuiltInId::ptD0B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>()); +constexpr const TVariable kptE0B(BuiltInId::ptE0B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>()); +constexpr const TVariable kptF0B(BuiltInId::ptF0B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>()); +constexpr const TVariable kpt_io_00D(BuiltInId::pt_io_00D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqParamInOut, 1, 1>()); +constexpr const TVariable kpt_io_00E(BuiltInId::pt_io_00E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqParamInOut, 1, 1>()); +constexpr const TVariable kpt_o_00B(BuiltInId::pt_o_00B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 1, 1>()); +constexpr const TVariable kpt_o_00D(BuiltInId::pt_o_00D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 1, 1>()); +constexpr const TVariable kpt_o_00E(BuiltInId::pt_o_00E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 1, 1>()); +constexpr const TVariable kpt_o_10B(BuiltInId::pt_o_10B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 2, 1>()); +constexpr const TVariable kpt_o_10D(BuiltInId::pt_o_10D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 2, 1>()); +constexpr const TVariable kpt_o_10E(BuiltInId::pt_o_10E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 2, 1>()); +constexpr const TVariable kpt_o_20B(BuiltInId::pt_o_20B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 3, 1>()); +constexpr const TVariable kpt_o_20D(BuiltInId::pt_o_20D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 3, 1>()); +constexpr const TVariable kpt_o_20E(BuiltInId::pt_o_20E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 3, 1>()); +constexpr const TVariable kpt_o_30B(BuiltInId::pt_o_30B, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtFloat, EbpUndefined, EvqParamOut, 4, 1>()); +constexpr const TVariable kpt_o_30D(BuiltInId::pt_o_30D, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpUndefined, EvqParamOut, 4, 1>()); +constexpr const TVariable kpt_o_30E(BuiltInId::pt_o_30E, + BuiltInName::_empty, + SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtUInt, EbpUndefined, EvqParamOut, 4, 1>()); + +const TVariable *angle_BaseInstance() +{ + return &kangle_BaseInstance; +} + +const TVariable *angle_BaseVertex() +{ + return &kangle_BaseVertex; +} + +const TVariable *gl_BaseInstance() +{ + return &kgl_BaseInstance; +} + +const TVariable *gl_BaseVertex() +{ + return &kgl_BaseVertex; +} + +const TVariable *gl_DrawID() +{ + return &kgl_DrawID; +} + +const TVariable *gl_FragColor() +{ + return &kgl_FragColor; +} + +const TVariable *gl_FragCoord() +{ + return &kgl_FragCoord; +} + +const TVariable *gl_FragCoord300() +{ + return &kgl_FragCoord300; +} + +const TVariable *gl_FragDepth() +{ + return &kgl_FragDepth; +} + +const TVariable *gl_FrontFacing() +{ + return &kgl_FrontFacing; +} + +const TVariable *gl_GlobalInvocationID() +{ + return &kgl_GlobalInvocationID; +} + +const TVariable *gl_HelperInvocation() +{ + return &kgl_HelperInvocation; +} + +const TVariable *gl_InstanceID() +{ + return &kgl_InstanceID; +} + +const TVariable *gl_InstanceIndex() +{ + return &kgl_InstanceIndex; +} + +const TVariable *gl_InvocationID() +{ + return &kgl_InvocationID; +} + +const TVariable *gl_InvocationIDES3_2() +{ + return &kgl_InvocationIDES3_2; +} + +const TVariable *gl_InvocationIDTCS() +{ + return &kgl_InvocationIDTCS; +} + +const TVariable *gl_InvocationIDTCSES3_2() +{ + return &kgl_InvocationIDTCSES3_2; +} + +const TVariable *gl_LastFragColor() +{ + return &kgl_LastFragColor; +} + +const TVariable *gl_LastFragColorARM() +{ + return &kgl_LastFragColorARM; +} + +const TVariable *gl_Layer() +{ + return &kgl_Layer; +} + +const TVariable *gl_LayerES3_2() +{ + return &kgl_LayerES3_2; +} + +const TVariable *gl_LayerGS() +{ + return &kgl_LayerGS; +} + +const TVariable *gl_LayerGSES3_2() +{ + return &kgl_LayerGSES3_2; +} + +const TVariable *gl_LayerVS() +{ + return &kgl_LayerVS; +} + +const TVariable *gl_LocalInvocationID() +{ + return &kgl_LocalInvocationID; +} + +const TVariable *gl_LocalInvocationIndex() +{ + return &kgl_LocalInvocationIndex; +} + +const TVariable *gl_NumSamples() +{ + return &kgl_NumSamples; +} + +const TVariable *gl_NumSamplesES3_2() +{ + return &kgl_NumSamplesES3_2; +} + +const TVariable *gl_NumWorkGroups() +{ + return &kgl_NumWorkGroups; +} + +const TVariable *gl_PatchVerticesInTCS() +{ + return &kgl_PatchVerticesInTCS; +} + +const TVariable *gl_PatchVerticesInTCSES3_2() +{ + return &kgl_PatchVerticesInTCSES3_2; +} + +const TVariable *gl_PatchVerticesInTES() +{ + return &kgl_PatchVerticesInTES; +} + +const TVariable *gl_PatchVerticesInTESES3_2() +{ + return &kgl_PatchVerticesInTESES3_2; +} + +const TVariable *gl_PointCoord() +{ + return &kgl_PointCoord; +} + +const TVariable *gl_PointSize() +{ + return &kgl_PointSize; +} + +const TVariable *gl_PointSize300() +{ + return &kgl_PointSize300; +} + +const TVariable *gl_Position() +{ + return &kgl_Position; +} + +const TVariable *gl_PrimitiveID() +{ + return &kgl_PrimitiveID; +} + +const TVariable *gl_PrimitiveIDES3_2() +{ + return &kgl_PrimitiveIDES3_2; +} + +const TVariable *gl_PrimitiveIDGS() +{ + return &kgl_PrimitiveIDGS; +} + +const TVariable *gl_PrimitiveIDGSES3_2() +{ + return &kgl_PrimitiveIDGSES3_2; +} + +const TVariable *gl_PrimitiveIDIn() +{ + return &kgl_PrimitiveIDIn; +} + +const TVariable *gl_PrimitiveIDInES3_2() +{ + return &kgl_PrimitiveIDInES3_2; +} + +const TVariable *gl_PrimitiveIDTCS() +{ + return &kgl_PrimitiveIDTCS; +} + +const TVariable *gl_PrimitiveIDTCSES3_2() +{ + return &kgl_PrimitiveIDTCSES3_2; +} + +const TVariable *gl_PrimitiveIDTES() +{ + return &kgl_PrimitiveIDTES; +} + +const TVariable *gl_PrimitiveIDTESES3_2() +{ + return &kgl_PrimitiveIDTESES3_2; +} + +const TVariable *gl_SampleID() +{ + return &kgl_SampleID; +} + +const TVariable *gl_SampleIDES3_2() +{ + return &kgl_SampleIDES3_2; +} + +const TVariable *gl_SamplePosition() +{ + return &kgl_SamplePosition; +} + +const TVariable *gl_SamplePositionES3_2() +{ + return &kgl_SamplePositionES3_2; +} + +const TVariable *gl_SecondaryFragColorEXT() +{ + return &kgl_SecondaryFragColorEXT; +} + +const TVariable *gl_TessCoord() +{ + return &kgl_TessCoord; +} + +const TVariable *gl_VertexID() +{ + return &kgl_VertexID; +} + +const TVariable *gl_VertexIndex() +{ + return &kgl_VertexIndex; +} + +const TVariable *gl_ViewID_OVR() +{ + return &kgl_ViewID_OVR; +} + +const TVariable *gl_ViewportIndex() +{ + return &kgl_ViewportIndex; +} + +const TVariable *gl_WorkGroupID() +{ + return &kgl_WorkGroupID; +} + +const TVariable *gl_WorkGroupSize() +{ + return &kgl_WorkGroupSize; +} + +} // namespace BuiltInVariable + +namespace BuiltInParameters +{ + +constexpr const TVariable **empty = nullptr; +constexpr const TVariable *p00B00B00B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00B00B00F[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt00F}; +constexpr const TVariable *p00B00B10B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt10B}; +constexpr const TVariable *p00B00B20B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00B00B30B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p00B00D[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00B10B[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt10B}; +constexpr const TVariable *p00B20B[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00B30B[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt30B}; +constexpr const TVariable *p00B_o_00B[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt_o_00B}; +constexpr const TVariable *p00B_o_00D[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt_o_00D}; +constexpr const TVariable *p00D00D00D00D[4] = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00D00D00F[3] = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00F}; +constexpr const TVariable *p00D00D_o_00D_o_00D[4] = { + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D, &BuiltInVariable::kpt_o_00D, + &BuiltInVariable::kpt_o_00D}; +constexpr const TVariable *p00E00D00D[3] = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00E00E00D00D[4] = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00E00E00E[3] = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E, + &BuiltInVariable::kpt00E}; +constexpr const TVariable *p00E00E00F[3] = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E, + &BuiltInVariable::kpt00F}; +constexpr const TVariable *p00E00E_o_00E_o_00E[4] = { + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E, &BuiltInVariable::kpt_o_00E, + &BuiltInVariable::kpt_o_00E}; +constexpr const TVariable *p00F00F00F[3] = {&BuiltInVariable::kpt00F, &BuiltInVariable::kpt00F, + &BuiltInVariable::kpt00F}; +constexpr const TVariable *p00G[1] = {&BuiltInVariable::kpt00G}; +constexpr const TVariable *p00I00D[2] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00I10B00B10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I10B00D[3] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00I10B10B10B10D[5] = { + &BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I10B10D00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00I10B10D00D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00I10B10Dx400D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10Dx4, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00I10D00D10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I20B00B10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I20B10B10B10D[5] = { + &BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I20B10D00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00I30B00B10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I30B10B10B10D[5] = { + &BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00I30B10D00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00J00D[2] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00J20B00B20D[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00J20B20B20B20D[5] = { + &BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00J20B20D00B[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00J20D00D20D[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00J30B00B20D[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00J30B20B20B20D[5] = { + &BuiltInVariable::kpt00J, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00J30B20D00B[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00K00D[2] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00K20B00B[3] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00K20B00D[3] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00K20B20B20B[4] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00L00D[2] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00L20B00B10D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00L20B00D[3] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00L20B10B10B10D[5] = { + &BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00L20B10D00B[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00L20B10D00D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00L20B10Dx400D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10Dx4, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00L20D00D10D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00M00D[2] = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00M10B00B[3] = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00M10D00D[3] = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00M20B00B[3] = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00M30B00B[3] = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00N00D[2] = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00N10B00B[3] = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00N10D00D[3] = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00N20B00B[3] = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00N30B00B[3] = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00O10B[2] = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt10B}; +constexpr const TVariable *p00O20B[2] = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00O30B[2] = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt30B}; +constexpr const TVariable *p00P10D00D[3] = {&BuiltInVariable::kpt00P, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00Q20D00D[3] = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00R00D[2] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00R10B00B10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R10B00D[3] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00R10B10B10B10D[5] = { + &BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R10B10D00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00R10B10D00D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00R10B10Dx400D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10Dx4, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00R10D00D10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R20B00B10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R20B10B10B10D[5] = { + &BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R20B10D00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00R30B00B10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R30B10B10B10D[5] = { + &BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00R30B10D00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00S00D[2] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00S20B00B20D[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00S20B20B20B20D[5] = { + &BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00S20B20D00B[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00S20D00D20D[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00S30B00B20D[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00S30B20B20B20D[5] = { + &BuiltInVariable::kpt00S, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00S30B20D00B[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00T00D[2] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00T20B00B[3] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00T20B00D[3] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00T20B20B20B[4] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00U00D[2] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00U20B00B10D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00U20B00D[3] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00U20B10B10B10D[5] = { + &BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00U20B10D00B[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00U20B10D00D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00U20B10Dx400D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10Dx4, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00U20D00D10D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00V10D00D[3] = {&BuiltInVariable::kpt00V, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00W20D00D[3] = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00X00D[2] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00X10B00B10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X10B00D[3] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00X10B10B10B10D[5] = { + &BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X10B10D00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00X10B10D00D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00X10B10Dx400D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10Dx4, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00X10D00D10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X20B00B10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X20B10B10B10D[5] = { + &BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X20B10D00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00X30B00B10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X30B10B10B10D[5] = { + &BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00X30B10D00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00Y00D[2] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00Y20B00B20D[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00Y20B20B20B20D[5] = { + &BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00Y20B20D00B[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00Y20D00D20D[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00Y30B00B20D[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00Y30B20B20B20D[5] = { + &BuiltInVariable::kpt00Y, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p00Y30B20D00B[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00Z00D[2] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00Z20B00B[3] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00Z20B00D[3] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00Z20B20B20B[4] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00a00D[2] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00a20B00B10D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00a20B00D[3] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00a20B10B10B10D[5] = { + &BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00a20B10D00B[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00a20B10D00D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00a20B10Dx400D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10Dx4, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00a20D00D10D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00b10D00D[3] = {&BuiltInVariable::kpt00b, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00c20D00D[3] = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00d00D[2] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00d10B00B10Dx4[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt10Dx4}; +constexpr const TVariable *p00d20B00B10D[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00d20B10B10B10D[5] = { + &BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00d20B10D00B[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00d30B00B10D[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00d30B10B10B10D[5] = { + &BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00d30B10D00B[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00e00D[2] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00e20B00B[3] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00e30B00B[3] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00e30B20B20B[4] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00f00D[2] = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00f20B00B10Dx4[4] = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt10Dx4}; +constexpr const TVariable *p00f30B10B10B10D[5] = { + &BuiltInVariable::kpt00f, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p00j00D[2] = {&BuiltInVariable::kpt00j, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00k00D[2] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00k30B00B[3] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00k30B00D[3] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00k30B20B20B[4] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00l00D[2] = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00l30B00B[3] = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00r00D[2] = {&BuiltInVariable::kpt00r, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00s00D[2] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00s30B00B[3] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00s30B00D[3] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00s30B20B20B[4] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00w00D[2] = {&BuiltInVariable::kpt00w, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00x00D[2] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00x30B00B[3] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00x30B00D[3] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00x30B20B20B[4] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p00y10B[2] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10B}; +constexpr const TVariable *p00z10D00B[3] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p00z10D00D00D[4] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p00z10D00E00E[4] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p00z10D30B[3] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01A20D00B[3] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01A20D00D00D[4] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01A20D00E00E[4] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01A20D30B[3] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01B20D00B[3] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01B20D00D00D[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01B20D00E00E[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01B20D30B[3] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01C20D00B[3] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01C20D00D00D[4] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01C20D00E00E[4] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01C20D30B[3] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01D00D00B[3] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01D00D00D00D[4] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01D00D00E00E[4] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01E10D00B[3] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01E10D00D00D[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01E10D00E00E[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01F10D00D00B[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01F10D00D00D00D[5] = { + &BuiltInVariable::kpt01F, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01F10D00D00E00E[5] = { + &BuiltInVariable::kpt01F, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01G20D00D00B[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01G20D00D00D00D[5] = { + &BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01G20D00D00E00E[5] = { + &BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01H20D00B[3] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01H20D00D00D[4] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01H20D00E00E[4] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01H20D30B[3] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01I10D00B[3] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01I10D00D00D[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01I10D00E00E[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01J00D00B[3] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01J00D00D00D[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01J00D00E00E[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01J00D30B[3] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01K10D00B[3] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01K10D00D00D[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01K10D00E00E[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01K10D30D[3] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01L20D00B[3] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01L20D00D00D[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01L20D00E00E[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01L20D30D[3] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01M20D00B[3] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01M20D00D00D[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01M20D00E00E[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01M20D30D[3] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01N20D00B[3] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01N20D00D00D[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01N20D00E00E[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01N20D30D[3] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01O00D00B[3] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01O00D00D00D[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01O00D00E00E[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01P10D00B[3] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01P10D00D00D[4] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01P10D00E00E[4] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01Q10D00D00B[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01Q10D00D00D00D[5] = { + &BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01Q10D00D00E00E[5] = { + &BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01R20D00D00B[4] = {&BuiltInVariable::kpt01R, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01R20D00D00D00D[5] = { + &BuiltInVariable::kpt01R, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01R20D00D00E00E[5] = { + &BuiltInVariable::kpt01R, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01S20D00B[3] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01S20D00D00D[4] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01S20D00E00E[4] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01S20D30D[3] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01T10D00B[3] = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01T10D00D00D[4] = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01T10D00E00E[4] = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01U00D00B[3] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01U00D00D00D[4] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01U00D00E00E[4] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01U00D30D[3] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01V10D00B[3] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01V10D00D00D[4] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01V10D00E00E[4] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01V10D30E[3] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01W20D00B[3] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01W20D00D00D[4] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01W20D00E00E[4] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01W20D30E[3] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01X20D00B[3] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01X20D00D00D[4] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01X20D00E00E[4] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01X20D30E[3] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01Y20D00B[3] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01Y20D00D00D[4] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01Y20D00E00E[4] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01Y20D30E[3] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01Z00D00B[3] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01Z00D00D00D[4] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01Z00D00E00E[4] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01a10D00B[3] = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01a10D00D00D[4] = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01a10D00E00E[4] = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01b10D00D00B[4] = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01b10D00D00D00D[5] = { + &BuiltInVariable::kpt01b, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01b10D00D00E00E[5] = { + &BuiltInVariable::kpt01b, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01c20D00D00B[4] = {&BuiltInVariable::kpt01c, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01c20D00D00D00D[5] = { + &BuiltInVariable::kpt01c, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01c20D00D00E00E[5] = { + &BuiltInVariable::kpt01c, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01d20D00B[3] = {&BuiltInVariable::kpt01d, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01d20D00D00D[4] = {&BuiltInVariable::kpt01d, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01d20D00E00E[4] = {&BuiltInVariable::kpt01d, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01d20D30E[3] = {&BuiltInVariable::kpt01d, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01e10D00B[3] = {&BuiltInVariable::kpt01e, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01e10D00D00D[4] = {&BuiltInVariable::kpt01e, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01e10D00E00E[4] = {&BuiltInVariable::kpt01e, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01f00D00B[3] = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p01f00D00D00D[4] = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01f00D00E00E[4] = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; +constexpr const TVariable *p01f00D30E[3] = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01g30B[2] = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt30B}; +constexpr const TVariable *p01h30D[2] = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt30D}; +constexpr const TVariable *p01i30E[2] = {&BuiltInVariable::kpt01i, &BuiltInVariable::kpt30E}; +constexpr const TVariable *p01j[1] = {&BuiltInVariable::kpt01j}; +constexpr const TVariable *p01k[1] = {&BuiltInVariable::kpt01k}; +constexpr const TVariable *p01l[1] = {&BuiltInVariable::kpt01l}; +constexpr const TVariable *p01m00D[2] = {&BuiltInVariable::kpt01m, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01n00D[2] = {&BuiltInVariable::kpt01n, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p01o00D[2] = {&BuiltInVariable::kpt01o, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p10B00B00B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p10B00D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p10B10B00B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p10B10B10B[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10B}; +constexpr const TVariable *p10B10B10F[3] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B, + &BuiltInVariable::kpt10F}; +constexpr const TVariable *p10B10D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D}; +constexpr const TVariable *p10B20B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p10B30B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt30B}; +constexpr const TVariable *p10B_o_10B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10B}; +constexpr const TVariable *p10B_o_10D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10D}; +constexpr const TVariable *p10D00D00D[3] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p10D10D00D00D[4] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p10D10D10D[3] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt10D}; +constexpr const TVariable *p10D10D10F[3] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D, + &BuiltInVariable::kpt10F}; +constexpr const TVariable *p10D10D_o_10D_o_10D[4] = { + &BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt_o_10D, + &BuiltInVariable::kpt_o_10D}; +constexpr const TVariable *p10E00D00D[3] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p10E00E00E[3] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt00E, + &BuiltInVariable::kpt00E}; +constexpr const TVariable *p10E10E00D00D[4] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p10E10E10E[3] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E, + &BuiltInVariable::kpt10E}; +constexpr const TVariable *p10E10E10F[3] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E, + &BuiltInVariable::kpt10F}; +constexpr const TVariable *p10E10E_o_10E_o_10E[4] = { + &BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E, &BuiltInVariable::kpt_o_10E, + &BuiltInVariable::kpt_o_10E}; +constexpr const TVariable *p10F10F10F[3] = {&BuiltInVariable::kpt10F, &BuiltInVariable::kpt10F, + &BuiltInVariable::kpt10F}; +constexpr const TVariable *p20B00B00B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p20B00D[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p20B00H[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00H}; +constexpr const TVariable *p20B10B[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B}; +constexpr const TVariable *p20B20B00B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p20B20B20B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20B}; +constexpr const TVariable *p20B20B20F[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B, + &BuiltInVariable::kpt20F}; +constexpr const TVariable *p20B20D[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D}; +constexpr const TVariable *p20B30B[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt30B}; +constexpr const TVariable *p20B_o_20B[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt_o_20B}; +constexpr const TVariable *p20B_o_20D[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt_o_20D}; +constexpr const TVariable *p20D00D00D[3] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p20D20D00D00D[4] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p20D20D20D[3] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt20D}; +constexpr const TVariable *p20D20D20F[3] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D, + &BuiltInVariable::kpt20F}; +constexpr const TVariable *p20D20D_o_20D_o_20D[4] = { + &BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt_o_20D, + &BuiltInVariable::kpt_o_20D}; +constexpr const TVariable *p20E00D00D[3] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p20E00E00E[3] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt00E, + &BuiltInVariable::kpt00E}; +constexpr const TVariable *p20E20E00D00D[4] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p20E20E20E[3] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E, + &BuiltInVariable::kpt20E}; +constexpr const TVariable *p20E20E20F[3] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E, + &BuiltInVariable::kpt20F}; +constexpr const TVariable *p20E20E_o_20E_o_20E[4] = { + &BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E, &BuiltInVariable::kpt_o_20E, + &BuiltInVariable::kpt_o_20E}; +constexpr const TVariable *p20F20F20F[3] = {&BuiltInVariable::kpt20F, &BuiltInVariable::kpt20F, + &BuiltInVariable::kpt20F}; +constexpr const TVariable *p30B00B00B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p30B00D[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p30B10B[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B}; +constexpr const TVariable *p30B20B[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B}; +constexpr const TVariable *p30B30B00B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt00B}; +constexpr const TVariable *p30B30B30B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt30B}; +constexpr const TVariable *p30B30B30F[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B, + &BuiltInVariable::kpt30F}; +constexpr const TVariable *p30B30D[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30D}; +constexpr const TVariable *p30B_o_30B[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt_o_30B}; +constexpr const TVariable *p30B_o_30D[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt_o_30D}; +constexpr const TVariable *p30D00D00D[3] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p30D30D00D00D[4] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p30D30D30D[3] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D, + &BuiltInVariable::kpt30D}; +constexpr const TVariable *p30D30D30F[3] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D, + &BuiltInVariable::kpt30F}; +constexpr const TVariable *p30D30D_o_30D_o_30D[4] = { + &BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D, &BuiltInVariable::kpt_o_30D, + &BuiltInVariable::kpt_o_30D}; +constexpr const TVariable *p30E00D00D[3] = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt00D, + &BuiltInVariable::kpt00D}; +constexpr const TVariable *p30E00E00E[3] = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt00E, + &BuiltInVariable::kpt00E}; +constexpr const TVariable *p30E30E00D00D[4] = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p30E30E30E[3] = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E, + &BuiltInVariable::kpt30E}; +constexpr const TVariable *p30E30E30F[3] = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E, + &BuiltInVariable::kpt30F}; +constexpr const TVariable *p30E30E_o_30E_o_30E[4] = { + &BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E, &BuiltInVariable::kpt_o_30E, + &BuiltInVariable::kpt_o_30E}; +constexpr const TVariable *p30F30F30F[3] = {&BuiltInVariable::kpt30F, &BuiltInVariable::kpt30F, + &BuiltInVariable::kpt30F}; +constexpr const TVariable *p50B50B[2] = {&BuiltInVariable::kpt50B, &BuiltInVariable::kpt50B}; +constexpr const TVariable *p60B60B[2] = {&BuiltInVariable::kpt60B, &BuiltInVariable::kpt60B}; +constexpr const TVariable *p70B70B[2] = {&BuiltInVariable::kpt70B, &BuiltInVariable::kpt70B}; +constexpr const TVariable *p90B90B[2] = {&BuiltInVariable::kpt90B, &BuiltInVariable::kpt90B}; +constexpr const TVariable *pA0BA0B[2] = {&BuiltInVariable::kptA0B, &BuiltInVariable::kptA0B}; +constexpr const TVariable *pB0BB0B[2] = {&BuiltInVariable::kptB0B, &BuiltInVariable::kptB0B}; +constexpr const TVariable *pD0BD0B[2] = {&BuiltInVariable::kptD0B, &BuiltInVariable::kptD0B}; +constexpr const TVariable *pE0BE0B[2] = {&BuiltInVariable::kptE0B, &BuiltInVariable::kptE0B}; +constexpr const TVariable *pF0BF0B[2] = {&BuiltInVariable::kptF0B, &BuiltInVariable::kptF0B}; +constexpr const TVariable *p_io_00D00D00D[3] = {&BuiltInVariable::kpt_io_00D, + &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D}; +constexpr const TVariable *p_io_00E00E00E[3] = {&BuiltInVariable::kpt_io_00E, + &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E}; + +} // namespace BuiltInParameters + +// TODO(oetuaho): Would be nice to make this a class instead of a namespace so that we could friend +// this from TFunction. Now symbol constructors taking an id have to be public even though they're +// not supposed to be accessible from outside of here. http://anglebug.com/2390 +namespace Func +{ + +constexpr const TFunction radians_00B(BuiltInId::radians_Float1, + BuiltInName::radians, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpRadians, + true); +constexpr const TFunction radians_10B(BuiltInId::radians_Float2, + BuiltInName::radians, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpRadians, + true); +constexpr const TFunction radians_20B(BuiltInId::radians_Float3, + BuiltInName::radians, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpRadians, + true); +constexpr const TFunction radians_30B(BuiltInId::radians_Float4, + BuiltInName::radians, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpRadians, + true); +constexpr const TFunction degrees_00B(BuiltInId::degrees_Float1, + BuiltInName::degrees, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDegrees, + true); +constexpr const TFunction degrees_10B(BuiltInId::degrees_Float2, + BuiltInName::degrees, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpDegrees, + true); +constexpr const TFunction degrees_20B(BuiltInId::degrees_Float3, + BuiltInName::degrees, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpDegrees, + true); +constexpr const TFunction degrees_30B(BuiltInId::degrees_Float4, + BuiltInName::degrees, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpDegrees, + true); +constexpr const TFunction sin_00B(BuiltInId::sin_Float1, + BuiltInName::sin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpSin, + true); +constexpr const TFunction sin_10B(BuiltInId::sin_Float2, + BuiltInName::sin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSin, + true); +constexpr const TFunction sin_20B(BuiltInId::sin_Float3, + BuiltInName::sin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSin, + true); +constexpr const TFunction sin_30B(BuiltInId::sin_Float4, + BuiltInName::sin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSin, + true); +constexpr const TFunction cos_00B(BuiltInId::cos_Float1, + BuiltInName::cos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpCos, + true); +constexpr const TFunction cos_10B(BuiltInId::cos_Float2, + BuiltInName::cos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpCos, + true); +constexpr const TFunction cos_20B(BuiltInId::cos_Float3, + BuiltInName::cos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpCos, + true); +constexpr const TFunction cos_30B(BuiltInId::cos_Float4, + BuiltInName::cos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpCos, + true); +constexpr const TFunction tan_00B(BuiltInId::tan_Float1, + BuiltInName::tan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTan, + true); +constexpr const TFunction tan_10B(BuiltInId::tan_Float2, + BuiltInName::tan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTan, + true); +constexpr const TFunction tan_20B(BuiltInId::tan_Float3, + BuiltInName::tan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTan, + true); +constexpr const TFunction tan_30B(BuiltInId::tan_Float4, + BuiltInName::tan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTan, + true); +constexpr const TFunction asin_00B(BuiltInId::asin_Float1, + BuiltInName::asin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAsin, + true); +constexpr const TFunction asin_10B(BuiltInId::asin_Float2, + BuiltInName::asin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAsin, + true); +constexpr const TFunction asin_20B(BuiltInId::asin_Float3, + BuiltInName::asin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAsin, + true); +constexpr const TFunction asin_30B(BuiltInId::asin_Float4, + BuiltInName::asin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAsin, + true); +constexpr const TFunction acos_00B(BuiltInId::acos_Float1, + BuiltInName::acos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAcos, + true); +constexpr const TFunction acos_10B(BuiltInId::acos_Float2, + BuiltInName::acos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAcos, + true); +constexpr const TFunction acos_20B(BuiltInId::acos_Float3, + BuiltInName::acos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAcos, + true); +constexpr const TFunction acos_30B(BuiltInId::acos_Float4, + BuiltInName::acos, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAcos, + true); +constexpr const TFunction atan_00B00B(BuiltInId::atan_Float1_Float1, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_10B10B(BuiltInId::atan_Float2_Float2, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_20B20B(BuiltInId::atan_Float3_Float3, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_30B30B(BuiltInId::atan_Float4_Float4, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_00B(BuiltInId::atan_Float1, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_10B(BuiltInId::atan_Float2, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_20B(BuiltInId::atan_Float3, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAtan, + true); +constexpr const TFunction atan_30B(BuiltInId::atan_Float4, + BuiltInName::atan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAtan, + true); +constexpr const TFunction sinh_00B(BuiltInId::sinh_Float1, + BuiltInName::sinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpSinh, + true); +constexpr const TFunction sinh_10B(BuiltInId::sinh_Float2, + BuiltInName::sinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSinh, + true); +constexpr const TFunction sinh_20B(BuiltInId::sinh_Float3, + BuiltInName::sinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSinh, + true); +constexpr const TFunction sinh_30B(BuiltInId::sinh_Float4, + BuiltInName::sinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSinh, + true); +constexpr const TFunction cosh_00B(BuiltInId::cosh_Float1, + BuiltInName::cosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpCosh, + true); +constexpr const TFunction cosh_10B(BuiltInId::cosh_Float2, + BuiltInName::cosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpCosh, + true); +constexpr const TFunction cosh_20B(BuiltInId::cosh_Float3, + BuiltInName::cosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpCosh, + true); +constexpr const TFunction cosh_30B(BuiltInId::cosh_Float4, + BuiltInName::cosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpCosh, + true); +constexpr const TFunction tanh_00B(BuiltInId::tanh_Float1, + BuiltInName::tanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTanh, + true); +constexpr const TFunction tanh_10B(BuiltInId::tanh_Float2, + BuiltInName::tanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTanh, + true); +constexpr const TFunction tanh_20B(BuiltInId::tanh_Float3, + BuiltInName::tanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTanh, + true); +constexpr const TFunction tanh_30B(BuiltInId::tanh_Float4, + BuiltInName::tanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTanh, + true); +constexpr const TFunction asinh_00B(BuiltInId::asinh_Float1, + BuiltInName::asinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAsinh, + true); +constexpr const TFunction asinh_10B(BuiltInId::asinh_Float2, + BuiltInName::asinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAsinh, + true); +constexpr const TFunction asinh_20B(BuiltInId::asinh_Float3, + BuiltInName::asinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAsinh, + true); +constexpr const TFunction asinh_30B(BuiltInId::asinh_Float4, + BuiltInName::asinh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAsinh, + true); +constexpr const TFunction acosh_00B(BuiltInId::acosh_Float1, + BuiltInName::acosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAcosh, + true); +constexpr const TFunction acosh_10B(BuiltInId::acosh_Float2, + BuiltInName::acosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAcosh, + true); +constexpr const TFunction acosh_20B(BuiltInId::acosh_Float3, + BuiltInName::acosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAcosh, + true); +constexpr const TFunction acosh_30B(BuiltInId::acosh_Float4, + BuiltInName::acosh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAcosh, + true); +constexpr const TFunction atanh_00B(BuiltInId::atanh_Float1, + BuiltInName::atanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtanh, + true); +constexpr const TFunction atanh_10B(BuiltInId::atanh_Float2, + BuiltInName::atanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAtanh, + true); +constexpr const TFunction atanh_20B(BuiltInId::atanh_Float3, + BuiltInName::atanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAtanh, + true); +constexpr const TFunction atanh_30B(BuiltInId::atanh_Float4, + BuiltInName::atanh, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAtanh, + true); +constexpr const TFunction pow_00B00B(BuiltInId::pow_Float1_Float1, + BuiltInName::pow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPow, + true); +constexpr const TFunction pow_10B10B(BuiltInId::pow_Float2_Float2, + BuiltInName::pow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpPow, + true); +constexpr const TFunction pow_20B20B(BuiltInId::pow_Float3_Float3, + BuiltInName::pow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpPow, + true); +constexpr const TFunction pow_30B30B(BuiltInId::pow_Float4_Float4, + BuiltInName::pow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpPow, + true); +constexpr const TFunction exp_00B(BuiltInId::exp_Float1, + BuiltInName::exp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpExp, + true); +constexpr const TFunction exp_10B(BuiltInId::exp_Float2, + BuiltInName::exp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpExp, + true); +constexpr const TFunction exp_20B(BuiltInId::exp_Float3, + BuiltInName::exp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpExp, + true); +constexpr const TFunction exp_30B(BuiltInId::exp_Float4, + BuiltInName::exp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpExp, + true); +constexpr const TFunction log_00B(BuiltInId::log_Float1, + BuiltInName::log, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLog, + true); +constexpr const TFunction log_10B(BuiltInId::log_Float2, + BuiltInName::log, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLog, + true); +constexpr const TFunction log_20B(BuiltInId::log_Float3, + BuiltInName::log, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLog, + true); +constexpr const TFunction log_30B(BuiltInId::log_Float4, + BuiltInName::log, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLog, + true); +constexpr const TFunction exp2_00B(BuiltInId::exp2_Float1, + BuiltInName::exp2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpExp2, + true); +constexpr const TFunction exp2_10B(BuiltInId::exp2_Float2, + BuiltInName::exp2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpExp2, + true); +constexpr const TFunction exp2_20B(BuiltInId::exp2_Float3, + BuiltInName::exp2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpExp2, + true); +constexpr const TFunction exp2_30B(BuiltInId::exp2_Float4, + BuiltInName::exp2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpExp2, + true); +constexpr const TFunction log2_00B(BuiltInId::log2_Float1, + BuiltInName::log2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLog2, + true); +constexpr const TFunction log2_10B(BuiltInId::log2_Float2, + BuiltInName::log2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLog2, + true); +constexpr const TFunction log2_20B(BuiltInId::log2_Float3, + BuiltInName::log2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLog2, + true); +constexpr const TFunction log2_30B(BuiltInId::log2_Float4, + BuiltInName::log2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLog2, + true); +constexpr const TFunction sqrt_00B(BuiltInId::sqrt_Float1, + BuiltInName::sqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpSqrt, + true); +constexpr const TFunction sqrt_10B(BuiltInId::sqrt_Float2, + BuiltInName::sqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSqrt, + true); +constexpr const TFunction sqrt_20B(BuiltInId::sqrt_Float3, + BuiltInName::sqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSqrt, + true); +constexpr const TFunction sqrt_30B(BuiltInId::sqrt_Float4, + BuiltInName::sqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSqrt, + true); +constexpr const TFunction inversesqrt_00B( + BuiltInId::inversesqrt_Float1, + BuiltInName::inversesqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInversesqrt, + true); +constexpr const TFunction inversesqrt_10B( + BuiltInId::inversesqrt_Float2, + BuiltInName::inversesqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInversesqrt, + true); +constexpr const TFunction inversesqrt_20B( + BuiltInId::inversesqrt_Float3, + BuiltInName::inversesqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInversesqrt, + true); +constexpr const TFunction inversesqrt_30B( + BuiltInId::inversesqrt_Float4, + BuiltInName::inversesqrt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInversesqrt, + true); +constexpr const TFunction abs_00B(BuiltInId::abs_Float1, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_10B(BuiltInId::abs_Float2, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_20B(BuiltInId::abs_Float3, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_30B(BuiltInId::abs_Float4, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_00D(BuiltInId::abs_Int1, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_10D(BuiltInId::abs_Int2, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_20D(BuiltInId::abs_Int3, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpAbs, + true); +constexpr const TFunction abs_30D(BuiltInId::abs_Int4, + BuiltInName::abs, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpAbs, + true); +constexpr const TFunction sign_00B(BuiltInId::sign_Float1, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpSign, + true); +constexpr const TFunction sign_10B(BuiltInId::sign_Float2, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSign, + true); +constexpr const TFunction sign_20B(BuiltInId::sign_Float3, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSign, + true); +constexpr const TFunction sign_30B(BuiltInId::sign_Float4, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSign, + true); +constexpr const TFunction sign_00D(BuiltInId::sign_Int1, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpSign, + true); +constexpr const TFunction sign_10D(BuiltInId::sign_Int2, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSign, + true); +constexpr const TFunction sign_20D(BuiltInId::sign_Int3, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSign, + true); +constexpr const TFunction sign_30D(BuiltInId::sign_Int4, + BuiltInName::sign, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSign, + true); +constexpr const TFunction floor_00B(BuiltInId::floor_Float1, + BuiltInName::floor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFloor, + true); +constexpr const TFunction floor_10B(BuiltInId::floor_Float2, + BuiltInName::floor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFloor, + true); +constexpr const TFunction floor_20B(BuiltInId::floor_Float3, + BuiltInName::floor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFloor, + true); +constexpr const TFunction floor_30B(BuiltInId::floor_Float4, + BuiltInName::floor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFloor, + true); +constexpr const TFunction trunc_00B(BuiltInId::trunc_Float1, + BuiltInName::trunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTrunc, + true); +constexpr const TFunction trunc_10B(BuiltInId::trunc_Float2, + BuiltInName::trunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTrunc, + true); +constexpr const TFunction trunc_20B(BuiltInId::trunc_Float3, + BuiltInName::trunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTrunc, + true); +constexpr const TFunction trunc_30B(BuiltInId::trunc_Float4, + BuiltInName::trunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTrunc, + true); +constexpr const TFunction round_00B(BuiltInId::round_Float1, + BuiltInName::round, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpRound, + true); +constexpr const TFunction round_10B(BuiltInId::round_Float2, + BuiltInName::round, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpRound, + true); +constexpr const TFunction round_20B(BuiltInId::round_Float3, + BuiltInName::round, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpRound, + true); +constexpr const TFunction round_30B(BuiltInId::round_Float4, + BuiltInName::round, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpRound, + true); +constexpr const TFunction roundEven_00B(BuiltInId::roundEven_Float1, + BuiltInName::roundEven, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpRoundEven, + true); +constexpr const TFunction roundEven_10B(BuiltInId::roundEven_Float2, + BuiltInName::roundEven, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpRoundEven, + true); +constexpr const TFunction roundEven_20B(BuiltInId::roundEven_Float3, + BuiltInName::roundEven, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpRoundEven, + true); +constexpr const TFunction roundEven_30B(BuiltInId::roundEven_Float4, + BuiltInName::roundEven, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpRoundEven, + true); +constexpr const TFunction ceil_00B(BuiltInId::ceil_Float1, + BuiltInName::ceil, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpCeil, + true); +constexpr const TFunction ceil_10B(BuiltInId::ceil_Float2, + BuiltInName::ceil, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpCeil, + true); +constexpr const TFunction ceil_20B(BuiltInId::ceil_Float3, + BuiltInName::ceil, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpCeil, + true); +constexpr const TFunction ceil_30B(BuiltInId::ceil_Float4, + BuiltInName::ceil, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpCeil, + true); +constexpr const TFunction fract_00B(BuiltInId::fract_Float1, + BuiltInName::fract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFract, + true); +constexpr const TFunction fract_10B(BuiltInId::fract_Float2, + BuiltInName::fract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFract, + true); +constexpr const TFunction fract_20B(BuiltInId::fract_Float3, + BuiltInName::fract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFract, + true); +constexpr const TFunction fract_30B(BuiltInId::fract_Float4, + BuiltInName::fract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFract, + true); +constexpr const TFunction mod_00B00B(BuiltInId::mod_Float1_Float1, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMod, + true); +constexpr const TFunction mod_10B00B(BuiltInId::mod_Float2_Float1, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMod, + true); +constexpr const TFunction mod_20B00B(BuiltInId::mod_Float3_Float1, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMod, + true); +constexpr const TFunction mod_30B00B(BuiltInId::mod_Float4_Float1, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMod, + true); +constexpr const TFunction mod_10B10B(BuiltInId::mod_Float2_Float2, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMod, + true); +constexpr const TFunction mod_20B20B(BuiltInId::mod_Float3_Float3, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMod, + true); +constexpr const TFunction mod_30B30B(BuiltInId::mod_Float4_Float4, + BuiltInName::mod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMod, + true); +constexpr const TFunction min_00B00B(BuiltInId::min_Float1_Float1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMin, + true); +constexpr const TFunction min_10B00B(BuiltInId::min_Float2_Float1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMin, + true); +constexpr const TFunction min_20B00B(BuiltInId::min_Float3_Float1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMin, + true); +constexpr const TFunction min_30B00B(BuiltInId::min_Float4_Float1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMin, + true); +constexpr const TFunction min_10B10B(BuiltInId::min_Float2_Float2, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMin, + true); +constexpr const TFunction min_20B20B(BuiltInId::min_Float3_Float3, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMin, + true); +constexpr const TFunction min_30B30B(BuiltInId::min_Float4_Float4, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMin, + true); +constexpr const TFunction min_00D00D(BuiltInId::min_Int1_Int1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMin, + true); +constexpr const TFunction min_10D10D(BuiltInId::min_Int2_Int2, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMin, + true); +constexpr const TFunction min_20D20D(BuiltInId::min_Int3_Int3, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMin, + true); +constexpr const TFunction min_30D30D(BuiltInId::min_Int4_Int4, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMin, + true); +constexpr const TFunction min_10D00D(BuiltInId::min_Int2_Int1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMin, + true); +constexpr const TFunction min_20D00D(BuiltInId::min_Int3_Int1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMin, + true); +constexpr const TFunction min_30D00D(BuiltInId::min_Int4_Int1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMin, + true); +constexpr const TFunction min_00E00E(BuiltInId::min_UInt1_UInt1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMin, + true); +constexpr const TFunction min_10E10E(BuiltInId::min_UInt2_UInt2, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMin, + true); +constexpr const TFunction min_20E20E(BuiltInId::min_UInt3_UInt3, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMin, + true); +constexpr const TFunction min_30E30E(BuiltInId::min_UInt4_UInt4, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMin, + true); +constexpr const TFunction min_10E00E(BuiltInId::min_UInt2_UInt1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMin, + true); +constexpr const TFunction min_20E00E(BuiltInId::min_UInt3_UInt1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMin, + true); +constexpr const TFunction min_30E00E(BuiltInId::min_UInt4_UInt1, + BuiltInName::min, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMin, + true); +constexpr const TFunction max_00B00B(BuiltInId::max_Float1_Float1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMax, + true); +constexpr const TFunction max_10B00B(BuiltInId::max_Float2_Float1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMax, + true); +constexpr const TFunction max_20B00B(BuiltInId::max_Float3_Float1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMax, + true); +constexpr const TFunction max_30B00B(BuiltInId::max_Float4_Float1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMax, + true); +constexpr const TFunction max_10B10B(BuiltInId::max_Float2_Float2, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMax, + true); +constexpr const TFunction max_20B20B(BuiltInId::max_Float3_Float3, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMax, + true); +constexpr const TFunction max_30B30B(BuiltInId::max_Float4_Float4, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMax, + true); +constexpr const TFunction max_00D00D(BuiltInId::max_Int1_Int1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMax, + true); +constexpr const TFunction max_10D10D(BuiltInId::max_Int2_Int2, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMax, + true); +constexpr const TFunction max_20D20D(BuiltInId::max_Int3_Int3, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMax, + true); +constexpr const TFunction max_30D30D(BuiltInId::max_Int4_Int4, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMax, + true); +constexpr const TFunction max_10D00D(BuiltInId::max_Int2_Int1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMax, + true); +constexpr const TFunction max_20D00D(BuiltInId::max_Int3_Int1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMax, + true); +constexpr const TFunction max_30D00D(BuiltInId::max_Int4_Int1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMax, + true); +constexpr const TFunction max_00E00E(BuiltInId::max_UInt1_UInt1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMax, + true); +constexpr const TFunction max_10E10E(BuiltInId::max_UInt2_UInt2, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMax, + true); +constexpr const TFunction max_20E20E(BuiltInId::max_UInt3_UInt3, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMax, + true); +constexpr const TFunction max_30E30E(BuiltInId::max_UInt4_UInt4, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMax, + true); +constexpr const TFunction max_10E00E(BuiltInId::max_UInt2_UInt1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMax, + true); +constexpr const TFunction max_20E00E(BuiltInId::max_UInt3_UInt1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMax, + true); +constexpr const TFunction max_30E00E(BuiltInId::max_UInt4_UInt1, + BuiltInName::max, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMax, + true); +constexpr const TFunction clamp_00B00B00B( + BuiltInId::clamp_Float1_Float1_Float1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_10B00B00B( + BuiltInId::clamp_Float2_Float1_Float1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_20B00B00B( + BuiltInId::clamp_Float3_Float1_Float1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_30B00B00B( + BuiltInId::clamp_Float4_Float1_Float1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_10B10B10B( + BuiltInId::clamp_Float2_Float2_Float2, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_20B20B20B( + BuiltInId::clamp_Float3_Float3_Float3, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_30B30B30B( + BuiltInId::clamp_Float4_Float4_Float4, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_00D00D00D(BuiltInId::clamp_Int1_Int1_Int1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_10D00D00D(BuiltInId::clamp_Int2_Int1_Int1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_20D00D00D(BuiltInId::clamp_Int3_Int1_Int1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_30D00D00D(BuiltInId::clamp_Int4_Int1_Int1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_10D10D10D(BuiltInId::clamp_Int2_Int2_Int2, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_20D20D20D(BuiltInId::clamp_Int3_Int3_Int3, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D20D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_30D30D30D(BuiltInId::clamp_Int4_Int4_Int4, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D30D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_00E00E00E(BuiltInId::clamp_UInt1_UInt1_UInt1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_10E00E00E(BuiltInId::clamp_UInt2_UInt1_UInt1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_20E00E00E(BuiltInId::clamp_UInt3_UInt1_UInt1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_30E00E00E(BuiltInId::clamp_UInt4_UInt1_UInt1, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_10E10E10E(BuiltInId::clamp_UInt2_UInt2_UInt2, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E10E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_20E20E20E(BuiltInId::clamp_UInt3_UInt3_UInt3, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E20E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpClamp, + true); +constexpr const TFunction clamp_30E30E30E(BuiltInId::clamp_UInt4_UInt4_UInt4, + BuiltInName::clamp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E30E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpClamp, + true); +constexpr const TFunction mix_00B00B00B(BuiltInId::mix_Float1_Float1_Float1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMix, + true); +constexpr const TFunction mix_10B10B00B(BuiltInId::mix_Float2_Float2_Float1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMix, + true); +constexpr const TFunction mix_20B20B00B(BuiltInId::mix_Float3_Float3_Float1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMix, + true); +constexpr const TFunction mix_30B30B00B(BuiltInId::mix_Float4_Float4_Float1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMix, + true); +constexpr const TFunction mix_10B10B10B(BuiltInId::mix_Float2_Float2_Float2, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMix, + true); +constexpr const TFunction mix_20B20B20B(BuiltInId::mix_Float3_Float3_Float3, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMix, + true); +constexpr const TFunction mix_30B30B30B(BuiltInId::mix_Float4_Float4_Float4, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMix, + true); +constexpr const TFunction mix_00B00B00F(BuiltInId::mix_Float1_Float1_Bool1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00F, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMix, + true); +constexpr const TFunction mix_10B10B10F(BuiltInId::mix_Float2_Float2_Bool2, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B10F, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMix, + true); +constexpr const TFunction mix_20B20B20F(BuiltInId::mix_Float3_Float3_Bool3, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B20F, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMix, + true); +constexpr const TFunction mix_30B30B30F(BuiltInId::mix_Float4_Float4_Bool4, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B30F, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMix, + true); +constexpr const TFunction mix_00D00D00F(BuiltInId::mix_Int1_Int1_Bool1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00F, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMix, + true); +constexpr const TFunction mix_10D10D10F(BuiltInId::mix_Int2_Int2_Bool2, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D10F, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMix, + true); +constexpr const TFunction mix_20D20D20F(BuiltInId::mix_Int3_Int3_Bool3, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D20F, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMix, + true); +constexpr const TFunction mix_30D30D30F(BuiltInId::mix_Int4_Int4_Bool4, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D30F, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMix, + true); +constexpr const TFunction mix_00E00E00F(BuiltInId::mix_UInt1_UInt1_Bool1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E00F, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMix, + true); +constexpr const TFunction mix_10E10E10F(BuiltInId::mix_UInt2_UInt2_Bool2, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E10F, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMix, + true); +constexpr const TFunction mix_20E20E20F(BuiltInId::mix_UInt3_UInt3_Bool3, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E20F, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMix, + true); +constexpr const TFunction mix_30E30E30F(BuiltInId::mix_UInt4_UInt4_Bool4, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E30F, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMix, + true); +constexpr const TFunction mix_00F00F00F(BuiltInId::mix_Bool1_Bool1_Bool1, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00F00F00F, + 3, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMix, + true); +constexpr const TFunction mix_10F10F10F(BuiltInId::mix_Bool2_Bool2_Bool2, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10F10F10F, + 3, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpMix, + true); +constexpr const TFunction mix_20F20F20F(BuiltInId::mix_Bool3_Bool3_Bool3, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20F20F20F, + 3, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpMix, + true); +constexpr const TFunction mix_30F30F30F(BuiltInId::mix_Bool4_Bool4_Bool4, + BuiltInName::mix, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30F30F30F, + 3, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpMix, + true); +constexpr const TFunction step_00B00B(BuiltInId::step_Float1_Float1, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpStep, + true); +constexpr const TFunction step_10B10B(BuiltInId::step_Float2_Float2, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpStep, + true); +constexpr const TFunction step_20B20B(BuiltInId::step_Float3_Float3, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpStep, + true); +constexpr const TFunction step_30B30B(BuiltInId::step_Float4_Float4, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpStep, + true); +constexpr const TFunction step_00B10B(BuiltInId::step_Float1_Float2, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpStep, + true); +constexpr const TFunction step_00B20B(BuiltInId::step_Float1_Float3, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B20B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpStep, + true); +constexpr const TFunction step_00B30B(BuiltInId::step_Float1_Float4, + BuiltInName::step, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B30B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpStep, + true); +constexpr const TFunction smoothstep_00B00B00B( + BuiltInId::smoothstep_Float1_Float1_Float1, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction smoothstep_10B10B10B( + BuiltInId::smoothstep_Float2_Float2_Float2, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction smoothstep_20B20B20B( + BuiltInId::smoothstep_Float3_Float3_Float3, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction smoothstep_30B30B30B( + BuiltInId::smoothstep_Float4_Float4_Float4, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction smoothstep_00B00B10B( + BuiltInId::smoothstep_Float1_Float1_Float2, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction smoothstep_00B00B20B( + BuiltInId::smoothstep_Float1_Float1_Float3, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction smoothstep_00B00B30B( + BuiltInId::smoothstep_Float1_Float1_Float4, + BuiltInName::smoothstep, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSmoothstep, + true); +constexpr const TFunction modf_00B00B(BuiltInId::modf_Float1_Float1, + BuiltInName::modf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B_o_00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpModf, + false); +constexpr const TFunction modf_10B10B(BuiltInId::modf_Float2_Float2, + BuiltInName::modf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B_o_10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpModf, + false); +constexpr const TFunction modf_20B20B(BuiltInId::modf_Float3_Float3, + BuiltInName::modf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B_o_20B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpModf, + false); +constexpr const TFunction modf_30B30B(BuiltInId::modf_Float4_Float4, + BuiltInName::modf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B_o_30B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpModf, + false); +constexpr const TFunction isnan_00B(BuiltInId::isnan_Float1, + BuiltInName::isnan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpIsnan, + true); +constexpr const TFunction isnan_10B(BuiltInId::isnan_Float2, + BuiltInName::isnan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpIsnan, + true); +constexpr const TFunction isnan_20B(BuiltInId::isnan_Float3, + BuiltInName::isnan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpIsnan, + true); +constexpr const TFunction isnan_30B(BuiltInId::isnan_Float4, + BuiltInName::isnan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpIsnan, + true); +constexpr const TFunction isinf_00B(BuiltInId::isinf_Float1, + BuiltInName::isinf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpIsinf, + true); +constexpr const TFunction isinf_10B(BuiltInId::isinf_Float2, + BuiltInName::isinf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpIsinf, + true); +constexpr const TFunction isinf_20B(BuiltInId::isinf_Float3, + BuiltInName::isinf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpIsinf, + true); +constexpr const TFunction isinf_30B(BuiltInId::isinf_Float4, + BuiltInName::isinf, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpIsinf, + true); +constexpr const TFunction floatBitsToInt_00B( + BuiltInId::floatBitsToInt_Float1, + BuiltInName::floatBitsToInt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFloatBitsToInt, + true); +constexpr const TFunction floatBitsToInt_10B( + BuiltInId::floatBitsToInt_Float2, + BuiltInName::floatBitsToInt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFloatBitsToInt, + true); +constexpr const TFunction floatBitsToInt_20B( + BuiltInId::floatBitsToInt_Float3, + BuiltInName::floatBitsToInt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFloatBitsToInt, + true); +constexpr const TFunction floatBitsToInt_30B( + BuiltInId::floatBitsToInt_Float4, + BuiltInName::floatBitsToInt, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFloatBitsToInt, + true); +constexpr const TFunction floatBitsToUint_00B( + BuiltInId::floatBitsToUint_Float1, + BuiltInName::floatBitsToUint, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFloatBitsToUint, + true); +constexpr const TFunction floatBitsToUint_10B( + BuiltInId::floatBitsToUint_Float2, + BuiltInName::floatBitsToUint, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFloatBitsToUint, + true); +constexpr const TFunction floatBitsToUint_20B( + BuiltInId::floatBitsToUint_Float3, + BuiltInName::floatBitsToUint, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFloatBitsToUint, + true); +constexpr const TFunction floatBitsToUint_30B( + BuiltInId::floatBitsToUint_Float4, + BuiltInName::floatBitsToUint, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFloatBitsToUint, + true); +constexpr const TFunction intBitsToFloat_00D( + BuiltInId::intBitsToFloat_Int1, + BuiltInName::intBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpIntBitsToFloat, + true); +constexpr const TFunction intBitsToFloat_10D( + BuiltInId::intBitsToFloat_Int2, + BuiltInName::intBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpIntBitsToFloat, + true); +constexpr const TFunction intBitsToFloat_20D( + BuiltInId::intBitsToFloat_Int3, + BuiltInName::intBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpIntBitsToFloat, + true); +constexpr const TFunction intBitsToFloat_30D( + BuiltInId::intBitsToFloat_Int4, + BuiltInName::intBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpIntBitsToFloat, + true); +constexpr const TFunction uintBitsToFloat_00E( + BuiltInId::uintBitsToFloat_UInt1, + BuiltInName::uintBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUintBitsToFloat, + true); +constexpr const TFunction uintBitsToFloat_10E( + BuiltInId::uintBitsToFloat_UInt2, + BuiltInName::uintBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpUintBitsToFloat, + true); +constexpr const TFunction uintBitsToFloat_20E( + BuiltInId::uintBitsToFloat_UInt3, + BuiltInName::uintBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpUintBitsToFloat, + true); +constexpr const TFunction uintBitsToFloat_30E( + BuiltInId::uintBitsToFloat_UInt4, + BuiltInName::uintBitsToFloat, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpUintBitsToFloat, + true); +constexpr const TFunction fma_00B00B00B(BuiltInId::fma_Float1_Float1_Float1, + BuiltInName::fma, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFma, + true); +constexpr const TFunction fma_10B10B10B(BuiltInId::fma_Float2_Float2_Float2, + BuiltInName::fma, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFma, + true); +constexpr const TFunction fma_20B20B20B(BuiltInId::fma_Float3_Float3_Float3, + BuiltInName::fma, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFma, + true); +constexpr const TFunction fma_30B30B30B(BuiltInId::fma_Float4_Float4_Float4, + BuiltInName::fma, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFma, + true); +constexpr const TFunction fmaExt_00B00B00B( + BuiltInId::fmaExt_Float1_Float1_Float1, + BuiltInName::fmaExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFma, + true); +constexpr const TFunction fmaExt_10B10B10B( + BuiltInId::fmaExt_Float2_Float2_Float2, + BuiltInName::fmaExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p10B10B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFma, + true); +constexpr const TFunction fmaExt_20B20B20B( + BuiltInId::fmaExt_Float3_Float3_Float3, + BuiltInName::fmaExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p20B20B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFma, + true); +constexpr const TFunction fmaExt_30B30B30B( + BuiltInId::fmaExt_Float4_Float4_Float4, + BuiltInName::fmaExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p30B30B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFma, + true); +constexpr const TFunction frexp_00B00D(BuiltInId::frexp_Float1_Int1, + BuiltInName::frexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B_o_00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFrexp, + false); +constexpr const TFunction frexp_10B10D(BuiltInId::frexp_Float2_Int2, + BuiltInName::frexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B_o_10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFrexp, + false); +constexpr const TFunction frexp_20B20D(BuiltInId::frexp_Float3_Int3, + BuiltInName::frexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B_o_20D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFrexp, + false); +constexpr const TFunction frexp_30B30D(BuiltInId::frexp_Float4_Int4, + BuiltInName::frexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B_o_30D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFrexp, + false); +constexpr const TFunction ldexp_00B00D(BuiltInId::ldexp_Float1_Int1, + BuiltInName::ldexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLdexp, + true); +constexpr const TFunction ldexp_10B10D(BuiltInId::ldexp_Float2_Int2, + BuiltInName::ldexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLdexp, + true); +constexpr const TFunction ldexp_20B20D(BuiltInId::ldexp_Float3_Int3, + BuiltInName::ldexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLdexp, + true); +constexpr const TFunction ldexp_30B30D(BuiltInId::ldexp_Float4_Int4, + BuiltInName::ldexp, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLdexp, + true); +constexpr const TFunction packSnorm2x16_10B( + BuiltInId::packSnorm2x16_Float2, + BuiltInName::packSnorm2x16, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPackSnorm2x16, + true); +constexpr const TFunction packHalf2x16_10B( + BuiltInId::packHalf2x16_Float2, + BuiltInName::packHalf2x16, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPackHalf2x16, + true); +constexpr const TFunction unpackSnorm2x16_00E( + BuiltInId::unpackSnorm2x16_UInt1, + BuiltInName::unpackSnorm2x16, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpUnpackSnorm2x16, + true); +constexpr const TFunction unpackHalf2x16_00E( + BuiltInId::unpackHalf2x16_UInt1, + BuiltInName::unpackHalf2x16, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpUnpackHalf2x16, + true); +constexpr const TFunction packUnorm2x16_10B( + BuiltInId::packUnorm2x16_Float2, + BuiltInName::packUnorm2x16, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPackUnorm2x16, + true); +constexpr const TFunction unpackUnorm2x16_00E( + BuiltInId::unpackUnorm2x16_UInt1, + BuiltInName::unpackUnorm2x16, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpUnpackUnorm2x16, + true); +constexpr const TFunction packUnorm4x8_30B( + BuiltInId::packUnorm4x8_Float4, + BuiltInName::packUnorm4x8, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPackUnorm4x8, + true); +constexpr const TFunction packSnorm4x8_30B( + BuiltInId::packSnorm4x8_Float4, + BuiltInName::packSnorm4x8, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPackSnorm4x8, + true); +constexpr const TFunction unpackUnorm4x8_00E( + BuiltInId::unpackUnorm4x8_UInt1, + BuiltInName::unpackUnorm4x8, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpUnpackUnorm4x8, + true); +constexpr const TFunction unpackSnorm4x8_00E( + BuiltInId::unpackSnorm4x8_UInt1, + BuiltInName::unpackSnorm4x8, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpUnpackSnorm4x8, + true); +constexpr const TFunction length_00B(BuiltInId::length_Float1, + BuiltInName::length, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLength, + true); +constexpr const TFunction length_10B(BuiltInId::length_Float2, + BuiltInName::length, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLength, + true); +constexpr const TFunction length_20B(BuiltInId::length_Float3, + BuiltInName::length, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLength, + true); +constexpr const TFunction length_30B(BuiltInId::length_Float4, + BuiltInName::length, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpLength, + true); +constexpr const TFunction distance_00B00B( + BuiltInId::distance_Float1_Float1, + BuiltInName::distance, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDistance, + true); +constexpr const TFunction distance_10B10B( + BuiltInId::distance_Float2_Float2, + BuiltInName::distance, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDistance, + true); +constexpr const TFunction distance_20B20B( + BuiltInId::distance_Float3_Float3, + BuiltInName::distance, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDistance, + true); +constexpr const TFunction distance_30B30B( + BuiltInId::distance_Float4_Float4, + BuiltInName::distance, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDistance, + true); +constexpr const TFunction dot_00B00B(BuiltInId::dot_Float1_Float1, + BuiltInName::dot, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDot, + true); +constexpr const TFunction dot_10B10B(BuiltInId::dot_Float2_Float2, + BuiltInName::dot, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDot, + true); +constexpr const TFunction dot_20B20B(BuiltInId::dot_Float3_Float3, + BuiltInName::dot, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDot, + true); +constexpr const TFunction dot_30B30B(BuiltInId::dot_Float4_Float4, + BuiltInName::dot, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDot, + true); +constexpr const TFunction cross_20B20B(BuiltInId::cross_Float3_Float3, + BuiltInName::cross, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpCross, + true); +constexpr const TFunction normalize_00B(BuiltInId::normalize_Float1, + BuiltInName::normalize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpNormalize, + true); +constexpr const TFunction normalize_10B(BuiltInId::normalize_Float2, + BuiltInName::normalize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpNormalize, + true); +constexpr const TFunction normalize_20B(BuiltInId::normalize_Float3, + BuiltInName::normalize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpNormalize, + true); +constexpr const TFunction normalize_30B(BuiltInId::normalize_Float4, + BuiltInName::normalize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpNormalize, + true); +constexpr const TFunction faceforward_00B00B00B( + BuiltInId::faceforward_Float1_Float1_Float1, + BuiltInName::faceforward, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFaceforward, + true); +constexpr const TFunction faceforward_10B10B10B( + BuiltInId::faceforward_Float2_Float2_Float2, + BuiltInName::faceforward, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B10B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFaceforward, + true); +constexpr const TFunction faceforward_20B20B20B( + BuiltInId::faceforward_Float3_Float3_Float3, + BuiltInName::faceforward, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B20B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFaceforward, + true); +constexpr const TFunction faceforward_30B30B30B( + BuiltInId::faceforward_Float4_Float4_Float4, + BuiltInName::faceforward, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B30B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFaceforward, + true); +constexpr const TFunction reflect_00B00B(BuiltInId::reflect_Float1_Float1, + BuiltInName::reflect, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpReflect, + true); +constexpr const TFunction reflect_10B10B(BuiltInId::reflect_Float2_Float2, + BuiltInName::reflect, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpReflect, + true); +constexpr const TFunction reflect_20B20B(BuiltInId::reflect_Float3_Float3, + BuiltInName::reflect, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpReflect, + true); +constexpr const TFunction reflect_30B30B(BuiltInId::reflect_Float4_Float4, + BuiltInName::reflect, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpReflect, + true); +constexpr const TFunction refract_00B00B00B( + BuiltInId::refract_Float1_Float1_Float1, + BuiltInName::refract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpRefract, + true); +constexpr const TFunction refract_10B10B00B( + BuiltInId::refract_Float2_Float2_Float1, + BuiltInName::refract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpRefract, + true); +constexpr const TFunction refract_20B20B00B( + BuiltInId::refract_Float3_Float3_Float1, + BuiltInName::refract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpRefract, + true); +constexpr const TFunction refract_30B30B00B( + BuiltInId::refract_Float4_Float4_Float1, + BuiltInName::refract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpRefract, + true); +constexpr const TFunction matrixCompMult_50B50B( + BuiltInId::matrixCompMult_Float2x2_Float2x2, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p50B50B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_A0BA0B( + BuiltInId::matrixCompMult_Float3x3_Float3x3, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pA0BA0B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_F0BF0B( + BuiltInId::matrixCompMult_Float4x4_Float4x4, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pF0BF0B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_90B90B( + BuiltInId::matrixCompMult_Float2x3_Float2x3, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p90B90B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_60B60B( + BuiltInId::matrixCompMult_Float3x2_Float3x2, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p60B60B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_D0BD0B( + BuiltInId::matrixCompMult_Float2x4_Float2x4, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pD0BD0B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_70B70B( + BuiltInId::matrixCompMult_Float4x2_Float4x2, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p70B70B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_E0BE0B( + BuiltInId::matrixCompMult_Float3x4_Float3x4, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pE0BE0B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(), + EOpMatrixCompMult, + true); +constexpr const TFunction matrixCompMult_B0BB0B( + BuiltInId::matrixCompMult_Float4x3_Float4x3, + BuiltInName::matrixCompMult, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pB0BB0B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(), + EOpMatrixCompMult, + true); +constexpr const TFunction outerProduct_10B10B( + BuiltInId::outerProduct_Float2_Float2, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_20B20B( + BuiltInId::outerProduct_Float3_Float3, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_30B30B( + BuiltInId::outerProduct_Float4_Float4, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_20B10B( + BuiltInId::outerProduct_Float3_Float2, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_10B20B( + BuiltInId::outerProduct_Float2_Float3, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B20B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_30B10B( + BuiltInId::outerProduct_Float4_Float2, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_10B30B( + BuiltInId::outerProduct_Float2_Float4, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B30B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_30B20B( + BuiltInId::outerProduct_Float4_Float3, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B20B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(), + EOpOuterProduct, + true); +constexpr const TFunction outerProduct_20B30B( + BuiltInId::outerProduct_Float3_Float4, + BuiltInName::outerProduct, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B30B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(), + EOpOuterProduct, + true); +constexpr const TFunction transpose_50B(BuiltInId::transpose_Float2x2, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p50B50B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(), + EOpTranspose, + true); +constexpr const TFunction transpose_A0B(BuiltInId::transpose_Float3x3, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pA0BA0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(), + EOpTranspose, + true); +constexpr const TFunction transpose_F0B(BuiltInId::transpose_Float4x4, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pF0BF0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(), + EOpTranspose, + true); +constexpr const TFunction transpose_60B(BuiltInId::transpose_Float3x2, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p60B60B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(), + EOpTranspose, + true); +constexpr const TFunction transpose_90B(BuiltInId::transpose_Float2x3, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p90B90B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(), + EOpTranspose, + true); +constexpr const TFunction transpose_70B(BuiltInId::transpose_Float4x2, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p70B70B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(), + EOpTranspose, + true); +constexpr const TFunction transpose_D0B(BuiltInId::transpose_Float2x4, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pD0BD0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(), + EOpTranspose, + true); +constexpr const TFunction transpose_B0B(BuiltInId::transpose_Float4x3, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pB0BB0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(), + EOpTranspose, + true); +constexpr const TFunction transpose_E0B(BuiltInId::transpose_Float3x4, + BuiltInName::transpose, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pE0BE0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(), + EOpTranspose, + true); +constexpr const TFunction determinant_50B( + BuiltInId::determinant_Float2x2, + BuiltInName::determinant, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p50B50B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDeterminant, + true); +constexpr const TFunction determinant_A0B( + BuiltInId::determinant_Float3x3, + BuiltInName::determinant, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pA0BA0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDeterminant, + true); +constexpr const TFunction determinant_F0B( + BuiltInId::determinant_Float4x4, + BuiltInName::determinant, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pF0BF0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDeterminant, + true); +constexpr const TFunction inverse_50B(BuiltInId::inverse_Float2x2, + BuiltInName::inverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p50B50B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(), + EOpInverse, + true); +constexpr const TFunction inverse_A0B(BuiltInId::inverse_Float3x3, + BuiltInName::inverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pA0BA0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(), + EOpInverse, + true); +constexpr const TFunction inverse_F0B(BuiltInId::inverse_Float4x4, + BuiltInName::inverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::pF0BF0B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(), + EOpInverse, + true); +constexpr const TFunction lessThan_10B10B(BuiltInId::lessThan_Float2_Float2, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_20B20B(BuiltInId::lessThan_Float3_Float3, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_30B30B(BuiltInId::lessThan_Float4_Float4, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_10D10D(BuiltInId::lessThan_Int2_Int2, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_20D20D(BuiltInId::lessThan_Int3_Int3, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_30D30D(BuiltInId::lessThan_Int4_Int4, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_10E10E(BuiltInId::lessThan_UInt2_UInt2, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_20E20E(BuiltInId::lessThan_UInt3_UInt3, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThan_30E30E(BuiltInId::lessThan_UInt4_UInt4, + BuiltInName::lessThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLessThanComponentWise, + true); +constexpr const TFunction lessThanEqual_10B10B( + BuiltInId::lessThanEqual_Float2_Float2, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_20B20B( + BuiltInId::lessThanEqual_Float3_Float3, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_30B30B( + BuiltInId::lessThanEqual_Float4_Float4, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_10D10D( + BuiltInId::lessThanEqual_Int2_Int2, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_20D20D( + BuiltInId::lessThanEqual_Int3_Int3, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_30D30D( + BuiltInId::lessThanEqual_Int4_Int4, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_10E10E( + BuiltInId::lessThanEqual_UInt2_UInt2, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_20E20E( + BuiltInId::lessThanEqual_UInt3_UInt3, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction lessThanEqual_30E30E( + BuiltInId::lessThanEqual_UInt4_UInt4, + BuiltInName::lessThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpLessThanEqualComponentWise, + true); +constexpr const TFunction greaterThan_10B10B( + BuiltInId::greaterThan_Float2_Float2, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_20B20B( + BuiltInId::greaterThan_Float3_Float3, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_30B30B( + BuiltInId::greaterThan_Float4_Float4, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_10D10D( + BuiltInId::greaterThan_Int2_Int2, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_20D20D( + BuiltInId::greaterThan_Int3_Int3, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_30D30D( + BuiltInId::greaterThan_Int4_Int4, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_10E10E( + BuiltInId::greaterThan_UInt2_UInt2, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_20E20E( + BuiltInId::greaterThan_UInt3_UInt3, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThan_30E30E( + BuiltInId::greaterThan_UInt4_UInt4, + BuiltInName::greaterThan, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpGreaterThanComponentWise, + true); +constexpr const TFunction greaterThanEqual_10B10B( + BuiltInId::greaterThanEqual_Float2_Float2, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_20B20B( + BuiltInId::greaterThanEqual_Float3_Float3, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_30B30B( + BuiltInId::greaterThanEqual_Float4_Float4, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_10D10D( + BuiltInId::greaterThanEqual_Int2_Int2, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_20D20D( + BuiltInId::greaterThanEqual_Int3_Int3, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_30D30D( + BuiltInId::greaterThanEqual_Int4_Int4, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_10E10E( + BuiltInId::greaterThanEqual_UInt2_UInt2, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_20E20E( + BuiltInId::greaterThanEqual_UInt3_UInt3, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction greaterThanEqual_30E30E( + BuiltInId::greaterThanEqual_UInt4_UInt4, + BuiltInName::greaterThanEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpGreaterThanEqualComponentWise, + true); +constexpr const TFunction equal_10B10B(BuiltInId::equal_Float2_Float2, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_20B20B(BuiltInId::equal_Float3_Float3, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_30B30B(BuiltInId::equal_Float4_Float4, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_10D10D(BuiltInId::equal_Int2_Int2, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_20D20D(BuiltInId::equal_Int3_Int3, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_30D30D(BuiltInId::equal_Int4_Int4, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_10E10E(BuiltInId::equal_UInt2_UInt2, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_20E20E(BuiltInId::equal_UInt3_UInt3, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_30E30E(BuiltInId::equal_UInt4_UInt4, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_10F10F(BuiltInId::equal_Bool2_Bool2, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10F10F10F, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_20F20F(BuiltInId::equal_Bool3_Bool3, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20F20F20F, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction equal_30F30F(BuiltInId::equal_Bool4_Bool4, + BuiltInName::equal, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30F30F30F, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpEqualComponentWise, + true); +constexpr const TFunction notEqual_10B10B(BuiltInId::notEqual_Float2_Float2, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_20B20B(BuiltInId::notEqual_Float3_Float3, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B20B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_30B30B(BuiltInId::notEqual_Float4_Float4, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B30B00B, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_10D10D(BuiltInId::notEqual_Int2_Int2, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_20D20D(BuiltInId::notEqual_Int3_Int3, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_30D30D(BuiltInId::notEqual_Int4_Int4, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_10E10E(BuiltInId::notEqual_UInt2_UInt2, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_20E20E(BuiltInId::notEqual_UInt3_UInt3, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_30E30E(BuiltInId::notEqual_UInt4_UInt4, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_10F10F(BuiltInId::notEqual_Bool2_Bool2, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10F10F10F, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_20F20F(BuiltInId::notEqual_Bool3_Bool3, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20F20F20F, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction notEqual_30F30F(BuiltInId::notEqual_Bool4_Bool4, + BuiltInName::notEqual, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30F30F30F, + 2, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpNotEqualComponentWise, + true); +constexpr const TFunction any_10F(BuiltInId::any_Bool2, + BuiltInName::any, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10F10F10F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAny, + true); +constexpr const TFunction any_20F(BuiltInId::any_Bool3, + BuiltInName::any, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20F20F20F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAny, + true); +constexpr const TFunction any_30F(BuiltInId::any_Bool4, + BuiltInName::any, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30F30F30F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAny, + true); +constexpr const TFunction all_10F(BuiltInId::all_Bool2, + BuiltInName::all, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10F10F10F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAll, + true); +constexpr const TFunction all_20F(BuiltInId::all_Bool3, + BuiltInName::all, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20F20F20F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAll, + true); +constexpr const TFunction all_30F(BuiltInId::all_Bool4, + BuiltInName::all, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30F30F30F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAll, + true); +constexpr const TFunction notFunc_10F(BuiltInId::notFunc_Bool2, + BuiltInName::notFunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10F10F10F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(), + EOpNotComponentWise, + true); +constexpr const TFunction notFunc_20F(BuiltInId::notFunc_Bool3, + BuiltInName::notFunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20F20F20F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(), + EOpNotComponentWise, + true); +constexpr const TFunction notFunc_30F(BuiltInId::notFunc_Bool4, + BuiltInName::notFunc, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30F30F30F, + 1, + StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(), + EOpNotComponentWise, + true); +constexpr const TFunction bitfieldExtract_00D00D00D( + BuiltInId::bitfieldExtract_Int1_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_10D00D00D( + BuiltInId::bitfieldExtract_Int2_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_20D00D00D( + BuiltInId::bitfieldExtract_Int3_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_30D00D00D( + BuiltInId::bitfieldExtract_Int4_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_00E00D00D( + BuiltInId::bitfieldExtract_UInt1_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_10E00D00D( + BuiltInId::bitfieldExtract_UInt2_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_20E00D00D( + BuiltInId::bitfieldExtract_UInt3_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldExtract_30E00D00D( + BuiltInId::bitfieldExtract_UInt4_Int1_Int1, + BuiltInName::bitfieldExtract, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitfieldExtract, + true); +constexpr const TFunction bitfieldInsert_00D00D00D00D( + BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_10D10D00D00D( + BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_20D20D00D00D( + BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_30D30D00D00D( + BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_00E00E00D00D( + BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E00D00D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_10E10E00D00D( + BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E00D00D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_20E20E00D00D( + BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E00D00D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldInsert_30E30E00D00D( + BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1, + BuiltInName::bitfieldInsert, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E00D00D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitfieldInsert, + true); +constexpr const TFunction bitfieldReverse_00D( + BuiltInId::bitfieldReverse_Int1, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_10D( + BuiltInId::bitfieldReverse_Int2, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_20D( + BuiltInId::bitfieldReverse_Int3, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_30D( + BuiltInId::bitfieldReverse_Int4, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_00E( + BuiltInId::bitfieldReverse_UInt1, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_10E( + BuiltInId::bitfieldReverse_UInt2, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00D00D, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_20E( + BuiltInId::bitfieldReverse_UInt3, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00D00D, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitfieldReverse_30E( + BuiltInId::bitfieldReverse_UInt4, + BuiltInName::bitfieldReverse, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00D00D, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitfieldReverse, + true); +constexpr const TFunction bitCount_00D(BuiltInId::bitCount_Int1, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_10D(BuiltInId::bitCount_Int2, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_20D(BuiltInId::bitCount_Int3, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_30D(BuiltInId::bitCount_Int4, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_00E(BuiltInId::bitCount_UInt1, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_10E(BuiltInId::bitCount_UInt2, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_20E(BuiltInId::bitCount_UInt3, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpBitCount, + true); +constexpr const TFunction bitCount_30E(BuiltInId::bitCount_UInt4, + BuiltInName::bitCount, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpBitCount, + true); +constexpr const TFunction findLSB_00D(BuiltInId::findLSB_Int1, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_10D(BuiltInId::findLSB_Int2, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_20D(BuiltInId::findLSB_Int3, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_30D(BuiltInId::findLSB_Int4, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_00E(BuiltInId::findLSB_UInt1, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_10E(BuiltInId::findLSB_UInt2, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_20E(BuiltInId::findLSB_UInt3, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findLSB_30E(BuiltInId::findLSB_UInt4, + BuiltInName::findLSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFindLSB, + true); +constexpr const TFunction findMSB_00D(BuiltInId::findMSB_Int1, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_10D(BuiltInId::findMSB_Int2, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_20D(BuiltInId::findMSB_Int3, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_30D(BuiltInId::findMSB_Int4, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_00E(BuiltInId::findMSB_UInt1, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_10E(BuiltInId::findMSB_UInt2, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_20E(BuiltInId::findMSB_UInt3, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFindMSB, + true); +constexpr const TFunction findMSB_30E(BuiltInId::findMSB_UInt4, + BuiltInName::findMSB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E00D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFindMSB, + true); +constexpr const TFunction uaddCarry_00E00E00E( + BuiltInId::uaddCarry_UInt1_UInt1_UInt1, + BuiltInName::uaddCarry, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E_o_00E_o_00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUaddCarry, + false); +constexpr const TFunction uaddCarry_10E10E10E( + BuiltInId::uaddCarry_UInt2_UInt2_UInt2, + BuiltInName::uaddCarry, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E_o_10E_o_10E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpUaddCarry, + false); +constexpr const TFunction uaddCarry_20E20E20E( + BuiltInId::uaddCarry_UInt3_UInt3_UInt3, + BuiltInName::uaddCarry, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E_o_20E_o_20E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpUaddCarry, + false); +constexpr const TFunction uaddCarry_30E30E30E( + BuiltInId::uaddCarry_UInt4_UInt4_UInt4, + BuiltInName::uaddCarry, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E_o_30E_o_30E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpUaddCarry, + false); +constexpr const TFunction usubBorrow_00E00E00E( + BuiltInId::usubBorrow_UInt1_UInt1_UInt1, + BuiltInName::usubBorrow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E_o_00E_o_00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUsubBorrow, + false); +constexpr const TFunction usubBorrow_10E10E10E( + BuiltInId::usubBorrow_UInt2_UInt2_UInt2, + BuiltInName::usubBorrow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E_o_10E_o_10E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpUsubBorrow, + false); +constexpr const TFunction usubBorrow_20E20E20E( + BuiltInId::usubBorrow_UInt3_UInt3_UInt3, + BuiltInName::usubBorrow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E_o_20E_o_20E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpUsubBorrow, + false); +constexpr const TFunction usubBorrow_30E30E30E( + BuiltInId::usubBorrow_UInt4_UInt4_UInt4, + BuiltInName::usubBorrow, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E_o_30E_o_30E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpUsubBorrow, + false); +constexpr const TFunction umulExtended_00E00E00E00E( + BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1, + BuiltInName::umulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00E00E_o_00E_o_00E, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUmulExtended, + false); +constexpr const TFunction umulExtended_10E10E10E10E( + BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2, + BuiltInName::umulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10E10E_o_10E_o_10E, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUmulExtended, + false); +constexpr const TFunction umulExtended_20E20E20E20E( + BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3, + BuiltInName::umulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20E20E_o_20E_o_20E, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUmulExtended, + false); +constexpr const TFunction umulExtended_30E30E30E30E( + BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4, + BuiltInName::umulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30E30E_o_30E_o_30E, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpUmulExtended, + false); +constexpr const TFunction imulExtended_00D00D00D00D( + BuiltInId::imulExtended_Int1_Int1_Int1_Int1, + BuiltInName::imulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00D00D_o_00D_o_00D, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImulExtended, + false); +constexpr const TFunction imulExtended_10D10D10D10D( + BuiltInId::imulExtended_Int2_Int2_Int2_Int2, + BuiltInName::imulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10D10D_o_10D_o_10D, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImulExtended, + false); +constexpr const TFunction imulExtended_20D20D20D20D( + BuiltInId::imulExtended_Int3_Int3_Int3_Int3, + BuiltInName::imulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20D20D_o_20D_o_20D, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImulExtended, + false); +constexpr const TFunction imulExtended_30D30D30D30D( + BuiltInId::imulExtended_Int4_Int4_Int4_Int4, + BuiltInName::imulExtended, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30D30D_o_30D_o_30D, + 4, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImulExtended, + false); +constexpr const TFunction texture2D_00I10B( + BuiltInId::texture2D_Sampler2D1_Float2, + BuiltInName::texture2D, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2D, + false); +constexpr const TFunction texture2DProj_00I20B( + BuiltInId::texture2DProj_Sampler2D1_Float3, + BuiltInName::texture2DProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProj, + false); +constexpr const TFunction texture2DProj_00I30B( + BuiltInId::texture2DProj_Sampler2D1_Float4, + BuiltInName::texture2DProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProj, + false); +constexpr const TFunction textureCube_00K20B( + BuiltInId::textureCube_SamplerCube1_Float3, + BuiltInName::textureCube, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureCube, + false); +constexpr const TFunction texture3D_00J20B( + BuiltInId::texture3D_Sampler3D1_Float3, + BuiltInName::texture3D, + std::array<TExtension, 1u>{{TExtension::OES_texture_3D}}, + BuiltInParameters::p00J20B00B20D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture3D, + false); +constexpr const TFunction texture3DProj_00J30B( + BuiltInId::texture3DProj_Sampler3D1_Float4, + BuiltInName::texture3DProj, + std::array<TExtension, 1u>{{TExtension::OES_texture_3D}}, + BuiltInParameters::p00J30B00B20D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture3DProj, + false); +constexpr const TFunction shadow2DEXT_00d20B( + BuiltInId::shadow2DEXT_Sampler2DShadow1_Float3, + BuiltInName::shadow2DEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shadow_samplers}}, + BuiltInParameters::p00d20B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpShadow2DEXT, + false); +constexpr const TFunction shadow2DProjEXT_00d30B( + BuiltInId::shadow2DProjEXT_Sampler2DShadow1_Float4, + BuiltInName::shadow2DProjEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shadow_samplers}}, + BuiltInParameters::p00d30B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpShadow2DProjEXT, + false); +constexpr const TFunction texture2D_00M10B( + BuiltInId::texture2D_SamplerExternalOES1_Float2, + BuiltInName::texture2D, + std::array<TExtension, 2u>{ + {TExtension::OES_EGL_image_external, TExtension::NV_EGL_stream_consumer_external}}, + BuiltInParameters::p00M10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2D, + false); +constexpr const TFunction texture2DProj_00M20B( + BuiltInId::texture2DProj_SamplerExternalOES1_Float3, + BuiltInName::texture2DProj, + std::array<TExtension, 2u>{ + {TExtension::OES_EGL_image_external, TExtension::NV_EGL_stream_consumer_external}}, + BuiltInParameters::p00M20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProj, + false); +constexpr const TFunction texture2DProj_00M30B( + BuiltInId::texture2DProj_SamplerExternalOES1_Float4, + BuiltInName::texture2DProj, + std::array<TExtension, 2u>{ + {TExtension::OES_EGL_image_external, TExtension::NV_EGL_stream_consumer_external}}, + BuiltInParameters::p00M30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProj, + false); +constexpr const TFunction texture2DRect_00O10B( + BuiltInId::texture2DRect_Sampler2DRect1_Float2, + BuiltInName::texture2DRect, + std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}}, + BuiltInParameters::p00O10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DRect, + false); +constexpr const TFunction texture2DRectProj_00O20B( + BuiltInId::texture2DRectProj_Sampler2DRect1_Float3, + BuiltInName::texture2DRectProj, + std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}}, + BuiltInParameters::p00O20B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DRectProj, + false); +constexpr const TFunction texture2DRectProj_00O30B( + BuiltInId::texture2DRectProj_Sampler2DRect1_Float4, + BuiltInName::texture2DRectProj, + std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}}, + BuiltInParameters::p00O30B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DRectProj, + false); +constexpr const TFunction texture2DGradEXT_00I10B10B10B( + BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2, + BuiltInName::texture2DGradEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00I10B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DGradEXT, + false); +constexpr const TFunction texture2DProjGradEXT_00I20B10B10B( + BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2, + BuiltInName::texture2DProjGradEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00I20B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjGradEXT, + false); +constexpr const TFunction texture2DProjGradEXT_00I30B10B10B( + BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2, + BuiltInName::texture2DProjGradEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00I30B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjGradEXT, + false); +constexpr const TFunction textureCubeGradEXT_00K20B20B20B( + BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3, + BuiltInName::textureCubeGradEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00K20B20B20B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureCubeGradEXT, + false); +constexpr const TFunction textureVideoWEBGL_00y10B( + BuiltInId::textureVideoWEBGL_SamplerVideoWEBGL1_Float2, + BuiltInName::textureVideoWEBGL, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00y10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureVideoWEBGL, + false); +constexpr const TFunction texture2D_00I10B00B( + BuiltInId::texture2D_Sampler2D1_Float2_Float1, + BuiltInName::texture2D, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DBias, + false); +constexpr const TFunction texture2DProj_00I20B00B( + BuiltInId::texture2DProj_Sampler2D1_Float3_Float1, + BuiltInName::texture2DProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjBias, + false); +constexpr const TFunction texture2DProj_00I30B00B( + BuiltInId::texture2DProj_Sampler2D1_Float4_Float1, + BuiltInName::texture2DProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjBias, + false); +constexpr const TFunction textureCube_00K20B00B( + BuiltInId::textureCube_SamplerCube1_Float3_Float1, + BuiltInName::textureCube, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureCubeBias, + false); +constexpr const TFunction texture3D_00J20B00B( + BuiltInId::texture3D_Sampler3D1_Float3_Float1, + BuiltInName::texture3D, + std::array<TExtension, 1u>{{TExtension::OES_texture_3D}}, + BuiltInParameters::p00J20B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture3DBias, + false); +constexpr const TFunction texture3DProj_00J30B00B( + BuiltInId::texture3DProj_Sampler3D1_Float4_Float1, + BuiltInName::texture3DProj, + std::array<TExtension, 1u>{{TExtension::OES_texture_3D}}, + BuiltInParameters::p00J30B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture3DProjBias, + false); +constexpr const TFunction texture3DLod_00J20B00B( + BuiltInId::texture3DLod_Sampler3D1_Float3_Float1, + BuiltInName::texture3DLod, + std::array<TExtension, 1u>{{TExtension::OES_texture_3D}}, + BuiltInParameters::p00J20B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture3DLod, + false); +constexpr const TFunction texture3DProjLod_00J30B00B( + BuiltInId::texture3DProjLod_Sampler3D1_Float4_Float1, + BuiltInName::texture3DProjLod, + std::array<TExtension, 1u>{{TExtension::OES_texture_3D}}, + BuiltInParameters::p00J30B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture3DProjLod, + false); +constexpr const TFunction texture2DLod_00I10B00B( + BuiltInId::texture2DLod_Sampler2D1_Float2_Float1, + BuiltInName::texture2DLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DLodVS, + false); +constexpr const TFunction texture2DProjLod_00I20B00B( + BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1, + BuiltInName::texture2DProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjLodVS, + false); +constexpr const TFunction texture2DProjLod_00I30B00B( + BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1, + BuiltInName::texture2DProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjLodVS, + false); +constexpr const TFunction textureCubeLod_00K20B00B( + BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1, + BuiltInName::textureCubeLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureCubeLodVS, + false); +constexpr const TFunction texture2DLodEXT_00I10B00B( + BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1, + BuiltInName::texture2DLodEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00I10B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DLodEXTFS, + false); +constexpr const TFunction texture2DProjLodEXT_00I20B00B( + BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1, + BuiltInName::texture2DProjLodEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00I20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjLodEXTFS, + false); +constexpr const TFunction texture2DProjLodEXT_00I30B00B( + BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1, + BuiltInName::texture2DProjLodEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00I30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture2DProjLodEXTFS, + false); +constexpr const TFunction textureCubeLodEXT_00K20B00B( + BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1, + BuiltInName::textureCubeLodEXT, + std::array<TExtension, 1u>{{TExtension::EXT_shader_texture_lod}}, + BuiltInParameters::p00K20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureCubeLodEXTFS, + false); +constexpr const TFunction texture_00I10B(BuiltInId::texture_Sampler2D1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00R10B(BuiltInId::texture_ISampler2D1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B00B10D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00X10B(BuiltInId::texture_USampler2D1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B00B10D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00J20B(BuiltInId::texture_Sampler3D1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B00B20D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00S20B(BuiltInId::texture_ISampler3D1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B00B20D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00Y20B(BuiltInId::texture_USampler3D1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B00B20D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00K20B(BuiltInId::texture_SamplerCube1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00T20B(BuiltInId::texture_ISamplerCube1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T20B00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00Z20B(BuiltInId::texture_USamplerCube1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z20B00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00L20B(BuiltInId::texture_Sampler2DArray1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00U20B(BuiltInId::texture_ISampler2DArray1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B00B10D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00a20B(BuiltInId::texture_USampler2DArray1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B00B10D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00d20B(BuiltInId::texture_Sampler2DShadow1_Float3, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00e30B(BuiltInId::texture_SamplerCubeShadow1_Float4, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00e30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00f30B(BuiltInId::texture_Sampler2DArrayShadow1_Float4, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f30B10B10B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00k30B(BuiltInId::texture_SamplerCubeArray1_Float4, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00s30B(BuiltInId::texture_ISamplerCubeArray1_Float4, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s30B00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00x30B(BuiltInId::texture_USamplerCubeArray1_Float4, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x30B00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00l30B00B( + BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00l30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTexture, + false); +constexpr const TFunction textureExt_00k30B( + BuiltInId::textureExt_SamplerCubeArray1_Float4, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction textureExt_00s30B( + BuiltInId::textureExt_ISamplerCubeArray1_Float4, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s30B00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction textureExt_00x30B( + BuiltInId::textureExt_USamplerCubeArray1_Float4, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x30B00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction textureExt_00l30B00B( + BuiltInId::textureExt_SamplerCubeArrayShadow1_Float4_Float1, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00l30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00M10B(BuiltInId::texture_SamplerExternalOES1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{ + {TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00N10B(BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00O10B(BuiltInId::texture_Sampler2DRect1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{ + {TExtension::ARB_texture_rectangle}}, + BuiltInParameters::p00O10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction texture_00y10B(BuiltInId::texture_SamplerVideoWEBGL1_Float2, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00y10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexture, + false); +constexpr const TFunction textureProj_00I20B( + BuiltInId::textureProj_Sampler2D1_Float3, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00R20B( + BuiltInId::textureProj_ISampler2D1_Float3, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B00B10D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00X20B( + BuiltInId::textureProj_USampler2D1_Float3, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B00B10D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00I30B( + BuiltInId::textureProj_Sampler2D1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00R30B( + BuiltInId::textureProj_ISampler2D1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B00B10D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00X30B( + BuiltInId::textureProj_USampler2D1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B00B10D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00J30B( + BuiltInId::textureProj_Sampler3D1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B00B20D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00S30B( + BuiltInId::textureProj_ISampler3D1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B00B20D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00Y30B( + BuiltInId::textureProj_USampler3D1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B00B20D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00d30B( + BuiltInId::textureProj_Sampler2DShadow1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00M20B( + BuiltInId::textureProj_SamplerExternalOES1_Float3, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00M30B( + BuiltInId::textureProj_SamplerExternalOES1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00N20B( + BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00N30B( + BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00O20B( + BuiltInId::textureProj_Sampler2DRect1_Float3, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}}, + BuiltInParameters::p00O20B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureProj_00O30B( + BuiltInId::textureProj_Sampler2DRect1_Float4, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::ARB_texture_rectangle}}, + BuiltInParameters::p00O30B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProj, + false); +constexpr const TFunction textureLod_00I10B00B( + BuiltInId::textureLod_Sampler2D1_Float2_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00R10B00B( + BuiltInId::textureLod_ISampler2D1_Float2_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00X10B00B( + BuiltInId::textureLod_USampler2D1_Float2_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00J20B00B( + BuiltInId::textureLod_Sampler3D1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00S20B00B( + BuiltInId::textureLod_ISampler3D1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B00B20D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00Y20B00B( + BuiltInId::textureLod_USampler3D1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B00B20D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00K20B00B( + BuiltInId::textureLod_SamplerCube1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00T20B00B( + BuiltInId::textureLod_ISamplerCube1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T20B00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00Z20B00B( + BuiltInId::textureLod_USamplerCube1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z20B00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00L20B00B( + BuiltInId::textureLod_Sampler2DArray1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00U20B00B( + BuiltInId::textureLod_ISampler2DArray1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00a20B00B( + BuiltInId::textureLod_USampler2DArray1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00d20B00B( + BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00k30B00B( + BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00s30B00B( + BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s30B00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLod_00x30B00B( + BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1, + BuiltInName::textureLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x30B00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLodExt_00k30B00B( + BuiltInId::textureLodExt_SamplerCubeArray1_Float4_Float1, + BuiltInName::textureLodExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLodExt_00s30B00B( + BuiltInId::textureLodExt_ISamplerCubeArray1_Float4_Float1, + BuiltInName::textureLodExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s30B00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureLodExt_00x30B00B( + BuiltInId::textureLodExt_USamplerCubeArray1_Float4_Float1, + BuiltInName::textureLodExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x30B00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLod, + false); +constexpr const TFunction textureSize_00I00D( + BuiltInId::textureSize_Sampler2D1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00R00D( + BuiltInId::textureSize_ISampler2D1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00X00D( + BuiltInId::textureSize_USampler2D1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00J00D( + BuiltInId::textureSize_Sampler3D1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00S00D( + BuiltInId::textureSize_ISampler3D1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00Y00D( + BuiltInId::textureSize_USampler3D1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00K00D( + BuiltInId::textureSize_SamplerCube1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00T00D( + BuiltInId::textureSize_ISamplerCube1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00Z00D( + BuiltInId::textureSize_USamplerCube1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00L00D( + BuiltInId::textureSize_Sampler2DArray1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00U00D( + BuiltInId::textureSize_ISampler2DArray1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00a00D( + BuiltInId::textureSize_USampler2DArray1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00d00D( + BuiltInId::textureSize_Sampler2DShadow1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00e00D( + BuiltInId::textureSize_SamplerCubeShadow1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00e00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00f00D( + BuiltInId::textureSize_Sampler2DArrayShadow1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00k00D( + BuiltInId::textureSize_SamplerCubeArray1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00s00D( + BuiltInId::textureSize_ISamplerCubeArray1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00x00D( + BuiltInId::textureSize_USamplerCubeArray1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00l00D( + BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00l00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00k00D( + BuiltInId::textureSizeExt_SamplerCubeArray1_Int1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00s00D( + BuiltInId::textureSizeExt_ISamplerCubeArray1_Int1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00x00D( + BuiltInId::textureSizeExt_USamplerCubeArray1_Int1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00l00D( + BuiltInId::textureSizeExt_SamplerCubeArrayShadow1_Int1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00l00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00j(BuiltInId::textureSize_SamplerBuffer1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00j00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00r(BuiltInId::textureSize_ISamplerBuffer1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00r00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00w(BuiltInId::textureSize_USamplerBuffer1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00w00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00j( + BuiltInId::textureSizeExt_SamplerBuffer1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p00j00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00r( + BuiltInId::textureSizeExt_ISamplerBuffer1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p00r00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00w( + BuiltInId::textureSizeExt_USamplerBuffer1, + BuiltInName::textureSizeExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p00w00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00P(BuiltInId::textureSize_Sampler2DMS1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00P10D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00V(BuiltInId::textureSize_ISampler2DMS1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00V10D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00b(BuiltInId::textureSize_USampler2DMS1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00b10D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00P( + BuiltInId::textureSizeExt_Sampler2DMS1, + BuiltInName::textureSizeExt, + std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}}, + BuiltInParameters::p00P10D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00V( + BuiltInId::textureSizeExt_ISampler2DMS1, + BuiltInName::textureSizeExt, + std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}}, + BuiltInParameters::p00V10D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00b( + BuiltInId::textureSizeExt_USampler2DMS1, + BuiltInName::textureSizeExt, + std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}}, + BuiltInParameters::p00b10D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00Q(BuiltInId::textureSize_Sampler2DMSArray1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Q20D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00W(BuiltInId::textureSize_ISampler2DMSArray1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00W20D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00c(BuiltInId::textureSize_USampler2DMSArray1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00c20D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00Q( + BuiltInId::textureSizeExt_Sampler2DMSArray1, + BuiltInName::textureSizeExt, + std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}}, + BuiltInParameters::p00Q20D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00W( + BuiltInId::textureSizeExt_ISampler2DMSArray1, + BuiltInName::textureSizeExt, + std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}}, + BuiltInParameters::p00W20D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSizeExt_00c( + BuiltInId::textureSizeExt_USampler2DMSArray1, + BuiltInName::textureSizeExt, + std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}}, + BuiltInParameters::p00c20D00D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00M00D( + BuiltInId::textureSize_SamplerExternalOES1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureSize_00N00D( + BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1, + BuiltInName::textureSize, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpTextureSize, + false); +constexpr const TFunction textureProjLod_00I20B00B( + BuiltInId::textureProjLod_Sampler2D1_Float3_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00R20B00B( + BuiltInId::textureProjLod_ISampler2D1_Float3_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00X20B00B( + BuiltInId::textureProjLod_USampler2D1_Float3_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00I30B00B( + BuiltInId::textureProjLod_Sampler2D1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00R30B00B( + BuiltInId::textureProjLod_ISampler2D1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00X30B00B( + BuiltInId::textureProjLod_USampler2D1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00J30B00B( + BuiltInId::textureProjLod_Sampler3D1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00S30B00B( + BuiltInId::textureProjLod_ISampler3D1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B00B20D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00Y30B00B( + BuiltInId::textureProjLod_USampler3D1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B00B20D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction textureProjLod_00d30B00B( + BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1, + BuiltInName::textureProjLod, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjLod, + false); +constexpr const TFunction texelFetch_00I10D00D( + BuiltInId::texelFetch_Sampler2D1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10D00D10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00R10D00D( + BuiltInId::texelFetch_ISampler2D1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10D00D10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00X10D00D( + BuiltInId::texelFetch_USampler2D1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10D00D10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00J20D00D( + BuiltInId::texelFetch_Sampler3D1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20D00D20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00S20D00D( + BuiltInId::texelFetch_ISampler3D1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20D00D20D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00Y20D00D( + BuiltInId::texelFetch_USampler3D1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20D00D20D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00L20D00D( + BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20D00D10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00U20D00D( + BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20D00D10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00a20D00D( + BuiltInId::texelFetch_USampler2DArray1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20D00D10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00j00D( + BuiltInId::texelFetch_SamplerBuffer1_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00j00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00r00D( + BuiltInId::texelFetch_ISamplerBuffer1_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00r00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00w00D( + BuiltInId::texelFetch_USamplerBuffer1_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00w00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00j00D( + BuiltInId::texelFetchExt_SamplerBuffer1_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p00j00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00r00D( + BuiltInId::texelFetchExt_ISamplerBuffer1_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p00r00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00w00D( + BuiltInId::texelFetchExt_USamplerBuffer1_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p00w00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00P10D00D( + BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00P10D00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00V10D00D( + BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00V10D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00b10D00D( + BuiltInId::texelFetch_USampler2DMS1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00b10D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00P10D00D( + BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}}, + BuiltInParameters::p00P10D00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00V10D00D( + BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}}, + BuiltInParameters::p00V10D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00b10D00D( + BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 1u>{{TExtension::ANGLE_texture_multisample}}, + BuiltInParameters::p00b10D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00Q20D00D( + BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Q20D00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00W20D00D( + BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00W20D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00c20D00D( + BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00c20D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00Q20D00D( + BuiltInId::texelFetchExt_Sampler2DMSArray1_Int3_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}}, + BuiltInParameters::p00Q20D00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00W20D00D( + BuiltInId::texelFetchExt_ISampler2DMSArray1_Int3_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}}, + BuiltInParameters::p00W20D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetchExt_00c20D00D( + BuiltInId::texelFetchExt_USampler2DMSArray1_Int3_Int1, + BuiltInName::texelFetchExt, + std::array<TExtension, 1u>{{TExtension::OES_texture_storage_multisample_2d_array}}, + BuiltInParameters::p00c20D00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00M10D00D( + BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M10D00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction texelFetch_00N10D00D( + BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1, + BuiltInName::texelFetch, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N10D00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetch, + false); +constexpr const TFunction textureGrad_00I10B10B10B( + BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00R10B10B10B( + BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10B10B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00X10B10B10B( + BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10B10B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00J20B20B20B( + BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B20B20B20D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00S20B20B20B( + BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B20B20B20D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00Y20B20B20B( + BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B20B20B20D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00K20B20B20B( + BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B20B20B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00T20B20B20B( + BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T20B20B20B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00Z20B20B20B( + BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z20B20B20B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00d20B10B10B( + BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00e30B20B20B( + BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00e30B20B20B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00L20B10B10B( + BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00U20B10B10B( + BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10B10B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00a20B10B10B( + BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10B10B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00f30B10B10B( + BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f30B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00k30B20B20B( + BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k30B20B20B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00s30B20B20B( + BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s30B20B20B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGrad_00x30B20B20B( + BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3, + BuiltInName::textureGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x30B20B20B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGradExt_00k30B20B20B( + BuiltInId::textureGradExt_SamplerCubeArray1_Float4_Float3_Float3, + BuiltInName::textureGradExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k30B20B20B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGradExt_00s30B20B20B( + BuiltInId::textureGradExt_ISamplerCubeArray1_Float4_Float3_Float3, + BuiltInName::textureGradExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s30B20B20B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureGradExt_00x30B20B20B( + BuiltInId::textureGradExt_USamplerCubeArray1_Float4_Float3_Float3, + BuiltInName::textureGradExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x30B20B20B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGrad, + false); +constexpr const TFunction textureProjGrad_00I20B10B10B( + BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00R20B10B10B( + BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B10B10B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00X20B10B10B( + BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B10B10B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00I30B10B10B( + BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00R30B10B10B( + BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B10B10B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00X30B10B10B( + BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B10B10B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00J30B20B20B( + BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B20B20B20D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00S30B20B20B( + BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B20B20B20D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00Y30B20B20B( + BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B20B20B20D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction textureProjGrad_00d30B10B10B( + BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2, + BuiltInName::textureProjGrad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B10B10B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjGrad, + false); +constexpr const TFunction texture_00I10B00B( + BuiltInId::texture_Sampler2D1_Float2_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00R10B00B( + BuiltInId::texture_ISampler2D1_Float2_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00X10B00B( + BuiltInId::texture_USampler2D1_Float2_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00J20B00B( + BuiltInId::texture_Sampler3D1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00S20B00B( + BuiltInId::texture_ISampler3D1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B00B20D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00Y20B00B( + BuiltInId::texture_USampler3D1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B00B20D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00K20B00B( + BuiltInId::texture_SamplerCube1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00T20B00B( + BuiltInId::texture_ISamplerCube1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T20B00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00Z20B00B( + BuiltInId::texture_USamplerCube1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z20B00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00L20B00B( + BuiltInId::texture_Sampler2DArray1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00U20B00B( + BuiltInId::texture_ISampler2DArray1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00a20B00B( + BuiltInId::texture_USampler2DArray1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureProj_00I20B00B( + BuiltInId::textureProj_Sampler2D1_Float3_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00R20B00B( + BuiltInId::textureProj_ISampler2D1_Float3_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00X20B00B( + BuiltInId::textureProj_USampler2D1_Float3_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00I30B00B( + BuiltInId::textureProj_Sampler2D1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00R30B00B( + BuiltInId::textureProj_ISampler2D1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B00B10D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00X30B00B( + BuiltInId::textureProj_USampler2D1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B00B10D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00J30B00B( + BuiltInId::textureProj_Sampler3D1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B00B20D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00S30B00B( + BuiltInId::textureProj_ISampler3D1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B00B20D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00Y30B00B( + BuiltInId::textureProj_USampler3D1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B00B20D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction texture_00d20B00B( + BuiltInId::texture_Sampler2DShadow1_Float3_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00e30B00B( + BuiltInId::texture_SamplerCubeShadow1_Float4_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00e30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureProj_00d30B00B( + BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B00B10D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction texture_00k30B00B( + BuiltInId::texture_SamplerCubeArray1_Float4_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00s30B00B( + BuiltInId::texture_ISamplerCubeArray1_Float4_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s30B00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00x30B00B( + BuiltInId::texture_USamplerCubeArray1_Float4_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x30B00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureExt_00k30B00B( + BuiltInId::textureExt_SamplerCubeArray1_Float4_Float1, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureExt_00s30B00B( + BuiltInId::textureExt_ISamplerCubeArray1_Float4_Float1, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s30B00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureExt_00x30B00B( + BuiltInId::textureExt_USamplerCubeArray1_Float4_Float1, + BuiltInName::textureExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x30B00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction texture_00M10B00B( + BuiltInId::texture_SamplerExternalOES1_Float2_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M10B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureProj_00M20B00B( + BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00M30B00B( + BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::OES_EGL_image_external_essl3}}, + BuiltInParameters::p00M30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction texture_00N10B00B( + BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1, + BuiltInName::texture, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N10B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureBias, + false); +constexpr const TFunction textureProj_00N20B00B( + BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureProj_00N30B00B( + BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1, + BuiltInName::textureProj, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p00N30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjBias, + false); +constexpr const TFunction textureOffset_00I10B10D( + BuiltInId::textureOffset_Sampler2D1_Float2_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00R10B10D( + BuiltInId::textureOffset_ISampler2D1_Float2_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00X10B10D( + BuiltInId::textureOffset_USampler2D1_Float2_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00J20B20D( + BuiltInId::textureOffset_Sampler3D1_Float3_Int3, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B20D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00S20B20D( + BuiltInId::textureOffset_ISampler3D1_Float3_Int3, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00Y20B20D( + BuiltInId::textureOffset_USampler3D1_Float3_Int3, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B20D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00d20B10D( + BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00L20B10D( + BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00U20B10D( + BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureOffset_00a20B10D( + BuiltInId::textureOffset_USampler2DArray1_Float3_Int2, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffset, + false); +constexpr const TFunction textureProjOffset_00I20B10D( + BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00R20B10D( + BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00X20B10D( + BuiltInId::textureProjOffset_USampler2D1_Float3_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B10D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00I30B10D( + BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00R30B10D( + BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00X30B10D( + BuiltInId::textureProjOffset_USampler2D1_Float4_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B10D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00J30B20D( + BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B20D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00S30B20D( + BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00Y30B20D( + BuiltInId::textureProjOffset_USampler3D1_Float4_Int3, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B20D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureProjOffset_00d30B10D( + BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjOffset, + false); +constexpr const TFunction textureLodOffset_00I10B00B10D( + BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00R10B00B10D( + BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B00B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00X10B00B10D( + BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B00B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00J20B00B20D( + BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B00B20D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00S20B00B20D( + BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B00B20D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00Y20B00B20D( + BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B00B20D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00d20B00B10D( + BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B00B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00L20B00B10D( + BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B00B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00U20B00B10D( + BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B00B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureLodOffset_00a20B00B10D( + BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2, + BuiltInName::textureLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B00B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00I20B00B10D( + BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B00B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00R20B00B10D( + BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B00B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00X20B00B10D( + BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B00B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00I30B00B10D( + BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B00B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00R30B00B10D( + BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B00B10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00X30B00B10D( + BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B00B10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00J30B00B20D( + BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B00B20D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00S30B00B20D( + BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B00B20D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00Y30B00B20D( + BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B00B20D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction textureProjLodOffset_00d30B00B10D( + BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2, + BuiltInName::textureProjLodOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B00B10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjLodOffset, + false); +constexpr const TFunction texelFetchOffset_00I10D00D10D( + BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10D00D10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00R10D00D10D( + BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10D00D10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00X10D00D10D( + BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10D00D10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00J20D00D20D( + BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20D00D20D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00S20D00D20D( + BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20D00D20D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00Y20D00D20D( + BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20D00D20D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00L20D00D10D( + BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20D00D10D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00U20D00D10D( + BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20D00D10D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction texelFetchOffset_00a20D00D10D( + BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2, + BuiltInName::texelFetchOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20D00D10D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTexelFetchOffset, + false); +constexpr const TFunction textureGradOffset_00I10B10B10B10D( + BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00R10B10B10B10D( + BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10B10B10D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00X10B10B10B10D( + BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10B10B10D, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00J20B20B20B20D( + BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B20B20B20D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00S20B20B20B20D( + BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B20B20B20D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00Y20B20B20B20D( + BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B20B20B20D, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00d20B10B10B10D( + BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00L20B10B10B10D( + BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00U20B10B10B10D( + BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10B10B10D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00a20B10B10B10D( + BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10B10B10D, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureGradOffset_00f30B10B10B10D( + BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2, + BuiltInName::textureGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f30B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00I20B10B10B10D( + BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00R20B10B10B10D( + BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B10B10B10D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00X20B10B10B10D( + BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B10B10B10D, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00I30B10B10B10D( + BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00R30B10B10B10D( + BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B10B10B10D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00X30B10B10B10D( + BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B10B10B10D, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00J30B20B20B20D( + BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B20B20B20D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00S30B20B20B20D( + BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B20B20B20D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00Y30B20B20B20D( + BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B20B20B20D, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureProjGradOffset_00d30B10B10B10D( + BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2, + BuiltInName::textureProjGradOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B10B10B10D, + 5, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjGradOffset, + false); +constexpr const TFunction textureOffset_00I10B10D00B( + BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00R10B10D00B( + BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00X10B10D00B( + BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10D00B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00J20B20D00B( + BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J20B20D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00S20B20D00B( + BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S20B20D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00Y20B20D00B( + BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y20B20D00B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00d20B10D00B( + BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d20B10D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00L20B10D00B( + BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00U20B10D00B( + BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureOffset_00a20B10D00B( + BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1, + BuiltInName::textureOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10D00B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureOffsetBias, + false); +constexpr const TFunction textureProjOffset_00I20B10D00B( + BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I20B10D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00R20B10D00B( + BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R20B10D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00X20B10D00B( + BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X20B10D00B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00I30B10D00B( + BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I30B10D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00R30B10D00B( + BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R30B10D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00X30B10D00B( + BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X30B10D00B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00J30B20D00B( + BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00J30B20D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00S30B20D00B( + BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00S30B20D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00Y30B20D00B( + BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Y30B20D00B, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureProjOffset_00d30B10D00B( + BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1, + BuiltInName::textureProjOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d30B10D00B, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpTextureProjOffsetBias, + false); +constexpr const TFunction textureGather_00I10B( + BuiltInId::textureGather_Sampler2D1_Float2, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00R10B( + BuiltInId::textureGather_ISampler2D1_Float2, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B00B10D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00X10B( + BuiltInId::textureGather_USampler2D1_Float2, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B00B10D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00I10B00D( + BuiltInId::textureGather_Sampler2D1_Float2_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00R10B00D( + BuiltInId::textureGather_ISampler2D1_Float2_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00X10B00D( + BuiltInId::textureGather_USampler2D1_Float2_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00L20B( + BuiltInId::textureGather_Sampler2DArray1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B00B10D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00U20B( + BuiltInId::textureGather_ISampler2DArray1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B00B10D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00a20B( + BuiltInId::textureGather_USampler2DArray1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B00B10D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00L20B00D( + BuiltInId::textureGather_Sampler2DArray1_Float3_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00U20B00D( + BuiltInId::textureGather_ISampler2DArray1_Float3_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00a20B00D( + BuiltInId::textureGather_USampler2DArray1_Float3_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00K20B( + BuiltInId::textureGather_SamplerCube1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00T20B( + BuiltInId::textureGather_ISamplerCube1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T20B00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00Z20B( + BuiltInId::textureGather_USamplerCube1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z20B00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00K20B00D( + BuiltInId::textureGather_SamplerCube1_Float3_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00K20B00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00T20B00D( + BuiltInId::textureGather_ISamplerCube1_Float3_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00T20B00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00Z20B00D( + BuiltInId::textureGather_USamplerCube1_Float3_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00Z20B00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00k30B( + BuiltInId::textureGather_SamplerCubeArray1_Float4, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00s30B( + BuiltInId::textureGather_ISamplerCubeArray1_Float4, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s30B00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00x30B( + BuiltInId::textureGather_USamplerCubeArray1_Float4, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x30B00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00k30B00D( + BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00k30B00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00s30B00D( + BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00s30B00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00x30B00D( + BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00x30B00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00l30B00B( + BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00l30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00k30B( + BuiltInId::textureGatherExt_SamplerCubeArray1_Float4, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k30B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00s30B( + BuiltInId::textureGatherExt_ISamplerCubeArray1_Float4, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s30B00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00x30B( + BuiltInId::textureGatherExt_USamplerCubeArray1_Float4, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x30B00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00k30B00D( + BuiltInId::textureGatherExt_SamplerCubeArray1_Float4_Int1, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00k30B00D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00s30B00D( + BuiltInId::textureGatherExt_ISamplerCubeArray1_Float4_Int1, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00s30B00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00x30B00D( + BuiltInId::textureGatherExt_USamplerCubeArray1_Float4_Int1, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00x30B00D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherExt_00l30B00B( + BuiltInId::textureGatherExt_SamplerCubeArrayShadow1_Float4_Float1, + BuiltInName::textureGatherExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p00l30B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00d10B( + BuiltInId::textureGather_Sampler2DShadow1_Float2, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d10B00B10Dx4, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00d10B00B( + BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d10B00B10Dx4, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00f20B( + BuiltInId::textureGather_Sampler2DArrayShadow1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f20B00B10Dx4, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00f20B00B( + BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f20B00B10Dx4, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00e20B( + BuiltInId::textureGather_SamplerCubeShadow1_Float3, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00e20B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGather_00e20B00B( + BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1, + BuiltInName::textureGather, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00e20B00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGather, + false); +constexpr const TFunction textureGatherOffset_00I10B10D( + BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00R10B10D( + BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00X10B10D( + BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00L20B10D( + BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10D00B, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00U20B10D( + BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00a20B10D( + BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10D00B, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00d10B00B10D( + BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d10B00B10Dx4, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00f20B00B10D( + BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f20B00B10Dx4, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffset, + false); +constexpr const TFunction textureGatherOffset_00I10B10D00D( + BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10D00D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetComp, + false); +constexpr const TFunction textureGatherOffset_00R10B10D00D( + BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetComp, + false); +constexpr const TFunction textureGatherOffset_00X10B10D00D( + BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10D00D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetComp, + false); +constexpr const TFunction textureGatherOffset_00L20B10D00D( + BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10D00D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetComp, + false); +constexpr const TFunction textureGatherOffset_00U20B10D00D( + BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetComp, + false); +constexpr const TFunction textureGatherOffset_00a20B10D00D( + BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1, + BuiltInName::textureGatherOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10D00D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetComp, + false); +constexpr const TFunction textureGatherOffsets_00I10B10Dx4( + BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10Dx400D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00R10B10Dx4( + BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10Dx400D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00X10B10Dx4( + BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10Dx400D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00L20B10Dx4( + BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10Dx400D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00U20B10Dx4( + BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10Dx400D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00a20B10Dx4( + BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10Dx400D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00d10B00B10Dx4( + BuiltInId::textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00d10B00B10Dx4, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00f20B00B10Dx4( + BuiltInId::textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00f20B00B10Dx4, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00I10B10Dx4( + BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00I10B10Dx400D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00R10B10Dx4( + BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00R10B10Dx400D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00X10B10Dx4( + BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00X10B10Dx400D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00L20B10Dx4( + BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00L20B10Dx400D, + 3, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00U20B10Dx4( + BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00U20B10Dx400D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00a20B10Dx4( + BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00a20B10Dx400D, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00d10B00B10Dx4( + BuiltInId::textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00d10B00B10Dx4, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsetsExt_00f20B00B10Dx4( + BuiltInId::textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00f20B00B10Dx4, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsets, + false); +constexpr const TFunction textureGatherOffsets_00I10B10Dx400D( + BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00I10B10Dx400D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsets_00R10B10Dx400D( + BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00R10B10Dx400D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsets_00X10B10Dx400D( + BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2_Int1, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00X10B10Dx400D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsets_00L20B10Dx400D( + BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2_Int1, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00L20B10Dx400D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsets_00U20B10Dx400D( + BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00U20B10Dx400D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsets_00a20B10Dx400D( + BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1, + BuiltInName::textureGatherOffsets, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00a20B10Dx400D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsetsExt_00I10B10Dx400D( + BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2_Int1, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00I10B10Dx400D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsetsExt_00R10B10Dx400D( + BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2_Int1, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00R10B10Dx400D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsetsExt_00X10B10Dx400D( + BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2_Int1, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00X10B10Dx400D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsetsExt_00L20B10Dx400D( + BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00L20B10Dx400D, + 4, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsetsExt_00U20B10Dx400D( + BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00U20B10Dx400D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction textureGatherOffsetsExt_00a20B10Dx400D( + BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1, + BuiltInName::textureGatherOffsetsExt, + std::array<TExtension, 1u>{{TExtension::EXT_gpu_shader5}}, + BuiltInParameters::p00a20B10Dx400D, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpTextureGatherOffsetsComp, + false); +constexpr const TFunction rgb_2_yuv_20B00H( + BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1, + BuiltInName::rgb_2_yuv, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p20B00H, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpRgb_2_yuv, + false); +constexpr const TFunction yuv_2_rgb_20B00H( + BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1, + BuiltInName::yuv_2_rgb, + std::array<TExtension, 1u>{{TExtension::EXT_YUV_target}}, + BuiltInParameters::p20B00H, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpYuv_2_rgb, + false); +constexpr const TFunction dFdxExt_00B(BuiltInId::dFdxExt_Float1, + BuiltInName::dFdxExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdxExt_10B(BuiltInId::dFdxExt_Float2, + BuiltInName::dFdxExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdxExt_20B(BuiltInId::dFdxExt_Float3, + BuiltInName::dFdxExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdxExt_30B(BuiltInId::dFdxExt_Float4, + BuiltInName::dFdxExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdyExt_00B(BuiltInId::dFdyExt_Float1, + BuiltInName::dFdyExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDFdy, + false); +constexpr const TFunction dFdyExt_10B(BuiltInId::dFdyExt_Float2, + BuiltInName::dFdyExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpDFdy, + false); +constexpr const TFunction dFdyExt_20B(BuiltInId::dFdyExt_Float3, + BuiltInName::dFdyExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpDFdy, + false); +constexpr const TFunction dFdyExt_30B(BuiltInId::dFdyExt_Float4, + BuiltInName::dFdyExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpDFdy, + false); +constexpr const TFunction fwidthExt_00B(BuiltInId::fwidthExt_Float1, + BuiltInName::fwidthExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFwidth, + false); +constexpr const TFunction fwidthExt_10B(BuiltInId::fwidthExt_Float2, + BuiltInName::fwidthExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFwidth, + false); +constexpr const TFunction fwidthExt_20B(BuiltInId::fwidthExt_Float3, + BuiltInName::fwidthExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFwidth, + false); +constexpr const TFunction fwidthExt_30B(BuiltInId::fwidthExt_Float4, + BuiltInName::fwidthExt, + std::array<TExtension, 1u>{ + {TExtension::OES_standard_derivatives}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFwidth, + false); +constexpr const TFunction dFdx_00B(BuiltInId::dFdx_Float1, + BuiltInName::dFdx, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdx_10B(BuiltInId::dFdx_Float2, + BuiltInName::dFdx, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdx_20B(BuiltInId::dFdx_Float3, + BuiltInName::dFdx, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdx_30B(BuiltInId::dFdx_Float4, + BuiltInName::dFdx, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpDFdx, + false); +constexpr const TFunction dFdy_00B(BuiltInId::dFdy_Float1, + BuiltInName::dFdy, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpDFdy, + false); +constexpr const TFunction dFdy_10B(BuiltInId::dFdy_Float2, + BuiltInName::dFdy, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpDFdy, + false); +constexpr const TFunction dFdy_20B(BuiltInId::dFdy_Float3, + BuiltInName::dFdy, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpDFdy, + false); +constexpr const TFunction dFdy_30B(BuiltInId::dFdy_Float4, + BuiltInName::dFdy, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpDFdy, + false); +constexpr const TFunction fwidth_00B(BuiltInId::fwidth_Float1, + BuiltInName::fwidth, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpFwidth, + false); +constexpr const TFunction fwidth_10B(BuiltInId::fwidth_Float2, + BuiltInName::fwidth, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpFwidth, + false); +constexpr const TFunction fwidth_20B(BuiltInId::fwidth_Float3, + BuiltInName::fwidth, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpFwidth, + false); +constexpr const TFunction fwidth_30B(BuiltInId::fwidth_Float4, + BuiltInName::fwidth, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpFwidth, + false); +constexpr const TFunction interpolateAtCentroid_00B( + BuiltInId::interpolateAtCentroid_Float1, + BuiltInName::interpolateAtCentroid, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtCentroid_10B( + BuiltInId::interpolateAtCentroid_Float2, + BuiltInName::interpolateAtCentroid, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtCentroid_20B( + BuiltInId::interpolateAtCentroid_Float3, + BuiltInName::interpolateAtCentroid, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtCentroid_30B( + BuiltInId::interpolateAtCentroid_Float4, + BuiltInName::interpolateAtCentroid, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtSample_00B00D( + BuiltInId::interpolateAtSample_Float1_Int1, + BuiltInName::interpolateAtSample, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtSample_10B00D( + BuiltInId::interpolateAtSample_Float2_Int1, + BuiltInName::interpolateAtSample, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtSample_20B00D( + BuiltInId::interpolateAtSample_Float3_Int1, + BuiltInName::interpolateAtSample, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtSample_30B00D( + BuiltInId::interpolateAtSample_Float4_Int1, + BuiltInName::interpolateAtSample, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtOffset_00B10B( + BuiltInId::interpolateAtOffset_Float1_Float2, + BuiltInName::interpolateAtOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtOffset_10B10B( + BuiltInId::interpolateAtOffset_Float2_Float2, + BuiltInName::interpolateAtOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtOffset_20B10B( + BuiltInId::interpolateAtOffset_Float3_Float2, + BuiltInName::interpolateAtOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p20B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtOffset_30B10B( + BuiltInId::interpolateAtOffset_Float4_Float2, + BuiltInName::interpolateAtOffset, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p30B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtCentroidExt_00B( + BuiltInId::interpolateAtCentroidExt_Float1, + BuiltInName::interpolateAtCentroidExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p00B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtCentroidExt_10B( + BuiltInId::interpolateAtCentroidExt_Float2, + BuiltInName::interpolateAtCentroidExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p10B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtCentroidExt_20B( + BuiltInId::interpolateAtCentroidExt_Float3, + BuiltInName::interpolateAtCentroidExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p20B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtCentroidExt_30B( + BuiltInId::interpolateAtCentroidExt_Float4, + BuiltInName::interpolateAtCentroidExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p30B00B00B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInterpolateAtCentroid, + false); +constexpr const TFunction interpolateAtSampleExt_00B00D( + BuiltInId::interpolateAtSampleExt_Float1_Int1, + BuiltInName::interpolateAtSampleExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p00B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtSampleExt_10B00D( + BuiltInId::interpolateAtSampleExt_Float2_Int1, + BuiltInName::interpolateAtSampleExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p10B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtSampleExt_20B00D( + BuiltInId::interpolateAtSampleExt_Float3_Int1, + BuiltInName::interpolateAtSampleExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p20B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtSampleExt_30B00D( + BuiltInId::interpolateAtSampleExt_Float4_Int1, + BuiltInName::interpolateAtSampleExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p30B00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInterpolateAtSample, + false); +constexpr const TFunction interpolateAtOffsetExt_00B10B( + BuiltInId::interpolateAtOffsetExt_Float1_Float2, + BuiltInName::interpolateAtOffsetExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p00B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtOffsetExt_10B10B( + BuiltInId::interpolateAtOffsetExt_Float2_Float2, + BuiltInName::interpolateAtOffsetExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p10B10B00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtOffsetExt_20B10B( + BuiltInId::interpolateAtOffsetExt_Float3_Float2, + BuiltInName::interpolateAtOffsetExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p20B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction interpolateAtOffsetExt_30B10B( + BuiltInId::interpolateAtOffsetExt_Float4_Float2, + BuiltInName::interpolateAtOffsetExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_multisample_interpolation}}, + BuiltInParameters::p30B10B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpInterpolateAtOffset, + false); +constexpr const TFunction atomicCounter_00G( + BuiltInId::atomicCounter_AtomicCounter1, + BuiltInName::atomicCounter, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00G, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicCounter, + false); +constexpr const TFunction atomicCounterIncrement_00G( + BuiltInId::atomicCounterIncrement_AtomicCounter1, + BuiltInName::atomicCounterIncrement, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00G, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicCounterIncrement, + false); +constexpr const TFunction atomicCounterDecrement_00G( + BuiltInId::atomicCounterDecrement_AtomicCounter1, + BuiltInName::atomicCounterDecrement, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00G, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicCounterDecrement, + false); +constexpr const TFunction atomicAdd_00E00E( + BuiltInId::atomicAdd_UInt1_UInt1, + BuiltInName::atomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicAdd, + false); +constexpr const TFunction atomicAdd_00D00D(BuiltInId::atomicAdd_Int1_Int1, + BuiltInName::atomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicAdd, + false); +constexpr const TFunction atomicMin_00E00E( + BuiltInId::atomicMin_UInt1_UInt1, + BuiltInName::atomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicMin, + false); +constexpr const TFunction atomicMin_00D00D(BuiltInId::atomicMin_Int1_Int1, + BuiltInName::atomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicMin, + false); +constexpr const TFunction atomicMax_00E00E( + BuiltInId::atomicMax_UInt1_UInt1, + BuiltInName::atomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicMax, + false); +constexpr const TFunction atomicMax_00D00D(BuiltInId::atomicMax_Int1_Int1, + BuiltInName::atomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicMax, + false); +constexpr const TFunction atomicAnd_00E00E( + BuiltInId::atomicAnd_UInt1_UInt1, + BuiltInName::atomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicAnd, + false); +constexpr const TFunction atomicAnd_00D00D(BuiltInId::atomicAnd_Int1_Int1, + BuiltInName::atomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicAnd, + false); +constexpr const TFunction atomicOr_00E00E(BuiltInId::atomicOr_UInt1_UInt1, + BuiltInName::atomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicOr, + false); +constexpr const TFunction atomicOr_00D00D(BuiltInId::atomicOr_Int1_Int1, + BuiltInName::atomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicOr, + false); +constexpr const TFunction atomicXor_00E00E( + BuiltInId::atomicXor_UInt1_UInt1, + BuiltInName::atomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicXor, + false); +constexpr const TFunction atomicXor_00D00D(BuiltInId::atomicXor_Int1_Int1, + BuiltInName::atomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicXor, + false); +constexpr const TFunction atomicExchange_00E00E( + BuiltInId::atomicExchange_UInt1_UInt1, + BuiltInName::atomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicExchange, + false); +constexpr const TFunction atomicExchange_00D00D( + BuiltInId::atomicExchange_Int1_Int1, + BuiltInName::atomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicExchange, + false); +constexpr const TFunction atomicCompSwap_00E00E00E( + BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1, + BuiltInName::atomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00E00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicCompSwap, + false); +constexpr const TFunction atomicCompSwap_00D00D00D( + BuiltInId::atomicCompSwap_Int1_Int1_Int1, + BuiltInName::atomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p_io_00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpAtomicCompSwap, + false); +constexpr const TFunction imageSize_00z(BuiltInId::imageSize_Image2D1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01K(BuiltInId::imageSize_IImage2D1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01V(BuiltInId::imageSize_UImage2D1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01A(BuiltInId::imageSize_Image3D1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01L(BuiltInId::imageSize_IImage3D1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01W(BuiltInId::imageSize_UImage3D1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01B(BuiltInId::imageSize_Image2DArray1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01M(BuiltInId::imageSize_IImage2DArray1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01X(BuiltInId::imageSize_UImage2DArray1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01C(BuiltInId::imageSize_ImageCube1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01N(BuiltInId::imageSize_IImageCube1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01Y(BuiltInId::imageSize_UImageCube1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01H(BuiltInId::imageSize_ImageCubeArray1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01S(BuiltInId::imageSize_IImageCubeArray1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01d(BuiltInId::imageSize_UImageCubeArray1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSizeExt_01H(BuiltInId::imageSizeExt_ImageCubeArray1, + BuiltInName::imageSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, + TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01H20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSizeExt_01S(BuiltInId::imageSizeExt_IImageCubeArray1, + BuiltInName::imageSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, + TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01S20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSizeExt_01d(BuiltInId::imageSizeExt_UImageCubeArray1, + BuiltInName::imageSizeExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, + TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01d20D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01J(BuiltInId::imageSize_ImageBuffer1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01U(BuiltInId::imageSize_IImageBuffer1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSize_01f(BuiltInId::imageSize_UImageBuffer1, + BuiltInName::imageSize, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSizeExt_01J( + BuiltInId::imageSizeExt_ImageBuffer1, + BuiltInName::imageSizeExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01J00D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSizeExt_01U( + BuiltInId::imageSizeExt_IImageBuffer1, + BuiltInName::imageSizeExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01U00D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageSizeExt_01f( + BuiltInId::imageSizeExt_UImageBuffer1, + BuiltInName::imageSizeExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01f00D00B, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageSize, + false); +constexpr const TFunction imageStore_00z10D30B( + BuiltInId::imageStore_Image2D1_Int2_Float4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01K10D30D( + BuiltInId::imageStore_IImage2D1_Int2_Int4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01V10D30E( + BuiltInId::imageStore_UImage2D1_Int2_UInt4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01A20D30B( + BuiltInId::imageStore_Image3D1_Int3_Float4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01L20D30D( + BuiltInId::imageStore_IImage3D1_Int3_Int4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01W20D30E( + BuiltInId::imageStore_UImage3D1_Int3_UInt4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01B20D30B( + BuiltInId::imageStore_Image2DArray1_Int3_Float4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01M20D30D( + BuiltInId::imageStore_IImage2DArray1_Int3_Int4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01X20D30E( + BuiltInId::imageStore_UImage2DArray1_Int3_UInt4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01C20D30B( + BuiltInId::imageStore_ImageCube1_Int3_Float4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01N20D30D( + BuiltInId::imageStore_IImageCube1_Int3_Int4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01Y20D30E( + BuiltInId::imageStore_UImageCube1_Int3_UInt4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01H20D30B( + BuiltInId::imageStore_ImageCubeArray1_Int3_Float4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01S20D30D( + BuiltInId::imageStore_IImageCubeArray1_Int3_Int4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01d20D30E( + BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStoreExt_01H20D30B( + BuiltInId::imageStoreExt_ImageCubeArray1_Int3_Float4, + BuiltInName::imageStoreExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01H20D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStoreExt_01S20D30D( + BuiltInId::imageStoreExt_IImageCubeArray1_Int3_Int4, + BuiltInName::imageStoreExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01S20D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStoreExt_01d20D30E( + BuiltInId::imageStoreExt_UImageCubeArray1_Int3_UInt4, + BuiltInName::imageStoreExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01d20D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01J00D30B( + BuiltInId::imageStore_ImageBuffer1_Int1_Float4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01U00D30D( + BuiltInId::imageStore_IImageBuffer1_Int1_Int4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStore_01f00D30E( + BuiltInId::imageStore_UImageBuffer1_Int1_UInt4, + BuiltInName::imageStore, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStoreExt_01J00D30B( + BuiltInId::imageStoreExt_ImageBuffer1_Int1_Float4, + BuiltInName::imageStoreExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01J00D30B, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStoreExt_01U00D30D( + BuiltInId::imageStoreExt_IImageBuffer1_Int1_Int4, + BuiltInName::imageStoreExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01U00D30D, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageStoreExt_01f00D30E( + BuiltInId::imageStoreExt_UImageBuffer1_Int1_UInt4, + BuiltInName::imageStoreExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01f00D30E, + 3, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageStore, + false); +constexpr const TFunction imageLoad_00z10D( + BuiltInId::imageLoad_Image2D1_Int2, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01K10D(BuiltInId::imageLoad_IImage2D1_Int2, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01V10D( + BuiltInId::imageLoad_UImage2D1_Int2, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01A20D( + BuiltInId::imageLoad_Image3D1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01L20D(BuiltInId::imageLoad_IImage3D1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01W20D( + BuiltInId::imageLoad_UImage3D1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01B20D( + BuiltInId::imageLoad_Image2DArray1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01M20D(BuiltInId::imageLoad_IImage2DArray1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01X20D( + BuiltInId::imageLoad_UImage2DArray1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01C20D( + BuiltInId::imageLoad_ImageCube1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01N20D(BuiltInId::imageLoad_IImageCube1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01Y20D( + BuiltInId::imageLoad_UImageCube1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01H20D( + BuiltInId::imageLoad_ImageCubeArray1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01S20D(BuiltInId::imageLoad_IImageCubeArray1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01d20D( + BuiltInId::imageLoad_UImageCubeArray1_Int3, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoadExt_01H20D( + BuiltInId::imageLoadExt_ImageCubeArray1_Int3, + BuiltInName::imageLoadExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01H20D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoadExt_01S20D( + BuiltInId::imageLoadExt_IImageCubeArray1_Int3, + BuiltInName::imageLoadExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01S20D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoadExt_01d20D( + BuiltInId::imageLoadExt_UImageCubeArray1_Int3, + BuiltInName::imageLoadExt, + std::array<TExtension, 2u>{ + {TExtension::OES_texture_cube_map_array, TExtension::EXT_texture_cube_map_array}}, + BuiltInParameters::p01d20D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01J00D( + BuiltInId::imageLoad_ImageBuffer1_Int1, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01U00D(BuiltInId::imageLoad_IImageBuffer1_Int1, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoad_01f00D( + BuiltInId::imageLoad_UImageBuffer1_Int1, + BuiltInName::imageLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoadExt_01J00D( + BuiltInId::imageLoadExt_ImageBuffer1_Int1, + BuiltInName::imageLoadExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01J00D00B, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoadExt_01U00D( + BuiltInId::imageLoadExt_IImageBuffer1_Int1, + BuiltInName::imageLoadExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01U00D00B, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageLoadExt_01f00D( + BuiltInId::imageLoadExt_UImageBuffer1_Int1, + BuiltInName::imageLoadExt, + std::array<TExtension, 2u>{{TExtension::OES_texture_buffer, TExtension::EXT_texture_buffer}}, + BuiltInParameters::p01f00D00B, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpImageLoad, + false); +constexpr const TFunction imageAtomicAdd_00z10D00E( + BuiltInId::imageAtomicAdd_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01K10D00E( + BuiltInId::imageAtomicAdd_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01V10D00E( + BuiltInId::imageAtomicAdd_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01A20D00E( + BuiltInId::imageAtomicAdd_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01L20D00E( + BuiltInId::imageAtomicAdd_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01W20D00E( + BuiltInId::imageAtomicAdd_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01C20D00E( + BuiltInId::imageAtomicAdd_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01N20D00E( + BuiltInId::imageAtomicAdd_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01Y20D00E( + BuiltInId::imageAtomicAdd_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01J00D00E( + BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01U00D00E( + BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01f00D00E( + BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01B20D00E( + BuiltInId::imageAtomicAdd_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01M20D00E( + BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01X20D00E( + BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01H20D00E( + BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01S20D00E( + BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01d20D00E( + BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01D00D00E( + BuiltInId::imageAtomicAdd_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01O00D00E( + BuiltInId::imageAtomicAdd_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01Z00D00E( + BuiltInId::imageAtomicAdd_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01E10D00E( + BuiltInId::imageAtomicAdd_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01P10D00E( + BuiltInId::imageAtomicAdd_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01a10D00E( + BuiltInId::imageAtomicAdd_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01I10D00E( + BuiltInId::imageAtomicAdd_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01T10D00E( + BuiltInId::imageAtomicAdd_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01e10D00E( + BuiltInId::imageAtomicAdd_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01F10D00D00E( + BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01Q10D00D00E( + BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01b10D00D00E( + BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01G20D00D00E( + BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01R20D00D00E( + BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01c20D00D00E( + BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_00z10D00D( + BuiltInId::imageAtomicAdd_Image2D1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01K10D00D( + BuiltInId::imageAtomicAdd_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01V10D00D( + BuiltInId::imageAtomicAdd_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01A20D00D( + BuiltInId::imageAtomicAdd_Image3D1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01L20D00D( + BuiltInId::imageAtomicAdd_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01W20D00D( + BuiltInId::imageAtomicAdd_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01C20D00D( + BuiltInId::imageAtomicAdd_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01N20D00D( + BuiltInId::imageAtomicAdd_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01Y20D00D( + BuiltInId::imageAtomicAdd_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01J00D00D( + BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01U00D00D( + BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01f00D00D( + BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01B20D00D( + BuiltInId::imageAtomicAdd_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01M20D00D( + BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01X20D00D( + BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01H20D00D( + BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01S20D00D( + BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01d20D00D( + BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01D00D00D( + BuiltInId::imageAtomicAdd_Image1D1_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01O00D00D( + BuiltInId::imageAtomicAdd_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01Z00D00D( + BuiltInId::imageAtomicAdd_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01E10D00D( + BuiltInId::imageAtomicAdd_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01P10D00D( + BuiltInId::imageAtomicAdd_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01a10D00D( + BuiltInId::imageAtomicAdd_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01I10D00D( + BuiltInId::imageAtomicAdd_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01T10D00D( + BuiltInId::imageAtomicAdd_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01e10D00D( + BuiltInId::imageAtomicAdd_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01F10D00D00D( + BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01Q10D00D00D( + BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01b10D00D00D( + BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01G20D00D00D( + BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01R20D00D00D( + BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAdd_01c20D00D00D( + BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAdd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicMin_00z10D00E( + BuiltInId::imageAtomicMin_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01K10D00E( + BuiltInId::imageAtomicMin_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01V10D00E( + BuiltInId::imageAtomicMin_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01A20D00E( + BuiltInId::imageAtomicMin_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01L20D00E( + BuiltInId::imageAtomicMin_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01W20D00E( + BuiltInId::imageAtomicMin_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01C20D00E( + BuiltInId::imageAtomicMin_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01N20D00E( + BuiltInId::imageAtomicMin_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01Y20D00E( + BuiltInId::imageAtomicMin_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01J00D00E( + BuiltInId::imageAtomicMin_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01U00D00E( + BuiltInId::imageAtomicMin_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01f00D00E( + BuiltInId::imageAtomicMin_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01B20D00E( + BuiltInId::imageAtomicMin_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01M20D00E( + BuiltInId::imageAtomicMin_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01X20D00E( + BuiltInId::imageAtomicMin_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01H20D00E( + BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01S20D00E( + BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01d20D00E( + BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01D00D00E( + BuiltInId::imageAtomicMin_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01O00D00E( + BuiltInId::imageAtomicMin_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01Z00D00E( + BuiltInId::imageAtomicMin_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01E10D00E( + BuiltInId::imageAtomicMin_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01P10D00E( + BuiltInId::imageAtomicMin_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01a10D00E( + BuiltInId::imageAtomicMin_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01I10D00E( + BuiltInId::imageAtomicMin_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01T10D00E( + BuiltInId::imageAtomicMin_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01e10D00E( + BuiltInId::imageAtomicMin_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01F10D00D00E( + BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01Q10D00D00E( + BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01b10D00D00E( + BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01G20D00D00E( + BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01R20D00D00E( + BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01c20D00D00E( + BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_00z10D00D( + BuiltInId::imageAtomicMin_Image2D1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01K10D00D( + BuiltInId::imageAtomicMin_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01V10D00D( + BuiltInId::imageAtomicMin_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01A20D00D( + BuiltInId::imageAtomicMin_Image3D1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01L20D00D( + BuiltInId::imageAtomicMin_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01W20D00D( + BuiltInId::imageAtomicMin_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01C20D00D( + BuiltInId::imageAtomicMin_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01N20D00D( + BuiltInId::imageAtomicMin_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01Y20D00D( + BuiltInId::imageAtomicMin_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01J00D00D( + BuiltInId::imageAtomicMin_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01U00D00D( + BuiltInId::imageAtomicMin_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01f00D00D( + BuiltInId::imageAtomicMin_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01B20D00D( + BuiltInId::imageAtomicMin_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01M20D00D( + BuiltInId::imageAtomicMin_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01X20D00D( + BuiltInId::imageAtomicMin_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01H20D00D( + BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01S20D00D( + BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01d20D00D( + BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01D00D00D( + BuiltInId::imageAtomicMin_Image1D1_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01O00D00D( + BuiltInId::imageAtomicMin_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01Z00D00D( + BuiltInId::imageAtomicMin_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01E10D00D( + BuiltInId::imageAtomicMin_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01P10D00D( + BuiltInId::imageAtomicMin_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01a10D00D( + BuiltInId::imageAtomicMin_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01I10D00D( + BuiltInId::imageAtomicMin_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01T10D00D( + BuiltInId::imageAtomicMin_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01e10D00D( + BuiltInId::imageAtomicMin_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01F10D00D00D( + BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01Q10D00D00D( + BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01b10D00D00D( + BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01G20D00D00D( + BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01R20D00D00D( + BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMin_01c20D00D00D( + BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMin, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMax_00z10D00E( + BuiltInId::imageAtomicMax_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01K10D00E( + BuiltInId::imageAtomicMax_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01V10D00E( + BuiltInId::imageAtomicMax_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01A20D00E( + BuiltInId::imageAtomicMax_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01L20D00E( + BuiltInId::imageAtomicMax_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01W20D00E( + BuiltInId::imageAtomicMax_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01C20D00E( + BuiltInId::imageAtomicMax_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01N20D00E( + BuiltInId::imageAtomicMax_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01Y20D00E( + BuiltInId::imageAtomicMax_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01J00D00E( + BuiltInId::imageAtomicMax_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01U00D00E( + BuiltInId::imageAtomicMax_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01f00D00E( + BuiltInId::imageAtomicMax_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01B20D00E( + BuiltInId::imageAtomicMax_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01M20D00E( + BuiltInId::imageAtomicMax_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01X20D00E( + BuiltInId::imageAtomicMax_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01H20D00E( + BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01S20D00E( + BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01d20D00E( + BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01D00D00E( + BuiltInId::imageAtomicMax_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01O00D00E( + BuiltInId::imageAtomicMax_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01Z00D00E( + BuiltInId::imageAtomicMax_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01E10D00E( + BuiltInId::imageAtomicMax_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01P10D00E( + BuiltInId::imageAtomicMax_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01a10D00E( + BuiltInId::imageAtomicMax_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01I10D00E( + BuiltInId::imageAtomicMax_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01T10D00E( + BuiltInId::imageAtomicMax_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01e10D00E( + BuiltInId::imageAtomicMax_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01F10D00D00E( + BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01Q10D00D00E( + BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01b10D00D00E( + BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01G20D00D00E( + BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01R20D00D00E( + BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01c20D00D00E( + BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_00z10D00D( + BuiltInId::imageAtomicMax_Image2D1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01K10D00D( + BuiltInId::imageAtomicMax_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01V10D00D( + BuiltInId::imageAtomicMax_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01A20D00D( + BuiltInId::imageAtomicMax_Image3D1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01L20D00D( + BuiltInId::imageAtomicMax_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01W20D00D( + BuiltInId::imageAtomicMax_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01C20D00D( + BuiltInId::imageAtomicMax_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01N20D00D( + BuiltInId::imageAtomicMax_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01Y20D00D( + BuiltInId::imageAtomicMax_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01J00D00D( + BuiltInId::imageAtomicMax_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01U00D00D( + BuiltInId::imageAtomicMax_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01f00D00D( + BuiltInId::imageAtomicMax_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01B20D00D( + BuiltInId::imageAtomicMax_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01M20D00D( + BuiltInId::imageAtomicMax_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01X20D00D( + BuiltInId::imageAtomicMax_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01H20D00D( + BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01S20D00D( + BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01d20D00D( + BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01D00D00D( + BuiltInId::imageAtomicMax_Image1D1_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01O00D00D( + BuiltInId::imageAtomicMax_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01Z00D00D( + BuiltInId::imageAtomicMax_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01E10D00D( + BuiltInId::imageAtomicMax_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01P10D00D( + BuiltInId::imageAtomicMax_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01a10D00D( + BuiltInId::imageAtomicMax_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01I10D00D( + BuiltInId::imageAtomicMax_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01T10D00D( + BuiltInId::imageAtomicMax_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01e10D00D( + BuiltInId::imageAtomicMax_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01F10D00D00D( + BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01Q10D00D00D( + BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01b10D00D00D( + BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01G20D00D00D( + BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01R20D00D00D( + BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMax_01c20D00D00D( + BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMax, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicAnd_00z10D00E( + BuiltInId::imageAtomicAnd_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01K10D00E( + BuiltInId::imageAtomicAnd_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01V10D00E( + BuiltInId::imageAtomicAnd_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01A20D00E( + BuiltInId::imageAtomicAnd_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01L20D00E( + BuiltInId::imageAtomicAnd_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01W20D00E( + BuiltInId::imageAtomicAnd_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01C20D00E( + BuiltInId::imageAtomicAnd_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01N20D00E( + BuiltInId::imageAtomicAnd_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01Y20D00E( + BuiltInId::imageAtomicAnd_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01J00D00E( + BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01U00D00E( + BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01f00D00E( + BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01B20D00E( + BuiltInId::imageAtomicAnd_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01M20D00E( + BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01X20D00E( + BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01H20D00E( + BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01S20D00E( + BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01d20D00E( + BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01D00D00E( + BuiltInId::imageAtomicAnd_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01O00D00E( + BuiltInId::imageAtomicAnd_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01Z00D00E( + BuiltInId::imageAtomicAnd_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01E10D00E( + BuiltInId::imageAtomicAnd_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01P10D00E( + BuiltInId::imageAtomicAnd_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01a10D00E( + BuiltInId::imageAtomicAnd_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01I10D00E( + BuiltInId::imageAtomicAnd_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01T10D00E( + BuiltInId::imageAtomicAnd_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01e10D00E( + BuiltInId::imageAtomicAnd_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01F10D00D00E( + BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01Q10D00D00E( + BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01b10D00D00E( + BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01G20D00D00E( + BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01R20D00D00E( + BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01c20D00D00E( + BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_00z10D00D( + BuiltInId::imageAtomicAnd_Image2D1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01K10D00D( + BuiltInId::imageAtomicAnd_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01V10D00D( + BuiltInId::imageAtomicAnd_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01A20D00D( + BuiltInId::imageAtomicAnd_Image3D1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01L20D00D( + BuiltInId::imageAtomicAnd_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01W20D00D( + BuiltInId::imageAtomicAnd_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01C20D00D( + BuiltInId::imageAtomicAnd_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01N20D00D( + BuiltInId::imageAtomicAnd_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01Y20D00D( + BuiltInId::imageAtomicAnd_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01J00D00D( + BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01U00D00D( + BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01f00D00D( + BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01B20D00D( + BuiltInId::imageAtomicAnd_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01M20D00D( + BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01X20D00D( + BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01H20D00D( + BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01S20D00D( + BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01d20D00D( + BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01D00D00D( + BuiltInId::imageAtomicAnd_Image1D1_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01O00D00D( + BuiltInId::imageAtomicAnd_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01Z00D00D( + BuiltInId::imageAtomicAnd_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01E10D00D( + BuiltInId::imageAtomicAnd_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01P10D00D( + BuiltInId::imageAtomicAnd_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01a10D00D( + BuiltInId::imageAtomicAnd_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01I10D00D( + BuiltInId::imageAtomicAnd_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01T10D00D( + BuiltInId::imageAtomicAnd_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01e10D00D( + BuiltInId::imageAtomicAnd_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01F10D00D00D( + BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01Q10D00D00D( + BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01b10D00D00D( + BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01G20D00D00D( + BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01R20D00D00D( + BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAnd_01c20D00D00D( + BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAnd, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicOr_00z10D00E( + BuiltInId::imageAtomicOr_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01K10D00E( + BuiltInId::imageAtomicOr_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01V10D00E( + BuiltInId::imageAtomicOr_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01A20D00E( + BuiltInId::imageAtomicOr_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01L20D00E( + BuiltInId::imageAtomicOr_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01W20D00E( + BuiltInId::imageAtomicOr_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01C20D00E( + BuiltInId::imageAtomicOr_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01N20D00E( + BuiltInId::imageAtomicOr_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01Y20D00E( + BuiltInId::imageAtomicOr_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01J00D00E( + BuiltInId::imageAtomicOr_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01U00D00E( + BuiltInId::imageAtomicOr_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01f00D00E( + BuiltInId::imageAtomicOr_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01B20D00E( + BuiltInId::imageAtomicOr_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01M20D00E( + BuiltInId::imageAtomicOr_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01X20D00E( + BuiltInId::imageAtomicOr_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01H20D00E( + BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01S20D00E( + BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01d20D00E( + BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01D00D00E( + BuiltInId::imageAtomicOr_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01O00D00E( + BuiltInId::imageAtomicOr_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01Z00D00E( + BuiltInId::imageAtomicOr_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01E10D00E( + BuiltInId::imageAtomicOr_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01P10D00E( + BuiltInId::imageAtomicOr_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01a10D00E( + BuiltInId::imageAtomicOr_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01I10D00E( + BuiltInId::imageAtomicOr_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01T10D00E( + BuiltInId::imageAtomicOr_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01e10D00E( + BuiltInId::imageAtomicOr_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01F10D00D00E( + BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01Q10D00D00E( + BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01b10D00D00E( + BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01G20D00D00E( + BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01R20D00D00E( + BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01c20D00D00E( + BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_00z10D00D( + BuiltInId::imageAtomicOr_Image2D1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01K10D00D( + BuiltInId::imageAtomicOr_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01V10D00D( + BuiltInId::imageAtomicOr_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01A20D00D( + BuiltInId::imageAtomicOr_Image3D1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01L20D00D( + BuiltInId::imageAtomicOr_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01W20D00D( + BuiltInId::imageAtomicOr_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01C20D00D( + BuiltInId::imageAtomicOr_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01N20D00D( + BuiltInId::imageAtomicOr_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01Y20D00D( + BuiltInId::imageAtomicOr_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01J00D00D( + BuiltInId::imageAtomicOr_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01U00D00D( + BuiltInId::imageAtomicOr_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01f00D00D( + BuiltInId::imageAtomicOr_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01B20D00D( + BuiltInId::imageAtomicOr_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01M20D00D( + BuiltInId::imageAtomicOr_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01X20D00D( + BuiltInId::imageAtomicOr_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01H20D00D( + BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01S20D00D( + BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01d20D00D( + BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01D00D00D( + BuiltInId::imageAtomicOr_Image1D1_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01O00D00D( + BuiltInId::imageAtomicOr_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01Z00D00D( + BuiltInId::imageAtomicOr_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01E10D00D( + BuiltInId::imageAtomicOr_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01P10D00D( + BuiltInId::imageAtomicOr_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01a10D00D( + BuiltInId::imageAtomicOr_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01I10D00D( + BuiltInId::imageAtomicOr_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01T10D00D( + BuiltInId::imageAtomicOr_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01e10D00D( + BuiltInId::imageAtomicOr_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01F10D00D00D( + BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01Q10D00D00D( + BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01b10D00D00D( + BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01G20D00D00D( + BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01R20D00D00D( + BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOr_01c20D00D00D( + BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicOr, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicXor_00z10D00E( + BuiltInId::imageAtomicXor_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01K10D00E( + BuiltInId::imageAtomicXor_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01V10D00E( + BuiltInId::imageAtomicXor_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01A20D00E( + BuiltInId::imageAtomicXor_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01L20D00E( + BuiltInId::imageAtomicXor_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01W20D00E( + BuiltInId::imageAtomicXor_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01C20D00E( + BuiltInId::imageAtomicXor_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01N20D00E( + BuiltInId::imageAtomicXor_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01Y20D00E( + BuiltInId::imageAtomicXor_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01J00D00E( + BuiltInId::imageAtomicXor_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01U00D00E( + BuiltInId::imageAtomicXor_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01f00D00E( + BuiltInId::imageAtomicXor_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01B20D00E( + BuiltInId::imageAtomicXor_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01M20D00E( + BuiltInId::imageAtomicXor_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01X20D00E( + BuiltInId::imageAtomicXor_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01H20D00E( + BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01S20D00E( + BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01d20D00E( + BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01D00D00E( + BuiltInId::imageAtomicXor_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01O00D00E( + BuiltInId::imageAtomicXor_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01Z00D00E( + BuiltInId::imageAtomicXor_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01E10D00E( + BuiltInId::imageAtomicXor_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01P10D00E( + BuiltInId::imageAtomicXor_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01a10D00E( + BuiltInId::imageAtomicXor_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01I10D00E( + BuiltInId::imageAtomicXor_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01T10D00E( + BuiltInId::imageAtomicXor_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01e10D00E( + BuiltInId::imageAtomicXor_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01F10D00D00E( + BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01Q10D00D00E( + BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01b10D00D00E( + BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01G20D00D00E( + BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01R20D00D00E( + BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01c20D00D00E( + BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_00z10D00D( + BuiltInId::imageAtomicXor_Image2D1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01K10D00D( + BuiltInId::imageAtomicXor_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01V10D00D( + BuiltInId::imageAtomicXor_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01A20D00D( + BuiltInId::imageAtomicXor_Image3D1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01L20D00D( + BuiltInId::imageAtomicXor_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01W20D00D( + BuiltInId::imageAtomicXor_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01C20D00D( + BuiltInId::imageAtomicXor_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01N20D00D( + BuiltInId::imageAtomicXor_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01Y20D00D( + BuiltInId::imageAtomicXor_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01J00D00D( + BuiltInId::imageAtomicXor_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01U00D00D( + BuiltInId::imageAtomicXor_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01f00D00D( + BuiltInId::imageAtomicXor_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01B20D00D( + BuiltInId::imageAtomicXor_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01M20D00D( + BuiltInId::imageAtomicXor_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01X20D00D( + BuiltInId::imageAtomicXor_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01H20D00D( + BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01S20D00D( + BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01d20D00D( + BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01D00D00D( + BuiltInId::imageAtomicXor_Image1D1_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01O00D00D( + BuiltInId::imageAtomicXor_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01Z00D00D( + BuiltInId::imageAtomicXor_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01E10D00D( + BuiltInId::imageAtomicXor_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01P10D00D( + BuiltInId::imageAtomicXor_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01a10D00D( + BuiltInId::imageAtomicXor_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01I10D00D( + BuiltInId::imageAtomicXor_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01T10D00D( + BuiltInId::imageAtomicXor_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01e10D00D( + BuiltInId::imageAtomicXor_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01F10D00D00D( + BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01Q10D00D00D( + BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01b10D00D00D( + BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01G20D00D00D( + BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01R20D00D00D( + BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXor_01c20D00D00D( + BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicXor, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicExchange_00z10D00E( + BuiltInId::imageAtomicExchange_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01K10D00E( + BuiltInId::imageAtomicExchange_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01V10D00E( + BuiltInId::imageAtomicExchange_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01A20D00E( + BuiltInId::imageAtomicExchange_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01L20D00E( + BuiltInId::imageAtomicExchange_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01W20D00E( + BuiltInId::imageAtomicExchange_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01C20D00E( + BuiltInId::imageAtomicExchange_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01N20D00E( + BuiltInId::imageAtomicExchange_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Y20D00E( + BuiltInId::imageAtomicExchange_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01J00D00E( + BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01U00D00E( + BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01f00D00E( + BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01B20D00E( + BuiltInId::imageAtomicExchange_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01M20D00E( + BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01X20D00E( + BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01H20D00E( + BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01S20D00E( + BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01d20D00E( + BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01D00D00E( + BuiltInId::imageAtomicExchange_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01O00D00E( + BuiltInId::imageAtomicExchange_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Z00D00E( + BuiltInId::imageAtomicExchange_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01E10D00E( + BuiltInId::imageAtomicExchange_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01P10D00E( + BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01a10D00E( + BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01I10D00E( + BuiltInId::imageAtomicExchange_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01T10D00E( + BuiltInId::imageAtomicExchange_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01e10D00E( + BuiltInId::imageAtomicExchange_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01F10D00D00E( + BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Q10D00D00E( + BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01b10D00D00E( + BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01G20D00D00E( + BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01R20D00D00E( + BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01c20D00D00E( + BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_00z10D00D( + BuiltInId::imageAtomicExchange_Image2D1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01K10D00D( + BuiltInId::imageAtomicExchange_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01V10D00D( + BuiltInId::imageAtomicExchange_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01A20D00D( + BuiltInId::imageAtomicExchange_Image3D1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01L20D00D( + BuiltInId::imageAtomicExchange_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01W20D00D( + BuiltInId::imageAtomicExchange_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01C20D00D( + BuiltInId::imageAtomicExchange_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01N20D00D( + BuiltInId::imageAtomicExchange_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Y20D00D( + BuiltInId::imageAtomicExchange_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01J00D00D( + BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01U00D00D( + BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01f00D00D( + BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01B20D00D( + BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01M20D00D( + BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01X20D00D( + BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01H20D00D( + BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01S20D00D( + BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01d20D00D( + BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01D00D00D( + BuiltInId::imageAtomicExchange_Image1D1_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01O00D00D( + BuiltInId::imageAtomicExchange_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Z00D00D( + BuiltInId::imageAtomicExchange_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01E10D00D( + BuiltInId::imageAtomicExchange_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01P10D00D( + BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01a10D00D( + BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01I10D00D( + BuiltInId::imageAtomicExchange_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01T10D00D( + BuiltInId::imageAtomicExchange_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01e10D00D( + BuiltInId::imageAtomicExchange_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01F10D00D00D( + BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Q10D00D00D( + BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01b10D00D00D( + BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01G20D00D00D( + BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01R20D00D00D( + BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01c20D00D00D( + BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_00z10D00B( + BuiltInId::imageAtomicExchange_Image2D1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01K10D00B( + BuiltInId::imageAtomicExchange_IImage2D1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01V10D00B( + BuiltInId::imageAtomicExchange_UImage2D1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01A20D00B( + BuiltInId::imageAtomicExchange_Image3D1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01L20D00B( + BuiltInId::imageAtomicExchange_IImage3D1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01W20D00B( + BuiltInId::imageAtomicExchange_UImage3D1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01C20D00B( + BuiltInId::imageAtomicExchange_ImageCube1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01N20D00B( + BuiltInId::imageAtomicExchange_IImageCube1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Y20D00B( + BuiltInId::imageAtomicExchange_UImageCube1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01J00D00B( + BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01U00D00B( + BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01f00D00B( + BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01B20D00B( + BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01M20D00B( + BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01X20D00B( + BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01H20D00B( + BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01S20D00B( + BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01d20D00B( + BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01D00D00B( + BuiltInId::imageAtomicExchange_Image1D1_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01O00D00B( + BuiltInId::imageAtomicExchange_IImage1D1_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Z00D00B( + BuiltInId::imageAtomicExchange_UImage1D1_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01E10D00B( + BuiltInId::imageAtomicExchange_Image1DArray1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01P10D00B( + BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01a10D00B( + BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01I10D00B( + BuiltInId::imageAtomicExchange_ImageRect1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01T10D00B( + BuiltInId::imageAtomicExchange_IImageRect1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01e10D00B( + BuiltInId::imageAtomicExchange_UImageRect1_Int2_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01F10D00D00B( + BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01Q10D00D00B( + BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01b10D00D00B( + BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01G20D00D00B( + BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01R20D00D00B( + BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchange_01c20D00D00B( + BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Float1, + BuiltInName::imageAtomicExchange, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicCompSwap_00z10D00E00E( + BuiltInId::imageAtomicCompSwap_Image2D1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01K10D00E00E( + BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01V10D00E00E( + BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01A20D00E00E( + BuiltInId::imageAtomicCompSwap_Image3D1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01L20D00E00E( + BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01W20D00E00E( + BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01C20D00E00E( + BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01N20D00E00E( + BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01Y20D00E00E( + BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01J00D00E00E( + BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01U00D00E00E( + BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01f00D00E00E( + BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01B20D00E00E( + BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01M20D00E00E( + BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01X20D00E00E( + BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01H20D00E00E( + BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01S20D00E00E( + BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01d20D00E00E( + BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01D00D00E00E( + BuiltInId::imageAtomicCompSwap_Image1D1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01O00D00E00E( + BuiltInId::imageAtomicCompSwap_IImage1D1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01Z00D00E00E( + BuiltInId::imageAtomicCompSwap_UImage1D1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01E10D00E00E( + BuiltInId::imageAtomicCompSwap_Image1DArray1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01P10D00E00E( + BuiltInId::imageAtomicCompSwap_IImage1DArray1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01a10D00E00E( + BuiltInId::imageAtomicCompSwap_UImage1DArray1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01I10D00E00E( + BuiltInId::imageAtomicCompSwap_ImageRect1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01T10D00E00E( + BuiltInId::imageAtomicCompSwap_IImageRect1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01e10D00E00E( + BuiltInId::imageAtomicCompSwap_UImageRect1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01F10D00D00E00E( + BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01Q10D00D00E00E( + BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01b10D00D00E00E( + BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01G20D00D00E00E( + BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01R20D00D00E00E( + BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01c20D00D00E00E( + BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_00z10D00D00D( + BuiltInId::imageAtomicCompSwap_Image2D1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p00z10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01K10D00D00D( + BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01K10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01V10D00D00D( + BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01V10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01A20D00D00D( + BuiltInId::imageAtomicCompSwap_Image3D1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01A20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01L20D00D00D( + BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01L20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01W20D00D00D( + BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01W20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01C20D00D00D( + BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01C20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01N20D00D00D( + BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01N20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01Y20D00D00D( + BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Y20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01J00D00D00D( + BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01J00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01U00D00D00D( + BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01U00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01f00D00D00D( + BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01f00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01B20D00D00D( + BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01B20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01M20D00D00D( + BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01M20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01X20D00D00D( + BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01X20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01H20D00D00D( + BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01H20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01S20D00D00D( + BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01S20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01d20D00D00D( + BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01d20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01D00D00D00D( + BuiltInId::imageAtomicCompSwap_Image1D1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01O00D00D00D( + BuiltInId::imageAtomicCompSwap_IImage1D1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01O00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01Z00D00D00D( + BuiltInId::imageAtomicCompSwap_UImage1D1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Z00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01E10D00D00D( + BuiltInId::imageAtomicCompSwap_Image1DArray1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01E10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01P10D00D00D( + BuiltInId::imageAtomicCompSwap_IImage1DArray1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01P10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01a10D00D00D( + BuiltInId::imageAtomicCompSwap_UImage1DArray1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01a10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01I10D00D00D( + BuiltInId::imageAtomicCompSwap_ImageRect1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01I10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01T10D00D00D( + BuiltInId::imageAtomicCompSwap_IImageRect1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01T10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01e10D00D00D( + BuiltInId::imageAtomicCompSwap_UImageRect1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01e10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01F10D00D00D00D( + BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01F10D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01Q10D00D00D00D( + BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01Q10D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01b10D00D00D00D( + BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01b10D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01G20D00D00D00D( + BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01G20D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01R20D00D00D00D( + BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01R20D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwap_01c20D00D00D00D( + BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwap, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01c20D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicAddExt_00z10D00E( + BuiltInId::imageAtomicAddExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01K10D00E( + BuiltInId::imageAtomicAddExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01V10D00E( + BuiltInId::imageAtomicAddExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01A20D00E( + BuiltInId::imageAtomicAddExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01L20D00E( + BuiltInId::imageAtomicAddExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01W20D00E( + BuiltInId::imageAtomicAddExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01C20D00E( + BuiltInId::imageAtomicAddExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01N20D00E( + BuiltInId::imageAtomicAddExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01Y20D00E( + BuiltInId::imageAtomicAddExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01J00D00E( + BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01U00D00E( + BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01f00D00E( + BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01B20D00E( + BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01M20D00E( + BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01X20D00E( + BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01H20D00E( + BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01S20D00E( + BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01d20D00E( + BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01D00D00E( + BuiltInId::imageAtomicAddExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01O00D00E( + BuiltInId::imageAtomicAddExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01Z00D00E( + BuiltInId::imageAtomicAddExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01E10D00E( + BuiltInId::imageAtomicAddExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01P10D00E( + BuiltInId::imageAtomicAddExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01a10D00E( + BuiltInId::imageAtomicAddExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01I10D00E( + BuiltInId::imageAtomicAddExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01T10D00E( + BuiltInId::imageAtomicAddExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01e10D00E( + BuiltInId::imageAtomicAddExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01F10D00D00E( + BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01Q10D00D00E( + BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01b10D00D00E( + BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01G20D00D00E( + BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01R20D00D00E( + BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01c20D00D00E( + BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_00z10D00D( + BuiltInId::imageAtomicAddExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01K10D00D( + BuiltInId::imageAtomicAddExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01V10D00D( + BuiltInId::imageAtomicAddExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01A20D00D( + BuiltInId::imageAtomicAddExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01L20D00D( + BuiltInId::imageAtomicAddExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01W20D00D( + BuiltInId::imageAtomicAddExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01C20D00D( + BuiltInId::imageAtomicAddExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01N20D00D( + BuiltInId::imageAtomicAddExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01Y20D00D( + BuiltInId::imageAtomicAddExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01J00D00D( + BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01U00D00D( + BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01f00D00D( + BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01B20D00D( + BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01M20D00D( + BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01X20D00D( + BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01H20D00D( + BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01S20D00D( + BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01d20D00D( + BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01D00D00D( + BuiltInId::imageAtomicAddExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01O00D00D( + BuiltInId::imageAtomicAddExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01Z00D00D( + BuiltInId::imageAtomicAddExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01E10D00D( + BuiltInId::imageAtomicAddExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01P10D00D( + BuiltInId::imageAtomicAddExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01a10D00D( + BuiltInId::imageAtomicAddExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01I10D00D( + BuiltInId::imageAtomicAddExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01T10D00D( + BuiltInId::imageAtomicAddExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01e10D00D( + BuiltInId::imageAtomicAddExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01F10D00D00D( + BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01Q10D00D00D( + BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01b10D00D00D( + BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01G20D00D00D( + BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01R20D00D00D( + BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicAddExt_01c20D00D00D( + BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAddExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAdd, + false); +constexpr const TFunction imageAtomicMinExt_00z10D00E( + BuiltInId::imageAtomicMinExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01K10D00E( + BuiltInId::imageAtomicMinExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01V10D00E( + BuiltInId::imageAtomicMinExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01A20D00E( + BuiltInId::imageAtomicMinExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01L20D00E( + BuiltInId::imageAtomicMinExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01W20D00E( + BuiltInId::imageAtomicMinExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01C20D00E( + BuiltInId::imageAtomicMinExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01N20D00E( + BuiltInId::imageAtomicMinExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01Y20D00E( + BuiltInId::imageAtomicMinExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01J00D00E( + BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01U00D00E( + BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01f00D00E( + BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01B20D00E( + BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01M20D00E( + BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01X20D00E( + BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01H20D00E( + BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01S20D00E( + BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01d20D00E( + BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01D00D00E( + BuiltInId::imageAtomicMinExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01O00D00E( + BuiltInId::imageAtomicMinExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01Z00D00E( + BuiltInId::imageAtomicMinExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01E10D00E( + BuiltInId::imageAtomicMinExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01P10D00E( + BuiltInId::imageAtomicMinExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01a10D00E( + BuiltInId::imageAtomicMinExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01I10D00E( + BuiltInId::imageAtomicMinExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01T10D00E( + BuiltInId::imageAtomicMinExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01e10D00E( + BuiltInId::imageAtomicMinExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01F10D00D00E( + BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01Q10D00D00E( + BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01b10D00D00E( + BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01G20D00D00E( + BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01R20D00D00E( + BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01c20D00D00E( + BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_00z10D00D( + BuiltInId::imageAtomicMinExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01K10D00D( + BuiltInId::imageAtomicMinExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01V10D00D( + BuiltInId::imageAtomicMinExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01A20D00D( + BuiltInId::imageAtomicMinExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01L20D00D( + BuiltInId::imageAtomicMinExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01W20D00D( + BuiltInId::imageAtomicMinExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01C20D00D( + BuiltInId::imageAtomicMinExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01N20D00D( + BuiltInId::imageAtomicMinExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01Y20D00D( + BuiltInId::imageAtomicMinExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01J00D00D( + BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01U00D00D( + BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01f00D00D( + BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01B20D00D( + BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01M20D00D( + BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01X20D00D( + BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01H20D00D( + BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01S20D00D( + BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01d20D00D( + BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01D00D00D( + BuiltInId::imageAtomicMinExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01O00D00D( + BuiltInId::imageAtomicMinExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01Z00D00D( + BuiltInId::imageAtomicMinExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01E10D00D( + BuiltInId::imageAtomicMinExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01P10D00D( + BuiltInId::imageAtomicMinExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01a10D00D( + BuiltInId::imageAtomicMinExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01I10D00D( + BuiltInId::imageAtomicMinExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01T10D00D( + BuiltInId::imageAtomicMinExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01e10D00D( + BuiltInId::imageAtomicMinExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01F10D00D00D( + BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01Q10D00D00D( + BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01b10D00D00D( + BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01G20D00D00D( + BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01R20D00D00D( + BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMinExt_01c20D00D00D( + BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMinExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMin, + false); +constexpr const TFunction imageAtomicMaxExt_00z10D00E( + BuiltInId::imageAtomicMaxExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01K10D00E( + BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01V10D00E( + BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01A20D00E( + BuiltInId::imageAtomicMaxExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01L20D00E( + BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01W20D00E( + BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01C20D00E( + BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01N20D00E( + BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01Y20D00E( + BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01J00D00E( + BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01U00D00E( + BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01f00D00E( + BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01B20D00E( + BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01M20D00E( + BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01X20D00E( + BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01H20D00E( + BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01S20D00E( + BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01d20D00E( + BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01D00D00E( + BuiltInId::imageAtomicMaxExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01O00D00E( + BuiltInId::imageAtomicMaxExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01Z00D00E( + BuiltInId::imageAtomicMaxExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01E10D00E( + BuiltInId::imageAtomicMaxExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01P10D00E( + BuiltInId::imageAtomicMaxExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01a10D00E( + BuiltInId::imageAtomicMaxExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01I10D00E( + BuiltInId::imageAtomicMaxExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01T10D00E( + BuiltInId::imageAtomicMaxExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01e10D00E( + BuiltInId::imageAtomicMaxExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01F10D00D00E( + BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01Q10D00D00E( + BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01b10D00D00E( + BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01G20D00D00E( + BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01R20D00D00E( + BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01c20D00D00E( + BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_00z10D00D( + BuiltInId::imageAtomicMaxExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01K10D00D( + BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01V10D00D( + BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01A20D00D( + BuiltInId::imageAtomicMaxExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01L20D00D( + BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01W20D00D( + BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01C20D00D( + BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01N20D00D( + BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01Y20D00D( + BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01J00D00D( + BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01U00D00D( + BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01f00D00D( + BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01B20D00D( + BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01M20D00D( + BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01X20D00D( + BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01H20D00D( + BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01S20D00D( + BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01d20D00D( + BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01D00D00D( + BuiltInId::imageAtomicMaxExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01O00D00D( + BuiltInId::imageAtomicMaxExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01Z00D00D( + BuiltInId::imageAtomicMaxExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01E10D00D( + BuiltInId::imageAtomicMaxExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01P10D00D( + BuiltInId::imageAtomicMaxExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01a10D00D( + BuiltInId::imageAtomicMaxExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01I10D00D( + BuiltInId::imageAtomicMaxExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01T10D00D( + BuiltInId::imageAtomicMaxExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01e10D00D( + BuiltInId::imageAtomicMaxExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01F10D00D00D( + BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01Q10D00D00D( + BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01b10D00D00D( + BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01G20D00D00D( + BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01R20D00D00D( + BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicMaxExt_01c20D00D00D( + BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicMaxExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicMax, + false); +constexpr const TFunction imageAtomicAndExt_00z10D00E( + BuiltInId::imageAtomicAndExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01K10D00E( + BuiltInId::imageAtomicAndExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01V10D00E( + BuiltInId::imageAtomicAndExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01A20D00E( + BuiltInId::imageAtomicAndExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01L20D00E( + BuiltInId::imageAtomicAndExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01W20D00E( + BuiltInId::imageAtomicAndExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01C20D00E( + BuiltInId::imageAtomicAndExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01N20D00E( + BuiltInId::imageAtomicAndExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01Y20D00E( + BuiltInId::imageAtomicAndExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01J00D00E( + BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01U00D00E( + BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01f00D00E( + BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01B20D00E( + BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01M20D00E( + BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01X20D00E( + BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01H20D00E( + BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01S20D00E( + BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01d20D00E( + BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01D00D00E( + BuiltInId::imageAtomicAndExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01O00D00E( + BuiltInId::imageAtomicAndExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01Z00D00E( + BuiltInId::imageAtomicAndExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01E10D00E( + BuiltInId::imageAtomicAndExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01P10D00E( + BuiltInId::imageAtomicAndExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01a10D00E( + BuiltInId::imageAtomicAndExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01I10D00E( + BuiltInId::imageAtomicAndExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01T10D00E( + BuiltInId::imageAtomicAndExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01e10D00E( + BuiltInId::imageAtomicAndExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01F10D00D00E( + BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01Q10D00D00E( + BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01b10D00D00E( + BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01G20D00D00E( + BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01R20D00D00E( + BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01c20D00D00E( + BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_00z10D00D( + BuiltInId::imageAtomicAndExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01K10D00D( + BuiltInId::imageAtomicAndExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01V10D00D( + BuiltInId::imageAtomicAndExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01A20D00D( + BuiltInId::imageAtomicAndExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01L20D00D( + BuiltInId::imageAtomicAndExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01W20D00D( + BuiltInId::imageAtomicAndExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01C20D00D( + BuiltInId::imageAtomicAndExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01N20D00D( + BuiltInId::imageAtomicAndExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01Y20D00D( + BuiltInId::imageAtomicAndExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01J00D00D( + BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01U00D00D( + BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01f00D00D( + BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01B20D00D( + BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01M20D00D( + BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01X20D00D( + BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01H20D00D( + BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01S20D00D( + BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01d20D00D( + BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01D00D00D( + BuiltInId::imageAtomicAndExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01O00D00D( + BuiltInId::imageAtomicAndExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01Z00D00D( + BuiltInId::imageAtomicAndExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01E10D00D( + BuiltInId::imageAtomicAndExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01P10D00D( + BuiltInId::imageAtomicAndExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01a10D00D( + BuiltInId::imageAtomicAndExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01I10D00D( + BuiltInId::imageAtomicAndExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01T10D00D( + BuiltInId::imageAtomicAndExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01e10D00D( + BuiltInId::imageAtomicAndExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01F10D00D00D( + BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01Q10D00D00D( + BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01b10D00D00D( + BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01G20D00D00D( + BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01R20D00D00D( + BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicAndExt_01c20D00D00D( + BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicAndExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicAnd, + false); +constexpr const TFunction imageAtomicOrExt_00z10D00E( + BuiltInId::imageAtomicOrExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01K10D00E( + BuiltInId::imageAtomicOrExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01V10D00E( + BuiltInId::imageAtomicOrExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01A20D00E( + BuiltInId::imageAtomicOrExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01L20D00E( + BuiltInId::imageAtomicOrExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01W20D00E( + BuiltInId::imageAtomicOrExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01C20D00E( + BuiltInId::imageAtomicOrExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01N20D00E( + BuiltInId::imageAtomicOrExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01Y20D00E( + BuiltInId::imageAtomicOrExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01J00D00E( + BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01U00D00E( + BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01f00D00E( + BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01B20D00E( + BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01M20D00E( + BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01X20D00E( + BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01H20D00E( + BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01S20D00E( + BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01d20D00E( + BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01D00D00E( + BuiltInId::imageAtomicOrExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01O00D00E( + BuiltInId::imageAtomicOrExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01Z00D00E( + BuiltInId::imageAtomicOrExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01E10D00E( + BuiltInId::imageAtomicOrExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01P10D00E( + BuiltInId::imageAtomicOrExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01a10D00E( + BuiltInId::imageAtomicOrExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01I10D00E( + BuiltInId::imageAtomicOrExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01T10D00E( + BuiltInId::imageAtomicOrExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01e10D00E( + BuiltInId::imageAtomicOrExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01F10D00D00E( + BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01Q10D00D00E( + BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01b10D00D00E( + BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01G20D00D00E( + BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01R20D00D00E( + BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01c20D00D00E( + BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_00z10D00D( + BuiltInId::imageAtomicOrExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01K10D00D( + BuiltInId::imageAtomicOrExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01V10D00D( + BuiltInId::imageAtomicOrExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01A20D00D( + BuiltInId::imageAtomicOrExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01L20D00D( + BuiltInId::imageAtomicOrExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01W20D00D( + BuiltInId::imageAtomicOrExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01C20D00D( + BuiltInId::imageAtomicOrExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01N20D00D( + BuiltInId::imageAtomicOrExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01Y20D00D( + BuiltInId::imageAtomicOrExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01J00D00D( + BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01U00D00D( + BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01f00D00D( + BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01B20D00D( + BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01M20D00D( + BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01X20D00D( + BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01H20D00D( + BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01S20D00D( + BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01d20D00D( + BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01D00D00D( + BuiltInId::imageAtomicOrExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01O00D00D( + BuiltInId::imageAtomicOrExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01Z00D00D( + BuiltInId::imageAtomicOrExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01E10D00D( + BuiltInId::imageAtomicOrExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01P10D00D( + BuiltInId::imageAtomicOrExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01a10D00D( + BuiltInId::imageAtomicOrExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01I10D00D( + BuiltInId::imageAtomicOrExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01T10D00D( + BuiltInId::imageAtomicOrExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01e10D00D( + BuiltInId::imageAtomicOrExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01F10D00D00D( + BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01Q10D00D00D( + BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01b10D00D00D( + BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01G20D00D00D( + BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01R20D00D00D( + BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicOrExt_01c20D00D00D( + BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicOrExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicOr, + false); +constexpr const TFunction imageAtomicXorExt_00z10D00E( + BuiltInId::imageAtomicXorExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01K10D00E( + BuiltInId::imageAtomicXorExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01V10D00E( + BuiltInId::imageAtomicXorExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01A20D00E( + BuiltInId::imageAtomicXorExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01L20D00E( + BuiltInId::imageAtomicXorExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01W20D00E( + BuiltInId::imageAtomicXorExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01C20D00E( + BuiltInId::imageAtomicXorExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01N20D00E( + BuiltInId::imageAtomicXorExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01Y20D00E( + BuiltInId::imageAtomicXorExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01J00D00E( + BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01U00D00E( + BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01f00D00E( + BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01B20D00E( + BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01M20D00E( + BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01X20D00E( + BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01H20D00E( + BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01S20D00E( + BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01d20D00E( + BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01D00D00E( + BuiltInId::imageAtomicXorExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01O00D00E( + BuiltInId::imageAtomicXorExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01Z00D00E( + BuiltInId::imageAtomicXorExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01E10D00E( + BuiltInId::imageAtomicXorExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01P10D00E( + BuiltInId::imageAtomicXorExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01a10D00E( + BuiltInId::imageAtomicXorExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01I10D00E( + BuiltInId::imageAtomicXorExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01T10D00E( + BuiltInId::imageAtomicXorExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01e10D00E( + BuiltInId::imageAtomicXorExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01F10D00D00E( + BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01Q10D00D00E( + BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01b10D00D00E( + BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01G20D00D00E( + BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01R20D00D00E( + BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01c20D00D00E( + BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_00z10D00D( + BuiltInId::imageAtomicXorExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01K10D00D( + BuiltInId::imageAtomicXorExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01V10D00D( + BuiltInId::imageAtomicXorExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01A20D00D( + BuiltInId::imageAtomicXorExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01L20D00D( + BuiltInId::imageAtomicXorExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01W20D00D( + BuiltInId::imageAtomicXorExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01C20D00D( + BuiltInId::imageAtomicXorExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01N20D00D( + BuiltInId::imageAtomicXorExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01Y20D00D( + BuiltInId::imageAtomicXorExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01J00D00D( + BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01U00D00D( + BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01f00D00D( + BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01B20D00D( + BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01M20D00D( + BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01X20D00D( + BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01H20D00D( + BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01S20D00D( + BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01d20D00D( + BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01D00D00D( + BuiltInId::imageAtomicXorExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01O00D00D( + BuiltInId::imageAtomicXorExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01Z00D00D( + BuiltInId::imageAtomicXorExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01E10D00D( + BuiltInId::imageAtomicXorExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01P10D00D( + BuiltInId::imageAtomicXorExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01a10D00D( + BuiltInId::imageAtomicXorExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01I10D00D( + BuiltInId::imageAtomicXorExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01T10D00D( + BuiltInId::imageAtomicXorExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01e10D00D( + BuiltInId::imageAtomicXorExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01F10D00D00D( + BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01Q10D00D00D( + BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01b10D00D00D( + BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01G20D00D00D( + BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01R20D00D00D( + BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicXorExt_01c20D00D00D( + BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicXorExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicXor, + false); +constexpr const TFunction imageAtomicExchangeExt_00z10D00E( + BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01K10D00E( + BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01V10D00E( + BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01A20D00E( + BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01L20D00E( + BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01W20D00E( + BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01C20D00E( + BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01N20D00E( + BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Y20D00E( + BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01J00D00E( + BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01U00D00E( + BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01f00D00E( + BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01B20D00E( + BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01M20D00E( + BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01X20D00E( + BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01H20D00E( + BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01S20D00E( + BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01d20D00E( + BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01D00D00E( + BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01O00D00E( + BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Z00D00E( + BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01E10D00E( + BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01P10D00E( + BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01a10D00E( + BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01I10D00E( + BuiltInId::imageAtomicExchangeExt_ImageRect1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01T10D00E( + BuiltInId::imageAtomicExchangeExt_IImageRect1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01e10D00E( + BuiltInId::imageAtomicExchangeExt_UImageRect1_Int2_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 3, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01F10D00D00E( + BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Q10D00D00E( + BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01b10D00D00E( + BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01G20D00D00E( + BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01R20D00D00E( + BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01c20D00D00E( + BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_UInt1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_00z10D00D( + BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01K10D00D( + BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01V10D00D( + BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01A20D00D( + BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01L20D00D( + BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01W20D00D( + BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01C20D00D( + BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01N20D00D( + BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Y20D00D( + BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01J00D00D( + BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01U00D00D( + BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01f00D00D( + BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01B20D00D( + BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01M20D00D( + BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01X20D00D( + BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01H20D00D( + BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01S20D00D( + BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01d20D00D( + BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01D00D00D( + BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01O00D00D( + BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Z00D00D( + BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01E10D00D( + BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01P10D00D( + BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01a10D00D( + BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01I10D00D( + BuiltInId::imageAtomicExchangeExt_ImageRect1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01T10D00D( + BuiltInId::imageAtomicExchangeExt_IImageRect1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01e10D00D( + BuiltInId::imageAtomicExchangeExt_UImageRect1_Int2_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01F10D00D00D( + BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Q10D00D00D( + BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01b10D00D00D( + BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01G20D00D00D( + BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01R20D00D00D( + BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01c20D00D00D( + BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_00z10D00B( + BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01K10D00B( + BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01V10D00B( + BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01A20D00B( + BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01L20D00B( + BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01W20D00B( + BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01C20D00B( + BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01N20D00B( + BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Y20D00B( + BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01J00D00B( + BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01U00D00B( + BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01f00D00B( + BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01B20D00B( + BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01M20D00B( + BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01X20D00B( + BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01H20D00B( + BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01S20D00B( + BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01d20D00B( + BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01D00D00B( + BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01O00D00B( + BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Z00D00B( + BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01E10D00B( + BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01P10D00B( + BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01a10D00B( + BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01I10D00B( + BuiltInId::imageAtomicExchangeExt_ImageRect1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01T10D00B( + BuiltInId::imageAtomicExchangeExt_IImageRect1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01e10D00B( + BuiltInId::imageAtomicExchangeExt_UImageRect1_Int2_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00B, + 3, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01F10D00D00B( + BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01Q10D00D00B( + BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01b10D00D00B( + BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01G20D00D00B( + BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01R20D00D00B( + BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicExchangeExt_01c20D00D00B( + BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Float1, + BuiltInName::imageAtomicExchangeExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00B, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicExchange, + false); +constexpr const TFunction imageAtomicCompSwapExt_00z10D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01K10D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01V10D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01A20D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01L20D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01W20D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01C20D00E00E( + BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01N20D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01Y20D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01J00D00E00E( + BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01U00D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01f00D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01B20D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01M20D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01X20D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01H20D00E00E( + BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01S20D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01d20D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image1D1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01O00D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage1D1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01Z00D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage1D1_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01E10D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image1DArray1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01P10D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage1DArray1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01a10D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage1DArray1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01I10D00E00E( + BuiltInId::imageAtomicCompSwapExt_ImageRect1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01T10D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImageRect1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01e10D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImageRect1_Int2_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00E00E, + 4, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01F10D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01Q10D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01b10D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01G20D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01R20D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01c20D00D00E00E( + BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_UInt1_UInt1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00E00E, + 5, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_00z10D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p00z10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01K10D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01K10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01V10D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01V10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01A20D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01A20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01L20D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01L20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01W20D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01W20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01C20D00D00D( + BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01C20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01N20D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01N20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01Y20D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Y20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01J00D00D00D( + BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01J00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01U00D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01U00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01f00D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01f00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01B20D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01B20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01M20D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01M20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01X20D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01X20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01H20D00D00D( + BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01H20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01S20D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01S20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01d20D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01d20D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image1D1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01D00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01O00D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage1D1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01O00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01Z00D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage1D1_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Z00D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01E10D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image1DArray1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01E10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01P10D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage1DArray1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01P10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01a10D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage1DArray1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01a10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01I10D00D00D( + BuiltInId::imageAtomicCompSwapExt_ImageRect1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01I10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01T10D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImageRect1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01T10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01e10D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImageRect1_Int2_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01e10D00D00D, + 4, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01F10D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01F10D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01Q10D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01Q10D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01b10D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01b10D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01G20D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01G20D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01R20D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01R20D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction imageAtomicCompSwapExt_01c20D00D00D00D( + BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_Int1_Int1, + BuiltInName::imageAtomicCompSwapExt, + std::array<TExtension, 1u>{{TExtension::OES_shader_image_atomic}}, + BuiltInParameters::p01c20D00D00D00D, + 5, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(), + EOpImageAtomicCompSwap, + false); +constexpr const TFunction pixelLocalLoadANGLE_01g( + BuiltInId::pixelLocalLoadANGLE_PixelLocalANGLE1, + BuiltInName::pixelLocalLoadANGLE, + std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}}, + BuiltInParameters::p01g30B, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpPixelLocalLoadANGLE, + false); +constexpr const TFunction pixelLocalLoadANGLE_01h( + BuiltInId::pixelLocalLoadANGLE_IPixelLocalANGLE1, + BuiltInName::pixelLocalLoadANGLE, + std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}}, + BuiltInParameters::p01h30D, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpPixelLocalLoadANGLE, + false); +constexpr const TFunction pixelLocalLoadANGLE_01i( + BuiltInId::pixelLocalLoadANGLE_UPixelLocalANGLE1, + BuiltInName::pixelLocalLoadANGLE, + std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}}, + BuiltInParameters::p01i30E, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpPixelLocalLoadANGLE, + false); +constexpr const TFunction pixelLocalStoreANGLE_01g30B( + BuiltInId::pixelLocalStoreANGLE_PixelLocalANGLE1_Float4, + BuiltInName::pixelLocalStoreANGLE, + std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}}, + BuiltInParameters::p01g30B, + 2, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPixelLocalStoreANGLE, + false); +constexpr const TFunction pixelLocalStoreANGLE_01h30D( + BuiltInId::pixelLocalStoreANGLE_IPixelLocalANGLE1_Int4, + BuiltInName::pixelLocalStoreANGLE, + std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}}, + BuiltInParameters::p01h30D, + 2, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPixelLocalStoreANGLE, + false); +constexpr const TFunction pixelLocalStoreANGLE_01i30E( + BuiltInId::pixelLocalStoreANGLE_UPixelLocalANGLE1_UInt4, + BuiltInName::pixelLocalStoreANGLE, + std::array<TExtension, 1u>{{TExtension::ANGLE_shader_pixel_local_storage}}, + BuiltInParameters::p01i30E, + 2, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpPixelLocalStoreANGLE, + false); +constexpr const TFunction beginInvocationInterlockNV_( + BuiltInId::beginInvocationInterlockNV, + BuiltInName::beginInvocationInterlockNV, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBeginInvocationInterlockNV, + false); +constexpr const TFunction endInvocationInterlockNV_( + BuiltInId::endInvocationInterlockNV, + BuiltInName::endInvocationInterlockNV, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpEndInvocationInterlockNV, + false); +constexpr const TFunction beginFragmentShaderOrderingINTEL_( + BuiltInId::beginFragmentShaderOrderingINTEL, + BuiltInName::beginFragmentShaderOrderingINTEL, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBeginFragmentShaderOrderingINTEL, + false); +constexpr const TFunction beginInvocationInterlockARB_( + BuiltInId::beginInvocationInterlockARB, + BuiltInName::beginInvocationInterlockARB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBeginInvocationInterlockARB, + false); +constexpr const TFunction endInvocationInterlockARB_( + BuiltInId::endInvocationInterlockARB, + BuiltInName::endInvocationInterlockARB, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpEndInvocationInterlockARB, + false); +constexpr const TFunction memoryBarrier_(BuiltInId::memoryBarrier, + BuiltInName::memoryBarrier, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMemoryBarrier, + false); +constexpr const TFunction memoryBarrierAtomicCounter_( + BuiltInId::memoryBarrierAtomicCounter, + BuiltInName::memoryBarrierAtomicCounter, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMemoryBarrierAtomicCounter, + false); +constexpr const TFunction memoryBarrierBuffer_( + BuiltInId::memoryBarrierBuffer, + BuiltInName::memoryBarrierBuffer, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMemoryBarrierBuffer, + false); +constexpr const TFunction memoryBarrierImage_( + BuiltInId::memoryBarrierImage, + BuiltInName::memoryBarrierImage, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMemoryBarrierImage, + false); +constexpr const TFunction barrier_(BuiltInId::barrier, + BuiltInName::barrier, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBarrier, + false); +constexpr const TFunction memoryBarrierShared_( + BuiltInId::memoryBarrierShared, + BuiltInName::memoryBarrierShared, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpMemoryBarrierShared, + false); +constexpr const TFunction groupMemoryBarrier_( + BuiltInId::groupMemoryBarrier, + BuiltInName::groupMemoryBarrier, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpGroupMemoryBarrier, + false); +constexpr const TFunction barrierTCS_(BuiltInId::barrierTCS, + BuiltInName::barrierTCS, + std::array<TExtension, 1u>{ + {TExtension::EXT_tessellation_shader}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBarrierTCS, + false); +constexpr const TFunction barrierTCSES3_2_( + BuiltInId::barrierTCSES3_2, + BuiltInName::barrierTCSES3_2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpBarrierTCS, + false); +constexpr const TFunction EmitVertex_(BuiltInId::EmitVertex, + BuiltInName::EmitVertex, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, + TExtension::OES_geometry_shader}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpEmitVertex, + false); +constexpr const TFunction EmitVertexES3_2_( + BuiltInId::EmitVertexES3_2, + BuiltInName::EmitVertexES3_2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpEmitVertex, + false); +constexpr const TFunction EndPrimitive_( + BuiltInId::EndPrimitive, + BuiltInName::EndPrimitive, + std::array<TExtension, 2u>{{TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpEndPrimitive, + false); +constexpr const TFunction EndPrimitiveES3_2_( + BuiltInId::EndPrimitiveES3_2, + BuiltInName::EndPrimitiveES3_2, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::empty, + 0, + StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(), + EOpEndPrimitive, + false); +constexpr const TFunction subpassLoad_01j( + BuiltInId::subpassLoad_SubpassInput1, + BuiltInName::subpassLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01j, + 1, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSubpassLoad, + false); +constexpr const TFunction subpassLoad_01k(BuiltInId::subpassLoad_ISubpassInput1, + BuiltInName::subpassLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01k, + 1, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSubpassLoad, + false); +constexpr const TFunction subpassLoad_01l(BuiltInId::subpassLoad_USubpassInput1, + BuiltInName::subpassLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01l, + 1, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSubpassLoad, + false); +constexpr const TFunction subpassLoad_01m00D( + BuiltInId::subpassLoad_SubpassInputMS1_Int1, + BuiltInName::subpassLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01m00D, + 2, + StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSubpassLoad, + false); +constexpr const TFunction subpassLoad_01n00D( + BuiltInId::subpassLoad_ISubpassInputMS1_Int1, + BuiltInName::subpassLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01n00D, + 2, + StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSubpassLoad, + false); +constexpr const TFunction subpassLoad_01o00D( + BuiltInId::subpassLoad_USubpassInputMS1_Int1, + BuiltInName::subpassLoad, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + BuiltInParameters::p01o00D, + 2, + StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(), + EOpSubpassLoad, + false); + +} // namespace Func + +namespace BuiltInArray +{ +using namespace Func; +using Rule = SymbolRule; + +// Rules used to initialize the mangled name array. +constexpr SymbolRule kRules[] = { + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(°rees_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(°rees_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(°rees_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(°rees_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_30D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_30D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_10B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_30B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_20B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20D20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30E30E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30E00E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_10B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_30B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_30B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20D20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E30E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E00E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_00B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_10B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_20B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_30B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_10B10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_20B20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_30B30B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00D00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10D00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10D10D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D20D20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00E00E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E00E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20E00E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E00E00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20E20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_00B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_30B30B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_30B30B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_00B00B00F), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_10B10B10F), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_20B20B20F), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_30B30B30F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00D00D00F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_10D10D10F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_20D20D20F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_30D30D30F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00E00E00F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_10E10E10F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_20E20E20F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_30E30E30F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00F00F00F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_10F10F10F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_20F20F20F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_30F30F30F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_10B10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_20B20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_30B30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_00B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_30B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_30E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_00B00B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_00B00B00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_10B10B10B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_10B10B10B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_20B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_20B20B20B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_30B30B30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_30B30B30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_00B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_10B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_20B20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_30B30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_00B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_10B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_20B20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_30B30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packSnorm2x16_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packHalf2x16_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackSnorm2x16_00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackHalf2x16_00E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packUnorm2x16_10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackUnorm2x16_00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packUnorm4x8_30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packSnorm4x8_30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackUnorm4x8_00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackSnorm4x8_00E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cross_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_00B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_10B10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_30B30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_00B00B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_10B10B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_20B20B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_30B30B00B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_50B50B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_A0BA0B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_F0BF0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_90B90B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_60B60B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_D0BD0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_70B70B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_E0BE0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_B0BB0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_50B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_A0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_F0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_60B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_90B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_70B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_D0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_B0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_E0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_50B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_A0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_F0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_50B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_A0B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_F0B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_10D10D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_20D20D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_10D10D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_20D20D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_10D10D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_20D20D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_20D20D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10D10D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20D20D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10F10F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20F20F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30F30F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_10B10B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_20B20B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_30B30B), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_10D10D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_20D20D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_30D30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(¬Equal_10E10E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(¬Equal_20E20E), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(¬Equal_30E30E), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_10F10F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_20F20F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Equal_30F30F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_10F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_20F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_30F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_10F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_20F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_30F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Func_10F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Func_20F), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(¬Func_30F), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_30D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_10E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_20E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_30E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_00D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10D10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_30D30D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_00E00E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20E20E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_30E30E00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_00E00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_10E10E10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_20E20E20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_30E30E30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_00E00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_10E10E10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_20E20E20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_30E30E30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_00E00E00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_10E10E10E10E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_20E20E20E20E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_30E30E30E30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_00D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_10D10D10D10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_20D20D20D20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_30D30D30D30D), + Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2D_00I10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00I20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00I30B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&textureCube_00K20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3D_00J20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3DProj_00J30B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shadow_samplers)>(&shadow2DEXT_00d20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shadow_samplers)>( + &shadow2DProjEXT_00d30B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_EGL_image_external)>(&texture2D_00M10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(NV_EGL_stream_consumer_external)>( + &texture2D_00M10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_EGL_image_external)>( + &texture2DProj_00M20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(NV_EGL_stream_consumer_external)>( + &texture2DProj_00M20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_EGL_image_external)>( + &texture2DProj_00M30B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(NV_EGL_stream_consumer_external)>( + &texture2DProj_00M30B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>( + &texture2DRect_00O10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>( + &texture2DRectProj_00O20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>( + &texture2DRectProj_00O30B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>( + &texture2DGradEXT_00I10B10B10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>( + &texture2DProjGradEXT_00I20B10B10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>( + &texture2DProjGradEXT_00I30B10B10B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>( + &textureCubeGradEXT_00K20B20B20B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&textureVideoWEBGL_00y10B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2D_00I10B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2DProj_00I20B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2DProj_00I30B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&textureCube_00K20B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3D_00J20B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>( + &texture3DProj_00J30B00B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3DLod_00J20B00B), + Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(OES_texture_3D)>(&texture3DProjLod_00J30B00B), + Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DLod_00I10B00B), + Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DProjLod_00I20B00B), + Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DProjLod_00I30B00B), + Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&textureCubeLod_00K20B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>( + &texture2DLodEXT_00I10B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>( + &texture2DProjLodEXT_00I20B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>( + &texture2DProjLodEXT_00I30B00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>( + &textureCubeLodEXT_00K20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00I10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00R10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00X10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00J20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00S20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00Y20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00K20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00T20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00Z20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00L20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00U20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00a20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00d20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00e30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00f30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texture_00k30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00k30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00k30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texture_00s30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00s30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00s30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texture_00x30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00x30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00x30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texture_00l30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00l30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00l30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>( + &texture_00M10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texture_00N10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture_00O10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00y10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00X20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00X30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00J30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00S30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00Y30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00d30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>( + &textureProj_00M20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>( + &textureProj_00M30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00O20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00O30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00I10B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00R10B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00X10B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00J20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00S20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00Y20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00K20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00T20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00Z20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00L20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00U20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00a20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00d20B00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureLod_00k30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureLodExt_00k30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureLodExt_00k30B00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureLod_00s30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureLodExt_00s30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureLodExt_00s30B00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureLod_00x30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureLodExt_00x30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureLodExt_00x30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00I00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00R00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00X00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00J00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00S00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00Y00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00K00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00T00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00Z00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00L00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00U00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00a00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00d00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00e00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00f00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00k00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureSizeExt_00k00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureSizeExt_00k00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00s00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureSizeExt_00s00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureSizeExt_00s00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00x00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureSizeExt_00x00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureSizeExt_00x00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00l00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureSizeExt_00l00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureSizeExt_00l00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00j), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&textureSizeExt_00j), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&textureSizeExt_00j), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00r), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&textureSizeExt_00r), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&textureSizeExt_00r), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00w), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&textureSizeExt_00w), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&textureSizeExt_00w), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00P), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>( + &textureSizeExt_00P), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00V), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>( + &textureSizeExt_00V), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00b), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>( + &textureSizeExt_00b), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00Q), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>( + &textureSizeExt_00Q), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00W), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>( + &textureSizeExt_00W), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureSize_00c), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>( + &textureSizeExt_00c), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>( + &textureSize_00M00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureSize_00N00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00I20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00R20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00X20B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00I30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00R30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00X30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00J30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00S30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00Y30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00d30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00I10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00R10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00X10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00J20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00S20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00Y20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00L20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00U20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00a20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texelFetch_00j00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&texelFetchExt_00j00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&texelFetchExt_00j00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texelFetch_00r00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&texelFetchExt_00r00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&texelFetchExt_00r00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texelFetch_00w00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&texelFetchExt_00w00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&texelFetchExt_00w00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00P10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>( + &texelFetchExt_00P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00V10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>( + &texelFetchExt_00V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00b10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>( + &texelFetchExt_00b10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texelFetch_00Q20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>( + &texelFetchExt_00Q20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texelFetch_00W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>( + &texelFetchExt_00W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&texelFetch_00c20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>( + &texelFetchExt_00c20D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>( + &texelFetch_00M10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texelFetch_00N10D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00I10B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00R10B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00X10B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00J20B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00S20B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Y20B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00K20B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00T20B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Z20B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00d20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00e30B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00L20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00U20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00a20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00f30B10B10B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGrad_00k30B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGradExt_00k30B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGradExt_00k30B20B20B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGrad_00s30B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGradExt_00s30B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGradExt_00s30B20B20B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGrad_00x30B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGradExt_00x30B20B20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGradExt_00x30B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00R20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00X20B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I30B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00R30B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00X30B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00J30B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00S30B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00Y30B20B20B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00d30B10B10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00I10B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00R10B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00X10B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00J20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00S20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00Y20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00K20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00T20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00Z20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00L20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00U20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00a20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00I20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00R20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00I30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00R30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00J30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00S30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00Y30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00d20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00e30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00d30B00B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&texture_00k30B00B), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00k30B00B), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00k30B00B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&texture_00s30B00B), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00s30B00B), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00s30B00B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&texture_00x30B00B), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(OES_texture_cube_map_array)>( + &textureExt_00x30B00B), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureExt_00x30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>( + &texture_00M10B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>( + &textureProj_00M20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>( + &textureProj_00M30B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&texture_00N10B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N20B00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B00B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00I10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00R10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00X10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00J20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00S20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00Y20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00d20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00L20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00U20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00a20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00I20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X20B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00I30B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R30B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X30B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00J30B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00S30B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00Y30B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00d30B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00I10B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00R10B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00X10B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00J20B00B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00S20B00B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00d20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00L20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00U20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00a20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00X20B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I30B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R30B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00X30B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00J30B00B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00S30B00B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00Y30B00B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00d30B00B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00I10D00D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00R10D00D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00X10D00D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00J20D00D20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00S20D00D20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00Y20D00D20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00L20D00D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00U20D00D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00a20D00D10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00I10B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00R10B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00X10B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00J20B20B20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00Y20B20B20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00d20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00L20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00U20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00f30B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00I20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00X20B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00I30B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R30B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00X30B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00J30B20B20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00S30B20B20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00Y30B20B20B20D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00I10B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00R10B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00X10B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00J20B20D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00S20B20D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00Y20B20D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00d20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00L20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00U20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00a20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00X20B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R30B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00X30B10D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00J30B20D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00S30B20D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00Y30B20D00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00d30B10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00R10B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00X10B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00R10B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00X10B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00a20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00a20B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00K20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00T20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00Z20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00K20B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00T20B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00Z20B00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00k30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00k30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00k30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00s30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00s30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00s30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00x30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00x30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00x30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00k30B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00k30B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00k30B00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00s30B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00s30B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00s30B00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00x30B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00x30B00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00x30B00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGather_00l30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &textureGatherExt_00l30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &textureGatherExt_00l30B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00d10B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00d10B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00I10B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00R10B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00L20B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00U20B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00a20B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00d10B00B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00f20B00B10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00I10B10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00R10B10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00L20B10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00U20B10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00a20B10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00I10B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00I10B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00R10B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00R10B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00X10B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00L20B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00L20B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00U20B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00a20B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00a20B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00d10B00B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00f20B00B10Dx4), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00f20B00B10Dx4), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00I10B10Dx400D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00I10B10Dx400D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00R10B10Dx400D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00R10B10Dx400D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx400D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00X10B10Dx400D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00L20B10Dx400D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00L20B10Dx400D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx400D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00U20B10Dx400D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00a20B10Dx400D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>( + &textureGatherOffsetsExt_00a20B10Dx400D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&rgb_2_yuv_20B00H), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&yuv_2_rgb_20B00H), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_10B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_20B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_20B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_30B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_30B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_10B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_20B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_20B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_30B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_30B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_00B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>( + &fwidthExt_00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_10B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>( + &fwidthExt_10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_20B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>( + &fwidthExt_20B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_30B), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>( + &fwidthExt_30B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_00B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtCentroidExt_00B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtCentroidExt_10B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_20B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtCentroidExt_20B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_30B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtCentroidExt_30B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_00B00D), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtSampleExt_00B00D), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_10B00D), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtSampleExt_10B00D), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_20B00D), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtSampleExt_20B00D), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_30B00D), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtSampleExt_30B00D), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_00B10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtOffsetExt_00B10B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_10B10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtOffsetExt_10B10B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_20B10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtOffsetExt_20B10B), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_30B10B), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>( + &interpolateAtOffsetExt_30B10B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounter_00G), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounterIncrement_00G), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounterDecrement_00G), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAdd_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAdd_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAnd_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAnd_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicOr_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicOr_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00E00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_00z), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01K), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01V), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01A), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01L), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01W), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01M), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01X), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01C), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01N), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01Y), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageSize_01H), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageSizeExt_01H), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageSizeExt_01H), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageSize_01S), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageSizeExt_01S), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageSizeExt_01S), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageSize_01d), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageSizeExt_01d), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageSizeExt_01d), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageSize_01J), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageSizeExt_01J), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageSizeExt_01J), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageSize_01U), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageSizeExt_01U), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageSizeExt_01U), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageSize_01f), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageSizeExt_01f), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageSizeExt_01f), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_00z10D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01K10D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01V10D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01A20D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01L20D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01W20D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01B20D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01M20D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01X20D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01C20D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01N20D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01Y20D30E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageStore_01H20D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageStoreExt_01H20D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageStoreExt_01H20D30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageStore_01S20D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageStoreExt_01S20D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageStoreExt_01S20D30D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageStore_01d20D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageStoreExt_01d20D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageStoreExt_01d20D30E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageStore_01J00D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>( + &imageStoreExt_01J00D30B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>( + &imageStoreExt_01J00D30B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageStore_01U00D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>( + &imageStoreExt_01U00D30D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>( + &imageStoreExt_01U00D30D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageStore_01f00D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>( + &imageStoreExt_01f00D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>( + &imageStoreExt_01f00D30E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_00z10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01K10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01V10D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01A20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01L20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01W20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01B20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01M20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01X20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01C20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01N20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01Y20D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageLoad_01H20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageLoadExt_01H20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageLoadExt_01H20D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageLoad_01S20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageLoadExt_01S20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageLoadExt_01S20D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageLoad_01d20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_cube_map_array)>( + &imageLoadExt_01d20D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_cube_map_array)>( + &imageLoadExt_01d20D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageLoad_01J00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageLoadExt_01J00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageLoadExt_01J00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageLoad_01U00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageLoadExt_01U00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageLoadExt_01U00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageLoad_01f00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_buffer)>(&imageLoadExt_01f00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_texture_buffer)>(&imageLoadExt_01f00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAdd_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAddExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMin_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMinExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicMax_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicMaxExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicAnd_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicAndExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicOr_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicOrExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicXor_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicXorExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_00z10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_00z10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01K10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01K10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01V10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01V10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01A20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01A20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01L20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01L20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01W20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01W20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01C20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01C20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01N20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01N20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Y20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Y20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01J00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01J00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01U00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01U00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01f00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01f00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01B20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01B20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01M20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01M20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01X20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01X20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01H20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01H20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01S20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01S20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01d20D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01d20D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01O00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01O00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Z00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Z00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01E10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01E10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01P10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01P10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01a10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01a10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01I10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01I10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01T10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01T10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01e10D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01e10D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01F10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01F10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Q10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Q10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01b10D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01b10D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01G20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01G20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01R20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01R20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01c20D00D00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01c20D00D00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_00z10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_00z10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01K10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01K10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01V10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01V10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01A20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01A20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01L20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01L20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01W20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01W20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01C20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01C20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01N20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01N20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Y20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Y20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01J00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01J00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01U00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01U00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01f00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01f00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01B20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01B20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01M20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01M20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01X20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01X20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01H20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01H20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01S20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01S20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01d20D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01d20D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01O00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01O00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Z00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Z00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01E10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01E10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01P10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01P10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01a10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01a10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01I10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01I10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01T10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01T10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01e10D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01e10D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01F10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01F10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Q10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Q10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01b10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01b10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01G20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01G20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01R20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01R20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01c20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01c20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_00z10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_00z10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01K10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01K10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01V10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01V10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01A20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01A20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01L20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01L20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01W20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01W20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01C20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01C20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01N20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01N20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Y20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Y20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01J00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01J00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01U00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01U00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01f00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01f00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01B20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01B20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01M20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01M20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01X20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01X20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01H20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01H20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01S20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01S20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01d20D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01d20D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01O00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01O00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Z00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Z00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01E10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01E10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01P10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01P10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01a10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01a10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01I10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01I10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01T10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01T10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01e10D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01e10D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01F10D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01F10D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01Q10D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01Q10D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01b10D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01b10D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01G20D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01G20D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01R20D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01R20D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicExchange_01c20D00D00B), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicExchangeExt_01c20D00D00B), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_00z10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_00z10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01K10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01K10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01V10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01V10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01A20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01A20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01L20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01L20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01W20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01W20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01C20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01C20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01N20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01N20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01Y20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01Y20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01J00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01J00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01U00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01U00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01f00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01f00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01B20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01B20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01M20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01M20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01X20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01X20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01H20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01H20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01S20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01S20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01d20D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01d20D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01O00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01O00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01Z00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01Z00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01E10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01E10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01P10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01P10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01a10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01a10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01I10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01I10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01T10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01T10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01e10D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01e10D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01F10D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01F10D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01Q10D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01Q10D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01b10D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01b10D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01G20D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01G20D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01R20D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01R20D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01c20D00D00E00E), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01c20D00D00E00E), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_00z10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_00z10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01K10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01K10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01V10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01V10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01A20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01A20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01L20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01L20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01W20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01W20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01C20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01C20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01N20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01N20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01Y20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01Y20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01J00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01J00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01U00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01U00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01f00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01f00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01B20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01B20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01M20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01M20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01X20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01X20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01H20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01H20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01S20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01S20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01d20D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01d20D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01D00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01O00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01O00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01Z00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01Z00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01E10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01E10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01P10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01P10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01a10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01a10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01I10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01I10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01T10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01T10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01e10D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01e10D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01F10D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01F10D00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01Q10D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01Q10D00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01b10D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01b10D00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01G20D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01G20D00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01R20D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01R20D00D00D00D), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&imageAtomicCompSwap_01c20D00D00D00D), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>( + &imageAtomicCompSwapExt_01c20D00D00D00D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>( + &pixelLocalLoadANGLE_01g), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>( + &pixelLocalLoadANGLE_01h), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>( + &pixelLocalLoadANGLE_01i), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>( + &pixelLocalStoreANGLE_01g30B), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>( + &pixelLocalStoreANGLE_01h30D), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_shader_pixel_local_storage)>( + &pixelLocalStoreANGLE_01i30E), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>( + &beginInvocationInterlockNV_), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&endInvocationInterlockNV_), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>( + &beginFragmentShaderOrderingINTEL_), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>( + &beginInvocationInterlockARB_), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>( + &endInvocationInterlockARB_), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrier_), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierAtomicCounter_), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierBuffer_), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierImage_), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&barrier_), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&barrierTCSES3_2_), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &barrierTCS_), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&memoryBarrierShared_), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&groupMemoryBarrier_), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY, 0>(&EmitVertexES3_2_), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY, EXT_INDEX(EXT_geometry_shader)>(&EmitVertex_), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY, EXT_INDEX(OES_geometry_shader)>(&EmitVertex_), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY, 0>(&EndPrimitiveES3_2_), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY, EXT_INDEX(EXT_geometry_shader)>(&EndPrimitive_), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY, EXT_INDEX(OES_geometry_shader)>(&EndPrimitive_), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01j), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01k), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01l), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01m00D), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01n00D), + Rule::Get<Spec::ESSL, kESSLInternalBackendBuiltIns, Shader::ALL, 0>(&subpassLoad_01o00D), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRange), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&BuiltInVariable::kgl_NumSamplesES3_2), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_sample_variables)>( + &BuiltInVariable::kgl_NumSamples), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAttribs), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexUniformVectors), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedTextureImageUnits), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentUniformVectors), + Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors), + Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxDrawBuffers), + Rule::Get<Spec::ESSL, 0, Shader::ALL, EXT_INDEX(EXT_blend_func_extended)>( + &TableBase::m_gl_MaxDualSourceDrawBuffersEXT), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexOutputVectors), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentInputVectors), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MinProgramTexelOffset), + Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxImageUnits), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexImageUniforms), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeImageUniforms), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedImageUniforms), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedShaderOutputResources), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupCount), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeUniformComponents), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeTextureImageUnits), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBindings), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBufferSize), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryInputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryInputComponents), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryInputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryOutputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryOutputComponents), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryOutputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryImageUniformsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryImageUniforms), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryImageUniforms), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryTextureImageUnitsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryTextureImageUnits), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryTextureImageUnits), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryOutputVerticesES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryOutputVertices), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryOutputVertices), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxGeometryTotalOutputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryTotalOutputComponents), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryTotalOutputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryUniformComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryUniformComponents), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryUniformComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryAtomicCountersES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryAtomicCounters), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryAtomicCounters), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxGeometryAtomicCounterBuffersES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_MaxGeometryAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_MaxGeometryAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlInputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlInputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessControlOutputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlOutputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessControlTextureImageUnitsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlTextureImageUnits), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessControlUniformComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlUniformComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessControlTotalOutputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlTotalOutputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlImageUniformsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlImageUniforms), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlAtomicCountersES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlAtomicCounters), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessControlAtomicCounterBuffersES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessControlAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessPatchComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessPatchComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxPatchVerticesES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxPatchVertices), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessGenLevelES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessGenLevel), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationInputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationInputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationOutputComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationOutputComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationTextureImageUnitsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationTextureImageUnits), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationUniformComponentsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationUniformComponents), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationImageUniformsES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationImageUniforms), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationAtomicCountersES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationAtomicCounters), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>( + &TableBase::m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2), + Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_MaxTessEvaluationAtomicCounterBuffers), + Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxSamplesES3_2), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_sample_variables)>( + &TableBase::m_gl_MaxSamples), + Rule::Get<Spec::ESSL, 0, Shader::ALL, EXT_INDEX(APPLE_clip_distance)>( + &TableBase::m_gl_MaxClipDistancesAPPLE), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>( + &TableBase::m_gl_MaxCullDistancesEXT), + Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>( + &TableBase::m_gl_MaxCombinedClipAndCullDistancesEXT), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord300), + Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FrontFacing), + Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PointCoord), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragColor), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&TableBase::m_gl_FragData), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>( + &BuiltInVariable::kgl_SecondaryFragColorEXT), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>( + &TableBase::m_gl_SecondaryFragDataEXT), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_frag_depth)>( + &TableBase::m_gl_FragDepthEXT), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_framebuffer_fetch)>( + &TableBase::m_gl_LastFragData), + Rule::Get<Spec::ESSL, + 100, + Shader::FRAGMENT, + EXT_INDEX(EXT_shader_framebuffer_fetch_non_coherent)>(&TableBase::m_gl_LastFragData), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>( + &TableBase::m_gl_LastFragDataNV), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>( + &BuiltInVariable::kgl_LastFragColor), + Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch)>( + &BuiltInVariable::kgl_LastFragColorARM), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PrimitiveIDES3_2), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDGSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &BuiltInVariable::kgl_PrimitiveIDTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>( + &BuiltInVariable::kgl_PrimitiveIDTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_geometry_shader)>( + &BuiltInVariable::kgl_PrimitiveID), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(OES_geometry_shader)>( + &BuiltInVariable::kgl_PrimitiveID), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &BuiltInVariable::kgl_PrimitiveIDGS), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &BuiltInVariable::kgl_PrimitiveIDGS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &BuiltInVariable::kgl_PrimitiveIDTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &BuiltInVariable::kgl_PrimitiveIDTES), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_LayerES3_2), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_LayerGSES3_2), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_geometry_shader)>( + &BuiltInVariable::kgl_Layer), + Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(OES_geometry_shader)>( + &BuiltInVariable::kgl_Layer), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &BuiltInVariable::kgl_LayerGS), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &BuiltInVariable::kgl_LayerGS), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_SampleIDES3_2), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>( + &BuiltInVariable::kgl_SampleID), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_SamplePositionES3_2), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>( + &BuiltInVariable::kgl_SamplePosition), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&TableBase::m_gl_SampleMaskInES3_2), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>( + &TableBase::m_gl_SampleMaskIn), + Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&TableBase::m_gl_SampleMaskES3_2), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_sample_variables)>( + &TableBase::m_gl_SampleMask), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_clip_cull_distance)>( + &TableBase::m_gl_CullDistance), + Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(EXT_clip_cull_distance)>( + &TableBase::m_gl_CullDistanceEXT), + Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_clip_cull_distance)>( + &TableBase::m_gl_ClipDistance), + Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(APPLE_clip_distance)>( + &TableBase::m_gl_ClipDistanceAPPLE), + Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_PositionGSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_PositionTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_PositionTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_PositionGS), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_PositionGS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_PositionTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_PositionTES), + Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize), + Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize300), + Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceID), + Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexID), + Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_multi_draw)>( + &BuiltInVariable::kgl_DrawID), + Rule::Get<Spec::ESSL, + 300, + Shader::VERTEX, + EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>( + &BuiltInVariable::kgl_BaseVertex), + Rule::Get<Spec::ESSL, + 300, + Shader::VERTEX, + EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>( + &BuiltInVariable::kgl_BaseInstance), + Rule::Get<Spec::ESSL, + 0, + Shader::VERTEX, + EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>( + &BuiltInVariable::kangle_BaseVertex), + Rule::Get<Spec::ESSL, + 0, + Shader::VERTEX, + EXT_INDEX(ANGLE_base_vertex_base_instance_shader_builtin)>( + &BuiltInVariable::kangle_BaseInstance), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_NumWorkGroups), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupID), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationID), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_GlobalInvocationID), + Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationIndex), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDInES3_2), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &BuiltInVariable::kgl_PrimitiveIDIn), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &BuiltInVariable::kgl_PrimitiveIDIn), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_InvocationIDES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &BuiltInVariable::kgl_InvocationIDTCSES3_2), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &BuiltInVariable::kgl_InvocationID), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &BuiltInVariable::kgl_InvocationID), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &BuiltInVariable::kgl_InvocationIDTCS), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_PerVertexES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_PerVertexTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_PerVertexTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_PerVertex), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_PerVertex), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_PerVertexTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_PerVertexTES), + Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_inES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_inTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_inTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>( + &TableBase::m_gl_in), + Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(OES_geometry_shader)>( + &TableBase::m_gl_in), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_inTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_inTES), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &BuiltInVariable::kgl_PatchVerticesInTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>( + &BuiltInVariable::kgl_PatchVerticesInTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &BuiltInVariable::kgl_PatchVerticesInTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &BuiltInVariable::kgl_PatchVerticesInTES), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &TableBase::m_gl_TessLevelOuterTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>( + &TableBase::m_gl_TessLevelOuterTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_TessLevelOuterTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_TessLevelOuterTES), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &TableBase::m_gl_TessLevelInnerTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>( + &TableBase::m_gl_TessLevelInnerTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_TessLevelInnerTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_TessLevelInnerTES), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_outTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_EVALUATION_EXT, 0>(&TableBase::m_gl_outTESES3_2), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_outTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_outTES), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_BoundingBoxTCSES3_2), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_BoundingBoxTCS), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &TableBase::m_gl_BoundingBoxEXTTCSES3_2), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_BoundingBoxEXTTCS), + Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>( + &TableBase::m_gl_BoundingBoxOESTCSES3_2), + Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>( + &TableBase::m_gl_BoundingBoxOESTCS), + Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, 0>(&BuiltInVariable::kgl_TessCoord), + Rule::Get<Spec::ESSL, 300, Shader::NOT_COMPUTE, EXT_INDEX(OVR_multiview)>( + &BuiltInVariable::kgl_ViewID_OVR)}; + +// Flat array of all mangled names. +constexpr const char *kMangledNames[] = {"radians(00B", + "radians(10B", + "radians(20B", + "radians(30B", + "degrees(00B", + "degrees(10B", + "degrees(20B", + "degrees(30B", + "sin(00B", + "sin(10B", + "sin(20B", + "sin(30B", + "cos(00B", + "cos(10B", + "cos(20B", + "cos(30B", + "tan(00B", + "tan(10B", + "tan(20B", + "tan(30B", + "asin(00B", + "asin(10B", + "asin(20B", + "asin(30B", + "acos(00B", + "acos(10B", + "acos(20B", + "acos(30B", + "atan(00B00B", + "atan(10B10B", + "atan(20B20B", + "atan(30B30B", + "atan(00B", + "atan(10B", + "atan(20B", + "atan(30B", + "sinh(00B", + "sinh(10B", + "sinh(20B", + "sinh(30B", + "cosh(00B", + "cosh(10B", + "cosh(20B", + "cosh(30B", + "tanh(00B", + "tanh(10B", + "tanh(20B", + "tanh(30B", + "asinh(00B", + "asinh(10B", + "asinh(20B", + "asinh(30B", + "acosh(00B", + "acosh(10B", + "acosh(20B", + "acosh(30B", + "atanh(00B", + "atanh(10B", + "atanh(20B", + "atanh(30B", + "pow(00B00B", + "pow(10B10B", + "pow(20B20B", + "pow(30B30B", + "exp(00B", + "exp(10B", + "exp(20B", + "exp(30B", + "log(00B", + "log(10B", + "log(20B", + "log(30B", + "exp2(00B", + "exp2(10B", + "exp2(20B", + "exp2(30B", + "log2(00B", + "log2(10B", + "log2(20B", + "log2(30B", + "sqrt(00B", + "sqrt(10B", + "sqrt(20B", + "sqrt(30B", + "inversesqrt(00B", + "inversesqrt(10B", + "inversesqrt(20B", + "inversesqrt(30B", + "abs(00B", + "abs(10B", + "abs(20B", + "abs(30B", + "abs(00D", + "abs(10D", + "abs(20D", + "abs(30D", + "sign(00B", + "sign(10B", + "sign(20B", + "sign(30B", + "sign(00D", + "sign(10D", + "sign(20D", + "sign(30D", + "floor(00B", + "floor(10B", + "floor(20B", + "floor(30B", + "trunc(00B", + "trunc(10B", + "trunc(20B", + "trunc(30B", + "round(00B", + "round(10B", + "round(20B", + "round(30B", + "roundEven(00B", + "roundEven(10B", + "roundEven(20B", + "roundEven(30B", + "ceil(00B", + "ceil(10B", + "ceil(20B", + "ceil(30B", + "fract(00B", + "fract(10B", + "fract(20B", + "fract(30B", + "mod(00B00B", + "mod(10B00B", + "mod(20B00B", + "mod(30B00B", + "mod(10B10B", + "mod(20B20B", + "mod(30B30B", + "min(00B00B", + "min(10B00B", + "min(20B00B", + "min(30B00B", + "min(10B10B", + "min(20B20B", + "min(30B30B", + "min(00D00D", + "min(10D10D", + "min(20D20D", + "min(30D30D", + "min(10D00D", + "min(20D00D", + "min(30D00D", + "min(00E00E", + "min(10E10E", + "min(20E20E", + "min(30E30E", + "min(10E00E", + "min(20E00E", + "min(30E00E", + "max(00B00B", + "max(10B00B", + "max(20B00B", + "max(30B00B", + "max(10B10B", + "max(20B20B", + "max(30B30B", + "max(00D00D", + "max(10D10D", + "max(20D20D", + "max(30D30D", + "max(10D00D", + "max(20D00D", + "max(30D00D", + "max(00E00E", + "max(10E10E", + "max(20E20E", + "max(30E30E", + "max(10E00E", + "max(20E00E", + "max(30E00E", + "clamp(00B00B00B", + "clamp(10B00B00B", + "clamp(20B00B00B", + "clamp(30B00B00B", + "clamp(10B10B10B", + "clamp(20B20B20B", + "clamp(30B30B30B", + "clamp(00D00D00D", + "clamp(10D00D00D", + "clamp(20D00D00D", + "clamp(30D00D00D", + "clamp(10D10D10D", + "clamp(20D20D20D", + "clamp(30D30D30D", + "clamp(00E00E00E", + "clamp(10E00E00E", + "clamp(20E00E00E", + "clamp(30E00E00E", + "clamp(10E10E10E", + "clamp(20E20E20E", + "clamp(30E30E30E", + "mix(00B00B00B", + "mix(10B10B00B", + "mix(20B20B00B", + "mix(30B30B00B", + "mix(10B10B10B", + "mix(20B20B20B", + "mix(30B30B30B", + "mix(00B00B00F", + "mix(10B10B10F", + "mix(20B20B20F", + "mix(30B30B30F", + "mix(00D00D00F", + "mix(10D10D10F", + "mix(20D20D20F", + "mix(30D30D30F", + "mix(00E00E00F", + "mix(10E10E10F", + "mix(20E20E20F", + "mix(30E30E30F", + "mix(00F00F00F", + "mix(10F10F10F", + "mix(20F20F20F", + "mix(30F30F30F", + "step(00B00B", + "step(10B10B", + "step(20B20B", + "step(30B30B", + "step(00B10B", + "step(00B20B", + "step(00B30B", + "smoothstep(00B00B00B", + "smoothstep(10B10B10B", + "smoothstep(20B20B20B", + "smoothstep(30B30B30B", + "smoothstep(00B00B10B", + "smoothstep(00B00B20B", + "smoothstep(00B00B30B", + "modf(00B00B", + "modf(10B10B", + "modf(20B20B", + "modf(30B30B", + "isnan(00B", + "isnan(10B", + "isnan(20B", + "isnan(30B", + "isinf(00B", + "isinf(10B", + "isinf(20B", + "isinf(30B", + "floatBitsToInt(00B", + "floatBitsToInt(10B", + "floatBitsToInt(20B", + "floatBitsToInt(30B", + "floatBitsToUint(00B", + "floatBitsToUint(10B", + "floatBitsToUint(20B", + "floatBitsToUint(30B", + "intBitsToFloat(00D", + "intBitsToFloat(10D", + "intBitsToFloat(20D", + "intBitsToFloat(30D", + "uintBitsToFloat(00E", + "uintBitsToFloat(10E", + "uintBitsToFloat(20E", + "uintBitsToFloat(30E", + "fma(00B00B00B", + "fma(10B10B10B", + "fma(20B20B20B", + "fma(30B30B30B", + "frexp(00B00D", + "frexp(10B10D", + "frexp(20B20D", + "frexp(30B30D", + "ldexp(00B00D", + "ldexp(10B10D", + "ldexp(20B20D", + "ldexp(30B30D", + "packSnorm2x16(10B", + "packHalf2x16(10B", + "unpackSnorm2x16(00E", + "unpackHalf2x16(00E", + "packUnorm2x16(10B", + "unpackUnorm2x16(00E", + "packUnorm4x8(30B", + "packSnorm4x8(30B", + "unpackUnorm4x8(00E", + "unpackSnorm4x8(00E", + "length(00B", + "length(10B", + "length(20B", + "length(30B", + "distance(00B00B", + "distance(10B10B", + "distance(20B20B", + "distance(30B30B", + "dot(00B00B", + "dot(10B10B", + "dot(20B20B", + "dot(30B30B", + "cross(20B20B", + "normalize(00B", + "normalize(10B", + "normalize(20B", + "normalize(30B", + "faceforward(00B00B00B", + "faceforward(10B10B10B", + "faceforward(20B20B20B", + "faceforward(30B30B30B", + "reflect(00B00B", + "reflect(10B10B", + "reflect(20B20B", + "reflect(30B30B", + "refract(00B00B00B", + "refract(10B10B00B", + "refract(20B20B00B", + "refract(30B30B00B", + "matrixCompMult(50B50B", + "matrixCompMult(A0BA0B", + "matrixCompMult(F0BF0B", + "matrixCompMult(90B90B", + "matrixCompMult(60B60B", + "matrixCompMult(D0BD0B", + "matrixCompMult(70B70B", + "matrixCompMult(E0BE0B", + "matrixCompMult(B0BB0B", + "outerProduct(10B10B", + "outerProduct(20B20B", + "outerProduct(30B30B", + "outerProduct(20B10B", + "outerProduct(10B20B", + "outerProduct(30B10B", + "outerProduct(10B30B", + "outerProduct(30B20B", + "outerProduct(20B30B", + "transpose(50B", + "transpose(A0B", + "transpose(F0B", + "transpose(60B", + "transpose(90B", + "transpose(70B", + "transpose(D0B", + "transpose(B0B", + "transpose(E0B", + "determinant(50B", + "determinant(A0B", + "determinant(F0B", + "inverse(50B", + "inverse(A0B", + "inverse(F0B", + "lessThan(10B10B", + "lessThan(20B20B", + "lessThan(30B30B", + "lessThan(10D10D", + "lessThan(20D20D", + "lessThan(30D30D", + "lessThan(10E10E", + "lessThan(20E20E", + "lessThan(30E30E", + "lessThanEqual(10B10B", + "lessThanEqual(20B20B", + "lessThanEqual(30B30B", + "lessThanEqual(10D10D", + "lessThanEqual(20D20D", + "lessThanEqual(30D30D", + "lessThanEqual(10E10E", + "lessThanEqual(20E20E", + "lessThanEqual(30E30E", + "greaterThan(10B10B", + "greaterThan(20B20B", + "greaterThan(30B30B", + "greaterThan(10D10D", + "greaterThan(20D20D", + "greaterThan(30D30D", + "greaterThan(10E10E", + "greaterThan(20E20E", + "greaterThan(30E30E", + "greaterThanEqual(10B10B", + "greaterThanEqual(20B20B", + "greaterThanEqual(30B30B", + "greaterThanEqual(10D10D", + "greaterThanEqual(20D20D", + "greaterThanEqual(30D30D", + "greaterThanEqual(10E10E", + "greaterThanEqual(20E20E", + "greaterThanEqual(30E30E", + "equal(10B10B", + "equal(20B20B", + "equal(30B30B", + "equal(10D10D", + "equal(20D20D", + "equal(30D30D", + "equal(10E10E", + "equal(20E20E", + "equal(30E30E", + "equal(10F10F", + "equal(20F20F", + "equal(30F30F", + "notEqual(10B10B", + "notEqual(20B20B", + "notEqual(30B30B", + "notEqual(10D10D", + "notEqual(20D20D", + "notEqual(30D30D", + "notEqual(10E10E", + "notEqual(20E20E", + "notEqual(30E30E", + "notEqual(10F10F", + "notEqual(20F20F", + "notEqual(30F30F", + "any(10F", + "any(20F", + "any(30F", + "all(10F", + "all(20F", + "all(30F", + "not(10F", + "not(20F", + "not(30F", + "bitfieldExtract(00D00D00D", + "bitfieldExtract(10D00D00D", + "bitfieldExtract(20D00D00D", + "bitfieldExtract(30D00D00D", + "bitfieldExtract(00E00D00D", + "bitfieldExtract(10E00D00D", + "bitfieldExtract(20E00D00D", + "bitfieldExtract(30E00D00D", + "bitfieldInsert(00D00D00D00D", + "bitfieldInsert(10D10D00D00D", + "bitfieldInsert(20D20D00D00D", + "bitfieldInsert(30D30D00D00D", + "bitfieldInsert(00E00E00D00D", + "bitfieldInsert(10E10E00D00D", + "bitfieldInsert(20E20E00D00D", + "bitfieldInsert(30E30E00D00D", + "bitfieldReverse(00D", + "bitfieldReverse(10D", + "bitfieldReverse(20D", + "bitfieldReverse(30D", + "bitfieldReverse(00E", + "bitfieldReverse(10E", + "bitfieldReverse(20E", + "bitfieldReverse(30E", + "bitCount(00D", + "bitCount(10D", + "bitCount(20D", + "bitCount(30D", + "bitCount(00E", + "bitCount(10E", + "bitCount(20E", + "bitCount(30E", + "findLSB(00D", + "findLSB(10D", + "findLSB(20D", + "findLSB(30D", + "findLSB(00E", + "findLSB(10E", + "findLSB(20E", + "findLSB(30E", + "findMSB(00D", + "findMSB(10D", + "findMSB(20D", + "findMSB(30D", + "findMSB(00E", + "findMSB(10E", + "findMSB(20E", + "findMSB(30E", + "uaddCarry(00E00E00E", + "uaddCarry(10E10E10E", + "uaddCarry(20E20E20E", + "uaddCarry(30E30E30E", + "usubBorrow(00E00E00E", + "usubBorrow(10E10E10E", + "usubBorrow(20E20E20E", + "usubBorrow(30E30E30E", + "umulExtended(00E00E00E00E", + "umulExtended(10E10E10E10E", + "umulExtended(20E20E20E20E", + "umulExtended(30E30E30E30E", + "imulExtended(00D00D00D00D", + "imulExtended(10D10D10D10D", + "imulExtended(20D20D20D20D", + "imulExtended(30D30D30D30D", + "texture2D(00I10B", + "texture2DProj(00I20B", + "texture2DProj(00I30B", + "textureCube(00K20B", + "texture3D(00J20B", + "texture3DProj(00J30B", + "shadow2DEXT(00d20B", + "shadow2DProjEXT(00d30B", + "texture2D(00M10B", + "texture2DProj(00M20B", + "texture2DProj(00M30B", + "texture2DRect(00O10B", + "texture2DRectProj(00O20B", + "texture2DRectProj(00O30B", + "texture2DGradEXT(00I10B10B10B", + "texture2DProjGradEXT(00I20B10B10B", + "texture2DProjGradEXT(00I30B10B10B", + "textureCubeGradEXT(00K20B20B20B", + "textureVideoWEBGL(00y10B", + "texture2D(00I10B00B", + "texture2DProj(00I20B00B", + "texture2DProj(00I30B00B", + "textureCube(00K20B00B", + "texture3D(00J20B00B", + "texture3DProj(00J30B00B", + "texture3DLod(00J20B00B", + "texture3DProjLod(00J30B00B", + "texture2DLod(00I10B00B", + "texture2DProjLod(00I20B00B", + "texture2DProjLod(00I30B00B", + "textureCubeLod(00K20B00B", + "texture2DLodEXT(00I10B00B", + "texture2DProjLodEXT(00I20B00B", + "texture2DProjLodEXT(00I30B00B", + "textureCubeLodEXT(00K20B00B", + "texture(00I10B", + "texture(00R10B", + "texture(00X10B", + "texture(00J20B", + "texture(00S20B", + "texture(00Y20B", + "texture(00K20B", + "texture(00T20B", + "texture(00Z20B", + "texture(00L20B", + "texture(00U20B", + "texture(00a20B", + "texture(00d20B", + "texture(00e30B", + "texture(00f30B", + "texture(00k30B", + "texture(00s30B", + "texture(00x30B", + "texture(00l30B00B", + "texture(00M10B", + "texture(00N10B", + "texture(00O10B", + "texture(00y10B", + "textureProj(00I20B", + "textureProj(00R20B", + "textureProj(00X20B", + "textureProj(00I30B", + "textureProj(00R30B", + "textureProj(00X30B", + "textureProj(00J30B", + "textureProj(00S30B", + "textureProj(00Y30B", + "textureProj(00d30B", + "textureProj(00M20B", + "textureProj(00M30B", + "textureProj(00N20B", + "textureProj(00N30B", + "textureProj(00O20B", + "textureProj(00O30B", + "textureLod(00I10B00B", + "textureLod(00R10B00B", + "textureLod(00X10B00B", + "textureLod(00J20B00B", + "textureLod(00S20B00B", + "textureLod(00Y20B00B", + "textureLod(00K20B00B", + "textureLod(00T20B00B", + "textureLod(00Z20B00B", + "textureLod(00L20B00B", + "textureLod(00U20B00B", + "textureLod(00a20B00B", + "textureLod(00d20B00B", + "textureLod(00k30B00B", + "textureLod(00s30B00B", + "textureLod(00x30B00B", + "textureSize(00I00D", + "textureSize(00R00D", + "textureSize(00X00D", + "textureSize(00J00D", + "textureSize(00S00D", + "textureSize(00Y00D", + "textureSize(00K00D", + "textureSize(00T00D", + "textureSize(00Z00D", + "textureSize(00L00D", + "textureSize(00U00D", + "textureSize(00a00D", + "textureSize(00d00D", + "textureSize(00e00D", + "textureSize(00f00D", + "textureSize(00k00D", + "textureSize(00s00D", + "textureSize(00x00D", + "textureSize(00l00D", + "textureSize(00j", + "textureSize(00r", + "textureSize(00w", + "textureSize(00P", + "textureSize(00V", + "textureSize(00b", + "textureSize(00Q", + "textureSize(00W", + "textureSize(00c", + "textureSize(00M00D", + "textureSize(00N00D", + "textureProjLod(00I20B00B", + "textureProjLod(00R20B00B", + "textureProjLod(00X20B00B", + "textureProjLod(00I30B00B", + "textureProjLod(00R30B00B", + "textureProjLod(00X30B00B", + "textureProjLod(00J30B00B", + "textureProjLod(00S30B00B", + "textureProjLod(00Y30B00B", + "textureProjLod(00d30B00B", + "texelFetch(00I10D00D", + "texelFetch(00R10D00D", + "texelFetch(00X10D00D", + "texelFetch(00J20D00D", + "texelFetch(00S20D00D", + "texelFetch(00Y20D00D", + "texelFetch(00L20D00D", + "texelFetch(00U20D00D", + "texelFetch(00a20D00D", + "texelFetch(00j00D", + "texelFetch(00r00D", + "texelFetch(00w00D", + "texelFetch(00P10D00D", + "texelFetch(00V10D00D", + "texelFetch(00b10D00D", + "texelFetch(00Q20D00D", + "texelFetch(00W20D00D", + "texelFetch(00c20D00D", + "texelFetch(00M10D00D", + "texelFetch(00N10D00D", + "textureGrad(00I10B10B10B", + "textureGrad(00R10B10B10B", + "textureGrad(00X10B10B10B", + "textureGrad(00J20B20B20B", + "textureGrad(00S20B20B20B", + "textureGrad(00Y20B20B20B", + "textureGrad(00K20B20B20B", + "textureGrad(00T20B20B20B", + "textureGrad(00Z20B20B20B", + "textureGrad(00d20B10B10B", + "textureGrad(00e30B20B20B", + "textureGrad(00L20B10B10B", + "textureGrad(00U20B10B10B", + "textureGrad(00a20B10B10B", + "textureGrad(00f30B10B10B", + "textureGrad(00k30B20B20B", + "textureGrad(00s30B20B20B", + "textureGrad(00x30B20B20B", + "textureProjGrad(00I20B10B10B", + "textureProjGrad(00R20B10B10B", + "textureProjGrad(00X20B10B10B", + "textureProjGrad(00I30B10B10B", + "textureProjGrad(00R30B10B10B", + "textureProjGrad(00X30B10B10B", + "textureProjGrad(00J30B20B20B", + "textureProjGrad(00S30B20B20B", + "textureProjGrad(00Y30B20B20B", + "textureProjGrad(00d30B10B10B", + "texture(00I10B00B", + "texture(00R10B00B", + "texture(00X10B00B", + "texture(00J20B00B", + "texture(00S20B00B", + "texture(00Y20B00B", + "texture(00K20B00B", + "texture(00T20B00B", + "texture(00Z20B00B", + "texture(00L20B00B", + "texture(00U20B00B", + "texture(00a20B00B", + "textureProj(00I20B00B", + "textureProj(00R20B00B", + "textureProj(00X20B00B", + "textureProj(00I30B00B", + "textureProj(00R30B00B", + "textureProj(00X30B00B", + "textureProj(00J30B00B", + "textureProj(00S30B00B", + "textureProj(00Y30B00B", + "texture(00d20B00B", + "texture(00e30B00B", + "textureProj(00d30B00B", + "texture(00k30B00B", + "texture(00s30B00B", + "texture(00x30B00B", + "texture(00M10B00B", + "textureProj(00M20B00B", + "textureProj(00M30B00B", + "texture(00N10B00B", + "textureProj(00N20B00B", + "textureProj(00N30B00B", + "textureOffset(00I10B10D", + "textureOffset(00R10B10D", + "textureOffset(00X10B10D", + "textureOffset(00J20B20D", + "textureOffset(00S20B20D", + "textureOffset(00Y20B20D", + "textureOffset(00d20B10D", + "textureOffset(00L20B10D", + "textureOffset(00U20B10D", + "textureOffset(00a20B10D", + "textureProjOffset(00I20B10D", + "textureProjOffset(00R20B10D", + "textureProjOffset(00X20B10D", + "textureProjOffset(00I30B10D", + "textureProjOffset(00R30B10D", + "textureProjOffset(00X30B10D", + "textureProjOffset(00J30B20D", + "textureProjOffset(00S30B20D", + "textureProjOffset(00Y30B20D", + "textureProjOffset(00d30B10D", + "textureLodOffset(00I10B00B10D", + "textureLodOffset(00R10B00B10D", + "textureLodOffset(00X10B00B10D", + "textureLodOffset(00J20B00B20D", + "textureLodOffset(00S20B00B20D", + "textureLodOffset(00Y20B00B20D", + "textureLodOffset(00d20B00B10D", + "textureLodOffset(00L20B00B10D", + "textureLodOffset(00U20B00B10D", + "textureLodOffset(00a20B00B10D", + "textureProjLodOffset(00I20B00B10D", + "textureProjLodOffset(00R20B00B10D", + "textureProjLodOffset(00X20B00B10D", + "textureProjLodOffset(00I30B00B10D", + "textureProjLodOffset(00R30B00B10D", + "textureProjLodOffset(00X30B00B10D", + "textureProjLodOffset(00J30B00B20D", + "textureProjLodOffset(00S30B00B20D", + "textureProjLodOffset(00Y30B00B20D", + "textureProjLodOffset(00d30B00B10D", + "texelFetchOffset(00I10D00D10D", + "texelFetchOffset(00R10D00D10D", + "texelFetchOffset(00X10D00D10D", + "texelFetchOffset(00J20D00D20D", + "texelFetchOffset(00S20D00D20D", + "texelFetchOffset(00Y20D00D20D", + "texelFetchOffset(00L20D00D10D", + "texelFetchOffset(00U20D00D10D", + "texelFetchOffset(00a20D00D10D", + "textureGradOffset(00I10B10B10B10D", + "textureGradOffset(00R10B10B10B10D", + "textureGradOffset(00X10B10B10B10D", + "textureGradOffset(00J20B20B20B20D", + "textureGradOffset(00S20B20B20B20D", + "textureGradOffset(00Y20B20B20B20D", + "textureGradOffset(00d20B10B10B10D", + "textureGradOffset(00L20B10B10B10D", + "textureGradOffset(00U20B10B10B10D", + "textureGradOffset(00a20B10B10B10D", + "textureGradOffset(00f30B10B10B10D", + "textureProjGradOffset(00I20B10B10B10D", + "textureProjGradOffset(00R20B10B10B10D", + "textureProjGradOffset(00X20B10B10B10D", + "textureProjGradOffset(00I30B10B10B10D", + "textureProjGradOffset(00R30B10B10B10D", + "textureProjGradOffset(00X30B10B10B10D", + "textureProjGradOffset(00J30B20B20B20D", + "textureProjGradOffset(00S30B20B20B20D", + "textureProjGradOffset(00Y30B20B20B20D", + "textureProjGradOffset(00d30B10B10B10D", + "textureOffset(00I10B10D00B", + "textureOffset(00R10B10D00B", + "textureOffset(00X10B10D00B", + "textureOffset(00J20B20D00B", + "textureOffset(00S20B20D00B", + "textureOffset(00Y20B20D00B", + "textureOffset(00d20B10D00B", + "textureOffset(00L20B10D00B", + "textureOffset(00U20B10D00B", + "textureOffset(00a20B10D00B", + "textureProjOffset(00I20B10D00B", + "textureProjOffset(00R20B10D00B", + "textureProjOffset(00X20B10D00B", + "textureProjOffset(00I30B10D00B", + "textureProjOffset(00R30B10D00B", + "textureProjOffset(00X30B10D00B", + "textureProjOffset(00J30B20D00B", + "textureProjOffset(00S30B20D00B", + "textureProjOffset(00Y30B20D00B", + "textureProjOffset(00d30B10D00B", + "textureGather(00I10B", + "textureGather(00R10B", + "textureGather(00X10B", + "textureGather(00I10B00D", + "textureGather(00R10B00D", + "textureGather(00X10B00D", + "textureGather(00L20B", + "textureGather(00U20B", + "textureGather(00a20B", + "textureGather(00L20B00D", + "textureGather(00U20B00D", + "textureGather(00a20B00D", + "textureGather(00K20B", + "textureGather(00T20B", + "textureGather(00Z20B", + "textureGather(00K20B00D", + "textureGather(00T20B00D", + "textureGather(00Z20B00D", + "textureGather(00k30B", + "textureGather(00s30B", + "textureGather(00x30B", + "textureGather(00k30B00D", + "textureGather(00s30B00D", + "textureGather(00x30B00D", + "textureGather(00l30B00B", + "textureGather(00d10B", + "textureGather(00d10B00B", + "textureGather(00f20B", + "textureGather(00f20B00B", + "textureGather(00e20B", + "textureGather(00e20B00B", + "textureGatherOffset(00I10B10D", + "textureGatherOffset(00R10B10D", + "textureGatherOffset(00X10B10D", + "textureGatherOffset(00L20B10D", + "textureGatherOffset(00U20B10D", + "textureGatherOffset(00a20B10D", + "textureGatherOffset(00d10B00B10D", + "textureGatherOffset(00f20B00B10D", + "textureGatherOffset(00I10B10D00D", + "textureGatherOffset(00R10B10D00D", + "textureGatherOffset(00X10B10D00D", + "textureGatherOffset(00L20B10D00D", + "textureGatherOffset(00U20B10D00D", + "textureGatherOffset(00a20B10D00D", + "textureGatherOffsets(00I10B10Dx4", + "textureGatherOffsets(00R10B10Dx4", + "textureGatherOffsets(00X10B10Dx4", + "textureGatherOffsets(00L20B10Dx4", + "textureGatherOffsets(00U20B10Dx4", + "textureGatherOffsets(00a20B10Dx4", + "textureGatherOffsets(00d10B00B10Dx4", + "textureGatherOffsets(00f20B00B10Dx4", + "textureGatherOffsets(00I10B10Dx400D", + "textureGatherOffsets(00R10B10Dx400D", + "textureGatherOffsets(00X10B10Dx400D", + "textureGatherOffsets(00L20B10Dx400D", + "textureGatherOffsets(00U20B10Dx400D", + "textureGatherOffsets(00a20B10Dx400D", + "rgb_2_yuv(20B00H", + "yuv_2_rgb(20B00H", + "dFdx(00B", + "dFdx(10B", + "dFdx(20B", + "dFdx(30B", + "dFdy(00B", + "dFdy(10B", + "dFdy(20B", + "dFdy(30B", + "fwidth(00B", + "fwidth(10B", + "fwidth(20B", + "fwidth(30B", + "interpolateAtCentroid(00B", + "interpolateAtCentroid(10B", + "interpolateAtCentroid(20B", + "interpolateAtCentroid(30B", + "interpolateAtSample(00B00D", + "interpolateAtSample(10B00D", + "interpolateAtSample(20B00D", + "interpolateAtSample(30B00D", + "interpolateAtOffset(00B10B", + "interpolateAtOffset(10B10B", + "interpolateAtOffset(20B10B", + "interpolateAtOffset(30B10B", + "atomicCounter(00G", + "atomicCounterIncrement(00G", + "atomicCounterDecrement(00G", + "atomicAdd(00E00E", + "atomicAdd(00D00D", + "atomicMin(00E00E", + "atomicMin(00D00D", + "atomicMax(00E00E", + "atomicMax(00D00D", + "atomicAnd(00E00E", + "atomicAnd(00D00D", + "atomicOr(00E00E", + "atomicOr(00D00D", + "atomicXor(00E00E", + "atomicXor(00D00D", + "atomicExchange(00E00E", + "atomicExchange(00D00D", + "atomicCompSwap(00E00E00E", + "atomicCompSwap(00D00D00D", + "imageSize(00z", + "imageSize(01K", + "imageSize(01V", + "imageSize(01A", + "imageSize(01L", + "imageSize(01W", + "imageSize(01B", + "imageSize(01M", + "imageSize(01X", + "imageSize(01C", + "imageSize(01N", + "imageSize(01Y", + "imageSize(01H", + "imageSize(01S", + "imageSize(01d", + "imageSize(01J", + "imageSize(01U", + "imageSize(01f", + "imageStore(00z10D30B", + "imageStore(01K10D30D", + "imageStore(01V10D30E", + "imageStore(01A20D30B", + "imageStore(01L20D30D", + "imageStore(01W20D30E", + "imageStore(01B20D30B", + "imageStore(01M20D30D", + "imageStore(01X20D30E", + "imageStore(01C20D30B", + "imageStore(01N20D30D", + "imageStore(01Y20D30E", + "imageStore(01H20D30B", + "imageStore(01S20D30D", + "imageStore(01d20D30E", + "imageStore(01J00D30B", + "imageStore(01U00D30D", + "imageStore(01f00D30E", + "imageLoad(00z10D", + "imageLoad(01K10D", + "imageLoad(01V10D", + "imageLoad(01A20D", + "imageLoad(01L20D", + "imageLoad(01W20D", + "imageLoad(01B20D", + "imageLoad(01M20D", + "imageLoad(01X20D", + "imageLoad(01C20D", + "imageLoad(01N20D", + "imageLoad(01Y20D", + "imageLoad(01H20D", + "imageLoad(01S20D", + "imageLoad(01d20D", + "imageLoad(01J00D", + "imageLoad(01U00D", + "imageLoad(01f00D", + "imageAtomicAdd(00z10D00E", + "imageAtomicAdd(01K10D00E", + "imageAtomicAdd(01V10D00E", + "imageAtomicAdd(01A20D00E", + "imageAtomicAdd(01L20D00E", + "imageAtomicAdd(01W20D00E", + "imageAtomicAdd(01C20D00E", + "imageAtomicAdd(01N20D00E", + "imageAtomicAdd(01Y20D00E", + "imageAtomicAdd(01J00D00E", + "imageAtomicAdd(01U00D00E", + "imageAtomicAdd(01f00D00E", + "imageAtomicAdd(01B20D00E", + "imageAtomicAdd(01M20D00E", + "imageAtomicAdd(01X20D00E", + "imageAtomicAdd(01H20D00E", + "imageAtomicAdd(01S20D00E", + "imageAtomicAdd(01d20D00E", + "imageAtomicAdd(01D00D00E", + "imageAtomicAdd(01O00D00E", + "imageAtomicAdd(01Z00D00E", + "imageAtomicAdd(01E10D00E", + "imageAtomicAdd(01P10D00E", + "imageAtomicAdd(01a10D00E", + "imageAtomicAdd(01I10D00E", + "imageAtomicAdd(01T10D00E", + "imageAtomicAdd(01e10D00E", + "imageAtomicAdd(01F10D00D00E", + "imageAtomicAdd(01Q10D00D00E", + "imageAtomicAdd(01b10D00D00E", + "imageAtomicAdd(01G20D00D00E", + "imageAtomicAdd(01R20D00D00E", + "imageAtomicAdd(01c20D00D00E", + "imageAtomicAdd(00z10D00D", + "imageAtomicAdd(01K10D00D", + "imageAtomicAdd(01V10D00D", + "imageAtomicAdd(01A20D00D", + "imageAtomicAdd(01L20D00D", + "imageAtomicAdd(01W20D00D", + "imageAtomicAdd(01C20D00D", + "imageAtomicAdd(01N20D00D", + "imageAtomicAdd(01Y20D00D", + "imageAtomicAdd(01J00D00D", + "imageAtomicAdd(01U00D00D", + "imageAtomicAdd(01f00D00D", + "imageAtomicAdd(01B20D00D", + "imageAtomicAdd(01M20D00D", + "imageAtomicAdd(01X20D00D", + "imageAtomicAdd(01H20D00D", + "imageAtomicAdd(01S20D00D", + "imageAtomicAdd(01d20D00D", + "imageAtomicAdd(01D00D00D", + "imageAtomicAdd(01O00D00D", + "imageAtomicAdd(01Z00D00D", + "imageAtomicAdd(01E10D00D", + "imageAtomicAdd(01P10D00D", + "imageAtomicAdd(01a10D00D", + "imageAtomicAdd(01I10D00D", + "imageAtomicAdd(01T10D00D", + "imageAtomicAdd(01e10D00D", + "imageAtomicAdd(01F10D00D00D", + "imageAtomicAdd(01Q10D00D00D", + "imageAtomicAdd(01b10D00D00D", + "imageAtomicAdd(01G20D00D00D", + "imageAtomicAdd(01R20D00D00D", + "imageAtomicAdd(01c20D00D00D", + "imageAtomicMin(00z10D00E", + "imageAtomicMin(01K10D00E", + "imageAtomicMin(01V10D00E", + "imageAtomicMin(01A20D00E", + "imageAtomicMin(01L20D00E", + "imageAtomicMin(01W20D00E", + "imageAtomicMin(01C20D00E", + "imageAtomicMin(01N20D00E", + "imageAtomicMin(01Y20D00E", + "imageAtomicMin(01J00D00E", + "imageAtomicMin(01U00D00E", + "imageAtomicMin(01f00D00E", + "imageAtomicMin(01B20D00E", + "imageAtomicMin(01M20D00E", + "imageAtomicMin(01X20D00E", + "imageAtomicMin(01H20D00E", + "imageAtomicMin(01S20D00E", + "imageAtomicMin(01d20D00E", + "imageAtomicMin(01D00D00E", + "imageAtomicMin(01O00D00E", + "imageAtomicMin(01Z00D00E", + "imageAtomicMin(01E10D00E", + "imageAtomicMin(01P10D00E", + "imageAtomicMin(01a10D00E", + "imageAtomicMin(01I10D00E", + "imageAtomicMin(01T10D00E", + "imageAtomicMin(01e10D00E", + "imageAtomicMin(01F10D00D00E", + "imageAtomicMin(01Q10D00D00E", + "imageAtomicMin(01b10D00D00E", + "imageAtomicMin(01G20D00D00E", + "imageAtomicMin(01R20D00D00E", + "imageAtomicMin(01c20D00D00E", + "imageAtomicMin(00z10D00D", + "imageAtomicMin(01K10D00D", + "imageAtomicMin(01V10D00D", + "imageAtomicMin(01A20D00D", + "imageAtomicMin(01L20D00D", + "imageAtomicMin(01W20D00D", + "imageAtomicMin(01C20D00D", + "imageAtomicMin(01N20D00D", + "imageAtomicMin(01Y20D00D", + "imageAtomicMin(01J00D00D", + "imageAtomicMin(01U00D00D", + "imageAtomicMin(01f00D00D", + "imageAtomicMin(01B20D00D", + "imageAtomicMin(01M20D00D", + "imageAtomicMin(01X20D00D", + "imageAtomicMin(01H20D00D", + "imageAtomicMin(01S20D00D", + "imageAtomicMin(01d20D00D", + "imageAtomicMin(01D00D00D", + "imageAtomicMin(01O00D00D", + "imageAtomicMin(01Z00D00D", + "imageAtomicMin(01E10D00D", + "imageAtomicMin(01P10D00D", + "imageAtomicMin(01a10D00D", + "imageAtomicMin(01I10D00D", + "imageAtomicMin(01T10D00D", + "imageAtomicMin(01e10D00D", + "imageAtomicMin(01F10D00D00D", + "imageAtomicMin(01Q10D00D00D", + "imageAtomicMin(01b10D00D00D", + "imageAtomicMin(01G20D00D00D", + "imageAtomicMin(01R20D00D00D", + "imageAtomicMin(01c20D00D00D", + "imageAtomicMax(00z10D00E", + "imageAtomicMax(01K10D00E", + "imageAtomicMax(01V10D00E", + "imageAtomicMax(01A20D00E", + "imageAtomicMax(01L20D00E", + "imageAtomicMax(01W20D00E", + "imageAtomicMax(01C20D00E", + "imageAtomicMax(01N20D00E", + "imageAtomicMax(01Y20D00E", + "imageAtomicMax(01J00D00E", + "imageAtomicMax(01U00D00E", + "imageAtomicMax(01f00D00E", + "imageAtomicMax(01B20D00E", + "imageAtomicMax(01M20D00E", + "imageAtomicMax(01X20D00E", + "imageAtomicMax(01H20D00E", + "imageAtomicMax(01S20D00E", + "imageAtomicMax(01d20D00E", + "imageAtomicMax(01D00D00E", + "imageAtomicMax(01O00D00E", + "imageAtomicMax(01Z00D00E", + "imageAtomicMax(01E10D00E", + "imageAtomicMax(01P10D00E", + "imageAtomicMax(01a10D00E", + "imageAtomicMax(01I10D00E", + "imageAtomicMax(01T10D00E", + "imageAtomicMax(01e10D00E", + "imageAtomicMax(01F10D00D00E", + "imageAtomicMax(01Q10D00D00E", + "imageAtomicMax(01b10D00D00E", + "imageAtomicMax(01G20D00D00E", + "imageAtomicMax(01R20D00D00E", + "imageAtomicMax(01c20D00D00E", + "imageAtomicMax(00z10D00D", + "imageAtomicMax(01K10D00D", + "imageAtomicMax(01V10D00D", + "imageAtomicMax(01A20D00D", + "imageAtomicMax(01L20D00D", + "imageAtomicMax(01W20D00D", + "imageAtomicMax(01C20D00D", + "imageAtomicMax(01N20D00D", + "imageAtomicMax(01Y20D00D", + "imageAtomicMax(01J00D00D", + "imageAtomicMax(01U00D00D", + "imageAtomicMax(01f00D00D", + "imageAtomicMax(01B20D00D", + "imageAtomicMax(01M20D00D", + "imageAtomicMax(01X20D00D", + "imageAtomicMax(01H20D00D", + "imageAtomicMax(01S20D00D", + "imageAtomicMax(01d20D00D", + "imageAtomicMax(01D00D00D", + "imageAtomicMax(01O00D00D", + "imageAtomicMax(01Z00D00D", + "imageAtomicMax(01E10D00D", + "imageAtomicMax(01P10D00D", + "imageAtomicMax(01a10D00D", + "imageAtomicMax(01I10D00D", + "imageAtomicMax(01T10D00D", + "imageAtomicMax(01e10D00D", + "imageAtomicMax(01F10D00D00D", + "imageAtomicMax(01Q10D00D00D", + "imageAtomicMax(01b10D00D00D", + "imageAtomicMax(01G20D00D00D", + "imageAtomicMax(01R20D00D00D", + "imageAtomicMax(01c20D00D00D", + "imageAtomicAnd(00z10D00E", + "imageAtomicAnd(01K10D00E", + "imageAtomicAnd(01V10D00E", + "imageAtomicAnd(01A20D00E", + "imageAtomicAnd(01L20D00E", + "imageAtomicAnd(01W20D00E", + "imageAtomicAnd(01C20D00E", + "imageAtomicAnd(01N20D00E", + "imageAtomicAnd(01Y20D00E", + "imageAtomicAnd(01J00D00E", + "imageAtomicAnd(01U00D00E", + "imageAtomicAnd(01f00D00E", + "imageAtomicAnd(01B20D00E", + "imageAtomicAnd(01M20D00E", + "imageAtomicAnd(01X20D00E", + "imageAtomicAnd(01H20D00E", + "imageAtomicAnd(01S20D00E", + "imageAtomicAnd(01d20D00E", + "imageAtomicAnd(01D00D00E", + "imageAtomicAnd(01O00D00E", + "imageAtomicAnd(01Z00D00E", + "imageAtomicAnd(01E10D00E", + "imageAtomicAnd(01P10D00E", + "imageAtomicAnd(01a10D00E", + "imageAtomicAnd(01I10D00E", + "imageAtomicAnd(01T10D00E", + "imageAtomicAnd(01e10D00E", + "imageAtomicAnd(01F10D00D00E", + "imageAtomicAnd(01Q10D00D00E", + "imageAtomicAnd(01b10D00D00E", + "imageAtomicAnd(01G20D00D00E", + "imageAtomicAnd(01R20D00D00E", + "imageAtomicAnd(01c20D00D00E", + "imageAtomicAnd(00z10D00D", + "imageAtomicAnd(01K10D00D", + "imageAtomicAnd(01V10D00D", + "imageAtomicAnd(01A20D00D", + "imageAtomicAnd(01L20D00D", + "imageAtomicAnd(01W20D00D", + "imageAtomicAnd(01C20D00D", + "imageAtomicAnd(01N20D00D", + "imageAtomicAnd(01Y20D00D", + "imageAtomicAnd(01J00D00D", + "imageAtomicAnd(01U00D00D", + "imageAtomicAnd(01f00D00D", + "imageAtomicAnd(01B20D00D", + "imageAtomicAnd(01M20D00D", + "imageAtomicAnd(01X20D00D", + "imageAtomicAnd(01H20D00D", + "imageAtomicAnd(01S20D00D", + "imageAtomicAnd(01d20D00D", + "imageAtomicAnd(01D00D00D", + "imageAtomicAnd(01O00D00D", + "imageAtomicAnd(01Z00D00D", + "imageAtomicAnd(01E10D00D", + "imageAtomicAnd(01P10D00D", + "imageAtomicAnd(01a10D00D", + "imageAtomicAnd(01I10D00D", + "imageAtomicAnd(01T10D00D", + "imageAtomicAnd(01e10D00D", + "imageAtomicAnd(01F10D00D00D", + "imageAtomicAnd(01Q10D00D00D", + "imageAtomicAnd(01b10D00D00D", + "imageAtomicAnd(01G20D00D00D", + "imageAtomicAnd(01R20D00D00D", + "imageAtomicAnd(01c20D00D00D", + "imageAtomicOr(00z10D00E", + "imageAtomicOr(01K10D00E", + "imageAtomicOr(01V10D00E", + "imageAtomicOr(01A20D00E", + "imageAtomicOr(01L20D00E", + "imageAtomicOr(01W20D00E", + "imageAtomicOr(01C20D00E", + "imageAtomicOr(01N20D00E", + "imageAtomicOr(01Y20D00E", + "imageAtomicOr(01J00D00E", + "imageAtomicOr(01U00D00E", + "imageAtomicOr(01f00D00E", + "imageAtomicOr(01B20D00E", + "imageAtomicOr(01M20D00E", + "imageAtomicOr(01X20D00E", + "imageAtomicOr(01H20D00E", + "imageAtomicOr(01S20D00E", + "imageAtomicOr(01d20D00E", + "imageAtomicOr(01D00D00E", + "imageAtomicOr(01O00D00E", + "imageAtomicOr(01Z00D00E", + "imageAtomicOr(01E10D00E", + "imageAtomicOr(01P10D00E", + "imageAtomicOr(01a10D00E", + "imageAtomicOr(01I10D00E", + "imageAtomicOr(01T10D00E", + "imageAtomicOr(01e10D00E", + "imageAtomicOr(01F10D00D00E", + "imageAtomicOr(01Q10D00D00E", + "imageAtomicOr(01b10D00D00E", + "imageAtomicOr(01G20D00D00E", + "imageAtomicOr(01R20D00D00E", + "imageAtomicOr(01c20D00D00E", + "imageAtomicOr(00z10D00D", + "imageAtomicOr(01K10D00D", + "imageAtomicOr(01V10D00D", + "imageAtomicOr(01A20D00D", + "imageAtomicOr(01L20D00D", + "imageAtomicOr(01W20D00D", + "imageAtomicOr(01C20D00D", + "imageAtomicOr(01N20D00D", + "imageAtomicOr(01Y20D00D", + "imageAtomicOr(01J00D00D", + "imageAtomicOr(01U00D00D", + "imageAtomicOr(01f00D00D", + "imageAtomicOr(01B20D00D", + "imageAtomicOr(01M20D00D", + "imageAtomicOr(01X20D00D", + "imageAtomicOr(01H20D00D", + "imageAtomicOr(01S20D00D", + "imageAtomicOr(01d20D00D", + "imageAtomicOr(01D00D00D", + "imageAtomicOr(01O00D00D", + "imageAtomicOr(01Z00D00D", + "imageAtomicOr(01E10D00D", + "imageAtomicOr(01P10D00D", + "imageAtomicOr(01a10D00D", + "imageAtomicOr(01I10D00D", + "imageAtomicOr(01T10D00D", + "imageAtomicOr(01e10D00D", + "imageAtomicOr(01F10D00D00D", + "imageAtomicOr(01Q10D00D00D", + "imageAtomicOr(01b10D00D00D", + "imageAtomicOr(01G20D00D00D", + "imageAtomicOr(01R20D00D00D", + "imageAtomicOr(01c20D00D00D", + "imageAtomicXor(00z10D00E", + "imageAtomicXor(01K10D00E", + "imageAtomicXor(01V10D00E", + "imageAtomicXor(01A20D00E", + "imageAtomicXor(01L20D00E", + "imageAtomicXor(01W20D00E", + "imageAtomicXor(01C20D00E", + "imageAtomicXor(01N20D00E", + "imageAtomicXor(01Y20D00E", + "imageAtomicXor(01J00D00E", + "imageAtomicXor(01U00D00E", + "imageAtomicXor(01f00D00E", + "imageAtomicXor(01B20D00E", + "imageAtomicXor(01M20D00E", + "imageAtomicXor(01X20D00E", + "imageAtomicXor(01H20D00E", + "imageAtomicXor(01S20D00E", + "imageAtomicXor(01d20D00E", + "imageAtomicXor(01D00D00E", + "imageAtomicXor(01O00D00E", + "imageAtomicXor(01Z00D00E", + "imageAtomicXor(01E10D00E", + "imageAtomicXor(01P10D00E", + "imageAtomicXor(01a10D00E", + "imageAtomicXor(01I10D00E", + "imageAtomicXor(01T10D00E", + "imageAtomicXor(01e10D00E", + "imageAtomicXor(01F10D00D00E", + "imageAtomicXor(01Q10D00D00E", + "imageAtomicXor(01b10D00D00E", + "imageAtomicXor(01G20D00D00E", + "imageAtomicXor(01R20D00D00E", + "imageAtomicXor(01c20D00D00E", + "imageAtomicXor(00z10D00D", + "imageAtomicXor(01K10D00D", + "imageAtomicXor(01V10D00D", + "imageAtomicXor(01A20D00D", + "imageAtomicXor(01L20D00D", + "imageAtomicXor(01W20D00D", + "imageAtomicXor(01C20D00D", + "imageAtomicXor(01N20D00D", + "imageAtomicXor(01Y20D00D", + "imageAtomicXor(01J00D00D", + "imageAtomicXor(01U00D00D", + "imageAtomicXor(01f00D00D", + "imageAtomicXor(01B20D00D", + "imageAtomicXor(01M20D00D", + "imageAtomicXor(01X20D00D", + "imageAtomicXor(01H20D00D", + "imageAtomicXor(01S20D00D", + "imageAtomicXor(01d20D00D", + "imageAtomicXor(01D00D00D", + "imageAtomicXor(01O00D00D", + "imageAtomicXor(01Z00D00D", + "imageAtomicXor(01E10D00D", + "imageAtomicXor(01P10D00D", + "imageAtomicXor(01a10D00D", + "imageAtomicXor(01I10D00D", + "imageAtomicXor(01T10D00D", + "imageAtomicXor(01e10D00D", + "imageAtomicXor(01F10D00D00D", + "imageAtomicXor(01Q10D00D00D", + "imageAtomicXor(01b10D00D00D", + "imageAtomicXor(01G20D00D00D", + "imageAtomicXor(01R20D00D00D", + "imageAtomicXor(01c20D00D00D", + "imageAtomicExchange(00z10D00E", + "imageAtomicExchange(01K10D00E", + "imageAtomicExchange(01V10D00E", + "imageAtomicExchange(01A20D00E", + "imageAtomicExchange(01L20D00E", + "imageAtomicExchange(01W20D00E", + "imageAtomicExchange(01C20D00E", + "imageAtomicExchange(01N20D00E", + "imageAtomicExchange(01Y20D00E", + "imageAtomicExchange(01J00D00E", + "imageAtomicExchange(01U00D00E", + "imageAtomicExchange(01f00D00E", + "imageAtomicExchange(01B20D00E", + "imageAtomicExchange(01M20D00E", + "imageAtomicExchange(01X20D00E", + "imageAtomicExchange(01H20D00E", + "imageAtomicExchange(01S20D00E", + "imageAtomicExchange(01d20D00E", + "imageAtomicExchange(01D00D00E", + "imageAtomicExchange(01O00D00E", + "imageAtomicExchange(01Z00D00E", + "imageAtomicExchange(01E10D00E", + "imageAtomicExchange(01P10D00E", + "imageAtomicExchange(01a10D00E", + "imageAtomicExchange(01I10D00E", + "imageAtomicExchange(01T10D00E", + "imageAtomicExchange(01e10D00E", + "imageAtomicExchange(01F10D00D00E", + "imageAtomicExchange(01Q10D00D00E", + "imageAtomicExchange(01b10D00D00E", + "imageAtomicExchange(01G20D00D00E", + "imageAtomicExchange(01R20D00D00E", + "imageAtomicExchange(01c20D00D00E", + "imageAtomicExchange(00z10D00D", + "imageAtomicExchange(01K10D00D", + "imageAtomicExchange(01V10D00D", + "imageAtomicExchange(01A20D00D", + "imageAtomicExchange(01L20D00D", + "imageAtomicExchange(01W20D00D", + "imageAtomicExchange(01C20D00D", + "imageAtomicExchange(01N20D00D", + "imageAtomicExchange(01Y20D00D", + "imageAtomicExchange(01J00D00D", + "imageAtomicExchange(01U00D00D", + "imageAtomicExchange(01f00D00D", + "imageAtomicExchange(01B20D00D", + "imageAtomicExchange(01M20D00D", + "imageAtomicExchange(01X20D00D", + "imageAtomicExchange(01H20D00D", + "imageAtomicExchange(01S20D00D", + "imageAtomicExchange(01d20D00D", + "imageAtomicExchange(01D00D00D", + "imageAtomicExchange(01O00D00D", + "imageAtomicExchange(01Z00D00D", + "imageAtomicExchange(01E10D00D", + "imageAtomicExchange(01P10D00D", + "imageAtomicExchange(01a10D00D", + "imageAtomicExchange(01I10D00D", + "imageAtomicExchange(01T10D00D", + "imageAtomicExchange(01e10D00D", + "imageAtomicExchange(01F10D00D00D", + "imageAtomicExchange(01Q10D00D00D", + "imageAtomicExchange(01b10D00D00D", + "imageAtomicExchange(01G20D00D00D", + "imageAtomicExchange(01R20D00D00D", + "imageAtomicExchange(01c20D00D00D", + "imageAtomicExchange(00z10D00B", + "imageAtomicExchange(01K10D00B", + "imageAtomicExchange(01V10D00B", + "imageAtomicExchange(01A20D00B", + "imageAtomicExchange(01L20D00B", + "imageAtomicExchange(01W20D00B", + "imageAtomicExchange(01C20D00B", + "imageAtomicExchange(01N20D00B", + "imageAtomicExchange(01Y20D00B", + "imageAtomicExchange(01J00D00B", + "imageAtomicExchange(01U00D00B", + "imageAtomicExchange(01f00D00B", + "imageAtomicExchange(01B20D00B", + "imageAtomicExchange(01M20D00B", + "imageAtomicExchange(01X20D00B", + "imageAtomicExchange(01H20D00B", + "imageAtomicExchange(01S20D00B", + "imageAtomicExchange(01d20D00B", + "imageAtomicExchange(01D00D00B", + "imageAtomicExchange(01O00D00B", + "imageAtomicExchange(01Z00D00B", + "imageAtomicExchange(01E10D00B", + "imageAtomicExchange(01P10D00B", + "imageAtomicExchange(01a10D00B", + "imageAtomicExchange(01I10D00B", + "imageAtomicExchange(01T10D00B", + "imageAtomicExchange(01e10D00B", + "imageAtomicExchange(01F10D00D00B", + "imageAtomicExchange(01Q10D00D00B", + "imageAtomicExchange(01b10D00D00B", + "imageAtomicExchange(01G20D00D00B", + "imageAtomicExchange(01R20D00D00B", + "imageAtomicExchange(01c20D00D00B", + "imageAtomicCompSwap(00z10D00E00E", + "imageAtomicCompSwap(01K10D00E00E", + "imageAtomicCompSwap(01V10D00E00E", + "imageAtomicCompSwap(01A20D00E00E", + "imageAtomicCompSwap(01L20D00E00E", + "imageAtomicCompSwap(01W20D00E00E", + "imageAtomicCompSwap(01C20D00E00E", + "imageAtomicCompSwap(01N20D00E00E", + "imageAtomicCompSwap(01Y20D00E00E", + "imageAtomicCompSwap(01J00D00E00E", + "imageAtomicCompSwap(01U00D00E00E", + "imageAtomicCompSwap(01f00D00E00E", + "imageAtomicCompSwap(01B20D00E00E", + "imageAtomicCompSwap(01M20D00E00E", + "imageAtomicCompSwap(01X20D00E00E", + "imageAtomicCompSwap(01H20D00E00E", + "imageAtomicCompSwap(01S20D00E00E", + "imageAtomicCompSwap(01d20D00E00E", + "imageAtomicCompSwap(01D00D00E00E", + "imageAtomicCompSwap(01O00D00E00E", + "imageAtomicCompSwap(01Z00D00E00E", + "imageAtomicCompSwap(01E10D00E00E", + "imageAtomicCompSwap(01P10D00E00E", + "imageAtomicCompSwap(01a10D00E00E", + "imageAtomicCompSwap(01I10D00E00E", + "imageAtomicCompSwap(01T10D00E00E", + "imageAtomicCompSwap(01e10D00E00E", + "imageAtomicCompSwap(01F10D00D00E00E", + "imageAtomicCompSwap(01Q10D00D00E00E", + "imageAtomicCompSwap(01b10D00D00E00E", + "imageAtomicCompSwap(01G20D00D00E00E", + "imageAtomicCompSwap(01R20D00D00E00E", + "imageAtomicCompSwap(01c20D00D00E00E", + "imageAtomicCompSwap(00z10D00D00D", + "imageAtomicCompSwap(01K10D00D00D", + "imageAtomicCompSwap(01V10D00D00D", + "imageAtomicCompSwap(01A20D00D00D", + "imageAtomicCompSwap(01L20D00D00D", + "imageAtomicCompSwap(01W20D00D00D", + "imageAtomicCompSwap(01C20D00D00D", + "imageAtomicCompSwap(01N20D00D00D", + "imageAtomicCompSwap(01Y20D00D00D", + "imageAtomicCompSwap(01J00D00D00D", + "imageAtomicCompSwap(01U00D00D00D", + "imageAtomicCompSwap(01f00D00D00D", + "imageAtomicCompSwap(01B20D00D00D", + "imageAtomicCompSwap(01M20D00D00D", + "imageAtomicCompSwap(01X20D00D00D", + "imageAtomicCompSwap(01H20D00D00D", + "imageAtomicCompSwap(01S20D00D00D", + "imageAtomicCompSwap(01d20D00D00D", + "imageAtomicCompSwap(01D00D00D00D", + "imageAtomicCompSwap(01O00D00D00D", + "imageAtomicCompSwap(01Z00D00D00D", + "imageAtomicCompSwap(01E10D00D00D", + "imageAtomicCompSwap(01P10D00D00D", + "imageAtomicCompSwap(01a10D00D00D", + "imageAtomicCompSwap(01I10D00D00D", + "imageAtomicCompSwap(01T10D00D00D", + "imageAtomicCompSwap(01e10D00D00D", + "imageAtomicCompSwap(01F10D00D00D00D", + "imageAtomicCompSwap(01Q10D00D00D00D", + "imageAtomicCompSwap(01b10D00D00D00D", + "imageAtomicCompSwap(01G20D00D00D00D", + "imageAtomicCompSwap(01R20D00D00D00D", + "imageAtomicCompSwap(01c20D00D00D00D", + "pixelLocalLoadANGLE(01g", + "pixelLocalLoadANGLE(01h", + "pixelLocalLoadANGLE(01i", + "pixelLocalStoreANGLE(01g30B", + "pixelLocalStoreANGLE(01h30D", + "pixelLocalStoreANGLE(01i30E", + "beginInvocationInterlockNV(", + "endInvocationInterlockNV(", + "beginFragmentShaderOrderingINTEL(", + "beginInvocationInterlockARB(", + "endInvocationInterlockARB(", + "memoryBarrier(", + "memoryBarrierAtomicCounter(", + "memoryBarrierBuffer(", + "memoryBarrierImage(", + "barrier(", + "memoryBarrierShared(", + "groupMemoryBarrier(", + "EmitVertex(", + "EndPrimitive(", + "subpassLoad(01j", + "subpassLoad(01k", + "subpassLoad(01l", + "subpassLoad(01m00D", + "subpassLoad(01n00D", + "subpassLoad(01o00D", + "gl_DepthRangeParameters", + "gl_DepthRange", + "gl_NumSamples", + "gl_MaxVertexAttribs", + "gl_MaxVertexUniformVectors", + "gl_MaxVertexTextureImageUnits", + "gl_MaxCombinedTextureImageUnits", + "gl_MaxTextureImageUnits", + "gl_MaxFragmentUniformVectors", + "gl_MaxVaryingVectors", + "gl_MaxDrawBuffers", + "gl_MaxDualSourceDrawBuffersEXT", + "gl_MaxVertexOutputVectors", + "gl_MaxFragmentInputVectors", + "gl_MinProgramTexelOffset", + "gl_MaxProgramTexelOffset", + "gl_MaxImageUnits", + "gl_MaxVertexImageUniforms", + "gl_MaxFragmentImageUniforms", + "gl_MaxComputeImageUniforms", + "gl_MaxCombinedImageUniforms", + "gl_MaxCombinedShaderOutputResources", + "gl_MaxComputeWorkGroupCount", + "gl_MaxComputeWorkGroupSize", + "gl_MaxComputeUniformComponents", + "gl_MaxComputeTextureImageUnits", + "gl_MaxComputeAtomicCounters", + "gl_MaxComputeAtomicCounterBuffers", + "gl_MaxVertexAtomicCounters", + "gl_MaxFragmentAtomicCounters", + "gl_MaxCombinedAtomicCounters", + "gl_MaxAtomicCounterBindings", + "gl_MaxVertexAtomicCounterBuffers", + "gl_MaxFragmentAtomicCounterBuffers", + "gl_MaxCombinedAtomicCounterBuffers", + "gl_MaxAtomicCounterBufferSize", + "gl_MaxGeometryInputComponents", + "gl_MaxGeometryOutputComponents", + "gl_MaxGeometryImageUniforms", + "gl_MaxGeometryTextureImageUnits", + "gl_MaxGeometryOutputVertices", + "gl_MaxGeometryTotalOutputComponents", + "gl_MaxGeometryUniformComponents", + "gl_MaxGeometryAtomicCounters", + "gl_MaxGeometryAtomicCounterBuffers", + "gl_MaxTessControlInputComponents", + "gl_MaxTessControlOutputComponents", + "gl_MaxTessControlTextureImageUnits", + "gl_MaxTessControlUniformComponents", + "gl_MaxTessControlTotalOutputComponents", + "gl_MaxTessControlImageUniforms", + "gl_MaxTessControlAtomicCounters", + "gl_MaxTessControlAtomicCounterBuffers", + "gl_MaxTessPatchComponents", + "gl_MaxPatchVertices", + "gl_MaxTessGenLevel", + "gl_MaxTessEvaluationInputComponents", + "gl_MaxTessEvaluationOutputComponents", + "gl_MaxTessEvaluationTextureImageUnits", + "gl_MaxTessEvaluationUniformComponents", + "gl_MaxTessEvaluationImageUniforms", + "gl_MaxTessEvaluationAtomicCounters", + "gl_MaxTessEvaluationAtomicCounterBuffers", + "gl_MaxSamples", + "gl_MaxClipDistances", + "gl_MaxCullDistances", + "gl_MaxCombinedClipAndCullDistances", + "gl_FragCoord", + "gl_FrontFacing", + "gl_PointCoord", + "gl_FragColor", + "gl_FragData", + "gl_FragDepth", + "gl_HelperInvocation", + "gl_SecondaryFragColorEXT", + "gl_SecondaryFragDataEXT", + "gl_FragDepthEXT", + "gl_LastFragData", + "gl_LastFragColor", + "gl_LastFragColorARM", + "gl_PrimitiveID", + "gl_Layer", + "gl_SampleID", + "gl_SamplePosition", + "gl_SampleMaskIn", + "gl_SampleMask", + "gl_CullDistance", + "gl_ClipDistance", + "gl_Position", + "gl_PointSize", + "gl_InstanceID", + "", + "gl_VertexID", + "", + "", + "gl_DrawID", + "gl_BaseVertex", + "gl_BaseInstance", + "angle_BaseVertex", + "angle_BaseInstance", + "gl_NumWorkGroups", + "gl_WorkGroupSize", + "gl_WorkGroupID", + "gl_LocalInvocationID", + "gl_GlobalInvocationID", + "gl_LocalInvocationIndex", + "gl_PrimitiveIDIn", + "gl_InvocationID", + "gl_PerVertex", + "gl_in", + "gl_PatchVerticesIn", + "gl_TessLevelOuter", + "gl_TessLevelInner", + "gl_out", + "gl_BoundingBox", + "gl_BoundingBoxEXT", + "gl_BoundingBoxOES", + "gl_TessCoord", + "gl_ViewID_OVR"}; + +// Flat array of offsets from a symbol into the rules table. +constexpr uint16_t kMangledOffsets[] = { + 0, // radians_00B + 1, // radians_10B + 2, // radians_20B + 3, // radians_30B + 4, // degrees_00B + 5, // degrees_10B + 6, // degrees_20B + 7, // degrees_30B + 8, // sin_00B + 9, // sin_10B + 10, // sin_20B + 11, // sin_30B + 12, // cos_00B + 13, // cos_10B + 14, // cos_20B + 15, // cos_30B + 16, // tan_00B + 17, // tan_10B + 18, // tan_20B + 19, // tan_30B + 20, // asin_00B + 21, // asin_10B + 22, // asin_20B + 23, // asin_30B + 24, // acos_00B + 25, // acos_10B + 26, // acos_20B + 27, // acos_30B + 28, // atan_00B00B + 29, // atan_10B10B + 30, // atan_20B20B + 31, // atan_30B30B + 32, // atan_00B + 33, // atan_10B + 34, // atan_20B + 35, // atan_30B + 36, // sinh_00B + 37, // sinh_10B + 38, // sinh_20B + 39, // sinh_30B + 40, // cosh_00B + 41, // cosh_10B + 42, // cosh_20B + 43, // cosh_30B + 44, // tanh_00B + 45, // tanh_10B + 46, // tanh_20B + 47, // tanh_30B + 48, // asinh_00B + 49, // asinh_10B + 50, // asinh_20B + 51, // asinh_30B + 52, // acosh_00B + 53, // acosh_10B + 54, // acosh_20B + 55, // acosh_30B + 56, // atanh_00B + 57, // atanh_10B + 58, // atanh_20B + 59, // atanh_30B + 60, // pow_00B00B + 61, // pow_10B10B + 62, // pow_20B20B + 63, // pow_30B30B + 64, // exp_00B + 65, // exp_10B + 66, // exp_20B + 67, // exp_30B + 68, // log_00B + 69, // log_10B + 70, // log_20B + 71, // log_30B + 72, // exp2_00B + 73, // exp2_10B + 74, // exp2_20B + 75, // exp2_30B + 76, // log2_00B + 77, // log2_10B + 78, // log2_20B + 79, // log2_30B + 80, // sqrt_00B + 81, // sqrt_10B + 82, // sqrt_20B + 83, // sqrt_30B + 84, // inversesqrt_00B + 85, // inversesqrt_10B + 86, // inversesqrt_20B + 87, // inversesqrt_30B + 88, // abs_00B + 89, // abs_10B + 90, // abs_20B + 91, // abs_30B + 92, // abs_00D + 93, // abs_10D + 94, // abs_20D + 95, // abs_30D + 96, // sign_00B + 97, // sign_10B + 98, // sign_20B + 99, // sign_30B + 100, // sign_00D + 101, // sign_10D + 102, // sign_20D + 103, // sign_30D + 104, // floor_00B + 105, // floor_10B + 106, // floor_20B + 107, // floor_30B + 108, // trunc_00B + 109, // trunc_10B + 110, // trunc_20B + 111, // trunc_30B + 112, // round_00B + 113, // round_10B + 114, // round_20B + 115, // round_30B + 116, // roundEven_00B + 117, // roundEven_10B + 118, // roundEven_20B + 119, // roundEven_30B + 120, // ceil_00B + 121, // ceil_10B + 122, // ceil_20B + 123, // ceil_30B + 124, // fract_00B + 125, // fract_10B + 126, // fract_20B + 127, // fract_30B + 128, // mod_00B00B + 129, // mod_10B00B + 130, // mod_20B00B + 131, // mod_30B00B + 132, // mod_10B10B + 133, // mod_20B20B + 134, // mod_30B30B + 135, // min_00B00B + 136, // min_10B00B + 137, // min_20B00B + 138, // min_30B00B + 139, // min_10B10B + 140, // min_20B20B + 141, // min_30B30B + 142, // min_00D00D + 143, // min_10D10D + 144, // min_20D20D + 145, // min_30D30D + 146, // min_10D00D + 147, // min_20D00D + 148, // min_30D00D + 149, // min_00E00E + 150, // min_10E10E + 151, // min_20E20E + 152, // min_30E30E + 153, // min_10E00E + 154, // min_20E00E + 155, // min_30E00E + 156, // max_00B00B + 157, // max_10B00B + 158, // max_20B00B + 159, // max_30B00B + 160, // max_10B10B + 161, // max_20B20B + 162, // max_30B30B + 163, // max_00D00D + 164, // max_10D10D + 165, // max_20D20D + 166, // max_30D30D + 167, // max_10D00D + 168, // max_20D00D + 169, // max_30D00D + 170, // max_00E00E + 171, // max_10E10E + 172, // max_20E20E + 173, // max_30E30E + 174, // max_10E00E + 175, // max_20E00E + 176, // max_30E00E + 177, // clamp_00B00B00B + 178, // clamp_10B00B00B + 179, // clamp_20B00B00B + 180, // clamp_30B00B00B + 181, // clamp_10B10B10B + 182, // clamp_20B20B20B + 183, // clamp_30B30B30B + 184, // clamp_00D00D00D + 185, // clamp_10D00D00D + 186, // clamp_20D00D00D + 187, // clamp_30D00D00D + 188, // clamp_10D10D10D + 189, // clamp_20D20D20D + 190, // clamp_30D30D30D + 191, // clamp_00E00E00E + 192, // clamp_10E00E00E + 193, // clamp_20E00E00E + 194, // clamp_30E00E00E + 195, // clamp_10E10E10E + 196, // clamp_20E20E20E + 197, // clamp_30E30E30E + 198, // mix_00B00B00B + 199, // mix_10B10B00B + 200, // mix_20B20B00B + 201, // mix_30B30B00B + 202, // mix_10B10B10B + 203, // mix_20B20B20B + 204, // mix_30B30B30B + 205, // mix_00B00B00F + 206, // mix_10B10B10F + 207, // mix_20B20B20F + 208, // mix_30B30B30F + 209, // mix_00D00D00F + 210, // mix_10D10D10F + 211, // mix_20D20D20F + 212, // mix_30D30D30F + 213, // mix_00E00E00F + 214, // mix_10E10E10F + 215, // mix_20E20E20F + 216, // mix_30E30E30F + 217, // mix_00F00F00F + 218, // mix_10F10F10F + 219, // mix_20F20F20F + 220, // mix_30F30F30F + 221, // step_00B00B + 222, // step_10B10B + 223, // step_20B20B + 224, // step_30B30B + 225, // step_00B10B + 226, // step_00B20B + 227, // step_00B30B + 228, // smoothstep_00B00B00B + 229, // smoothstep_10B10B10B + 230, // smoothstep_20B20B20B + 231, // smoothstep_30B30B30B + 232, // smoothstep_00B00B10B + 233, // smoothstep_00B00B20B + 234, // smoothstep_00B00B30B + 235, // modf_00B00B + 236, // modf_10B10B + 237, // modf_20B20B + 238, // modf_30B30B + 239, // isnan_00B + 240, // isnan_10B + 241, // isnan_20B + 242, // isnan_30B + 243, // isinf_00B + 244, // isinf_10B + 245, // isinf_20B + 246, // isinf_30B + 247, // floatBitsToInt_00B + 248, // floatBitsToInt_10B + 249, // floatBitsToInt_20B + 250, // floatBitsToInt_30B + 251, // floatBitsToUint_00B + 252, // floatBitsToUint_10B + 253, // floatBitsToUint_20B + 254, // floatBitsToUint_30B + 255, // intBitsToFloat_00D + 256, // intBitsToFloat_10D + 257, // intBitsToFloat_20D + 258, // intBitsToFloat_30D + 259, // uintBitsToFloat_00E + 260, // uintBitsToFloat_10E + 261, // uintBitsToFloat_20E + 262, // uintBitsToFloat_30E + 263, // fma_00B00B00B + 265, // fma_10B10B10B + 267, // fma_20B20B20B + 269, // fma_30B30B30B + 271, // frexp_00B00D + 272, // frexp_10B10D + 273, // frexp_20B20D + 274, // frexp_30B30D + 275, // ldexp_00B00D + 276, // ldexp_10B10D + 277, // ldexp_20B20D + 278, // ldexp_30B30D + 279, // packSnorm2x16_10B + 280, // packHalf2x16_10B + 281, // unpackSnorm2x16_00E + 282, // unpackHalf2x16_00E + 283, // packUnorm2x16_10B + 284, // unpackUnorm2x16_00E + 285, // packUnorm4x8_30B + 286, // packSnorm4x8_30B + 287, // unpackUnorm4x8_00E + 288, // unpackSnorm4x8_00E + 289, // length_00B + 290, // length_10B + 291, // length_20B + 292, // length_30B + 293, // distance_00B00B + 294, // distance_10B10B + 295, // distance_20B20B + 296, // distance_30B30B + 297, // dot_00B00B + 298, // dot_10B10B + 299, // dot_20B20B + 300, // dot_30B30B + 301, // cross_20B20B + 302, // normalize_00B + 303, // normalize_10B + 304, // normalize_20B + 305, // normalize_30B + 306, // faceforward_00B00B00B + 307, // faceforward_10B10B10B + 308, // faceforward_20B20B20B + 309, // faceforward_30B30B30B + 310, // reflect_00B00B + 311, // reflect_10B10B + 312, // reflect_20B20B + 313, // reflect_30B30B + 314, // refract_00B00B00B + 315, // refract_10B10B00B + 316, // refract_20B20B00B + 317, // refract_30B30B00B + 318, // matrixCompMult_50B50B + 319, // matrixCompMult_A0BA0B + 320, // matrixCompMult_F0BF0B + 321, // matrixCompMult_90B90B + 322, // matrixCompMult_60B60B + 323, // matrixCompMult_D0BD0B + 324, // matrixCompMult_70B70B + 325, // matrixCompMult_E0BE0B + 326, // matrixCompMult_B0BB0B + 327, // outerProduct_10B10B + 328, // outerProduct_20B20B + 329, // outerProduct_30B30B + 330, // outerProduct_20B10B + 331, // outerProduct_10B20B + 332, // outerProduct_30B10B + 333, // outerProduct_10B30B + 334, // outerProduct_30B20B + 335, // outerProduct_20B30B + 336, // transpose_50B + 337, // transpose_A0B + 338, // transpose_F0B + 339, // transpose_60B + 340, // transpose_90B + 341, // transpose_70B + 342, // transpose_D0B + 343, // transpose_B0B + 344, // transpose_E0B + 345, // determinant_50B + 346, // determinant_A0B + 347, // determinant_F0B + 348, // inverse_50B + 349, // inverse_A0B + 350, // inverse_F0B + 351, // lessThan_10B10B + 352, // lessThan_20B20B + 353, // lessThan_30B30B + 354, // lessThan_10D10D + 355, // lessThan_20D20D + 356, // lessThan_30D30D + 357, // lessThan_10E10E + 358, // lessThan_20E20E + 359, // lessThan_30E30E + 360, // lessThanEqual_10B10B + 361, // lessThanEqual_20B20B + 362, // lessThanEqual_30B30B + 363, // lessThanEqual_10D10D + 364, // lessThanEqual_20D20D + 365, // lessThanEqual_30D30D + 366, // lessThanEqual_10E10E + 367, // lessThanEqual_20E20E + 368, // lessThanEqual_30E30E + 369, // greaterThan_10B10B + 370, // greaterThan_20B20B + 371, // greaterThan_30B30B + 372, // greaterThan_10D10D + 373, // greaterThan_20D20D + 374, // greaterThan_30D30D + 375, // greaterThan_10E10E + 376, // greaterThan_20E20E + 377, // greaterThan_30E30E + 378, // greaterThanEqual_10B10B + 379, // greaterThanEqual_20B20B + 380, // greaterThanEqual_30B30B + 381, // greaterThanEqual_10D10D + 382, // greaterThanEqual_20D20D + 383, // greaterThanEqual_30D30D + 384, // greaterThanEqual_10E10E + 385, // greaterThanEqual_20E20E + 386, // greaterThanEqual_30E30E + 387, // equal_10B10B + 388, // equal_20B20B + 389, // equal_30B30B + 390, // equal_10D10D + 391, // equal_20D20D + 392, // equal_30D30D + 393, // equal_10E10E + 394, // equal_20E20E + 395, // equal_30E30E + 396, // equal_10F10F + 397, // equal_20F20F + 398, // equal_30F30F + 399, // notEqual_10B10B + 400, // notEqual_20B20B + 401, // notEqual_30B30B + 402, // notEqual_10D10D + 403, // notEqual_20D20D + 404, // notEqual_30D30D + 405, // notEqual_10E10E + 406, // notEqual_20E20E + 407, // notEqual_30E30E + 408, // notEqual_10F10F + 409, // notEqual_20F20F + 410, // notEqual_30F30F + 411, // any_10F + 412, // any_20F + 413, // any_30F + 414, // all_10F + 415, // all_20F + 416, // all_30F + 417, // not_10F + 418, // not_20F + 419, // not_30F + 420, // bitfieldExtract_00D00D00D + 421, // bitfieldExtract_10D00D00D + 422, // bitfieldExtract_20D00D00D + 423, // bitfieldExtract_30D00D00D + 424, // bitfieldExtract_00E00D00D + 425, // bitfieldExtract_10E00D00D + 426, // bitfieldExtract_20E00D00D + 427, // bitfieldExtract_30E00D00D + 428, // bitfieldInsert_00D00D00D00D + 429, // bitfieldInsert_10D10D00D00D + 430, // bitfieldInsert_20D20D00D00D + 431, // bitfieldInsert_30D30D00D00D + 432, // bitfieldInsert_00E00E00D00D + 433, // bitfieldInsert_10E10E00D00D + 434, // bitfieldInsert_20E20E00D00D + 435, // bitfieldInsert_30E30E00D00D + 436, // bitfieldReverse_00D + 437, // bitfieldReverse_10D + 438, // bitfieldReverse_20D + 439, // bitfieldReverse_30D + 440, // bitfieldReverse_00E + 441, // bitfieldReverse_10E + 442, // bitfieldReverse_20E + 443, // bitfieldReverse_30E + 444, // bitCount_00D + 445, // bitCount_10D + 446, // bitCount_20D + 447, // bitCount_30D + 448, // bitCount_00E + 449, // bitCount_10E + 450, // bitCount_20E + 451, // bitCount_30E + 452, // findLSB_00D + 453, // findLSB_10D + 454, // findLSB_20D + 455, // findLSB_30D + 456, // findLSB_00E + 457, // findLSB_10E + 458, // findLSB_20E + 459, // findLSB_30E + 460, // findMSB_00D + 461, // findMSB_10D + 462, // findMSB_20D + 463, // findMSB_30D + 464, // findMSB_00E + 465, // findMSB_10E + 466, // findMSB_20E + 467, // findMSB_30E + 468, // uaddCarry_00E00E00E + 469, // uaddCarry_10E10E10E + 470, // uaddCarry_20E20E20E + 471, // uaddCarry_30E30E30E + 472, // usubBorrow_00E00E00E + 473, // usubBorrow_10E10E10E + 474, // usubBorrow_20E20E20E + 475, // usubBorrow_30E30E30E + 476, // umulExtended_00E00E00E00E + 477, // umulExtended_10E10E10E10E + 478, // umulExtended_20E20E20E20E + 479, // umulExtended_30E30E30E30E + 480, // imulExtended_00D00D00D00D + 481, // imulExtended_10D10D10D10D + 482, // imulExtended_20D20D20D20D + 483, // imulExtended_30D30D30D30D + 484, // texture2D_00I10B + 485, // texture2DProj_00I20B + 486, // texture2DProj_00I30B + 487, // textureCube_00K20B + 488, // texture3D_00J20B + 489, // texture3DProj_00J30B + 490, // shadow2DEXT_00d20B + 491, // shadow2DProjEXT_00d30B + 492, // texture2D_00M10B + 494, // texture2DProj_00M20B + 496, // texture2DProj_00M30B + 498, // texture2DRect_00O10B + 499, // texture2DRectProj_00O20B + 500, // texture2DRectProj_00O30B + 501, // texture2DGradEXT_00I10B10B10B + 502, // texture2DProjGradEXT_00I20B10B10B + 503, // texture2DProjGradEXT_00I30B10B10B + 504, // textureCubeGradEXT_00K20B20B20B + 505, // textureVideoWEBGL_00y10B + 506, // texture2D_00I10B00B + 507, // texture2DProj_00I20B00B + 508, // texture2DProj_00I30B00B + 509, // textureCube_00K20B00B + 510, // texture3D_00J20B00B + 511, // texture3DProj_00J30B00B + 512, // texture3DLod_00J20B00B + 513, // texture3DProjLod_00J30B00B + 514, // texture2DLod_00I10B00B + 515, // texture2DProjLod_00I20B00B + 516, // texture2DProjLod_00I30B00B + 517, // textureCubeLod_00K20B00B + 518, // texture2DLodEXT_00I10B00B + 519, // texture2DProjLodEXT_00I20B00B + 520, // texture2DProjLodEXT_00I30B00B + 521, // textureCubeLodEXT_00K20B00B + 522, // texture_00I10B + 523, // texture_00R10B + 524, // texture_00X10B + 525, // texture_00J20B + 526, // texture_00S20B + 527, // texture_00Y20B + 528, // texture_00K20B + 529, // texture_00T20B + 530, // texture_00Z20B + 531, // texture_00L20B + 532, // texture_00U20B + 533, // texture_00a20B + 534, // texture_00d20B + 535, // texture_00e30B + 536, // texture_00f30B + 537, // texture_00k30B + 540, // texture_00s30B + 543, // texture_00x30B + 546, // texture_00l30B00B + 549, // texture_00M10B + 550, // texture_00N10B + 551, // texture_00O10B + 552, // texture_00y10B + 553, // textureProj_00I20B + 554, // textureProj_00R20B + 555, // textureProj_00X20B + 556, // textureProj_00I30B + 557, // textureProj_00R30B + 558, // textureProj_00X30B + 559, // textureProj_00J30B + 560, // textureProj_00S30B + 561, // textureProj_00Y30B + 562, // textureProj_00d30B + 563, // textureProj_00M20B + 564, // textureProj_00M30B + 565, // textureProj_00N20B + 566, // textureProj_00N30B + 567, // textureProj_00O20B + 568, // textureProj_00O30B + 569, // textureLod_00I10B00B + 570, // textureLod_00R10B00B + 571, // textureLod_00X10B00B + 572, // textureLod_00J20B00B + 573, // textureLod_00S20B00B + 574, // textureLod_00Y20B00B + 575, // textureLod_00K20B00B + 576, // textureLod_00T20B00B + 577, // textureLod_00Z20B00B + 578, // textureLod_00L20B00B + 579, // textureLod_00U20B00B + 580, // textureLod_00a20B00B + 581, // textureLod_00d20B00B + 582, // textureLod_00k30B00B + 585, // textureLod_00s30B00B + 588, // textureLod_00x30B00B + 591, // textureSize_00I00D + 592, // textureSize_00R00D + 593, // textureSize_00X00D + 594, // textureSize_00J00D + 595, // textureSize_00S00D + 596, // textureSize_00Y00D + 597, // textureSize_00K00D + 598, // textureSize_00T00D + 599, // textureSize_00Z00D + 600, // textureSize_00L00D + 601, // textureSize_00U00D + 602, // textureSize_00a00D + 603, // textureSize_00d00D + 604, // textureSize_00e00D + 605, // textureSize_00f00D + 606, // textureSize_00k00D + 609, // textureSize_00s00D + 612, // textureSize_00x00D + 615, // textureSize_00l00D + 618, // textureSize_00j + 621, // textureSize_00r + 624, // textureSize_00w + 627, // textureSize_00P + 629, // textureSize_00V + 631, // textureSize_00b + 633, // textureSize_00Q + 635, // textureSize_00W + 637, // textureSize_00c + 639, // textureSize_00M00D + 640, // textureSize_00N00D + 641, // textureProjLod_00I20B00B + 642, // textureProjLod_00R20B00B + 643, // textureProjLod_00X20B00B + 644, // textureProjLod_00I30B00B + 645, // textureProjLod_00R30B00B + 646, // textureProjLod_00X30B00B + 647, // textureProjLod_00J30B00B + 648, // textureProjLod_00S30B00B + 649, // textureProjLod_00Y30B00B + 650, // textureProjLod_00d30B00B + 651, // texelFetch_00I10D00D + 652, // texelFetch_00R10D00D + 653, // texelFetch_00X10D00D + 654, // texelFetch_00J20D00D + 655, // texelFetch_00S20D00D + 656, // texelFetch_00Y20D00D + 657, // texelFetch_00L20D00D + 658, // texelFetch_00U20D00D + 659, // texelFetch_00a20D00D + 660, // texelFetch_00j00D + 663, // texelFetch_00r00D + 666, // texelFetch_00w00D + 669, // texelFetch_00P10D00D + 671, // texelFetch_00V10D00D + 673, // texelFetch_00b10D00D + 675, // texelFetch_00Q20D00D + 677, // texelFetch_00W20D00D + 679, // texelFetch_00c20D00D + 681, // texelFetch_00M10D00D + 682, // texelFetch_00N10D00D + 683, // textureGrad_00I10B10B10B + 684, // textureGrad_00R10B10B10B + 685, // textureGrad_00X10B10B10B + 686, // textureGrad_00J20B20B20B + 687, // textureGrad_00S20B20B20B + 688, // textureGrad_00Y20B20B20B + 689, // textureGrad_00K20B20B20B + 690, // textureGrad_00T20B20B20B + 691, // textureGrad_00Z20B20B20B + 692, // textureGrad_00d20B10B10B + 693, // textureGrad_00e30B20B20B + 694, // textureGrad_00L20B10B10B + 695, // textureGrad_00U20B10B10B + 696, // textureGrad_00a20B10B10B + 697, // textureGrad_00f30B10B10B + 698, // textureGrad_00k30B20B20B + 701, // textureGrad_00s30B20B20B + 704, // textureGrad_00x30B20B20B + 707, // textureProjGrad_00I20B10B10B + 708, // textureProjGrad_00R20B10B10B + 709, // textureProjGrad_00X20B10B10B + 710, // textureProjGrad_00I30B10B10B + 711, // textureProjGrad_00R30B10B10B + 712, // textureProjGrad_00X30B10B10B + 713, // textureProjGrad_00J30B20B20B + 714, // textureProjGrad_00S30B20B20B + 715, // textureProjGrad_00Y30B20B20B + 716, // textureProjGrad_00d30B10B10B + 717, // texture_00I10B00B + 718, // texture_00R10B00B + 719, // texture_00X10B00B + 720, // texture_00J20B00B + 721, // texture_00S20B00B + 722, // texture_00Y20B00B + 723, // texture_00K20B00B + 724, // texture_00T20B00B + 725, // texture_00Z20B00B + 726, // texture_00L20B00B + 727, // texture_00U20B00B + 728, // texture_00a20B00B + 729, // textureProj_00I20B00B + 730, // textureProj_00R20B00B + 731, // textureProj_00X20B00B + 732, // textureProj_00I30B00B + 733, // textureProj_00R30B00B + 734, // textureProj_00X30B00B + 735, // textureProj_00J30B00B + 736, // textureProj_00S30B00B + 737, // textureProj_00Y30B00B + 738, // texture_00d20B00B + 739, // texture_00e30B00B + 740, // textureProj_00d30B00B + 741, // texture_00k30B00B + 744, // texture_00s30B00B + 747, // texture_00x30B00B + 750, // texture_00M10B00B + 751, // textureProj_00M20B00B + 752, // textureProj_00M30B00B + 753, // texture_00N10B00B + 754, // textureProj_00N20B00B + 755, // textureProj_00N30B00B + 756, // textureOffset_00I10B10D + 757, // textureOffset_00R10B10D + 758, // textureOffset_00X10B10D + 759, // textureOffset_00J20B20D + 760, // textureOffset_00S20B20D + 761, // textureOffset_00Y20B20D + 762, // textureOffset_00d20B10D + 763, // textureOffset_00L20B10D + 764, // textureOffset_00U20B10D + 765, // textureOffset_00a20B10D + 766, // textureProjOffset_00I20B10D + 767, // textureProjOffset_00R20B10D + 768, // textureProjOffset_00X20B10D + 769, // textureProjOffset_00I30B10D + 770, // textureProjOffset_00R30B10D + 771, // textureProjOffset_00X30B10D + 772, // textureProjOffset_00J30B20D + 773, // textureProjOffset_00S30B20D + 774, // textureProjOffset_00Y30B20D + 775, // textureProjOffset_00d30B10D + 776, // textureLodOffset_00I10B00B10D + 777, // textureLodOffset_00R10B00B10D + 778, // textureLodOffset_00X10B00B10D + 779, // textureLodOffset_00J20B00B20D + 780, // textureLodOffset_00S20B00B20D + 781, // textureLodOffset_00Y20B00B20D + 782, // textureLodOffset_00d20B00B10D + 783, // textureLodOffset_00L20B00B10D + 784, // textureLodOffset_00U20B00B10D + 785, // textureLodOffset_00a20B00B10D + 786, // textureProjLodOffset_00I20B00B10D + 787, // textureProjLodOffset_00R20B00B10D + 788, // textureProjLodOffset_00X20B00B10D + 789, // textureProjLodOffset_00I30B00B10D + 790, // textureProjLodOffset_00R30B00B10D + 791, // textureProjLodOffset_00X30B00B10D + 792, // textureProjLodOffset_00J30B00B20D + 793, // textureProjLodOffset_00S30B00B20D + 794, // textureProjLodOffset_00Y30B00B20D + 795, // textureProjLodOffset_00d30B00B10D + 796, // texelFetchOffset_00I10D00D10D + 797, // texelFetchOffset_00R10D00D10D + 798, // texelFetchOffset_00X10D00D10D + 799, // texelFetchOffset_00J20D00D20D + 800, // texelFetchOffset_00S20D00D20D + 801, // texelFetchOffset_00Y20D00D20D + 802, // texelFetchOffset_00L20D00D10D + 803, // texelFetchOffset_00U20D00D10D + 804, // texelFetchOffset_00a20D00D10D + 805, // textureGradOffset_00I10B10B10B10D + 806, // textureGradOffset_00R10B10B10B10D + 807, // textureGradOffset_00X10B10B10B10D + 808, // textureGradOffset_00J20B20B20B20D + 809, // textureGradOffset_00S20B20B20B20D + 810, // textureGradOffset_00Y20B20B20B20D + 811, // textureGradOffset_00d20B10B10B10D + 812, // textureGradOffset_00L20B10B10B10D + 813, // textureGradOffset_00U20B10B10B10D + 814, // textureGradOffset_00a20B10B10B10D + 815, // textureGradOffset_00f30B10B10B10D + 816, // textureProjGradOffset_00I20B10B10B10D + 817, // textureProjGradOffset_00R20B10B10B10D + 818, // textureProjGradOffset_00X20B10B10B10D + 819, // textureProjGradOffset_00I30B10B10B10D + 820, // textureProjGradOffset_00R30B10B10B10D + 821, // textureProjGradOffset_00X30B10B10B10D + 822, // textureProjGradOffset_00J30B20B20B20D + 823, // textureProjGradOffset_00S30B20B20B20D + 824, // textureProjGradOffset_00Y30B20B20B20D + 825, // textureProjGradOffset_00d30B10B10B10D + 826, // textureOffset_00I10B10D00B + 827, // textureOffset_00R10B10D00B + 828, // textureOffset_00X10B10D00B + 829, // textureOffset_00J20B20D00B + 830, // textureOffset_00S20B20D00B + 831, // textureOffset_00Y20B20D00B + 832, // textureOffset_00d20B10D00B + 833, // textureOffset_00L20B10D00B + 834, // textureOffset_00U20B10D00B + 835, // textureOffset_00a20B10D00B + 836, // textureProjOffset_00I20B10D00B + 837, // textureProjOffset_00R20B10D00B + 838, // textureProjOffset_00X20B10D00B + 839, // textureProjOffset_00I30B10D00B + 840, // textureProjOffset_00R30B10D00B + 841, // textureProjOffset_00X30B10D00B + 842, // textureProjOffset_00J30B20D00B + 843, // textureProjOffset_00S30B20D00B + 844, // textureProjOffset_00Y30B20D00B + 845, // textureProjOffset_00d30B10D00B + 846, // textureGather_00I10B + 847, // textureGather_00R10B + 848, // textureGather_00X10B + 849, // textureGather_00I10B00D + 850, // textureGather_00R10B00D + 851, // textureGather_00X10B00D + 852, // textureGather_00L20B + 853, // textureGather_00U20B + 854, // textureGather_00a20B + 855, // textureGather_00L20B00D + 856, // textureGather_00U20B00D + 857, // textureGather_00a20B00D + 858, // textureGather_00K20B + 859, // textureGather_00T20B + 860, // textureGather_00Z20B + 861, // textureGather_00K20B00D + 862, // textureGather_00T20B00D + 863, // textureGather_00Z20B00D + 864, // textureGather_00k30B + 867, // textureGather_00s30B + 870, // textureGather_00x30B + 873, // textureGather_00k30B00D + 876, // textureGather_00s30B00D + 879, // textureGather_00x30B00D + 882, // textureGather_00l30B00B + 885, // textureGather_00d10B + 886, // textureGather_00d10B00B + 887, // textureGather_00f20B + 888, // textureGather_00f20B00B + 889, // textureGather_00e20B + 890, // textureGather_00e20B00B + 891, // textureGatherOffset_00I10B10D + 892, // textureGatherOffset_00R10B10D + 893, // textureGatherOffset_00X10B10D + 894, // textureGatherOffset_00L20B10D + 895, // textureGatherOffset_00U20B10D + 896, // textureGatherOffset_00a20B10D + 897, // textureGatherOffset_00d10B00B10D + 898, // textureGatherOffset_00f20B00B10D + 899, // textureGatherOffset_00I10B10D00D + 900, // textureGatherOffset_00R10B10D00D + 901, // textureGatherOffset_00X10B10D00D + 902, // textureGatherOffset_00L20B10D00D + 903, // textureGatherOffset_00U20B10D00D + 904, // textureGatherOffset_00a20B10D00D + 905, // textureGatherOffsets_00I10B10Dx4 + 907, // textureGatherOffsets_00R10B10Dx4 + 909, // textureGatherOffsets_00X10B10Dx4 + 911, // textureGatherOffsets_00L20B10Dx4 + 913, // textureGatherOffsets_00U20B10Dx4 + 915, // textureGatherOffsets_00a20B10Dx4 + 917, // textureGatherOffsets_00d10B00B10Dx4 + 919, // textureGatherOffsets_00f20B00B10Dx4 + 921, // textureGatherOffsets_00I10B10Dx400D + 923, // textureGatherOffsets_00R10B10Dx400D + 925, // textureGatherOffsets_00X10B10Dx400D + 927, // textureGatherOffsets_00L20B10Dx400D + 929, // textureGatherOffsets_00U20B10Dx400D + 931, // textureGatherOffsets_00a20B10Dx400D + 933, // rgb_2_yuv_20B00H + 934, // yuv_2_rgb_20B00H + 935, // dFdx_00B + 937, // dFdx_10B + 939, // dFdx_20B + 941, // dFdx_30B + 943, // dFdy_00B + 945, // dFdy_10B + 947, // dFdy_20B + 949, // dFdy_30B + 951, // fwidth_00B + 953, // fwidth_10B + 955, // fwidth_20B + 957, // fwidth_30B + 959, // interpolateAtCentroid_00B + 961, // interpolateAtCentroid_10B + 963, // interpolateAtCentroid_20B + 965, // interpolateAtCentroid_30B + 967, // interpolateAtSample_00B00D + 969, // interpolateAtSample_10B00D + 971, // interpolateAtSample_20B00D + 973, // interpolateAtSample_30B00D + 975, // interpolateAtOffset_00B10B + 977, // interpolateAtOffset_10B10B + 979, // interpolateAtOffset_20B10B + 981, // interpolateAtOffset_30B10B + 983, // atomicCounter_00G + 984, // atomicCounterIncrement_00G + 985, // atomicCounterDecrement_00G + 986, // atomicAdd_00E00E + 987, // atomicAdd_00D00D + 988, // atomicMin_00E00E + 989, // atomicMin_00D00D + 990, // atomicMax_00E00E + 991, // atomicMax_00D00D + 992, // atomicAnd_00E00E + 993, // atomicAnd_00D00D + 994, // atomicOr_00E00E + 995, // atomicOr_00D00D + 996, // atomicXor_00E00E + 997, // atomicXor_00D00D + 998, // atomicExchange_00E00E + 999, // atomicExchange_00D00D + 1000, // atomicCompSwap_00E00E00E + 1001, // atomicCompSwap_00D00D00D + 1002, // imageSize_00z + 1003, // imageSize_01K + 1004, // imageSize_01V + 1005, // imageSize_01A + 1006, // imageSize_01L + 1007, // imageSize_01W + 1008, // imageSize_01B + 1009, // imageSize_01M + 1010, // imageSize_01X + 1011, // imageSize_01C + 1012, // imageSize_01N + 1013, // imageSize_01Y + 1014, // imageSize_01H + 1017, // imageSize_01S + 1020, // imageSize_01d + 1023, // imageSize_01J + 1026, // imageSize_01U + 1029, // imageSize_01f + 1032, // imageStore_00z10D30B + 1033, // imageStore_01K10D30D + 1034, // imageStore_01V10D30E + 1035, // imageStore_01A20D30B + 1036, // imageStore_01L20D30D + 1037, // imageStore_01W20D30E + 1038, // imageStore_01B20D30B + 1039, // imageStore_01M20D30D + 1040, // imageStore_01X20D30E + 1041, // imageStore_01C20D30B + 1042, // imageStore_01N20D30D + 1043, // imageStore_01Y20D30E + 1044, // imageStore_01H20D30B + 1047, // imageStore_01S20D30D + 1050, // imageStore_01d20D30E + 1053, // imageStore_01J00D30B + 1056, // imageStore_01U00D30D + 1059, // imageStore_01f00D30E + 1062, // imageLoad_00z10D + 1063, // imageLoad_01K10D + 1064, // imageLoad_01V10D + 1065, // imageLoad_01A20D + 1066, // imageLoad_01L20D + 1067, // imageLoad_01W20D + 1068, // imageLoad_01B20D + 1069, // imageLoad_01M20D + 1070, // imageLoad_01X20D + 1071, // imageLoad_01C20D + 1072, // imageLoad_01N20D + 1073, // imageLoad_01Y20D + 1074, // imageLoad_01H20D + 1077, // imageLoad_01S20D + 1080, // imageLoad_01d20D + 1083, // imageLoad_01J00D + 1086, // imageLoad_01U00D + 1089, // imageLoad_01f00D + 1092, // imageAtomicAdd_00z10D00E + 1094, // imageAtomicAdd_01K10D00E + 1096, // imageAtomicAdd_01V10D00E + 1098, // imageAtomicAdd_01A20D00E + 1100, // imageAtomicAdd_01L20D00E + 1102, // imageAtomicAdd_01W20D00E + 1104, // imageAtomicAdd_01C20D00E + 1106, // imageAtomicAdd_01N20D00E + 1108, // imageAtomicAdd_01Y20D00E + 1110, // imageAtomicAdd_01J00D00E + 1112, // imageAtomicAdd_01U00D00E + 1114, // imageAtomicAdd_01f00D00E + 1116, // imageAtomicAdd_01B20D00E + 1118, // imageAtomicAdd_01M20D00E + 1120, // imageAtomicAdd_01X20D00E + 1122, // imageAtomicAdd_01H20D00E + 1124, // imageAtomicAdd_01S20D00E + 1126, // imageAtomicAdd_01d20D00E + 1128, // imageAtomicAdd_01D00D00E + 1130, // imageAtomicAdd_01O00D00E + 1132, // imageAtomicAdd_01Z00D00E + 1134, // imageAtomicAdd_01E10D00E + 1136, // imageAtomicAdd_01P10D00E + 1138, // imageAtomicAdd_01a10D00E + 1140, // imageAtomicAdd_01I10D00E + 1142, // imageAtomicAdd_01T10D00E + 1144, // imageAtomicAdd_01e10D00E + 1146, // imageAtomicAdd_01F10D00D00E + 1148, // imageAtomicAdd_01Q10D00D00E + 1150, // imageAtomicAdd_01b10D00D00E + 1152, // imageAtomicAdd_01G20D00D00E + 1154, // imageAtomicAdd_01R20D00D00E + 1156, // imageAtomicAdd_01c20D00D00E + 1158, // imageAtomicAdd_00z10D00D + 1160, // imageAtomicAdd_01K10D00D + 1162, // imageAtomicAdd_01V10D00D + 1164, // imageAtomicAdd_01A20D00D + 1166, // imageAtomicAdd_01L20D00D + 1168, // imageAtomicAdd_01W20D00D + 1170, // imageAtomicAdd_01C20D00D + 1172, // imageAtomicAdd_01N20D00D + 1174, // imageAtomicAdd_01Y20D00D + 1176, // imageAtomicAdd_01J00D00D + 1178, // imageAtomicAdd_01U00D00D + 1180, // imageAtomicAdd_01f00D00D + 1182, // imageAtomicAdd_01B20D00D + 1184, // imageAtomicAdd_01M20D00D + 1186, // imageAtomicAdd_01X20D00D + 1188, // imageAtomicAdd_01H20D00D + 1190, // imageAtomicAdd_01S20D00D + 1192, // imageAtomicAdd_01d20D00D + 1194, // imageAtomicAdd_01D00D00D + 1196, // imageAtomicAdd_01O00D00D + 1198, // imageAtomicAdd_01Z00D00D + 1200, // imageAtomicAdd_01E10D00D + 1202, // imageAtomicAdd_01P10D00D + 1204, // imageAtomicAdd_01a10D00D + 1206, // imageAtomicAdd_01I10D00D + 1208, // imageAtomicAdd_01T10D00D + 1210, // imageAtomicAdd_01e10D00D + 1212, // imageAtomicAdd_01F10D00D00D + 1214, // imageAtomicAdd_01Q10D00D00D + 1216, // imageAtomicAdd_01b10D00D00D + 1218, // imageAtomicAdd_01G20D00D00D + 1220, // imageAtomicAdd_01R20D00D00D + 1222, // imageAtomicAdd_01c20D00D00D + 1224, // imageAtomicMin_00z10D00E + 1226, // imageAtomicMin_01K10D00E + 1228, // imageAtomicMin_01V10D00E + 1230, // imageAtomicMin_01A20D00E + 1232, // imageAtomicMin_01L20D00E + 1234, // imageAtomicMin_01W20D00E + 1236, // imageAtomicMin_01C20D00E + 1238, // imageAtomicMin_01N20D00E + 1240, // imageAtomicMin_01Y20D00E + 1242, // imageAtomicMin_01J00D00E + 1244, // imageAtomicMin_01U00D00E + 1246, // imageAtomicMin_01f00D00E + 1248, // imageAtomicMin_01B20D00E + 1250, // imageAtomicMin_01M20D00E + 1252, // imageAtomicMin_01X20D00E + 1254, // imageAtomicMin_01H20D00E + 1256, // imageAtomicMin_01S20D00E + 1258, // imageAtomicMin_01d20D00E + 1260, // imageAtomicMin_01D00D00E + 1262, // imageAtomicMin_01O00D00E + 1264, // imageAtomicMin_01Z00D00E + 1266, // imageAtomicMin_01E10D00E + 1268, // imageAtomicMin_01P10D00E + 1270, // imageAtomicMin_01a10D00E + 1272, // imageAtomicMin_01I10D00E + 1274, // imageAtomicMin_01T10D00E + 1276, // imageAtomicMin_01e10D00E + 1278, // imageAtomicMin_01F10D00D00E + 1280, // imageAtomicMin_01Q10D00D00E + 1282, // imageAtomicMin_01b10D00D00E + 1284, // imageAtomicMin_01G20D00D00E + 1286, // imageAtomicMin_01R20D00D00E + 1288, // imageAtomicMin_01c20D00D00E + 1290, // imageAtomicMin_00z10D00D + 1292, // imageAtomicMin_01K10D00D + 1294, // imageAtomicMin_01V10D00D + 1296, // imageAtomicMin_01A20D00D + 1298, // imageAtomicMin_01L20D00D + 1300, // imageAtomicMin_01W20D00D + 1302, // imageAtomicMin_01C20D00D + 1304, // imageAtomicMin_01N20D00D + 1306, // imageAtomicMin_01Y20D00D + 1308, // imageAtomicMin_01J00D00D + 1310, // imageAtomicMin_01U00D00D + 1312, // imageAtomicMin_01f00D00D + 1314, // imageAtomicMin_01B20D00D + 1316, // imageAtomicMin_01M20D00D + 1318, // imageAtomicMin_01X20D00D + 1320, // imageAtomicMin_01H20D00D + 1322, // imageAtomicMin_01S20D00D + 1324, // imageAtomicMin_01d20D00D + 1326, // imageAtomicMin_01D00D00D + 1328, // imageAtomicMin_01O00D00D + 1330, // imageAtomicMin_01Z00D00D + 1332, // imageAtomicMin_01E10D00D + 1334, // imageAtomicMin_01P10D00D + 1336, // imageAtomicMin_01a10D00D + 1338, // imageAtomicMin_01I10D00D + 1340, // imageAtomicMin_01T10D00D + 1342, // imageAtomicMin_01e10D00D + 1344, // imageAtomicMin_01F10D00D00D + 1346, // imageAtomicMin_01Q10D00D00D + 1348, // imageAtomicMin_01b10D00D00D + 1350, // imageAtomicMin_01G20D00D00D + 1352, // imageAtomicMin_01R20D00D00D + 1354, // imageAtomicMin_01c20D00D00D + 1356, // imageAtomicMax_00z10D00E + 1358, // imageAtomicMax_01K10D00E + 1360, // imageAtomicMax_01V10D00E + 1362, // imageAtomicMax_01A20D00E + 1364, // imageAtomicMax_01L20D00E + 1366, // imageAtomicMax_01W20D00E + 1368, // imageAtomicMax_01C20D00E + 1370, // imageAtomicMax_01N20D00E + 1372, // imageAtomicMax_01Y20D00E + 1374, // imageAtomicMax_01J00D00E + 1376, // imageAtomicMax_01U00D00E + 1378, // imageAtomicMax_01f00D00E + 1380, // imageAtomicMax_01B20D00E + 1382, // imageAtomicMax_01M20D00E + 1384, // imageAtomicMax_01X20D00E + 1386, // imageAtomicMax_01H20D00E + 1388, // imageAtomicMax_01S20D00E + 1390, // imageAtomicMax_01d20D00E + 1392, // imageAtomicMax_01D00D00E + 1394, // imageAtomicMax_01O00D00E + 1396, // imageAtomicMax_01Z00D00E + 1398, // imageAtomicMax_01E10D00E + 1400, // imageAtomicMax_01P10D00E + 1402, // imageAtomicMax_01a10D00E + 1404, // imageAtomicMax_01I10D00E + 1406, // imageAtomicMax_01T10D00E + 1408, // imageAtomicMax_01e10D00E + 1410, // imageAtomicMax_01F10D00D00E + 1412, // imageAtomicMax_01Q10D00D00E + 1414, // imageAtomicMax_01b10D00D00E + 1416, // imageAtomicMax_01G20D00D00E + 1418, // imageAtomicMax_01R20D00D00E + 1420, // imageAtomicMax_01c20D00D00E + 1422, // imageAtomicMax_00z10D00D + 1424, // imageAtomicMax_01K10D00D + 1426, // imageAtomicMax_01V10D00D + 1428, // imageAtomicMax_01A20D00D + 1430, // imageAtomicMax_01L20D00D + 1432, // imageAtomicMax_01W20D00D + 1434, // imageAtomicMax_01C20D00D + 1436, // imageAtomicMax_01N20D00D + 1438, // imageAtomicMax_01Y20D00D + 1440, // imageAtomicMax_01J00D00D + 1442, // imageAtomicMax_01U00D00D + 1444, // imageAtomicMax_01f00D00D + 1446, // imageAtomicMax_01B20D00D + 1448, // imageAtomicMax_01M20D00D + 1450, // imageAtomicMax_01X20D00D + 1452, // imageAtomicMax_01H20D00D + 1454, // imageAtomicMax_01S20D00D + 1456, // imageAtomicMax_01d20D00D + 1458, // imageAtomicMax_01D00D00D + 1460, // imageAtomicMax_01O00D00D + 1462, // imageAtomicMax_01Z00D00D + 1464, // imageAtomicMax_01E10D00D + 1466, // imageAtomicMax_01P10D00D + 1468, // imageAtomicMax_01a10D00D + 1470, // imageAtomicMax_01I10D00D + 1472, // imageAtomicMax_01T10D00D + 1474, // imageAtomicMax_01e10D00D + 1476, // imageAtomicMax_01F10D00D00D + 1478, // imageAtomicMax_01Q10D00D00D + 1480, // imageAtomicMax_01b10D00D00D + 1482, // imageAtomicMax_01G20D00D00D + 1484, // imageAtomicMax_01R20D00D00D + 1486, // imageAtomicMax_01c20D00D00D + 1488, // imageAtomicAnd_00z10D00E + 1490, // imageAtomicAnd_01K10D00E + 1492, // imageAtomicAnd_01V10D00E + 1494, // imageAtomicAnd_01A20D00E + 1496, // imageAtomicAnd_01L20D00E + 1498, // imageAtomicAnd_01W20D00E + 1500, // imageAtomicAnd_01C20D00E + 1502, // imageAtomicAnd_01N20D00E + 1504, // imageAtomicAnd_01Y20D00E + 1506, // imageAtomicAnd_01J00D00E + 1508, // imageAtomicAnd_01U00D00E + 1510, // imageAtomicAnd_01f00D00E + 1512, // imageAtomicAnd_01B20D00E + 1514, // imageAtomicAnd_01M20D00E + 1516, // imageAtomicAnd_01X20D00E + 1518, // imageAtomicAnd_01H20D00E + 1520, // imageAtomicAnd_01S20D00E + 1522, // imageAtomicAnd_01d20D00E + 1524, // imageAtomicAnd_01D00D00E + 1526, // imageAtomicAnd_01O00D00E + 1528, // imageAtomicAnd_01Z00D00E + 1530, // imageAtomicAnd_01E10D00E + 1532, // imageAtomicAnd_01P10D00E + 1534, // imageAtomicAnd_01a10D00E + 1536, // imageAtomicAnd_01I10D00E + 1538, // imageAtomicAnd_01T10D00E + 1540, // imageAtomicAnd_01e10D00E + 1542, // imageAtomicAnd_01F10D00D00E + 1544, // imageAtomicAnd_01Q10D00D00E + 1546, // imageAtomicAnd_01b10D00D00E + 1548, // imageAtomicAnd_01G20D00D00E + 1550, // imageAtomicAnd_01R20D00D00E + 1552, // imageAtomicAnd_01c20D00D00E + 1554, // imageAtomicAnd_00z10D00D + 1556, // imageAtomicAnd_01K10D00D + 1558, // imageAtomicAnd_01V10D00D + 1560, // imageAtomicAnd_01A20D00D + 1562, // imageAtomicAnd_01L20D00D + 1564, // imageAtomicAnd_01W20D00D + 1566, // imageAtomicAnd_01C20D00D + 1568, // imageAtomicAnd_01N20D00D + 1570, // imageAtomicAnd_01Y20D00D + 1572, // imageAtomicAnd_01J00D00D + 1574, // imageAtomicAnd_01U00D00D + 1576, // imageAtomicAnd_01f00D00D + 1578, // imageAtomicAnd_01B20D00D + 1580, // imageAtomicAnd_01M20D00D + 1582, // imageAtomicAnd_01X20D00D + 1584, // imageAtomicAnd_01H20D00D + 1586, // imageAtomicAnd_01S20D00D + 1588, // imageAtomicAnd_01d20D00D + 1590, // imageAtomicAnd_01D00D00D + 1592, // imageAtomicAnd_01O00D00D + 1594, // imageAtomicAnd_01Z00D00D + 1596, // imageAtomicAnd_01E10D00D + 1598, // imageAtomicAnd_01P10D00D + 1600, // imageAtomicAnd_01a10D00D + 1602, // imageAtomicAnd_01I10D00D + 1604, // imageAtomicAnd_01T10D00D + 1606, // imageAtomicAnd_01e10D00D + 1608, // imageAtomicAnd_01F10D00D00D + 1610, // imageAtomicAnd_01Q10D00D00D + 1612, // imageAtomicAnd_01b10D00D00D + 1614, // imageAtomicAnd_01G20D00D00D + 1616, // imageAtomicAnd_01R20D00D00D + 1618, // imageAtomicAnd_01c20D00D00D + 1620, // imageAtomicOr_00z10D00E + 1622, // imageAtomicOr_01K10D00E + 1624, // imageAtomicOr_01V10D00E + 1626, // imageAtomicOr_01A20D00E + 1628, // imageAtomicOr_01L20D00E + 1630, // imageAtomicOr_01W20D00E + 1632, // imageAtomicOr_01C20D00E + 1634, // imageAtomicOr_01N20D00E + 1636, // imageAtomicOr_01Y20D00E + 1638, // imageAtomicOr_01J00D00E + 1640, // imageAtomicOr_01U00D00E + 1642, // imageAtomicOr_01f00D00E + 1644, // imageAtomicOr_01B20D00E + 1646, // imageAtomicOr_01M20D00E + 1648, // imageAtomicOr_01X20D00E + 1650, // imageAtomicOr_01H20D00E + 1652, // imageAtomicOr_01S20D00E + 1654, // imageAtomicOr_01d20D00E + 1656, // imageAtomicOr_01D00D00E + 1658, // imageAtomicOr_01O00D00E + 1660, // imageAtomicOr_01Z00D00E + 1662, // imageAtomicOr_01E10D00E + 1664, // imageAtomicOr_01P10D00E + 1666, // imageAtomicOr_01a10D00E + 1668, // imageAtomicOr_01I10D00E + 1670, // imageAtomicOr_01T10D00E + 1672, // imageAtomicOr_01e10D00E + 1674, // imageAtomicOr_01F10D00D00E + 1676, // imageAtomicOr_01Q10D00D00E + 1678, // imageAtomicOr_01b10D00D00E + 1680, // imageAtomicOr_01G20D00D00E + 1682, // imageAtomicOr_01R20D00D00E + 1684, // imageAtomicOr_01c20D00D00E + 1686, // imageAtomicOr_00z10D00D + 1688, // imageAtomicOr_01K10D00D + 1690, // imageAtomicOr_01V10D00D + 1692, // imageAtomicOr_01A20D00D + 1694, // imageAtomicOr_01L20D00D + 1696, // imageAtomicOr_01W20D00D + 1698, // imageAtomicOr_01C20D00D + 1700, // imageAtomicOr_01N20D00D + 1702, // imageAtomicOr_01Y20D00D + 1704, // imageAtomicOr_01J00D00D + 1706, // imageAtomicOr_01U00D00D + 1708, // imageAtomicOr_01f00D00D + 1710, // imageAtomicOr_01B20D00D + 1712, // imageAtomicOr_01M20D00D + 1714, // imageAtomicOr_01X20D00D + 1716, // imageAtomicOr_01H20D00D + 1718, // imageAtomicOr_01S20D00D + 1720, // imageAtomicOr_01d20D00D + 1722, // imageAtomicOr_01D00D00D + 1724, // imageAtomicOr_01O00D00D + 1726, // imageAtomicOr_01Z00D00D + 1728, // imageAtomicOr_01E10D00D + 1730, // imageAtomicOr_01P10D00D + 1732, // imageAtomicOr_01a10D00D + 1734, // imageAtomicOr_01I10D00D + 1736, // imageAtomicOr_01T10D00D + 1738, // imageAtomicOr_01e10D00D + 1740, // imageAtomicOr_01F10D00D00D + 1742, // imageAtomicOr_01Q10D00D00D + 1744, // imageAtomicOr_01b10D00D00D + 1746, // imageAtomicOr_01G20D00D00D + 1748, // imageAtomicOr_01R20D00D00D + 1750, // imageAtomicOr_01c20D00D00D + 1752, // imageAtomicXor_00z10D00E + 1754, // imageAtomicXor_01K10D00E + 1756, // imageAtomicXor_01V10D00E + 1758, // imageAtomicXor_01A20D00E + 1760, // imageAtomicXor_01L20D00E + 1762, // imageAtomicXor_01W20D00E + 1764, // imageAtomicXor_01C20D00E + 1766, // imageAtomicXor_01N20D00E + 1768, // imageAtomicXor_01Y20D00E + 1770, // imageAtomicXor_01J00D00E + 1772, // imageAtomicXor_01U00D00E + 1774, // imageAtomicXor_01f00D00E + 1776, // imageAtomicXor_01B20D00E + 1778, // imageAtomicXor_01M20D00E + 1780, // imageAtomicXor_01X20D00E + 1782, // imageAtomicXor_01H20D00E + 1784, // imageAtomicXor_01S20D00E + 1786, // imageAtomicXor_01d20D00E + 1788, // imageAtomicXor_01D00D00E + 1790, // imageAtomicXor_01O00D00E + 1792, // imageAtomicXor_01Z00D00E + 1794, // imageAtomicXor_01E10D00E + 1796, // imageAtomicXor_01P10D00E + 1798, // imageAtomicXor_01a10D00E + 1800, // imageAtomicXor_01I10D00E + 1802, // imageAtomicXor_01T10D00E + 1804, // imageAtomicXor_01e10D00E + 1806, // imageAtomicXor_01F10D00D00E + 1808, // imageAtomicXor_01Q10D00D00E + 1810, // imageAtomicXor_01b10D00D00E + 1812, // imageAtomicXor_01G20D00D00E + 1814, // imageAtomicXor_01R20D00D00E + 1816, // imageAtomicXor_01c20D00D00E + 1818, // imageAtomicXor_00z10D00D + 1820, // imageAtomicXor_01K10D00D + 1822, // imageAtomicXor_01V10D00D + 1824, // imageAtomicXor_01A20D00D + 1826, // imageAtomicXor_01L20D00D + 1828, // imageAtomicXor_01W20D00D + 1830, // imageAtomicXor_01C20D00D + 1832, // imageAtomicXor_01N20D00D + 1834, // imageAtomicXor_01Y20D00D + 1836, // imageAtomicXor_01J00D00D + 1838, // imageAtomicXor_01U00D00D + 1840, // imageAtomicXor_01f00D00D + 1842, // imageAtomicXor_01B20D00D + 1844, // imageAtomicXor_01M20D00D + 1846, // imageAtomicXor_01X20D00D + 1848, // imageAtomicXor_01H20D00D + 1850, // imageAtomicXor_01S20D00D + 1852, // imageAtomicXor_01d20D00D + 1854, // imageAtomicXor_01D00D00D + 1856, // imageAtomicXor_01O00D00D + 1858, // imageAtomicXor_01Z00D00D + 1860, // imageAtomicXor_01E10D00D + 1862, // imageAtomicXor_01P10D00D + 1864, // imageAtomicXor_01a10D00D + 1866, // imageAtomicXor_01I10D00D + 1868, // imageAtomicXor_01T10D00D + 1870, // imageAtomicXor_01e10D00D + 1872, // imageAtomicXor_01F10D00D00D + 1874, // imageAtomicXor_01Q10D00D00D + 1876, // imageAtomicXor_01b10D00D00D + 1878, // imageAtomicXor_01G20D00D00D + 1880, // imageAtomicXor_01R20D00D00D + 1882, // imageAtomicXor_01c20D00D00D + 1884, // imageAtomicExchange_00z10D00E + 1886, // imageAtomicExchange_01K10D00E + 1888, // imageAtomicExchange_01V10D00E + 1890, // imageAtomicExchange_01A20D00E + 1892, // imageAtomicExchange_01L20D00E + 1894, // imageAtomicExchange_01W20D00E + 1896, // imageAtomicExchange_01C20D00E + 1898, // imageAtomicExchange_01N20D00E + 1900, // imageAtomicExchange_01Y20D00E + 1902, // imageAtomicExchange_01J00D00E + 1904, // imageAtomicExchange_01U00D00E + 1906, // imageAtomicExchange_01f00D00E + 1908, // imageAtomicExchange_01B20D00E + 1910, // imageAtomicExchange_01M20D00E + 1912, // imageAtomicExchange_01X20D00E + 1914, // imageAtomicExchange_01H20D00E + 1916, // imageAtomicExchange_01S20D00E + 1918, // imageAtomicExchange_01d20D00E + 1920, // imageAtomicExchange_01D00D00E + 1922, // imageAtomicExchange_01O00D00E + 1924, // imageAtomicExchange_01Z00D00E + 1926, // imageAtomicExchange_01E10D00E + 1928, // imageAtomicExchange_01P10D00E + 1930, // imageAtomicExchange_01a10D00E + 1932, // imageAtomicExchange_01I10D00E + 1934, // imageAtomicExchange_01T10D00E + 1936, // imageAtomicExchange_01e10D00E + 1938, // imageAtomicExchange_01F10D00D00E + 1940, // imageAtomicExchange_01Q10D00D00E + 1942, // imageAtomicExchange_01b10D00D00E + 1944, // imageAtomicExchange_01G20D00D00E + 1946, // imageAtomicExchange_01R20D00D00E + 1948, // imageAtomicExchange_01c20D00D00E + 1950, // imageAtomicExchange_00z10D00D + 1952, // imageAtomicExchange_01K10D00D + 1954, // imageAtomicExchange_01V10D00D + 1956, // imageAtomicExchange_01A20D00D + 1958, // imageAtomicExchange_01L20D00D + 1960, // imageAtomicExchange_01W20D00D + 1962, // imageAtomicExchange_01C20D00D + 1964, // imageAtomicExchange_01N20D00D + 1966, // imageAtomicExchange_01Y20D00D + 1968, // imageAtomicExchange_01J00D00D + 1970, // imageAtomicExchange_01U00D00D + 1972, // imageAtomicExchange_01f00D00D + 1974, // imageAtomicExchange_01B20D00D + 1976, // imageAtomicExchange_01M20D00D + 1978, // imageAtomicExchange_01X20D00D + 1980, // imageAtomicExchange_01H20D00D + 1982, // imageAtomicExchange_01S20D00D + 1984, // imageAtomicExchange_01d20D00D + 1986, // imageAtomicExchange_01D00D00D + 1988, // imageAtomicExchange_01O00D00D + 1990, // imageAtomicExchange_01Z00D00D + 1992, // imageAtomicExchange_01E10D00D + 1994, // imageAtomicExchange_01P10D00D + 1996, // imageAtomicExchange_01a10D00D + 1998, // imageAtomicExchange_01I10D00D + 2000, // imageAtomicExchange_01T10D00D + 2002, // imageAtomicExchange_01e10D00D + 2004, // imageAtomicExchange_01F10D00D00D + 2006, // imageAtomicExchange_01Q10D00D00D + 2008, // imageAtomicExchange_01b10D00D00D + 2010, // imageAtomicExchange_01G20D00D00D + 2012, // imageAtomicExchange_01R20D00D00D + 2014, // imageAtomicExchange_01c20D00D00D + 2016, // imageAtomicExchange_00z10D00B + 2018, // imageAtomicExchange_01K10D00B + 2020, // imageAtomicExchange_01V10D00B + 2022, // imageAtomicExchange_01A20D00B + 2024, // imageAtomicExchange_01L20D00B + 2026, // imageAtomicExchange_01W20D00B + 2028, // imageAtomicExchange_01C20D00B + 2030, // imageAtomicExchange_01N20D00B + 2032, // imageAtomicExchange_01Y20D00B + 2034, // imageAtomicExchange_01J00D00B + 2036, // imageAtomicExchange_01U00D00B + 2038, // imageAtomicExchange_01f00D00B + 2040, // imageAtomicExchange_01B20D00B + 2042, // imageAtomicExchange_01M20D00B + 2044, // imageAtomicExchange_01X20D00B + 2046, // imageAtomicExchange_01H20D00B + 2048, // imageAtomicExchange_01S20D00B + 2050, // imageAtomicExchange_01d20D00B + 2052, // imageAtomicExchange_01D00D00B + 2054, // imageAtomicExchange_01O00D00B + 2056, // imageAtomicExchange_01Z00D00B + 2058, // imageAtomicExchange_01E10D00B + 2060, // imageAtomicExchange_01P10D00B + 2062, // imageAtomicExchange_01a10D00B + 2064, // imageAtomicExchange_01I10D00B + 2066, // imageAtomicExchange_01T10D00B + 2068, // imageAtomicExchange_01e10D00B + 2070, // imageAtomicExchange_01F10D00D00B + 2072, // imageAtomicExchange_01Q10D00D00B + 2074, // imageAtomicExchange_01b10D00D00B + 2076, // imageAtomicExchange_01G20D00D00B + 2078, // imageAtomicExchange_01R20D00D00B + 2080, // imageAtomicExchange_01c20D00D00B + 2082, // imageAtomicCompSwap_00z10D00E00E + 2084, // imageAtomicCompSwap_01K10D00E00E + 2086, // imageAtomicCompSwap_01V10D00E00E + 2088, // imageAtomicCompSwap_01A20D00E00E + 2090, // imageAtomicCompSwap_01L20D00E00E + 2092, // imageAtomicCompSwap_01W20D00E00E + 2094, // imageAtomicCompSwap_01C20D00E00E + 2096, // imageAtomicCompSwap_01N20D00E00E + 2098, // imageAtomicCompSwap_01Y20D00E00E + 2100, // imageAtomicCompSwap_01J00D00E00E + 2102, // imageAtomicCompSwap_01U00D00E00E + 2104, // imageAtomicCompSwap_01f00D00E00E + 2106, // imageAtomicCompSwap_01B20D00E00E + 2108, // imageAtomicCompSwap_01M20D00E00E + 2110, // imageAtomicCompSwap_01X20D00E00E + 2112, // imageAtomicCompSwap_01H20D00E00E + 2114, // imageAtomicCompSwap_01S20D00E00E + 2116, // imageAtomicCompSwap_01d20D00E00E + 2118, // imageAtomicCompSwap_01D00D00E00E + 2120, // imageAtomicCompSwap_01O00D00E00E + 2122, // imageAtomicCompSwap_01Z00D00E00E + 2124, // imageAtomicCompSwap_01E10D00E00E + 2126, // imageAtomicCompSwap_01P10D00E00E + 2128, // imageAtomicCompSwap_01a10D00E00E + 2130, // imageAtomicCompSwap_01I10D00E00E + 2132, // imageAtomicCompSwap_01T10D00E00E + 2134, // imageAtomicCompSwap_01e10D00E00E + 2136, // imageAtomicCompSwap_01F10D00D00E00E + 2138, // imageAtomicCompSwap_01Q10D00D00E00E + 2140, // imageAtomicCompSwap_01b10D00D00E00E + 2142, // imageAtomicCompSwap_01G20D00D00E00E + 2144, // imageAtomicCompSwap_01R20D00D00E00E + 2146, // imageAtomicCompSwap_01c20D00D00E00E + 2148, // imageAtomicCompSwap_00z10D00D00D + 2150, // imageAtomicCompSwap_01K10D00D00D + 2152, // imageAtomicCompSwap_01V10D00D00D + 2154, // imageAtomicCompSwap_01A20D00D00D + 2156, // imageAtomicCompSwap_01L20D00D00D + 2158, // imageAtomicCompSwap_01W20D00D00D + 2160, // imageAtomicCompSwap_01C20D00D00D + 2162, // imageAtomicCompSwap_01N20D00D00D + 2164, // imageAtomicCompSwap_01Y20D00D00D + 2166, // imageAtomicCompSwap_01J00D00D00D + 2168, // imageAtomicCompSwap_01U00D00D00D + 2170, // imageAtomicCompSwap_01f00D00D00D + 2172, // imageAtomicCompSwap_01B20D00D00D + 2174, // imageAtomicCompSwap_01M20D00D00D + 2176, // imageAtomicCompSwap_01X20D00D00D + 2178, // imageAtomicCompSwap_01H20D00D00D + 2180, // imageAtomicCompSwap_01S20D00D00D + 2182, // imageAtomicCompSwap_01d20D00D00D + 2184, // imageAtomicCompSwap_01D00D00D00D + 2186, // imageAtomicCompSwap_01O00D00D00D + 2188, // imageAtomicCompSwap_01Z00D00D00D + 2190, // imageAtomicCompSwap_01E10D00D00D + 2192, // imageAtomicCompSwap_01P10D00D00D + 2194, // imageAtomicCompSwap_01a10D00D00D + 2196, // imageAtomicCompSwap_01I10D00D00D + 2198, // imageAtomicCompSwap_01T10D00D00D + 2200, // imageAtomicCompSwap_01e10D00D00D + 2202, // imageAtomicCompSwap_01F10D00D00D00D + 2204, // imageAtomicCompSwap_01Q10D00D00D00D + 2206, // imageAtomicCompSwap_01b10D00D00D00D + 2208, // imageAtomicCompSwap_01G20D00D00D00D + 2210, // imageAtomicCompSwap_01R20D00D00D00D + 2212, // imageAtomicCompSwap_01c20D00D00D00D + 2214, // pixelLocalLoadANGLE_01g + 2215, // pixelLocalLoadANGLE_01h + 2216, // pixelLocalLoadANGLE_01i + 2217, // pixelLocalStoreANGLE_01g30B + 2218, // pixelLocalStoreANGLE_01h30D + 2219, // pixelLocalStoreANGLE_01i30E + 2220, // beginInvocationInterlockNV_ + 2221, // endInvocationInterlockNV_ + 2222, // beginFragmentShaderOrderingINTEL_ + 2223, // beginInvocationInterlockARB_ + 2224, // endInvocationInterlockARB_ + 2225, // memoryBarrier_ + 2226, // memoryBarrierAtomicCounter_ + 2227, // memoryBarrierBuffer_ + 2228, // memoryBarrierImage_ + 2229, // barrier_ + 2232, // memoryBarrierShared_ + 2233, // groupMemoryBarrier_ + 2234, // EmitVertex_ + 2237, // EndPrimitive_ + 2240, // subpassLoad_01j + 2241, // subpassLoad_01k + 2242, // subpassLoad_01l + 2243, // subpassLoad_01m00D + 2244, // subpassLoad_01n00D + 2245, // subpassLoad_01o00D + 2246, // gl_DepthRangeParameters + 2247, // gl_DepthRange + 2248, // gl_NumSamples + 2250, // gl_MaxVertexAttribs + 2251, // gl_MaxVertexUniformVectors + 2252, // gl_MaxVertexTextureImageUnits + 2253, // gl_MaxCombinedTextureImageUnits + 2254, // gl_MaxTextureImageUnits + 2255, // gl_MaxFragmentUniformVectors + 2256, // gl_MaxVaryingVectors + 2257, // gl_MaxDrawBuffers + 2258, // gl_MaxDualSourceDrawBuffersEXT + 2259, // gl_MaxVertexOutputVectors + 2260, // gl_MaxFragmentInputVectors + 2261, // gl_MinProgramTexelOffset + 2262, // gl_MaxProgramTexelOffset + 2263, // gl_MaxImageUnits + 2264, // gl_MaxVertexImageUniforms + 2265, // gl_MaxFragmentImageUniforms + 2266, // gl_MaxComputeImageUniforms + 2267, // gl_MaxCombinedImageUniforms + 2268, // gl_MaxCombinedShaderOutputResources + 2269, // gl_MaxComputeWorkGroupCount + 2270, // gl_MaxComputeWorkGroupSize + 2271, // gl_MaxComputeUniformComponents + 2272, // gl_MaxComputeTextureImageUnits + 2273, // gl_MaxComputeAtomicCounters + 2274, // gl_MaxComputeAtomicCounterBuffers + 2275, // gl_MaxVertexAtomicCounters + 2276, // gl_MaxFragmentAtomicCounters + 2277, // gl_MaxCombinedAtomicCounters + 2278, // gl_MaxAtomicCounterBindings + 2279, // gl_MaxVertexAtomicCounterBuffers + 2280, // gl_MaxFragmentAtomicCounterBuffers + 2281, // gl_MaxCombinedAtomicCounterBuffers + 2282, // gl_MaxAtomicCounterBufferSize + 2283, // gl_MaxGeometryInputComponents + 2286, // gl_MaxGeometryOutputComponents + 2289, // gl_MaxGeometryImageUniforms + 2292, // gl_MaxGeometryTextureImageUnits + 2295, // gl_MaxGeometryOutputVertices + 2298, // gl_MaxGeometryTotalOutputComponents + 2301, // gl_MaxGeometryUniformComponents + 2304, // gl_MaxGeometryAtomicCounters + 2307, // gl_MaxGeometryAtomicCounterBuffers + 2310, // gl_MaxTessControlInputComponents + 2312, // gl_MaxTessControlOutputComponents + 2314, // gl_MaxTessControlTextureImageUnits + 2316, // gl_MaxTessControlUniformComponents + 2318, // gl_MaxTessControlTotalOutputComponents + 2320, // gl_MaxTessControlImageUniforms + 2322, // gl_MaxTessControlAtomicCounters + 2324, // gl_MaxTessControlAtomicCounterBuffers + 2326, // gl_MaxTessPatchComponents + 2328, // gl_MaxPatchVertices + 2330, // gl_MaxTessGenLevel + 2332, // gl_MaxTessEvaluationInputComponents + 2334, // gl_MaxTessEvaluationOutputComponents + 2336, // gl_MaxTessEvaluationTextureImageUnits + 2338, // gl_MaxTessEvaluationUniformComponents + 2340, // gl_MaxTessEvaluationImageUniforms + 2342, // gl_MaxTessEvaluationAtomicCounters + 2344, // gl_MaxTessEvaluationAtomicCounterBuffers + 2346, // gl_MaxSamples + 2348, // gl_MaxClipDistances + 2349, // gl_MaxCullDistances + 2350, // gl_MaxCombinedClipAndCullDistances + 2351, // gl_FragCoord + 2353, // gl_FrontFacing + 2354, // gl_PointCoord + 2355, // gl_FragColor + 2356, // gl_FragData + 2357, // gl_FragDepth + 2358, // gl_HelperInvocation + 2359, // gl_SecondaryFragColorEXT + 2360, // gl_SecondaryFragDataEXT + 2361, // gl_FragDepthEXT + 2362, // gl_LastFragData + 2365, // gl_LastFragColor + 2366, // gl_LastFragColorARM + 2367, // gl_PrimitiveID + 2377, // gl_Layer + 2383, // gl_SampleID + 2385, // gl_SamplePosition + 2387, // gl_SampleMaskIn + 2389, // gl_SampleMask + 2391, // gl_CullDistance + 2393, // gl_ClipDistance + 2395, // gl_Position + 2403, // gl_PointSize + 2405, // gl_InstanceID + 2406, // Empty + 2406, // gl_VertexID + 2407, // Empty + 2407, // Empty + 2407, // gl_DrawID + 2408, // gl_BaseVertex + 2409, // gl_BaseInstance + 2410, // angle_BaseVertex + 2411, // angle_BaseInstance + 2412, // gl_NumWorkGroups + 2413, // gl_WorkGroupSize + 2414, // gl_WorkGroupID + 2415, // gl_LocalInvocationID + 2416, // gl_GlobalInvocationID + 2417, // gl_LocalInvocationIndex + 2418, // gl_PrimitiveIDIn + 2421, // gl_InvocationID + 2426, // gl_PerVertex + 2433, // gl_in + 2440, // gl_PatchVerticesIn + 2444, // gl_TessLevelOuter + 2448, // gl_TessLevelInner + 2452, // gl_out + 2456, // gl_BoundingBox + 2458, // gl_BoundingBoxEXT + 2460, // gl_BoundingBoxOES + 2462, // gl_TessCoord + 2463, // gl_ViewID_OVR +}; + +using Ext = TExtension; + +// Flat array of all unmangled name identifiers. +constexpr UnmangledEntry unmangled[] = { + {"radians", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"degrees", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"sin", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"cos", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"tan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"asin", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"acos", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"atan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"sinh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"cosh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"tanh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"asinh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"acosh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"atanh", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"pow", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"exp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"log", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"exp2", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"log2", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"sqrt", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"inversesqrt", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"abs", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"sign", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"floor", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"trunc", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"round", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"roundEven", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"ceil", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"fract", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"mod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"min", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"max", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"clamp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"mix", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 450, Shader::ALL}, + {"step", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"smoothstep", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"modf", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"isnan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"isinf", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, Shader::ALL}, + {"floatBitsToInt", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 330, + Shader::ALL}, + {"floatBitsToUint", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 330, + Shader::ALL}, + {"intBitsToFloat", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 330, + Shader::ALL}, + {"uintBitsToFloat", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 330, + Shader::ALL}, + {"fma", std::array<TExtension, 1>{{Ext::EXT_gpu_shader5}}, Ext::UNDEFINED, 310, -1, + Shader::ALL}, + {"frexp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, Shader::ALL}, + {"ldexp", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, Shader::ALL}, + {"packSnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 420, + Shader::ALL}, + {"packHalf2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 420, + Shader::ALL}, + {"unpackSnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 420, + Shader::ALL}, + {"unpackHalf2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 420, + Shader::ALL}, + {"packUnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 400, + Shader::ALL}, + {"unpackUnorm2x16", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 400, + Shader::ALL}, + {"packUnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"packSnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"unpackUnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"unpackSnorm4x8", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"length", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"distance", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"dot", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"cross", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"normalize", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"faceforward", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"reflect", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"refract", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"matrixCompMult", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, -1, + Shader::ALL}, + {"outerProduct", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 120, + Shader::ALL}, + {"transpose", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 120, + Shader::ALL}, + {"determinant", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, -1, + Shader::ALL}, + {"inverse", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 140, Shader::ALL}, + {"lessThan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"lessThanEqual", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"greaterThan", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"greaterThanEqual", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"equal", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"notEqual", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"any", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"all", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"not", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 0, 0, Shader::ALL}, + {"bitfieldExtract", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"bitfieldInsert", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"bitfieldReverse", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"bitCount", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"findLSB", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, Shader::ALL}, + {"findMSB", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, Shader::ALL}, + {"uaddCarry", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"usubBorrow", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"umulExtended", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"imulExtended", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"texture2D", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, 0, + Shader::FRAGMENT}, + {"texture2DProj", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, 0, + Shader::FRAGMENT}, + {"textureCube", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, 0, + Shader::ALL}, + {"texture3D", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, Ext::UNDEFINED, 100, -1, + Shader::FRAGMENT}, + {"texture3DProj", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, Ext::UNDEFINED, 100, -1, + Shader::FRAGMENT}, + {"shadow2DEXT", std::array<TExtension, 1>{{Ext::EXT_shadow_samplers}}, Ext::UNDEFINED, 100, -1, + Shader::ALL}, + {"shadow2DProjEXT", std::array<TExtension, 1>{{Ext::EXT_shadow_samplers}}, Ext::UNDEFINED, 100, + -1, Shader::ALL}, + {"texture2DRect", std::array<TExtension, 1>{{Ext::ARB_texture_rectangle}}, Ext::UNDEFINED, 100, + -1, Shader::ALL}, + {"texture2DRectProj", std::array<TExtension, 1>{{Ext::ARB_texture_rectangle}}, Ext::UNDEFINED, + 100, -1, Shader::ALL}, + {"texture2DGradEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, Ext::UNDEFINED, + 100, -1, Shader::ALL}, + {"texture2DProjGradEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, + Ext::UNDEFINED, 100, -1, Shader::ALL}, + {"textureCubeGradEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, Ext::UNDEFINED, + 100, -1, Shader::ALL}, + {"textureVideoWEBGL", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, 0, + Shader::ALL}, + {"texture3DLod", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, Ext::UNDEFINED, 100, -1, + Shader::ALL}, + {"texture3DProjLod", std::array<TExtension, 1>{{Ext::OES_texture_3D}}, Ext::UNDEFINED, 100, -1, + Shader::ALL}, + {"texture2DLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, -1, + Shader::VERTEX}, + {"texture2DProjLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, -1, + Shader::VERTEX}, + {"textureCubeLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 100, -1, + Shader::VERTEX}, + {"texture2DLodEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, Ext::UNDEFINED, + 100, -1, Shader::FRAGMENT}, + {"texture2DProjLodEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, + Ext::UNDEFINED, 100, -1, Shader::FRAGMENT}, + {"textureCubeLodEXT", std::array<TExtension, 1>{{Ext::EXT_shader_texture_lod}}, Ext::UNDEFINED, + 100, -1, Shader::FRAGMENT}, + {"texture", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, Ext::UNDEFINED, 300, + -1, Shader::FRAGMENT}, + {"textureProj", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, Ext::UNDEFINED, + 300, -1, Shader::FRAGMENT}, + {"textureLod", + std::array<TExtension, 2>{{Ext::OES_texture_cube_map_array, Ext::EXT_texture_cube_map_array}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"textureSize", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, Ext::UNDEFINED, + 300, -1, Shader::ALL}, + {"textureProjLod", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"texelFetch", std::array<TExtension, 1>{{Ext::OES_EGL_image_external_essl3}}, Ext::UNDEFINED, + 300, -1, Shader::ALL}, + {"textureGrad", + std::array<TExtension, 2>{{Ext::OES_texture_cube_map_array, Ext::EXT_texture_cube_map_array}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"textureProjGrad", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureProjOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureLodOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureProjLodOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"texelFetchOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureGradOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureProjGradOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 130, + Shader::ALL}, + {"textureGather", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"textureGatherOffset", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 400, + Shader::ALL}, + {"textureGatherOffsets", std::array<TExtension, 1>{{Ext::EXT_gpu_shader5}}, Ext::UNDEFINED, 310, + -1, Shader::ALL}, + {"rgb_2_yuv", std::array<TExtension, 1>{{Ext::EXT_YUV_target}}, Ext::UNDEFINED, 300, -1, + Shader::ALL}, + {"yuv_2_rgb", std::array<TExtension, 1>{{Ext::EXT_YUV_target}}, Ext::UNDEFINED, 300, -1, + Shader::ALL}, + {"dFdx", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT}, + {"dFdy", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT}, + {"fwidth", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 300, 0, + Shader::FRAGMENT}, + {"interpolateAtCentroid", + std::array<TExtension, 1>{{Ext::OES_shader_multisample_interpolation}}, Ext::UNDEFINED, 300, + -1, Shader::FRAGMENT}, + {"interpolateAtSample", std::array<TExtension, 1>{{Ext::OES_shader_multisample_interpolation}}, + Ext::UNDEFINED, 300, -1, Shader::FRAGMENT}, + {"interpolateAtOffset", std::array<TExtension, 1>{{Ext::OES_shader_multisample_interpolation}}, + Ext::UNDEFINED, 300, -1, Shader::FRAGMENT}, + {"atomicCounter", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 420, + Shader::ALL}, + {"atomicCounterIncrement", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, + 420, Shader::ALL}, + {"atomicCounterDecrement", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, + 420, Shader::ALL}, + {"atomicAdd", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicMin", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicMax", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicAnd", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicOr", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicXor", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicExchange", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"atomicCompSwap", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"imageSize", std::array<TExtension, 2>{{Ext::OES_texture_buffer, Ext::EXT_texture_buffer}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"imageStore", std::array<TExtension, 2>{{Ext::OES_texture_buffer, Ext::EXT_texture_buffer}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"imageLoad", std::array<TExtension, 2>{{Ext::OES_texture_buffer, Ext::EXT_texture_buffer}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"imageAtomicAdd", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, Ext::UNDEFINED, + 310, -1, Shader::ALL}, + {"imageAtomicMin", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, Ext::UNDEFINED, + 310, -1, Shader::ALL}, + {"imageAtomicMax", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, Ext::UNDEFINED, + 310, -1, Shader::ALL}, + {"imageAtomicAnd", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, Ext::UNDEFINED, + 310, -1, Shader::ALL}, + {"imageAtomicOr", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, Ext::UNDEFINED, + 310, -1, Shader::ALL}, + {"imageAtomicXor", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, Ext::UNDEFINED, + 310, -1, Shader::ALL}, + {"imageAtomicExchange", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"imageAtomicCompSwap", std::array<TExtension, 1>{{Ext::OES_shader_image_atomic}}, + Ext::UNDEFINED, 310, -1, Shader::ALL}, + {"pixelLocalLoadANGLE", std::array<TExtension, 1>{{Ext::ANGLE_shader_pixel_local_storage}}, + Ext::UNDEFINED, 300, -1, Shader::ALL}, + {"pixelLocalStoreANGLE", std::array<TExtension, 1>{{Ext::ANGLE_shader_pixel_local_storage}}, + Ext::UNDEFINED, 300, -1, Shader::ALL}, + {"beginInvocationInterlockNV", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, + kESSLInternalBackendBuiltIns, -1, Shader::ALL}, + {"endInvocationInterlockNV", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, + kESSLInternalBackendBuiltIns, -1, Shader::ALL}, + {"beginFragmentShaderOrderingINTEL", std::array<TExtension, 1>{{Ext::UNDEFINED}}, + Ext::UNDEFINED, kESSLInternalBackendBuiltIns, -1, Shader::ALL}, + {"beginInvocationInterlockARB", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, + kESSLInternalBackendBuiltIns, -1, Shader::ALL}, + {"endInvocationInterlockARB", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, + kESSLInternalBackendBuiltIns, -1, Shader::ALL}, + {"memoryBarrier", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 420, + Shader::ALL}, + {"memoryBarrierAtomicCounter", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, + 430, Shader::ALL}, + {"memoryBarrierBuffer", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"memoryBarrierImage", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::ALL}, + {"barrier", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 320, -1, + Shader::TESS_CONTROL_EXT}, + {"memoryBarrierShared", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::COMPUTE}, + {"groupMemoryBarrier", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 310, 430, + Shader::COMPUTE}, + {"EmitVertex", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 320, -1, + Shader::GEOMETRY}, + {"EndPrimitive", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, 320, -1, + Shader::GEOMETRY}, + {"subpassLoad", std::array<TExtension, 1>{{Ext::UNDEFINED}}, Ext::UNDEFINED, + kESSLInternalBackendBuiltIns, 460, Shader::ALL}}; + +} // namespace BuiltInArray + +void TSymbolTable::initializeBuiltInVariables(sh::GLenum shaderType, + ShShaderSpec spec, + const ShBuiltInResources &resources) +{ + const TSourceLoc zeroSourceLoc = {0, 0, 0, 0}; + TFieldList *fields_gl_DepthRangeParameters = new TFieldList(); + fields_gl_DepthRangeParameters->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::near, zeroSourceLoc, + SymbolType::BuiltIn)); + fields_gl_DepthRangeParameters->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::far, zeroSourceLoc, + SymbolType::BuiltIn)); + fields_gl_DepthRangeParameters->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::diff, zeroSourceLoc, + SymbolType::BuiltIn)); + TStructure *gl_DepthRangeParameters = new TStructure( + BuiltInId::gl_DepthRangeParameters, BuiltInName::gl_DepthRangeParameters, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_DepthRangeParameters); + m_gl_DepthRangeParameters = gl_DepthRangeParameters; + TType *type_gl_DepthRange = new TType(gl_DepthRangeParameters, false); + type_gl_DepthRange->setQualifier(EvqUniform); + type_gl_DepthRange->realize(); + m_gl_DepthRange = + new TVariable(BuiltInId::gl_DepthRange, BuiltInName::gl_DepthRange, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_DepthRange); + m_gl_MaxVertexAttribs = + new TVariable(BuiltInId::gl_MaxVertexAttribs, BuiltInName::gl_MaxVertexAttribs, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexAttribs); + static_cast<TVariable *>(m_gl_MaxVertexAttribs)->shareConstPointer(unionArray); + } + m_gl_MaxVertexUniformVectors = new TVariable( + BuiltInId::gl_MaxVertexUniformVectors, BuiltInName::gl_MaxVertexUniformVectors, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexUniformVectors); + static_cast<TVariable *>(m_gl_MaxVertexUniformVectors)->shareConstPointer(unionArray); + } + m_gl_MaxVertexTextureImageUnits = new TVariable( + BuiltInId::gl_MaxVertexTextureImageUnits, BuiltInName::gl_MaxVertexTextureImageUnits, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxVertexTextureImageUnits)->shareConstPointer(unionArray); + } + m_gl_MaxCombinedTextureImageUnits = new TVariable( + BuiltInId::gl_MaxCombinedTextureImageUnits, BuiltInName::gl_MaxCombinedTextureImageUnits, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCombinedTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxCombinedTextureImageUnits)->shareConstPointer(unionArray); + } + m_gl_MaxTextureImageUnits = + new TVariable(BuiltInId::gl_MaxTextureImageUnits, BuiltInName::gl_MaxTextureImageUnits, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxTextureImageUnits)->shareConstPointer(unionArray); + } + m_gl_MaxFragmentUniformVectors = new TVariable( + BuiltInId::gl_MaxFragmentUniformVectors, BuiltInName::gl_MaxFragmentUniformVectors, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxFragmentUniformVectors); + static_cast<TVariable *>(m_gl_MaxFragmentUniformVectors)->shareConstPointer(unionArray); + } + m_gl_MaxVaryingVectors = + new TVariable(BuiltInId::gl_MaxVaryingVectors, BuiltInName::gl_MaxVaryingVectors, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVaryingVectors); + static_cast<TVariable *>(m_gl_MaxVaryingVectors)->shareConstPointer(unionArray); + } + m_gl_MaxDrawBuffers = + new TVariable(BuiltInId::gl_MaxDrawBuffers, BuiltInName::gl_MaxDrawBuffers, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxDrawBuffers); + static_cast<TVariable *>(m_gl_MaxDrawBuffers)->shareConstPointer(unionArray); + } + m_gl_MaxDualSourceDrawBuffersEXT = new TVariable( + BuiltInId::gl_MaxDualSourceDrawBuffersEXT, BuiltInName::gl_MaxDualSourceDrawBuffersEXT, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_blend_func_extended}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxDualSourceDrawBuffers); + static_cast<TVariable *>(m_gl_MaxDualSourceDrawBuffersEXT)->shareConstPointer(unionArray); + } + m_gl_MaxVertexOutputVectors = + new TVariable(BuiltInId::gl_MaxVertexOutputVectors, BuiltInName::gl_MaxVertexOutputVectors, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexOutputVectors); + static_cast<TVariable *>(m_gl_MaxVertexOutputVectors)->shareConstPointer(unionArray); + } + m_gl_MaxFragmentInputVectors = new TVariable( + BuiltInId::gl_MaxFragmentInputVectors, BuiltInName::gl_MaxFragmentInputVectors, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxFragmentInputVectors); + static_cast<TVariable *>(m_gl_MaxFragmentInputVectors)->shareConstPointer(unionArray); + } + m_gl_MinProgramTexelOffset = + new TVariable(BuiltInId::gl_MinProgramTexelOffset, BuiltInName::gl_MinProgramTexelOffset, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MinProgramTexelOffset); + static_cast<TVariable *>(m_gl_MinProgramTexelOffset)->shareConstPointer(unionArray); + } + m_gl_MaxProgramTexelOffset = + new TVariable(BuiltInId::gl_MaxProgramTexelOffset, BuiltInName::gl_MaxProgramTexelOffset, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxProgramTexelOffset); + static_cast<TVariable *>(m_gl_MaxProgramTexelOffset)->shareConstPointer(unionArray); + } + m_gl_MaxImageUnits = + new TVariable(BuiltInId::gl_MaxImageUnits, BuiltInName::gl_MaxImageUnits, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxImageUnits); + static_cast<TVariable *>(m_gl_MaxImageUnits)->shareConstPointer(unionArray); + } + m_gl_MaxVertexImageUniforms = + new TVariable(BuiltInId::gl_MaxVertexImageUniforms, BuiltInName::gl_MaxVertexImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexImageUniforms); + static_cast<TVariable *>(m_gl_MaxVertexImageUniforms)->shareConstPointer(unionArray); + } + m_gl_MaxFragmentImageUniforms = new TVariable( + BuiltInId::gl_MaxFragmentImageUniforms, BuiltInName::gl_MaxFragmentImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxFragmentImageUniforms); + static_cast<TVariable *>(m_gl_MaxFragmentImageUniforms)->shareConstPointer(unionArray); + } + m_gl_MaxComputeImageUniforms = new TVariable( + BuiltInId::gl_MaxComputeImageUniforms, BuiltInName::gl_MaxComputeImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxComputeImageUniforms); + static_cast<TVariable *>(m_gl_MaxComputeImageUniforms)->shareConstPointer(unionArray); + } + m_gl_MaxCombinedImageUniforms = new TVariable( + BuiltInId::gl_MaxCombinedImageUniforms, BuiltInName::gl_MaxCombinedImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCombinedImageUniforms); + static_cast<TVariable *>(m_gl_MaxCombinedImageUniforms)->shareConstPointer(unionArray); + } + m_gl_MaxCombinedShaderOutputResources = + new TVariable(BuiltInId::gl_MaxCombinedShaderOutputResources, + BuiltInName::gl_MaxCombinedShaderOutputResources, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCombinedShaderOutputResources); + static_cast<TVariable *>(m_gl_MaxCombinedShaderOutputResources) + ->shareConstPointer(unionArray); + } + m_gl_MaxComputeWorkGroupCount = new TVariable( + BuiltInId::gl_MaxComputeWorkGroupCount, BuiltInName::gl_MaxComputeWorkGroupCount, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqConst, 3, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[3]; + for (size_t index = 0u; index < 3; ++index) + { + unionArray[index].setIConst(resources.MaxComputeWorkGroupCount[index]); + } + static_cast<TVariable *>(m_gl_MaxComputeWorkGroupCount)->shareConstPointer(unionArray); + } + m_gl_MaxComputeWorkGroupSize = new TVariable( + BuiltInId::gl_MaxComputeWorkGroupSize, BuiltInName::gl_MaxComputeWorkGroupSize, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpHigh, EvqConst, 3, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[3]; + for (size_t index = 0u; index < 3; ++index) + { + unionArray[index].setIConst(resources.MaxComputeWorkGroupSize[index]); + } + static_cast<TVariable *>(m_gl_MaxComputeWorkGroupSize)->shareConstPointer(unionArray); + } + m_gl_MaxComputeUniformComponents = new TVariable( + BuiltInId::gl_MaxComputeUniformComponents, BuiltInName::gl_MaxComputeUniformComponents, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxComputeUniformComponents); + static_cast<TVariable *>(m_gl_MaxComputeUniformComponents)->shareConstPointer(unionArray); + } + m_gl_MaxComputeTextureImageUnits = new TVariable( + BuiltInId::gl_MaxComputeTextureImageUnits, BuiltInName::gl_MaxComputeTextureImageUnits, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxComputeTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxComputeTextureImageUnits)->shareConstPointer(unionArray); + } + m_gl_MaxComputeAtomicCounters = new TVariable( + BuiltInId::gl_MaxComputeAtomicCounters, BuiltInName::gl_MaxComputeAtomicCounters, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxComputeAtomicCounters); + static_cast<TVariable *>(m_gl_MaxComputeAtomicCounters)->shareConstPointer(unionArray); + } + m_gl_MaxComputeAtomicCounterBuffers = + new TVariable(BuiltInId::gl_MaxComputeAtomicCounterBuffers, + BuiltInName::gl_MaxComputeAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxComputeAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxComputeAtomicCounterBuffers) + ->shareConstPointer(unionArray); + } + m_gl_MaxVertexAtomicCounters = new TVariable( + BuiltInId::gl_MaxVertexAtomicCounters, BuiltInName::gl_MaxVertexAtomicCounters, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexAtomicCounters); + static_cast<TVariable *>(m_gl_MaxVertexAtomicCounters)->shareConstPointer(unionArray); + } + m_gl_MaxFragmentAtomicCounters = new TVariable( + BuiltInId::gl_MaxFragmentAtomicCounters, BuiltInName::gl_MaxFragmentAtomicCounters, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxFragmentAtomicCounters); + static_cast<TVariable *>(m_gl_MaxFragmentAtomicCounters)->shareConstPointer(unionArray); + } + m_gl_MaxCombinedAtomicCounters = new TVariable( + BuiltInId::gl_MaxCombinedAtomicCounters, BuiltInName::gl_MaxCombinedAtomicCounters, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCombinedAtomicCounters); + static_cast<TVariable *>(m_gl_MaxCombinedAtomicCounters)->shareConstPointer(unionArray); + } + m_gl_MaxAtomicCounterBindings = new TVariable( + BuiltInId::gl_MaxAtomicCounterBindings, BuiltInName::gl_MaxAtomicCounterBindings, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxAtomicCounterBindings); + static_cast<TVariable *>(m_gl_MaxAtomicCounterBindings)->shareConstPointer(unionArray); + } + m_gl_MaxVertexAtomicCounterBuffers = new TVariable( + BuiltInId::gl_MaxVertexAtomicCounterBuffers, BuiltInName::gl_MaxVertexAtomicCounterBuffers, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxVertexAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxVertexAtomicCounterBuffers)->shareConstPointer(unionArray); + } + m_gl_MaxFragmentAtomicCounterBuffers = + new TVariable(BuiltInId::gl_MaxFragmentAtomicCounterBuffers, + BuiltInName::gl_MaxFragmentAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxFragmentAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxFragmentAtomicCounterBuffers) + ->shareConstPointer(unionArray); + } + m_gl_MaxCombinedAtomicCounterBuffers = + new TVariable(BuiltInId::gl_MaxCombinedAtomicCounterBuffers, + BuiltInName::gl_MaxCombinedAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCombinedAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxCombinedAtomicCounterBuffers) + ->shareConstPointer(unionArray); + } + m_gl_MaxAtomicCounterBufferSize = new TVariable( + BuiltInId::gl_MaxAtomicCounterBufferSize, BuiltInName::gl_MaxAtomicCounterBufferSize, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxAtomicCounterBufferSize); + static_cast<TVariable *>(m_gl_MaxAtomicCounterBufferSize)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryInputComponents = + new TVariable(BuiltInId::gl_MaxGeometryInputComponents, + BuiltInName::gl_MaxGeometryInputComponents, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryInputComponents); + static_cast<TVariable *>(m_gl_MaxGeometryInputComponents)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryInputComponentsES3_2 = new TVariable( + BuiltInId::gl_MaxGeometryInputComponentsES3_2, BuiltInName::gl_MaxGeometryInputComponents, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryInputComponents); + static_cast<TVariable *>(m_gl_MaxGeometryInputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryOutputComponents = + new TVariable(BuiltInId::gl_MaxGeometryOutputComponents, + BuiltInName::gl_MaxGeometryOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryOutputComponents); + static_cast<TVariable *>(m_gl_MaxGeometryOutputComponents)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryOutputComponentsES3_2 = new TVariable( + BuiltInId::gl_MaxGeometryOutputComponentsES3_2, BuiltInName::gl_MaxGeometryOutputComponents, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryOutputComponents); + static_cast<TVariable *>(m_gl_MaxGeometryOutputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryImageUniforms = + new TVariable(BuiltInId::gl_MaxGeometryImageUniforms, + BuiltInName::gl_MaxGeometryImageUniforms, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryImageUniforms); + static_cast<TVariable *>(m_gl_MaxGeometryImageUniforms)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryImageUniformsES3_2 = new TVariable( + BuiltInId::gl_MaxGeometryImageUniformsES3_2, BuiltInName::gl_MaxGeometryImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryImageUniforms); + static_cast<TVariable *>(m_gl_MaxGeometryImageUniformsES3_2)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryTextureImageUnits = + new TVariable(BuiltInId::gl_MaxGeometryTextureImageUnits, + BuiltInName::gl_MaxGeometryTextureImageUnits, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxGeometryTextureImageUnits)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryTextureImageUnitsES3_2 = + new TVariable(BuiltInId::gl_MaxGeometryTextureImageUnitsES3_2, + BuiltInName::gl_MaxGeometryTextureImageUnits, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxGeometryTextureImageUnitsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryOutputVertices = + new TVariable(BuiltInId::gl_MaxGeometryOutputVertices, + BuiltInName::gl_MaxGeometryOutputVertices, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryOutputVertices); + static_cast<TVariable *>(m_gl_MaxGeometryOutputVertices)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryOutputVerticesES3_2 = new TVariable( + BuiltInId::gl_MaxGeometryOutputVerticesES3_2, BuiltInName::gl_MaxGeometryOutputVertices, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryOutputVertices); + static_cast<TVariable *>(m_gl_MaxGeometryOutputVerticesES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryTotalOutputComponents = + new TVariable(BuiltInId::gl_MaxGeometryTotalOutputComponents, + BuiltInName::gl_MaxGeometryTotalOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryTotalOutputComponents); + static_cast<TVariable *>(m_gl_MaxGeometryTotalOutputComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryTotalOutputComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxGeometryTotalOutputComponentsES3_2, + BuiltInName::gl_MaxGeometryTotalOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryTotalOutputComponents); + static_cast<TVariable *>(m_gl_MaxGeometryTotalOutputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryUniformComponents = + new TVariable(BuiltInId::gl_MaxGeometryUniformComponents, + BuiltInName::gl_MaxGeometryUniformComponents, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryUniformComponents); + static_cast<TVariable *>(m_gl_MaxGeometryUniformComponents)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryUniformComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxGeometryUniformComponentsES3_2, + BuiltInName::gl_MaxGeometryUniformComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryUniformComponents); + static_cast<TVariable *>(m_gl_MaxGeometryUniformComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryAtomicCounters = + new TVariable(BuiltInId::gl_MaxGeometryAtomicCounters, + BuiltInName::gl_MaxGeometryAtomicCounters, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryAtomicCounters); + static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounters)->shareConstPointer(unionArray); + } + m_gl_MaxGeometryAtomicCountersES3_2 = new TVariable( + BuiltInId::gl_MaxGeometryAtomicCountersES3_2, BuiltInName::gl_MaxGeometryAtomicCounters, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryAtomicCounters); + static_cast<TVariable *>(m_gl_MaxGeometryAtomicCountersES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryAtomicCounterBuffers = + new TVariable(BuiltInId::gl_MaxGeometryAtomicCounterBuffers, + BuiltInName::gl_MaxGeometryAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounterBuffers) + ->shareConstPointer(unionArray); + } + m_gl_MaxGeometryAtomicCounterBuffersES3_2 = + new TVariable(BuiltInId::gl_MaxGeometryAtomicCounterBuffersES3_2, + BuiltInName::gl_MaxGeometryAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxGeometryAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounterBuffersES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlInputComponents = new TVariable( + BuiltInId::gl_MaxTessControlInputComponents, BuiltInName::gl_MaxTessControlInputComponents, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlInputComponents); + static_cast<TVariable *>(m_gl_MaxTessControlInputComponents)->shareConstPointer(unionArray); + } + m_gl_MaxTessControlInputComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlInputComponentsES3_2, + BuiltInName::gl_MaxTessControlInputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlInputComponents); + static_cast<TVariable *>(m_gl_MaxTessControlInputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlOutputComponents = + new TVariable(BuiltInId::gl_MaxTessControlOutputComponents, + BuiltInName::gl_MaxTessControlOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlOutputComponents); + static_cast<TVariable *>(m_gl_MaxTessControlOutputComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlOutputComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlOutputComponentsES3_2, + BuiltInName::gl_MaxTessControlOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlOutputComponents); + static_cast<TVariable *>(m_gl_MaxTessControlOutputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlTextureImageUnits = + new TVariable(BuiltInId::gl_MaxTessControlTextureImageUnits, + BuiltInName::gl_MaxTessControlTextureImageUnits, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxTessControlTextureImageUnits) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlTextureImageUnitsES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlTextureImageUnitsES3_2, + BuiltInName::gl_MaxTessControlTextureImageUnits, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxTessControlTextureImageUnitsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlUniformComponents = + new TVariable(BuiltInId::gl_MaxTessControlUniformComponents, + BuiltInName::gl_MaxTessControlUniformComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlUniformComponents); + static_cast<TVariable *>(m_gl_MaxTessControlUniformComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlUniformComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlUniformComponentsES3_2, + BuiltInName::gl_MaxTessControlUniformComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlUniformComponents); + static_cast<TVariable *>(m_gl_MaxTessControlUniformComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlTotalOutputComponents = + new TVariable(BuiltInId::gl_MaxTessControlTotalOutputComponents, + BuiltInName::gl_MaxTessControlTotalOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlTotalOutputComponents); + static_cast<TVariable *>(m_gl_MaxTessControlTotalOutputComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlTotalOutputComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlTotalOutputComponentsES3_2, + BuiltInName::gl_MaxTessControlTotalOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlTotalOutputComponents); + static_cast<TVariable *>(m_gl_MaxTessControlTotalOutputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlImageUniforms = new TVariable( + BuiltInId::gl_MaxTessControlImageUniforms, BuiltInName::gl_MaxTessControlImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlImageUniforms); + static_cast<TVariable *>(m_gl_MaxTessControlImageUniforms)->shareConstPointer(unionArray); + } + m_gl_MaxTessControlImageUniformsES3_2 = new TVariable( + BuiltInId::gl_MaxTessControlImageUniformsES3_2, BuiltInName::gl_MaxTessControlImageUniforms, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlImageUniforms); + static_cast<TVariable *>(m_gl_MaxTessControlImageUniformsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlAtomicCounters = new TVariable( + BuiltInId::gl_MaxTessControlAtomicCounters, BuiltInName::gl_MaxTessControlAtomicCounters, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlAtomicCounters); + static_cast<TVariable *>(m_gl_MaxTessControlAtomicCounters)->shareConstPointer(unionArray); + } + m_gl_MaxTessControlAtomicCountersES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlAtomicCountersES3_2, + BuiltInName::gl_MaxTessControlAtomicCounters, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlAtomicCounters); + static_cast<TVariable *>(m_gl_MaxTessControlAtomicCountersES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlAtomicCounterBuffers = + new TVariable(BuiltInId::gl_MaxTessControlAtomicCounterBuffers, + BuiltInName::gl_MaxTessControlAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxTessControlAtomicCounterBuffers) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessControlAtomicCounterBuffersES3_2 = + new TVariable(BuiltInId::gl_MaxTessControlAtomicCounterBuffersES3_2, + BuiltInName::gl_MaxTessControlAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessControlAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxTessControlAtomicCounterBuffersES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessPatchComponents = new TVariable( + BuiltInId::gl_MaxTessPatchComponents, BuiltInName::gl_MaxTessPatchComponents, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessPatchComponents); + static_cast<TVariable *>(m_gl_MaxTessPatchComponents)->shareConstPointer(unionArray); + } + m_gl_MaxTessPatchComponentsES3_2 = new TVariable( + BuiltInId::gl_MaxTessPatchComponentsES3_2, BuiltInName::gl_MaxTessPatchComponents, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessPatchComponents); + static_cast<TVariable *>(m_gl_MaxTessPatchComponentsES3_2)->shareConstPointer(unionArray); + } + m_gl_MaxPatchVertices = new TVariable( + BuiltInId::gl_MaxPatchVertices, BuiltInName::gl_MaxPatchVertices, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxPatchVertices); + static_cast<TVariable *>(m_gl_MaxPatchVertices)->shareConstPointer(unionArray); + } + m_gl_MaxPatchVerticesES3_2 = + new TVariable(BuiltInId::gl_MaxPatchVerticesES3_2, BuiltInName::gl_MaxPatchVertices, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxPatchVertices); + static_cast<TVariable *>(m_gl_MaxPatchVerticesES3_2)->shareConstPointer(unionArray); + } + m_gl_MaxTessGenLevel = new TVariable( + BuiltInId::gl_MaxTessGenLevel, BuiltInName::gl_MaxTessGenLevel, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessGenLevel); + static_cast<TVariable *>(m_gl_MaxTessGenLevel)->shareConstPointer(unionArray); + } + m_gl_MaxTessGenLevelES3_2 = + new TVariable(BuiltInId::gl_MaxTessGenLevelES3_2, BuiltInName::gl_MaxTessGenLevel, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessGenLevel); + static_cast<TVariable *>(m_gl_MaxTessGenLevelES3_2)->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationInputComponents = + new TVariable(BuiltInId::gl_MaxTessEvaluationInputComponents, + BuiltInName::gl_MaxTessEvaluationInputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationInputComponents); + static_cast<TVariable *>(m_gl_MaxTessEvaluationInputComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationInputComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationInputComponentsES3_2, + BuiltInName::gl_MaxTessEvaluationInputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationInputComponents); + static_cast<TVariable *>(m_gl_MaxTessEvaluationInputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationOutputComponents = + new TVariable(BuiltInId::gl_MaxTessEvaluationOutputComponents, + BuiltInName::gl_MaxTessEvaluationOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationOutputComponents); + static_cast<TVariable *>(m_gl_MaxTessEvaluationOutputComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationOutputComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationOutputComponentsES3_2, + BuiltInName::gl_MaxTessEvaluationOutputComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationOutputComponents); + static_cast<TVariable *>(m_gl_MaxTessEvaluationOutputComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationTextureImageUnits = + new TVariable(BuiltInId::gl_MaxTessEvaluationTextureImageUnits, + BuiltInName::gl_MaxTessEvaluationTextureImageUnits, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxTessEvaluationTextureImageUnits) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationTextureImageUnitsES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationTextureImageUnitsES3_2, + BuiltInName::gl_MaxTessEvaluationTextureImageUnits, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationTextureImageUnits); + static_cast<TVariable *>(m_gl_MaxTessEvaluationTextureImageUnitsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationUniformComponents = + new TVariable(BuiltInId::gl_MaxTessEvaluationUniformComponents, + BuiltInName::gl_MaxTessEvaluationUniformComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationUniformComponents); + static_cast<TVariable *>(m_gl_MaxTessEvaluationUniformComponents) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationUniformComponentsES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationUniformComponentsES3_2, + BuiltInName::gl_MaxTessEvaluationUniformComponents, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationUniformComponents); + static_cast<TVariable *>(m_gl_MaxTessEvaluationUniformComponentsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationImageUniforms = + new TVariable(BuiltInId::gl_MaxTessEvaluationImageUniforms, + BuiltInName::gl_MaxTessEvaluationImageUniforms, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationImageUniforms); + static_cast<TVariable *>(m_gl_MaxTessEvaluationImageUniforms) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationImageUniformsES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationImageUniformsES3_2, + BuiltInName::gl_MaxTessEvaluationImageUniforms, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationImageUniforms); + static_cast<TVariable *>(m_gl_MaxTessEvaluationImageUniformsES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationAtomicCounters = + new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCounters, + BuiltInName::gl_MaxTessEvaluationAtomicCounters, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounters); + static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCounters) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationAtomicCountersES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCountersES3_2, + BuiltInName::gl_MaxTessEvaluationAtomicCounters, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounters); + static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCountersES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationAtomicCounterBuffers = + new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCounterBuffers, + BuiltInName::gl_MaxTessEvaluationAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCounterBuffers) + ->shareConstPointer(unionArray); + } + m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2 = + new TVariable(BuiltInId::gl_MaxTessEvaluationAtomicCounterBuffersES3_2, + BuiltInName::gl_MaxTessEvaluationAtomicCounterBuffers, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxTessEvaluationAtomicCounterBuffers); + static_cast<TVariable *>(m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2) + ->shareConstPointer(unionArray); + } + m_gl_MaxSamples = + new TVariable(BuiltInId::gl_MaxSamples, BuiltInName::gl_MaxSamples, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::OES_sample_variables}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxSamples); + static_cast<TVariable *>(m_gl_MaxSamples)->shareConstPointer(unionArray); + } + m_gl_MaxSamplesES3_2 = + new TVariable(BuiltInId::gl_MaxSamplesES3_2, BuiltInName::gl_MaxSamples, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxSamples); + static_cast<TVariable *>(m_gl_MaxSamplesES3_2)->shareConstPointer(unionArray); + } + m_gl_MaxClipDistancesAPPLE = new TVariable( + BuiltInId::gl_MaxClipDistancesAPPLE, BuiltInName::gl_MaxClipDistances, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::APPLE_clip_distance}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxClipDistances); + static_cast<TVariable *>(m_gl_MaxClipDistancesAPPLE)->shareConstPointer(unionArray); + } + m_gl_MaxCullDistancesEXT = new TVariable( + BuiltInId::gl_MaxCullDistancesEXT, BuiltInName::gl_MaxCullDistances, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_clip_cull_distance}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCullDistances); + static_cast<TVariable *>(m_gl_MaxCullDistancesEXT)->shareConstPointer(unionArray); + } + m_gl_MaxCombinedClipAndCullDistancesEXT = + new TVariable(BuiltInId::gl_MaxCombinedClipAndCullDistancesEXT, + BuiltInName::gl_MaxCombinedClipAndCullDistances, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_clip_cull_distance}}, + StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>()); + { + TConstantUnion *unionArray = new TConstantUnion[1]; + unionArray[0].setIConst(resources.MaxCombinedClipAndCullDistances); + static_cast<TVariable *>(m_gl_MaxCombinedClipAndCullDistancesEXT) + ->shareConstPointer(unionArray); + } + TType *type_gl_FragData = new TType(EbtFloat, EbpMedium, EvqFragData, 4); + if (spec != SH_WEBGL2_SPEC && spec != SH_WEBGL3_SPEC) + { + type_gl_FragData->makeArray(resources.MaxDrawBuffers); + } + else + { + type_gl_FragData->makeArray(1u); + } + type_gl_FragData->realize(); + m_gl_FragData = + new TVariable(BuiltInId::gl_FragData, BuiltInName::gl_FragData, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_FragData); + TType *type_gl_SecondaryFragDataEXT = + new TType(EbtFloat, EbpMedium, EvqSecondaryFragDataEXT, 4, 1); + type_gl_SecondaryFragDataEXT->makeArray(resources.MaxDualSourceDrawBuffers); + type_gl_SecondaryFragDataEXT->realize(); + m_gl_SecondaryFragDataEXT = new TVariable( + BuiltInId::gl_SecondaryFragDataEXT, BuiltInName::gl_SecondaryFragDataEXT, + SymbolType::BuiltIn, std::array<TExtension, 1u>{{TExtension::EXT_blend_func_extended}}, + type_gl_SecondaryFragDataEXT); + TType *type_gl_FragDepthEXT = + new TType(EbtFloat, resources.FragmentPrecisionHigh ? EbpHigh : EbpMedium, EvqFragDepth, 1); + type_gl_FragDepthEXT->realize(); + m_gl_FragDepthEXT = new TVariable( + BuiltInId::gl_FragDepthEXT, BuiltInName::gl_FragDepthEXT, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_frag_depth}}, type_gl_FragDepthEXT); + TType *type_gl_LastFragData = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1); + type_gl_LastFragData->makeArray(resources.MaxDrawBuffers); + type_gl_LastFragData->realize(); + m_gl_LastFragData = new TVariable( + BuiltInId::gl_LastFragData, BuiltInName::gl_LastFragData, SymbolType::BuiltIn, + std::array<TExtension, 2u>{{TExtension::EXT_shader_framebuffer_fetch, + TExtension::EXT_shader_framebuffer_fetch_non_coherent}}, + type_gl_LastFragData); + TType *type_gl_LastFragDataNV = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1); + type_gl_LastFragDataNV->makeArray(resources.MaxDrawBuffers); + type_gl_LastFragDataNV->realize(); + m_gl_LastFragDataNV = new TVariable( + BuiltInId::gl_LastFragDataNV, BuiltInName::gl_LastFragData, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::NV_shader_framebuffer_fetch}}, + type_gl_LastFragDataNV); + TType *type_gl_SampleMaskIn = new TType(EbtInt, EbpHigh, EvqSampleMaskIn, 1); + type_gl_SampleMaskIn->makeArray((resources.MaxSamples + 31) / 32); + type_gl_SampleMaskIn->realize(); + m_gl_SampleMaskIn = new TVariable( + BuiltInId::gl_SampleMaskIn, BuiltInName::gl_SampleMaskIn, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::OES_sample_variables}}, type_gl_SampleMaskIn); + TType *type_gl_SampleMaskInES3_2 = new TType(EbtInt, EbpHigh, EvqSampleMaskIn, 1); + type_gl_SampleMaskInES3_2->makeArray((resources.MaxSamples + 31) / 32); + type_gl_SampleMaskInES3_2->realize(); + m_gl_SampleMaskInES3_2 = new TVariable( + BuiltInId::gl_SampleMaskInES3_2, BuiltInName::gl_SampleMaskIn, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_SampleMaskInES3_2); + TType *type_gl_SampleMask = new TType(EbtInt, EbpHigh, EvqSampleMask, 1); + type_gl_SampleMask->makeArray((resources.MaxSamples + 31) / 32); + type_gl_SampleMask->realize(); + m_gl_SampleMask = new TVariable( + BuiltInId::gl_SampleMask, BuiltInName::gl_SampleMask, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::OES_sample_variables}}, type_gl_SampleMask); + TType *type_gl_SampleMaskES3_2 = new TType(EbtInt, EbpHigh, EvqSampleMask, 1); + type_gl_SampleMaskES3_2->makeArray((resources.MaxSamples + 31) / 32); + type_gl_SampleMaskES3_2->realize(); + m_gl_SampleMaskES3_2 = new TVariable( + BuiltInId::gl_SampleMaskES3_2, BuiltInName::gl_SampleMask, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_SampleMaskES3_2); + TType *type_gl_CullDistance = new TType(EbtFloat, EbpHigh, EvqCullDistance, 1); + type_gl_CullDistance->makeArray(resources.MaxCullDistances); + type_gl_CullDistance->realize(); + m_gl_CullDistance = new TVariable( + BuiltInId::gl_CullDistance, BuiltInName::gl_CullDistance, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_clip_cull_distance}}, type_gl_CullDistance); + TType *type_gl_ClipDistance = new TType(EbtFloat, EbpHigh, EvqClipDistance, 1); + type_gl_ClipDistance->makeArray(resources.MaxClipDistances); + type_gl_ClipDistance->realize(); + m_gl_ClipDistance = new TVariable( + BuiltInId::gl_ClipDistance, BuiltInName::gl_ClipDistance, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_clip_cull_distance}}, type_gl_ClipDistance); + TType *type_gl_ClipDistanceAPPLE = new TType(EbtFloat, EbpHigh, EvqClipDistance, 1); + type_gl_ClipDistanceAPPLE->makeArray(resources.MaxClipDistances); + type_gl_ClipDistanceAPPLE->realize(); + m_gl_ClipDistanceAPPLE = new TVariable( + BuiltInId::gl_ClipDistanceAPPLE, BuiltInName::gl_ClipDistance, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::APPLE_clip_distance}}, type_gl_ClipDistanceAPPLE); + TType *type_gl_CullDistanceEXT = new TType(EbtFloat, EbpHigh, EvqCullDistance, 1); + type_gl_CullDistanceEXT->makeArray(resources.MaxCullDistances); + type_gl_CullDistanceEXT->realize(); + m_gl_CullDistanceEXT = new TVariable( + BuiltInId::gl_CullDistanceEXT, BuiltInName::gl_CullDistance, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_clip_cull_distance}}, type_gl_CullDistanceEXT); + TFieldList *fields_gl_PerVertex = new TFieldList(); + fields_gl_PerVertex->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), + BuiltInName::gl_Position, zeroSourceLoc, + SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertex = + new TInterfaceBlock(BuiltInId::gl_PerVertex, BuiltInName::gl_PerVertex, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + fields_gl_PerVertex); + m_gl_PerVertex = gl_PerVertex; + TFieldList *fields_gl_PerVertexES3_2 = new TFieldList(); + fields_gl_PerVertexES3_2->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), + BuiltInName::gl_Position, zeroSourceLoc, + SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexES3_2 = new TInterfaceBlock( + BuiltInId::gl_PerVertexES3_2, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexES3_2); + m_gl_PerVertexES3_2 = gl_PerVertexES3_2; + TType *type_gl_in = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create()); + type_gl_in->makeArray(0u); + type_gl_in->realize(); + m_gl_in = new TVariable(BuiltInId::gl_in, BuiltInName::gl_in, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + type_gl_in); + TType *type_gl_inES3_2 = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create()); + type_gl_inES3_2->makeArray(0u); + type_gl_inES3_2->realize(); + m_gl_inES3_2 = + new TVariable(BuiltInId::gl_inES3_2, BuiltInName::gl_in, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_inES3_2); + TFieldList *fields_gl_PerVertexOutBlock = new TFieldList(); + fields_gl_PerVertexOutBlock->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexOutBlock = + new TInterfaceBlock(BuiltInId::gl_PerVertexOutBlock, BuiltInName::gl_PerVertex, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + fields_gl_PerVertexOutBlock); + TFieldList *fields_gl_PerVertexOutBlockES3_2 = new TFieldList(); + fields_gl_PerVertexOutBlockES3_2->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexOutBlockES3_2 = new TInterfaceBlock( + BuiltInId::gl_PerVertexOutBlockES3_2, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexOutBlockES3_2); + TType *type_gl_PositionGS = new TType(EbtFloat, EbpHigh, EvqPosition, 4); + type_gl_PositionGS->setInterfaceBlock(gl_PerVertexOutBlock); + type_gl_PositionGS->realize(); + m_gl_PositionGS = + new TVariable(BuiltInId::gl_PositionGS, BuiltInName::gl_Position, SymbolType::BuiltIn, + std::array<TExtension, 2u>{ + {TExtension::EXT_geometry_shader, TExtension::OES_geometry_shader}}, + type_gl_PositionGS); + TType *type_gl_PositionGSES3_2 = new TType(EbtFloat, EbpHigh, EvqPosition, 4); + type_gl_PositionGSES3_2->setInterfaceBlock(gl_PerVertexOutBlockES3_2); + type_gl_PositionGSES3_2->realize(); + m_gl_PositionGSES3_2 = + new TVariable(BuiltInId::gl_PositionGSES3_2, BuiltInName::gl_Position, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_PositionGSES3_2); + TType *type_gl_TessLevelOuterTCS = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1); + type_gl_TessLevelOuterTCS->makeArray(4u); + type_gl_TessLevelOuterTCS->realize(); + m_gl_TessLevelOuterTCS = new TVariable( + BuiltInId::gl_TessLevelOuterTCS, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_TessLevelOuterTCS); + TType *type_gl_TessLevelOuterTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1); + type_gl_TessLevelOuterTCSES3_2->makeArray(4u); + type_gl_TessLevelOuterTCSES3_2->realize(); + m_gl_TessLevelOuterTCSES3_2 = new TVariable( + BuiltInId::gl_TessLevelOuterTCSES3_2, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelOuterTCSES3_2); + TType *type_gl_TessLevelInnerTCS = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1); + type_gl_TessLevelInnerTCS->makeArray(2u); + type_gl_TessLevelInnerTCS->realize(); + m_gl_TessLevelInnerTCS = new TVariable( + BuiltInId::gl_TessLevelInnerTCS, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_TessLevelInnerTCS); + TType *type_gl_TessLevelInnerTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1); + type_gl_TessLevelInnerTCSES3_2->makeArray(2u); + type_gl_TessLevelInnerTCSES3_2->realize(); + m_gl_TessLevelInnerTCSES3_2 = new TVariable( + BuiltInId::gl_TessLevelInnerTCSES3_2, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelInnerTCSES3_2); + TFieldList *fields_gl_PerVertexTCS = new TFieldList(); + fields_gl_PerVertexTCS->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), + BuiltInName::gl_Position, zeroSourceLoc, + SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexTCS = new TInterfaceBlock( + BuiltInId::gl_PerVertexTCS, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, fields_gl_PerVertexTCS); + m_gl_PerVertexTCS = gl_PerVertexTCS; + TFieldList *fields_gl_PerVertexTCSES3_2 = new TFieldList(); + fields_gl_PerVertexTCSES3_2->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexTCSES3_2 = new TInterfaceBlock( + BuiltInId::gl_PerVertexTCSES3_2, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexTCSES3_2); + m_gl_PerVertexTCSES3_2 = gl_PerVertexTCSES3_2; + TType *type_gl_inTCS = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create()); + type_gl_inTCS->makeArray(resources.MaxPatchVertices); + type_gl_inTCS->realize(); + m_gl_inTCS = new TVariable(BuiltInId::gl_inTCS, BuiltInName::gl_in, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_inTCS); + TType *type_gl_inTCSES3_2 = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create()); + type_gl_inTCSES3_2->makeArray(resources.MaxPatchVertices); + type_gl_inTCSES3_2->realize(); + m_gl_inTCSES3_2 = + new TVariable(BuiltInId::gl_inTCSES3_2, BuiltInName::gl_in, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_inTCSES3_2); + TType *type_gl_outTCS = new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create()); + type_gl_outTCS->makeArray(resources.MaxPatchVertices); + type_gl_outTCS->realize(); + m_gl_outTCS = new TVariable(BuiltInId::gl_outTCS, BuiltInName::gl_out, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_outTCS); + TType *type_gl_outTCSES3_2 = + new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create()); + type_gl_outTCSES3_2->makeArray(resources.MaxPatchVertices); + type_gl_outTCSES3_2->realize(); + m_gl_outTCSES3_2 = + new TVariable(BuiltInId::gl_outTCSES3_2, BuiltInName::gl_out, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_outTCSES3_2); + TType *type_gl_BoundingBoxTCS = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4); + type_gl_BoundingBoxTCS->makeArray(2u); + type_gl_BoundingBoxTCS->realize(); + m_gl_BoundingBoxTCS = new TVariable( + BuiltInId::gl_BoundingBoxTCS, BuiltInName::gl_BoundingBox, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, type_gl_BoundingBoxTCS); + TType *type_gl_BoundingBoxTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4); + type_gl_BoundingBoxTCSES3_2->makeArray(2u); + type_gl_BoundingBoxTCSES3_2->realize(); + m_gl_BoundingBoxTCSES3_2 = new TVariable( + BuiltInId::gl_BoundingBoxTCSES3_2, BuiltInName::gl_BoundingBox, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_BoundingBoxTCSES3_2); + TFieldList *fields_gl_PerVertexOutTcsBlock = new TFieldList(); + fields_gl_PerVertexOutTcsBlock->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexOutTcsBlock = + new TInterfaceBlock(BuiltInId::gl_PerVertexOutTcsBlock, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + fields_gl_PerVertexOutTcsBlock); + TFieldList *fields_gl_PerVertexOutTcsBlockES3_2 = new TFieldList(); + fields_gl_PerVertexOutTcsBlockES3_2->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexOutTcsBlockES3_2 = new TInterfaceBlock( + BuiltInId::gl_PerVertexOutTcsBlockES3_2, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexOutTcsBlockES3_2); + TType *type_gl_PositionTCS = new TType(EbtFloat, EbpHigh, EvqPosition, 4); + type_gl_PositionTCS->setInterfaceBlock(gl_PerVertexOutTcsBlock); + type_gl_PositionTCS->realize(); + m_gl_PositionTCS = new TVariable( + BuiltInId::gl_PositionTCS, BuiltInName::gl_Position, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, type_gl_PositionTCS); + TType *type_gl_PositionTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqPosition, 4); + type_gl_PositionTCSES3_2->setInterfaceBlock(gl_PerVertexOutTcsBlockES3_2); + type_gl_PositionTCSES3_2->realize(); + m_gl_PositionTCSES3_2 = new TVariable( + BuiltInId::gl_PositionTCSES3_2, BuiltInName::gl_Position, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_PositionTCSES3_2); + TType *type_gl_BoundingBoxEXTTCS = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4); + type_gl_BoundingBoxEXTTCS->makeArray(2u); + type_gl_BoundingBoxEXTTCS->realize(); + m_gl_BoundingBoxEXTTCS = new TVariable( + BuiltInId::gl_BoundingBoxEXTTCS, BuiltInName::gl_BoundingBoxEXT, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_BoundingBoxEXTTCS); + TType *type_gl_BoundingBoxEXTTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4); + type_gl_BoundingBoxEXTTCSES3_2->makeArray(2u); + type_gl_BoundingBoxEXTTCSES3_2->realize(); + m_gl_BoundingBoxEXTTCSES3_2 = new TVariable( + BuiltInId::gl_BoundingBoxEXTTCSES3_2, BuiltInName::gl_BoundingBoxEXT, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_BoundingBoxEXTTCSES3_2); + TType *type_gl_BoundingBoxOESTCS = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4); + type_gl_BoundingBoxOESTCS->makeArray(2u); + type_gl_BoundingBoxOESTCS->realize(); + m_gl_BoundingBoxOESTCS = new TVariable( + BuiltInId::gl_BoundingBoxOESTCS, BuiltInName::gl_BoundingBoxOES, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_BoundingBoxOESTCS); + TType *type_gl_BoundingBoxOESTCSES3_2 = new TType(EbtFloat, EbpHigh, EvqBoundingBox, 4); + type_gl_BoundingBoxOESTCSES3_2->makeArray(2u); + type_gl_BoundingBoxOESTCSES3_2->realize(); + m_gl_BoundingBoxOESTCSES3_2 = new TVariable( + BuiltInId::gl_BoundingBoxOESTCSES3_2, BuiltInName::gl_BoundingBoxOES, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_BoundingBoxOESTCSES3_2); + TType *type_gl_TessLevelOuterTES = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1); + type_gl_TessLevelOuterTES->makeArray(4u); + type_gl_TessLevelOuterTES->realize(); + m_gl_TessLevelOuterTES = new TVariable( + BuiltInId::gl_TessLevelOuterTES, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_TessLevelOuterTES); + TType *type_gl_TessLevelOuterTESES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelOuter, 1); + type_gl_TessLevelOuterTESES3_2->makeArray(4u); + type_gl_TessLevelOuterTESES3_2->realize(); + m_gl_TessLevelOuterTESES3_2 = new TVariable( + BuiltInId::gl_TessLevelOuterTESES3_2, BuiltInName::gl_TessLevelOuter, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelOuterTESES3_2); + TType *type_gl_TessLevelInnerTES = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1); + type_gl_TessLevelInnerTES->makeArray(2u); + type_gl_TessLevelInnerTES->realize(); + m_gl_TessLevelInnerTES = new TVariable( + BuiltInId::gl_TessLevelInnerTES, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_TessLevelInnerTES); + TType *type_gl_TessLevelInnerTESES3_2 = new TType(EbtFloat, EbpHigh, EvqTessLevelInner, 1); + type_gl_TessLevelInnerTESES3_2->makeArray(2u); + type_gl_TessLevelInnerTESES3_2->realize(); + m_gl_TessLevelInnerTESES3_2 = new TVariable( + BuiltInId::gl_TessLevelInnerTESES3_2, BuiltInName::gl_TessLevelInner, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_TessLevelInnerTESES3_2); + TFieldList *fields_gl_PerVertexTES = new TFieldList(); + fields_gl_PerVertexTES->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), + BuiltInName::gl_Position, zeroSourceLoc, + SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexTES = new TInterfaceBlock( + BuiltInId::gl_PerVertexTES, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, fields_gl_PerVertexTES); + m_gl_PerVertexTES = gl_PerVertexTES; + TFieldList *fields_gl_PerVertexTESES3_2 = new TFieldList(); + fields_gl_PerVertexTESES3_2->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexTESES3_2 = new TInterfaceBlock( + BuiltInId::gl_PerVertexTESES3_2, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexTESES3_2); + m_gl_PerVertexTESES3_2 = gl_PerVertexTESES3_2; + TType *type_gl_inTES = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create()); + type_gl_inTES->makeArray(resources.MaxPatchVertices); + type_gl_inTES->realize(); + m_gl_inTES = new TVariable(BuiltInId::gl_inTES, BuiltInName::gl_in, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_inTES); + TType *type_gl_inTESES3_2 = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create()); + type_gl_inTESES3_2->makeArray(resources.MaxPatchVertices); + type_gl_inTESES3_2->realize(); + m_gl_inTESES3_2 = + new TVariable(BuiltInId::gl_inTESES3_2, BuiltInName::gl_in, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_inTESES3_2); + TType *type_gl_outTES = new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create()); + type_gl_outTES->makeArray(resources.MaxPatchVertices); + type_gl_outTES->realize(); + m_gl_outTES = new TVariable(BuiltInId::gl_outTES, BuiltInName::gl_out, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + type_gl_outTES); + TType *type_gl_outTESES3_2 = + new TType(gl_PerVertex, EvqPerVertexOut, TLayoutQualifier::Create()); + type_gl_outTESES3_2->makeArray(resources.MaxPatchVertices); + type_gl_outTESES3_2->realize(); + m_gl_outTESES3_2 = + new TVariable(BuiltInId::gl_outTESES3_2, BuiltInName::gl_out, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_outTESES3_2); + TFieldList *fields_gl_PerVertexOutTesBlock = new TFieldList(); + fields_gl_PerVertexOutTesBlock->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexOutTesBlock = + new TInterfaceBlock(BuiltInId::gl_PerVertexOutTesBlock, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, + fields_gl_PerVertexOutTesBlock); + TFieldList *fields_gl_PerVertexOutTesBlockES3_2 = new TFieldList(); + fields_gl_PerVertexOutTesBlockES3_2->push_back( + new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position, + zeroSourceLoc, SymbolType::BuiltIn)); + TInterfaceBlock *gl_PerVertexOutTesBlockES3_2 = new TInterfaceBlock( + BuiltInId::gl_PerVertexOutTesBlockES3_2, BuiltInName::gl_PerVertex, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, fields_gl_PerVertexOutTesBlockES3_2); + TType *type_gl_PositionTES = new TType(EbtFloat, EbpHigh, EvqPosition, 4); + type_gl_PositionTES->setInterfaceBlock(gl_PerVertexOutTesBlock); + type_gl_PositionTES->realize(); + m_gl_PositionTES = new TVariable( + BuiltInId::gl_PositionTES, BuiltInName::gl_Position, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::EXT_tessellation_shader}}, type_gl_PositionTES); + TType *type_gl_PositionTESES3_2 = new TType(EbtFloat, EbpHigh, EvqPosition, 4); + type_gl_PositionTESES3_2->setInterfaceBlock(gl_PerVertexOutTesBlockES3_2); + type_gl_PositionTESES3_2->realize(); + m_gl_PositionTESES3_2 = new TVariable( + BuiltInId::gl_PositionTESES3_2, BuiltInName::gl_Position, SymbolType::BuiltIn, + std::array<TExtension, 1u>{{TExtension::UNDEFINED}}, type_gl_PositionTESES3_2); +} + +namespace +{ +uint16_t GetNextRuleIndex(uint32_t nameHash) +{ + if (nameHash == 1645 - 1) + return ArraySize(BuiltInArray::kRules); + return BuiltInArray::kMangledOffsets[nameHash + 1]; +} +} // namespace + +const TSymbol *TSymbolTable::findBuiltIn(const ImmutableString &name, int shaderVersion) const +{ + if (name.length() > 40) + return nullptr; + + uint32_t nameHash = name.mangledNameHash(); + if (nameHash >= 1645) + return nullptr; + + const char *actualName = BuiltInArray::kMangledNames[nameHash]; + if (name != actualName) + return nullptr; + + uint16_t startIndex = BuiltInArray::kMangledOffsets[nameHash]; + uint16_t nextIndex = GetNextRuleIndex(nameHash); + + return FindMangledBuiltIn(mShaderSpec, shaderVersion, mShaderType, mResources, *this, + BuiltInArray::kRules, startIndex, nextIndex); +} + +bool TSymbolTable::isUnmangledBuiltInName(const ImmutableString &name, + int shaderVersion, + const TExtensionBehavior &extensions) const +{ + if (name.length() > 32) + return false; + + uint32_t nameHash = name.unmangledNameHash(); + if (nameHash >= 174) + return false; + + return BuiltInArray::unmangled[nameHash].matches(name, mShaderSpec, shaderVersion, mShaderType, + extensions); +} + +} // namespace sh |