Edit

kc3-lang/angle/src/compiler/translator/SymbolTable_ESSL_autogen.cpp

Branch :

  • Show log

    Commit

  • Author : Mohan Maiya
    Date : 2021-02-24 09:49:42
    Hash : 550f2a3e
    Message : Vulkan: Shader support for EXT_shader_framebuffer_fetch_non_coherent Translator can accept gl_LastFragData and 'inout' variable to gain access to framebuffer attachment data. The Vulkan translator replaces it with the SubpassInput type variable. Note that this works only for the noncoherent version of the extension. Bug: angleproject:5454 Test: *EXTShaderFramebufferFetchNoncoherent*.* Change-Id: I392f84ee3ad3eb9fbd09d0b7ff83731a9a3f33f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598060 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

  • src/compiler/translator/SymbolTable_ESSL_autogen.cpp
  • // 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 "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;
    
    // Since some of the BuiltInId declarations are used outside of constexpr expressions, we need to
    // have these definitions without an initializer. C++17 should eventually remove the need for this.
    constexpr const TSymbolUniqueId BuiltInId::radians_Float1;
    constexpr const TSymbolUniqueId BuiltInId::radians_Float2;
    constexpr const TSymbolUniqueId BuiltInId::radians_Float3;
    constexpr const TSymbolUniqueId BuiltInId::radians_Float4;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float1;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float2;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float3;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float4;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float1;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float2;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float3;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float4;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float1;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float2;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float3;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float4;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float1;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float2;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float3;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float4;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float1;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float2;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float3;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float1;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float3;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float1;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float2;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float3;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float4;
    constexpr const TSymbolUniqueId BuiltInId::log_Float1;
    constexpr const TSymbolUniqueId BuiltInId::log_Float2;
    constexpr const TSymbolUniqueId BuiltInId::log_Float3;
    constexpr const TSymbolUniqueId BuiltInId::log_Float4;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float3;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float3;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float1;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float2;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float3;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float4;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int1;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int2;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int3;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int4;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int1;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int2;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int3;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int4;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float1;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float2;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float3;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float4;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float1;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float2;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float3;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float4;
    constexpr const TSymbolUniqueId BuiltInId::round_Float1;
    constexpr const TSymbolUniqueId BuiltInId::round_Float2;
    constexpr const TSymbolUniqueId BuiltInId::round_Float3;
    constexpr const TSymbolUniqueId BuiltInId::round_Float4;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float1;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float2;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float3;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float4;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float1;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float2;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float3;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float4;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::min_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::min_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::min_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::min_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::min_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::min_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::min_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_Int4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt4_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::max_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::max_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::max_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::max_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::max_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::max_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_Int4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt4_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float2_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float3_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float4_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int2_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int3_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int4_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt4_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float1_Float1_Bool1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::mix_Int1_Int1_Bool1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Int2_Int2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::mix_Int3_Int3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::mix_Int4_Int4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::mix_UInt1_UInt1_Bool1;
    constexpr const TSymbolUniqueId BuiltInId::mix_UInt2_UInt2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::mix_UInt3_UInt3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::mix_UInt4_UInt4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::mix_Bool1_Bool1_Bool1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Bool2_Bool2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::mix_Bool3_Bool3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::mix_Bool4_Bool4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::step_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::step_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::step_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float1;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float2;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float3;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float4;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float1;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float2;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float3;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float4;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float1;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float2;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float3;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float4;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int1;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int2;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int3;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int4;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::fma_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fma_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fma_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fma_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fmaExt_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fmaExt_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fmaExt_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fmaExt_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::packSnorm2x16_Float2;
    constexpr const TSymbolUniqueId BuiltInId::packHalf2x16_Float2;
    constexpr const TSymbolUniqueId BuiltInId::unpackSnorm2x16_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::unpackHalf2x16_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::packUnorm2x16_Float2;
    constexpr const TSymbolUniqueId BuiltInId::unpackUnorm2x16_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::packUnorm4x8_Float4;
    constexpr const TSymbolUniqueId BuiltInId::packSnorm4x8_Float4;
    constexpr const TSymbolUniqueId BuiltInId::unpackUnorm4x8_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::unpackSnorm4x8_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::length_Float1;
    constexpr const TSymbolUniqueId BuiltInId::length_Float2;
    constexpr const TSymbolUniqueId BuiltInId::length_Float3;
    constexpr const TSymbolUniqueId BuiltInId::length_Float4;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::cross_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float1;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float2;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float3;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float4;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float2_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float3_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float4_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x2_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x3_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x4_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x3_Float2x3;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x2_Float3x2;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x4_Float2x4;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x2_Float4x2;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x4_Float3x4;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x3_Float4x3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float2;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float2;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float3x2;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float2x3;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float4x2;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float2x4;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float4x3;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float3x4;
    constexpr const TSymbolUniqueId BuiltInId::determinant_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::determinant_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::determinant_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::inverse_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::inverse_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::inverse_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::equal_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::equal_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::equal_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::equal_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::equal_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::equal_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::equal_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::equal_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::equal_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::equal_Bool2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::equal_Bool3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::equal_Bool4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Bool2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Bool3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Bool4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::any_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::any_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::any_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::all_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::all_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::all_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::notFunc_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::notFunc_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::notFunc_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int2;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int3;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int4;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int2;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int3;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int4;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int1;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int2;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int3;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int4;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int1;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int2;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int3;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int4;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int2_Int2_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int3_Int3_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int4_Int4_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::texture2D_Sampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureCube_SamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2D_SamplerExternalOES1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_SamplerExternalOES1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_SamplerExternalOES1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture2DRect_Sampler2DRect1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DRectProj_Sampler2DRect1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2DRectProj_Sampler2DRect1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DRect1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRect1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRect1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2D_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureCube_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::shadow2DEXT_Sampler2DShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::shadow2DProjEXT_Sampler2DShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture3D_Sampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture3DProj_Sampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture3D_Sampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture3DProj_Sampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture3DLod_Sampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture3DProjLod_Sampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DLod_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DArrayShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler3D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler3D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler3D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCube1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISamplerCube1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USamplerCube1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArrayShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMSArray1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMSArray1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMSArray1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISamplerCubeArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USamplerCubeArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArray1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCubeArray1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCubeArray1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArray1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCubeArray1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCubeArray1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerBuffer1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISamplerBuffer1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USamplerBuffer1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_SamplerBuffer1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISamplerBuffer1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USamplerBuffer1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_Sampler2DMSArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_ISampler2DMSArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_USampler2DMSArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternalOES1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler3D1_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler3D1_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler3D1_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler3D1_Float4_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternalOES1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerExternalOES1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1;
    constexpr const TSymbolUniqueId BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArray1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2DArray1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2DArray1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DShadow1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2_Int1;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float4;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float4;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float3;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float4;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSample_Float1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSample_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSample_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSample_Float4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float3_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float4_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroidExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroidExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroidExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtCentroidExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSampleExt_Float1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSampleExt_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSampleExt_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtSampleExt_Float4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffsetExt_Float1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffsetExt_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffsetExt_Float3_Float2;
    constexpr const TSymbolUniqueId BuiltInId::interpolateAtOffsetExt_Float4_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atomicCounter_AtomicCounter1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCounterIncrement_AtomicCounter1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCounterDecrement_AtomicCounter1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAdd_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAdd_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMin_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMin_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMax_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMax_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAnd_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAnd_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicOr_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicOr_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicXor_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicXor_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicExchange_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicExchange_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCompSwap_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_Image2D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage2D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage2D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_Image3D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage3D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage3D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_Image2DArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage2DArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage2DArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCube1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCube1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCube1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCubeArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCubeArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCubeArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageBuffer1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageBuffer1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageBuffer1;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image2D1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage2D1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2D1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image3D1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage3D1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage3D1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image2DArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage2DArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2DArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCube1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCube1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCube1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCubeArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCubeArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCubeArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageBuffer1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageBuffer1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageBuffer1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DRect1_Int2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DRect1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DRect1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DRect1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DRect1_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image1D1_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage1D1_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage1D1_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image1DArray1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage1DArray1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage1DArray1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2DRect1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2DRect1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2DRect1_Int2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId
        BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId
        BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId
        BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image1D1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage1D1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage1D1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image1DArray1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage1DArray1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage1DArray1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2DRect1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2DRect1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2DRect1_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId
        BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId
        BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId
        BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_Image2D1_Int2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage2D1_Int2_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2D1_Int2_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_Image3D1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage3D1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage3D1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_Image2DArray1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage2DArray1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2DArray1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCube1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCube1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCube1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCubeArray1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCubeArray1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageBuffer1_Int1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageBuffer1_Int1_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageBuffer1_Int1_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrier;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierAtomicCounter;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierBuffer;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierImage;
    constexpr const TSymbolUniqueId BuiltInId::barrier;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierShared;
    constexpr const TSymbolUniqueId BuiltInId::groupMemoryBarrier;
    constexpr const TSymbolUniqueId BuiltInId::barrierES3_2;
    constexpr const TSymbolUniqueId BuiltInId::EmitVertex;
    constexpr const TSymbolUniqueId BuiltInId::EmitVertexES3_2;
    constexpr const TSymbolUniqueId BuiltInId::EndPrimitive;
    constexpr const TSymbolUniqueId BuiltInId::EndPrimitiveES3_2;
    constexpr const TSymbolUniqueId BuiltInId::textureVideoWEBGL_SamplerVideoWEBGL1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerVideoWEBGL1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::gl_DepthRangeParameters;
    constexpr const TSymbolUniqueId BuiltInId::gl_DepthRange;
    constexpr const TSymbolUniqueId BuiltInId::gl_NumSamples;
    constexpr const TSymbolUniqueId BuiltInId::gl_NumSamplesES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexAttribs;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexUniformVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentUniformVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVaryingVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxDrawBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxDualSourceDrawBuffersEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexOutputVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentInputVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MinProgramTexelOffset;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxProgramTexelOffset;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedShaderOutputResources;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeWorkGroupCount;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeWorkGroupSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeUniformComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxAtomicCounterBindings;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxAtomicCounterBufferSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryInputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryInputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryImageUniformsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryTextureImageUnitsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputVertices;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputVerticesES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryTotalOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryTotalOutputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryUniformComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryUniformComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCountersES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounterBuffersES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlInputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlInputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlOutputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlTextureImageUnitsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlUniformComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlUniformComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlTotalOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlTotalOutputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlImageUniformsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlAtomicCountersES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessControlAtomicCounterBuffersES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessPatchComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessPatchComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxPatchVertices;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxPatchVerticesES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessGenLevel;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessGenLevelES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationInputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationInputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationOutputComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationTextureImageUnitsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationUniformComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationUniformComponentsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationImageUniformsES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationAtomicCountersES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTessEvaluationAtomicCounterBuffersES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxSamples;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxSamplesES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxClipDistancesAPPLE;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCullDistancesEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedClipAndCullDistancesEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragCoord;
    constexpr const TSymbolUniqueId BuiltInId::gl_FrontFacing;
    constexpr const TSymbolUniqueId BuiltInId::gl_PointCoord;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragColor;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragData;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragDepth;
    constexpr const TSymbolUniqueId BuiltInId::gl_HelperInvocation;
    constexpr const TSymbolUniqueId BuiltInId::gl_SecondaryFragColorEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_SecondaryFragDataEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragDepthEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragData;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragDataNonCoherent;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragColor;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragDataNV;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragColorARM;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveID;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_Layer;
    constexpr const TSymbolUniqueId BuiltInId::gl_LayerES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_SampleID;
    constexpr const TSymbolUniqueId BuiltInId::gl_SampleIDES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_SamplePosition;
    constexpr const TSymbolUniqueId BuiltInId::gl_SamplePositionES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_SampleMaskIn;
    constexpr const TSymbolUniqueId BuiltInId::gl_SampleMaskInES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_SampleMask;
    constexpr const TSymbolUniqueId BuiltInId::gl_SampleMaskES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_CullDistance;
    constexpr const TSymbolUniqueId BuiltInId::gl_ClipDistance;
    constexpr const TSymbolUniqueId BuiltInId::gl_Position;
    constexpr const TSymbolUniqueId BuiltInId::gl_PointSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_InstanceID;
    constexpr const TSymbolUniqueId BuiltInId::gl_InstanceIndex;
    constexpr const TSymbolUniqueId BuiltInId::gl_VertexID;
    constexpr const TSymbolUniqueId BuiltInId::gl_VertexIndex;
    constexpr const TSymbolUniqueId BuiltInId::gl_ViewportIndex;
    constexpr const TSymbolUniqueId BuiltInId::gl_LayerVS;
    constexpr const TSymbolUniqueId BuiltInId::gl_DrawID;
    constexpr const TSymbolUniqueId BuiltInId::gl_BaseVertex;
    constexpr const TSymbolUniqueId BuiltInId::gl_BaseInstance;
    constexpr const TSymbolUniqueId BuiltInId::angle_BaseVertex;
    constexpr const TSymbolUniqueId BuiltInId::angle_BaseInstance;
    constexpr const TSymbolUniqueId BuiltInId::gl_ClipDistanceAPPLE;
    constexpr const TSymbolUniqueId BuiltInId::gl_CullDistanceEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_NumWorkGroups;
    constexpr const TSymbolUniqueId BuiltInId::gl_WorkGroupSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_WorkGroupID;
    constexpr const TSymbolUniqueId BuiltInId::gl_LocalInvocationID;
    constexpr const TSymbolUniqueId BuiltInId::gl_GlobalInvocationID;
    constexpr const TSymbolUniqueId BuiltInId::gl_LocalInvocationIndex;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDIn;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDInES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_InvocationID;
    constexpr const TSymbolUniqueId BuiltInId::gl_InvocationIDES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDGS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDGSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_LayerGS;
    constexpr const TSymbolUniqueId BuiltInId::gl_LayerGSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertex;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_in;
    constexpr const TSymbolUniqueId BuiltInId::gl_inES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutBlock;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutBlockES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionGS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionGSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PatchVerticesInTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PatchVerticesInTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_InvocationIDTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_InvocationIDTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelOuterTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelOuterTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelInnerTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelInnerTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_inTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_inTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_outTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_outTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutTcsBlock;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutTcsBlockES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionTCS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionTCSES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PatchVerticesInTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_PatchVerticesInTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessCoord;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelOuterTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelOuterTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelInnerTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_TessLevelInnerTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_inTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_inTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_outTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_outTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutTesBlock;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutTesBlockES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionTES;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionTESES3_2;
    constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVR;
    
    const int TSymbolTable::kLastBuiltInId = 4887;
    
    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 barrierES3_2("barrier");
    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 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_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 imageAtomicAddExt("imageAtomicAdd");
    constexpr const ImmutableString imageAtomicAndExt("imageAtomicAnd");
    constexpr const ImmutableString imageAtomicCompSwapExt("imageAtomicCompSwap");
    constexpr const ImmutableString imageAtomicExchangeExt("imageAtomicExchange");
    constexpr const ImmutableString imageAtomicMaxExt("imageAtomicMax");
    constexpr const ImmutableString imageAtomicMinExt("imageAtomicMin");
    constexpr const ImmutableString imageAtomicOrExt("imageAtomicOr");
    constexpr const ImmutableString imageAtomicXorExt("imageAtomicXor");
    constexpr const ImmutableString imageLoad("imageLoad");
    constexpr const ImmutableString imageSize("imageSize");
    constexpr const ImmutableString imageStore("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 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 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 textureGather("textureGather");
    constexpr const ImmutableString textureGatherOffset("textureGatherOffset");
    constexpr const ImmutableString textureGatherOffsets("textureGatherOffsets");
    constexpr const ImmutableString textureGatherOffsetsExt("textureGatherOffsets");
    constexpr const ImmutableString textureGrad("textureGrad");
    constexpr const ImmutableString textureGradOffset("textureGradOffset");
    constexpr const ImmutableString textureLod("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,
        TExtension::ANGLE_base_vertex_base_instance,
        StaticType::Get<EbtInt, EbpHigh, EvqBaseInstance, 1, 1>());
    constexpr const TVariable kangle_BaseVertex(
        BuiltInId::angle_BaseVertex,
        BuiltInName::angle_BaseVertex,
        SymbolType::BuiltIn,
        TExtension::ANGLE_base_vertex_base_instance,
        StaticType::Get<EbtInt, EbpHigh, EvqBaseVertex, 1, 1>());
    constexpr const TVariable kgl_BaseInstance(
        BuiltInId::gl_BaseInstance,
        BuiltInName::gl_BaseInstance,
        SymbolType::BuiltIn,
        TExtension::ANGLE_base_vertex_base_instance,
        StaticType::Get<EbtInt, EbpHigh, EvqBaseInstance, 1, 1>());
    constexpr const TVariable kgl_BaseVertex(BuiltInId::gl_BaseVertex,
                                             BuiltInName::gl_BaseVertex,
                                             SymbolType::BuiltIn,
                                             TExtension::ANGLE_base_vertex_base_instance,
                                             StaticType::Get<EbtInt, EbpHigh, EvqBaseVertex, 1, 1>());
    constexpr const TVariable kgl_DrawID(BuiltInId::gl_DrawID,
                                         BuiltInName::gl_DrawID,
                                         SymbolType::BuiltIn,
                                         TExtension::ANGLE_multi_draw,
                                         StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>());
    constexpr const TVariable kgl_FragColor(BuiltInId::gl_FragColor,
                                            BuiltInName::gl_FragColor,
                                            SymbolType::BuiltIn,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtFloat, EbpMedium, EvqFragColor, 4, 1>());
    constexpr const TVariable kgl_FragCoord(BuiltInId::gl_FragCoord,
                                            BuiltInName::gl_FragCoord,
                                            SymbolType::BuiltIn,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtFloat, EbpMedium, EvqFragCoord, 4, 1>());
    constexpr const TVariable kgl_FragDepth(BuiltInId::gl_FragDepth,
                                            BuiltInName::gl_FragDepth,
                                            SymbolType::BuiltIn,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtFloat, EbpHigh, EvqFragDepth, 1, 1>());
    constexpr const TVariable kgl_FrontFacing(
        BuiltInId::gl_FrontFacing,
        BuiltInName::gl_FrontFacing,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtBool, EbpUndefined, EvqFrontFacing, 1, 1>());
    constexpr const TVariable kgl_GlobalInvocationID(
        BuiltInId::gl_GlobalInvocationID,
        BuiltInName::gl_GlobalInvocationID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobalInvocationID, 3, 1>());
    constexpr const TVariable kgl_HelperInvocation(
        BuiltInId::gl_HelperInvocation,
        BuiltInName::gl_HelperInvocation,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtBool, EbpUndefined, EvqHelperInvocation, 1, 1>());
    constexpr const TVariable kgl_InstanceID(BuiltInId::gl_InstanceID,
                                             BuiltInName::gl_InstanceID,
                                             SymbolType::BuiltIn,
                                             TExtension::UNDEFINED,
                                             StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
    constexpr const TVariable kgl_InstanceIndex(
        BuiltInId::gl_InstanceIndex,
        BuiltInName::gl_InstanceIndex,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
    constexpr const TVariable kgl_InvocationID(
        BuiltInId::gl_InvocationID,
        BuiltInName::gl_InvocationID,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
    constexpr const TVariable kgl_InvocationIDES3_2(
        BuiltInId::gl_InvocationIDES3_2,
        BuiltInName::gl_InvocationID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
    constexpr const TVariable kgl_InvocationIDTCS(
        BuiltInId::gl_InvocationIDTCS,
        BuiltInName::gl_InvocationID,
        SymbolType::BuiltIn,
        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,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
    constexpr const TVariable kgl_LastFragColor(
        BuiltInId::gl_LastFragColor,
        BuiltInName::gl_LastFragColor,
        SymbolType::BuiltIn,
        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,
        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,
                                        TExtension::EXT_geometry_shader,
                                        StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kgl_LayerES3_2(BuiltInId::gl_LayerES3_2,
                                             BuiltInName::gl_Layer,
                                             SymbolType::BuiltIn,
                                             TExtension::UNDEFINED,
                                             StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kgl_LayerGS(BuiltInId::gl_LayerGS,
                                          BuiltInName::gl_Layer,
                                          SymbolType::BuiltIn,
                                          TExtension::EXT_geometry_shader,
                                          StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kgl_LayerGSES3_2(BuiltInId::gl_LayerGSES3_2,
                                               BuiltInName::gl_Layer,
                                               SymbolType::BuiltIn,
                                               TExtension::UNDEFINED,
                                               StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kgl_LayerVS(BuiltInId::gl_LayerVS,
                                          BuiltInName::gl_Layer,
                                          SymbolType::BuiltIn,
                                          TExtension::UNDEFINED,
                                          StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kgl_LocalInvocationID(
        BuiltInId::gl_LocalInvocationID,
        BuiltInName::gl_LocalInvocationID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationID, 3, 1>());
    constexpr const TVariable kgl_LocalInvocationIndex(
        BuiltInId::gl_LocalInvocationIndex,
        BuiltInName::gl_LocalInvocationIndex,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationIndex, 1, 1>());
    constexpr const TVariable kgl_NumSamples(BuiltInId::gl_NumSamples,
                                             BuiltInName::gl_NumSamples,
                                             SymbolType::BuiltIn,
                                             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,
                                                  TExtension::UNDEFINED,
                                                  StaticType::Get<EbtInt, EbpLow, EvqUniform, 1, 1>());
    constexpr const TVariable kgl_NumWorkGroups(
        BuiltInId::gl_NumWorkGroups,
        BuiltInName::gl_NumWorkGroups,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqNumWorkGroups, 3, 1>());
    constexpr const TVariable kgl_PatchVerticesInTCS(
        BuiltInId::gl_PatchVerticesInTCS,
        BuiltInName::gl_PatchVerticesIn,
        SymbolType::BuiltIn,
        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,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>());
    constexpr const TVariable kgl_PatchVerticesInTES(
        BuiltInId::gl_PatchVerticesInTES,
        BuiltInName::gl_PatchVerticesIn,
        SymbolType::BuiltIn,
        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,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPatchVerticesIn, 1, 1>());
    constexpr const TVariable kgl_PointCoord(
        BuiltInId::gl_PointCoord,
        BuiltInName::gl_PointCoord,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpMedium, EvqPointCoord, 2, 1>());
    constexpr const TVariable kgl_PointSize(BuiltInId::gl_PointSize,
                                            BuiltInName::gl_PointSize,
                                            SymbolType::BuiltIn,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtFloat, EbpMedium, EvqPointSize, 1, 1>());
    constexpr const TVariable kgl_Position(BuiltInId::gl_Position,
                                           BuiltInName::gl_Position,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtFloat, EbpHigh, EvqPosition, 4, 1>());
    constexpr const TVariable kgl_PrimitiveID(BuiltInId::gl_PrimitiveID,
                                              BuiltInName::gl_PrimitiveID,
                                              SymbolType::BuiltIn,
                                              TExtension::EXT_geometry_shader,
                                              StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDES3_2(
        BuiltInId::gl_PrimitiveIDES3_2,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDGS(
        BuiltInId::gl_PrimitiveIDGS,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDGSES3_2(
        BuiltInId::gl_PrimitiveIDGSES3_2,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDIn(
        BuiltInId::gl_PrimitiveIDIn,
        BuiltInName::gl_PrimitiveIDIn,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDInES3_2(
        BuiltInId::gl_PrimitiveIDInES3_2,
        BuiltInName::gl_PrimitiveIDIn,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDTCS(
        BuiltInId::gl_PrimitiveIDTCS,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        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,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kgl_PrimitiveIDTES(
        BuiltInId::gl_PrimitiveIDTES,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        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,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kgl_SampleID(BuiltInId::gl_SampleID,
                                           BuiltInName::gl_SampleID,
                                           SymbolType::BuiltIn,
                                           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,
                                                TExtension::UNDEFINED,
                                                StaticType::Get<EbtInt, EbpLow, EvqSampleID, 1, 1>());
    constexpr const TVariable kgl_SamplePosition(
        BuiltInId::gl_SamplePosition,
        BuiltInName::gl_SamplePosition,
        SymbolType::BuiltIn,
        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,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpMedium, EvqSamplePosition, 2, 1>());
    constexpr const TVariable kgl_SecondaryFragColorEXT(
        BuiltInId::gl_SecondaryFragColorEXT,
        BuiltInName::gl_SecondaryFragColorEXT,
        SymbolType::BuiltIn,
        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,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtFloat, EbpHigh, EvqGlobal, 3, 1>());
    constexpr const TVariable kgl_VertexID(BuiltInId::gl_VertexID,
                                           BuiltInName::gl_VertexID,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>());
    constexpr const TVariable kgl_VertexIndex(BuiltInId::gl_VertexIndex,
                                              BuiltInName::gl_VertexIndex,
                                              SymbolType::BuiltIn,
                                              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,
                                             TExtension::OVR_multiview,
                                             StaticType::Get<EbtUInt, EbpHigh, EvqViewIDOVR, 1, 1>());
    constexpr const TVariable kgl_ViewportIndex(
        BuiltInId::gl_ViewportIndex,
        BuiltInName::gl_ViewportIndex,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqViewportIndex, 1, 1>());
    constexpr const TVariable kgl_WorkGroupID(
        BuiltInId::gl_WorkGroupID,
        BuiltInName::gl_WorkGroupID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupID, 3, 1>());
    constexpr const TVariable kgl_WorkGroupSize(
        BuiltInId::gl_WorkGroupSize,
        BuiltInName::gl_WorkGroupSize,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupSize, 3, 1>());
    constexpr const TVariable kpt00B(BuiltInId::pt00B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00D(BuiltInId::pt00D,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00E(BuiltInId::pt00E,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00F(BuiltInId::pt00F,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00G(
        BuiltInId::pt00G,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtAtomicCounter, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00H(
        BuiltInId::pt00H,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtYuvCscStandardEXT, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00I(BuiltInId::pt00I,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00J(BuiltInId::pt00J,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00K(BuiltInId::pt00K,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00L(
        BuiltInId::pt00L,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00M(
        BuiltInId::pt00M,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00N(
        BuiltInId::pt00N,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerExternal2DY2YEXT, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00O(
        BuiltInId::pt00O,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00P(BuiltInId::pt00P,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00Q(
        BuiltInId::pt00Q,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00R(BuiltInId::pt00R,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00S(BuiltInId::pt00S,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00T(BuiltInId::pt00T,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00U(
        BuiltInId::pt00U,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00V(BuiltInId::pt00V,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00W(
        BuiltInId::pt00W,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00X(BuiltInId::pt00X,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00Y(BuiltInId::pt00Y,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00Z(BuiltInId::pt00Z,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00a(
        BuiltInId::pt00a,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00b(BuiltInId::pt00b,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00c(
        BuiltInId::pt00c,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00d(
        BuiltInId::pt00d,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00e(
        BuiltInId::pt00e,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00f(
        BuiltInId::pt00f,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00j(
        BuiltInId::pt00j,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00k(
        BuiltInId::pt00k,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00l(
        BuiltInId::pt00l,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerCubeArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00r(
        BuiltInId::pt00r,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00s(
        BuiltInId::pt00s,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00w(
        BuiltInId::pt00w,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00x(
        BuiltInId::pt00x,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00y(
        BuiltInId::pt00y,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerVideoWEBGL, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt00z(BuiltInId::pt00z,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01A(BuiltInId::pt01A,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01B(BuiltInId::pt01B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01C(BuiltInId::pt01C,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01D(BuiltInId::pt01D,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01E(BuiltInId::pt01E,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01F(BuiltInId::pt01F,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01G(
        BuiltInId::pt01G,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01H(
        BuiltInId::pt01H,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01I(BuiltInId::pt01I,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01J(BuiltInId::pt01J,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01K(BuiltInId::pt01K,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01L(BuiltInId::pt01L,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage1D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01M(BuiltInId::pt01M,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImage1D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01N(BuiltInId::pt01N,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImage1D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01O(BuiltInId::pt01O,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage1DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01P(
        BuiltInId::pt01P,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtIImage1DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01Q(
        BuiltInId::pt01Q,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUImage1DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01R(BuiltInId::pt01R,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01S(BuiltInId::pt01S,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01T(BuiltInId::pt01T,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01U(
        BuiltInId::pt01U,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01V(
        BuiltInId::pt01V,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtIImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01W(
        BuiltInId::pt01W,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01X(BuiltInId::pt01X,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImage2DRect, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01Y(BuiltInId::pt01Y,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImage2DRect, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01Z(BuiltInId::pt01Z,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImage2DRect, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01a(
        BuiltInId::pt01a,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01b(
        BuiltInId::pt01b,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtIImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01c(
        BuiltInId::pt01c,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01g(BuiltInId::pt01g,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01h(BuiltInId::pt01h,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtIImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt01i(BuiltInId::pt01i,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kpt10B(BuiltInId::pt10B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kpt10D(BuiltInId::pt10D,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kpt10Dx4(
        BuiltInId::pt10Dx4,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::GetArray<EbtInt, EbpUndefined, EvqGlobal, 2, 1, kArraySize4, 1>());
    constexpr const TVariable kpt10E(BuiltInId::pt10E,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kpt10F(BuiltInId::pt10F,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kpt20B(BuiltInId::pt20B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kpt20D(BuiltInId::pt20D,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kpt20E(BuiltInId::pt20E,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kpt20F(BuiltInId::pt20F,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kpt30B(BuiltInId::pt30B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kpt30D(BuiltInId::pt30D,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kpt30E(BuiltInId::pt30E,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kpt30F(BuiltInId::pt30F,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kpt50B(BuiltInId::pt50B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>());
    constexpr const TVariable kpt60B(BuiltInId::pt60B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>());
    constexpr const TVariable kpt70B(BuiltInId::pt70B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>());
    constexpr const TVariable kpt90B(BuiltInId::pt90B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>());
    constexpr const TVariable kptA0B(BuiltInId::ptA0B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>());
    constexpr const TVariable kptB0B(BuiltInId::ptB0B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>());
    constexpr const TVariable kptD0B(BuiltInId::ptD0B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>());
    constexpr const TVariable kptE0B(BuiltInId::ptE0B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>());
    constexpr const TVariable kptF0B(BuiltInId::ptF0B,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>());
    constexpr const TVariable kpt_io_00D(BuiltInId::pt_io_00D,
                                         BuiltInName::_empty,
                                         SymbolType::BuiltIn,
                                         TExtension::UNDEFINED,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqInOut, 1, 1>());
    constexpr const TVariable kpt_io_00E(BuiltInId::pt_io_00E,
                                         BuiltInName::_empty,
                                         SymbolType::BuiltIn,
                                         TExtension::UNDEFINED,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqInOut, 1, 1>());
    constexpr const TVariable kpt_o_00B(BuiltInId::pt_o_00B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 1, 1>());
    constexpr const TVariable kpt_o_00D(BuiltInId::pt_o_00D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqOut, 1, 1>());
    constexpr const TVariable kpt_o_00E(BuiltInId::pt_o_00E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 1, 1>());
    constexpr const TVariable kpt_o_10B(BuiltInId::pt_o_10B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 2, 1>());
    constexpr const TVariable kpt_o_10D(BuiltInId::pt_o_10D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqOut, 2, 1>());
    constexpr const TVariable kpt_o_10E(BuiltInId::pt_o_10E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 2, 1>());
    constexpr const TVariable kpt_o_20B(BuiltInId::pt_o_20B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 3, 1>());
    constexpr const TVariable kpt_o_20D(BuiltInId::pt_o_20D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqOut, 3, 1>());
    constexpr const TVariable kpt_o_20E(BuiltInId::pt_o_20E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 3, 1>());
    constexpr const TVariable kpt_o_30B(BuiltInId::pt_o_30B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 4, 1>());
    constexpr const TVariable kpt_o_30D(BuiltInId::pt_o_30D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqOut, 4, 1>());
    constexpr const TVariable kpt_o_30E(BuiltInId::pt_o_30E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 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_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_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 *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 *p01A10D30D[3]    = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt30D};
    constexpr const TVariable *p01B10D00B[3]    = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01B10D00D00D[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01B10D00E00E[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01B10D30E[3]    = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt30E};
    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 *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 *p01D20D30D[3]    = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30D};
    constexpr const TVariable *p01E20D00B[3]    = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01E20D00D00D[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01E20D00E00E[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01E20D30E[3]    = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30E};
    constexpr const TVariable *p01F20D00B[3]    = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01F20D00D00D[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01F20D00E00E[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01F20D30B[3]    = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30B};
    constexpr const TVariable *p01G20D00B[3]    = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01G20D00D00D[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01G20D00E00E[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01G20D30D[3]    = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30D};
    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 *p01H20D30E[3]    = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30E};
    constexpr const TVariable *p01I20D00B[3]    = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01I20D00D00D[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01I20D00E00E[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01I20D30B[3]    = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30B};
    constexpr const TVariable *p01J20D00B[3]    = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01J20D00D00D[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01J20D00E00E[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01J20D30D[3]    = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30D};
    constexpr const TVariable *p01K20D00B[3]    = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01K20D00D00D[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01K20D00E00E[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01K20D30E[3]    = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30E};
    constexpr const TVariable *p01L00D00B[3]    = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01L00D00D00D[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01L00D00E00E[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01M00D00B[3]    = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01M00D00D00D[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01M00D00E00E[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01N00D00B[3]    = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01N00D00D00D[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01N00D00E00E[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01O10D00B[3]    = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01O10D00D00D[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01O10D00E00E[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                                   &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 *p01Q10D00B[3]    = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01Q10D00D00D[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01Q10D00E00E[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01R10D00D00B[4] = {&BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01R10D00D00D00D[5] = {
        &BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01R10D00D00E00E[5] = {
        &BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01S10D00D00B[4] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01S10D00D00D00D[5] = {
        &BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01S10D00D00E00E[5] = {
        &BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01T10D00D00B[4] = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01T10D00D00D00D[5] = {
        &BuiltInVariable::kpt01T, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01T10D00D00E00E[5] = {
        &BuiltInVariable::kpt01T, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01U20D00D00B[4] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01U20D00D00D00D[5] = {
        &BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01U20D00D00E00E[5] = {
        &BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01V20D00D00B[4] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01V20D00D00D00D[5] = {
        &BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01V20D00D00E00E[5] = {
        &BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01W20D00D00B[4] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01W20D00D00D00D[5] = {
        &BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01W20D00D00E00E[5] = {
        &BuiltInVariable::kpt01W, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
        &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01X10D00B[3]    = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01X10D00D00D[4] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01X10D00E00E[4] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01Y10D00B[3]    = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01Y10D00D00D[4] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01Y10D00E00E[4] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01Z10D00B[3]    = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt10D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01Z10D00D00D[4] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01Z10D00E00E[4] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt10D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    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 *p01b20D30D[3]    = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30D};
    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 *p01c20D30E[3]    = {&BuiltInVariable::kpt01c, &BuiltInVariable::kpt20D,
                                                &BuiltInVariable::kpt30E};
    constexpr const TVariable *p01g00D00B[3]    = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01g00D00D00D[4] = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01g00D00E00E[4] = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01g00D30B[3]    = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt30B};
    constexpr const TVariable *p01h00D00B[3]    = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01h00D00D00D[4] = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01h00D00E00E[4] = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01h00D30D[3]    = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt30D};
    constexpr const TVariable *p01i00D00B[3]    = {&BuiltInVariable::kpt01i, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt00B};
    constexpr const TVariable *p01i00D00D00D[4] = {&BuiltInVariable::kpt01i, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
    constexpr const TVariable *p01i00D00E00E[4] = {&BuiltInVariable::kpt01i, &BuiltInVariable::kpt00D,
                                                   &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
    constexpr const TVariable *p01i00D30E[3]    = {&BuiltInVariable::kpt01i, &BuiltInVariable::kpt00D,
                                                &BuiltInVariable::kpt30E};
    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,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00B00B30B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpRadians,
                                          true);
    constexpr const TFunction radians_10B(BuiltInId::radians_Float2,
                                          BuiltInName::radians,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10B_o_10B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpRadians,
                                          true);
    constexpr const TFunction radians_20B(BuiltInId::radians_Float3,
                                          BuiltInName::radians,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20B20B00B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpRadians,
                                          true);
    constexpr const TFunction radians_30B(BuiltInId::radians_Float4,
                                          BuiltInName::radians,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30B30D,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpRadians,
                                          true);
    constexpr const TFunction degrees_00B(BuiltInId::degrees_Float1,
                                          BuiltInName::degrees,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00B00B30B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpDegrees,
                                          true);
    constexpr const TFunction degrees_10B(BuiltInId::degrees_Float2,
                                          BuiltInName::degrees,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10B_o_10B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpDegrees,
                                          true);
    constexpr const TFunction degrees_20B(BuiltInId::degrees_Float3,
                                          BuiltInName::degrees,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20B20B00B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpDegrees,
                                          true);
    constexpr const TFunction degrees_30B(BuiltInId::degrees_Float4,
                                          BuiltInName::degrees,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30B30D,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpDegrees,
                                          true);
    constexpr const TFunction sin_00B(BuiltInId::sin_Float1,
                                      BuiltInName::sin,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B30B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpSin,
                                      true);
    constexpr const TFunction sin_10B(BuiltInId::sin_Float2,
                                      BuiltInName::sin,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B_o_10B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpSin,
                                      true);
    constexpr const TFunction sin_20B(BuiltInId::sin_Float3,
                                      BuiltInName::sin,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B00B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpSin,
                                      true);
    constexpr const TFunction sin_30B(BuiltInId::sin_Float4,
                                      BuiltInName::sin,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30D,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpSin,
                                      true);
    constexpr const TFunction cos_00B(BuiltInId::cos_Float1,
                                      BuiltInName::cos,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B30B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpCos,
                                      true);
    constexpr const TFunction cos_10B(BuiltInId::cos_Float2,
                                      BuiltInName::cos,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B_o_10B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpCos,
                                      true);
    constexpr const TFunction cos_20B(BuiltInId::cos_Float3,
                                      BuiltInName::cos,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B00B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpCos,
                                      true);
    constexpr const TFunction cos_30B(BuiltInId::cos_Float4,
                                      BuiltInName::cos,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30D,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCos,
                                      true);
    constexpr const TFunction tan_00B(BuiltInId::tan_Float1,
                                      BuiltInName::tan,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B30B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpTan,
                                      true);
    constexpr const TFunction tan_10B(BuiltInId::tan_Float2,
                                      BuiltInName::tan,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B_o_10B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpTan,
                                      true);
    constexpr const TFunction tan_20B(BuiltInId::tan_Float3,
                                      BuiltInName::tan,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B00B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpTan,
                                      true);
    constexpr const TFunction tan_30B(BuiltInId::tan_Float4,
                                      BuiltInName::tan,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30D,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpTan,
                                      true);
    constexpr const TFunction asin_00B(BuiltInId::asin_Float1,
                                       BuiltInName::asin,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpAsin,
                                       true);
    constexpr const TFunction asin_10B(BuiltInId::asin_Float2,
                                       BuiltInName::asin,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpAsin,
                                       true);
    constexpr const TFunction asin_20B(BuiltInId::asin_Float3,
                                       BuiltInName::asin,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpAsin,
                                       true);
    constexpr const TFunction asin_30B(BuiltInId::asin_Float4,
                                       BuiltInName::asin,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpAsin,
                                       true);
    constexpr const TFunction acos_00B(BuiltInId::acos_Float1,
                                       BuiltInName::acos,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpAcos,
                                       true);
    constexpr const TFunction acos_10B(BuiltInId::acos_Float2,
                                       BuiltInName::acos,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpAcos,
                                       true);
    constexpr const TFunction acos_20B(BuiltInId::acos_Float3,
                                       BuiltInName::acos,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpAcos,
                                       true);
    constexpr const TFunction acos_30B(BuiltInId::acos_Float4,
                                       BuiltInName::acos,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpAcos,
                                       true);
    constexpr const TFunction atan_00B00B(BuiltInId::atan_Float1_Float1,
                                          BuiltInName::atan,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00B00B10B,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpAtan,
                                          true);
    constexpr const TFunction atan_10B10B(BuiltInId::atan_Float2_Float2,
                                          BuiltInName::atan,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10B10B10F,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpAtan,
                                          true);
    constexpr const TFunction atan_20B20B(BuiltInId::atan_Float3_Float3,
                                          BuiltInName::atan,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20B20B20B,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpAtan,
                                          true);
    constexpr const TFunction atan_30B30B(BuiltInId::atan_Float4_Float4,
                                          BuiltInName::atan,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30B30B30F,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpAtan,
                                          true);
    constexpr const TFunction atan_00B(BuiltInId::atan_Float1,
                                       BuiltInName::atan,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpAtan,
                                       true);
    constexpr const TFunction atan_10B(BuiltInId::atan_Float2,
                                       BuiltInName::atan,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpAtan,
                                       true);
    constexpr const TFunction atan_20B(BuiltInId::atan_Float3,
                                       BuiltInName::atan,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpAtan,
                                       true);
    constexpr const TFunction atan_30B(BuiltInId::atan_Float4,
                                       BuiltInName::atan,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpAtan,
                                       true);
    constexpr const TFunction sinh_00B(BuiltInId::sinh_Float1,
                                       BuiltInName::sinh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpSinh,
                                       true);
    constexpr const TFunction sinh_10B(BuiltInId::sinh_Float2,
                                       BuiltInName::sinh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpSinh,
                                       true);
    constexpr const TFunction sinh_20B(BuiltInId::sinh_Float3,
                                       BuiltInName::sinh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpSinh,
                                       true);
    constexpr const TFunction sinh_30B(BuiltInId::sinh_Float4,
                                       BuiltInName::sinh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpSinh,
                                       true);
    constexpr const TFunction cosh_00B(BuiltInId::cosh_Float1,
                                       BuiltInName::cosh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCosh,
                                       true);
    constexpr const TFunction cosh_10B(BuiltInId::cosh_Float2,
                                       BuiltInName::cosh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCosh,
                                       true);
    constexpr const TFunction cosh_20B(BuiltInId::cosh_Float3,
                                       BuiltInName::cosh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpCosh,
                                       true);
    constexpr const TFunction cosh_30B(BuiltInId::cosh_Float4,
                                       BuiltInName::cosh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCosh,
                                       true);
    constexpr const TFunction tanh_00B(BuiltInId::tanh_Float1,
                                       BuiltInName::tanh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpTanh,
                                       true);
    constexpr const TFunction tanh_10B(BuiltInId::tanh_Float2,
                                       BuiltInName::tanh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpTanh,
                                       true);
    constexpr const TFunction tanh_20B(BuiltInId::tanh_Float3,
                                       BuiltInName::tanh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpTanh,
                                       true);
    constexpr const TFunction tanh_30B(BuiltInId::tanh_Float4,
                                       BuiltInName::tanh,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpTanh,
                                       true);
    constexpr const TFunction asinh_00B(BuiltInId::asinh_Float1,
                                        BuiltInName::asinh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpAsinh,
                                        true);
    constexpr const TFunction asinh_10B(BuiltInId::asinh_Float2,
                                        BuiltInName::asinh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpAsinh,
                                        true);
    constexpr const TFunction asinh_20B(BuiltInId::asinh_Float3,
                                        BuiltInName::asinh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpAsinh,
                                        true);
    constexpr const TFunction asinh_30B(BuiltInId::asinh_Float4,
                                        BuiltInName::asinh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpAsinh,
                                        true);
    constexpr const TFunction acosh_00B(BuiltInId::acosh_Float1,
                                        BuiltInName::acosh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpAcosh,
                                        true);
    constexpr const TFunction acosh_10B(BuiltInId::acosh_Float2,
                                        BuiltInName::acosh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpAcosh,
                                        true);
    constexpr const TFunction acosh_20B(BuiltInId::acosh_Float3,
                                        BuiltInName::acosh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpAcosh,
                                        true);
    constexpr const TFunction acosh_30B(BuiltInId::acosh_Float4,
                                        BuiltInName::acosh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpAcosh,
                                        true);
    constexpr const TFunction atanh_00B(BuiltInId::atanh_Float1,
                                        BuiltInName::atanh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpAtanh,
                                        true);
    constexpr const TFunction atanh_10B(BuiltInId::atanh_Float2,
                                        BuiltInName::atanh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpAtanh,
                                        true);
    constexpr const TFunction atanh_20B(BuiltInId::atanh_Float3,
                                        BuiltInName::atanh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpAtanh,
                                        true);
    constexpr const TFunction atanh_30B(BuiltInId::atanh_Float4,
                                        BuiltInName::atanh,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpAtanh,
                                        true);
    constexpr const TFunction pow_00B00B(BuiltInId::pow_Float1_Float1,
                                         BuiltInName::pow,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B10B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpPow,
                                         true);
    constexpr const TFunction pow_10B10B(BuiltInId::pow_Float2_Float2,
                                         BuiltInName::pow,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B10B10F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpPow,
                                         true);
    constexpr const TFunction pow_20B20B(BuiltInId::pow_Float3_Float3,
                                         BuiltInName::pow,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B20B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                         EOpPow,
                                         true);
    constexpr const TFunction pow_30B30B(BuiltInId::pow_Float4_Float4,
                                         BuiltInName::pow,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30B30F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpPow,
                                         true);
    constexpr const TFunction exp_00B(BuiltInId::exp_Float1,
                                      BuiltInName::exp,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B30B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpExp,
                                      true);
    constexpr const TFunction exp_10B(BuiltInId::exp_Float2,
                                      BuiltInName::exp,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B_o_10B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpExp,
                                      true);
    constexpr const TFunction exp_20B(BuiltInId::exp_Float3,
                                      BuiltInName::exp,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B00B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpExp,
                                      true);
    constexpr const TFunction exp_30B(BuiltInId::exp_Float4,
                                      BuiltInName::exp,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30D,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpExp,
                                      true);
    constexpr const TFunction log_00B(BuiltInId::log_Float1,
                                      BuiltInName::log,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B30B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpLog,
                                      true);
    constexpr const TFunction log_10B(BuiltInId::log_Float2,
                                      BuiltInName::log,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B_o_10B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpLog,
                                      true);
    constexpr const TFunction log_20B(BuiltInId::log_Float3,
                                      BuiltInName::log,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B00B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpLog,
                                      true);
    constexpr const TFunction log_30B(BuiltInId::log_Float4,
                                      BuiltInName::log,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30D,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpLog,
                                      true);
    constexpr const TFunction exp2_00B(BuiltInId::exp2_Float1,
                                       BuiltInName::exp2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpExp2,
                                       true);
    constexpr const TFunction exp2_10B(BuiltInId::exp2_Float2,
                                       BuiltInName::exp2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpExp2,
                                       true);
    constexpr const TFunction exp2_20B(BuiltInId::exp2_Float3,
                                       BuiltInName::exp2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpExp2,
                                       true);
    constexpr const TFunction exp2_30B(BuiltInId::exp2_Float4,
                                       BuiltInName::exp2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpExp2,
                                       true);
    constexpr const TFunction log2_00B(BuiltInId::log2_Float1,
                                       BuiltInName::log2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpLog2,
                                       true);
    constexpr const TFunction log2_10B(BuiltInId::log2_Float2,
                                       BuiltInName::log2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpLog2,
                                       true);
    constexpr const TFunction log2_20B(BuiltInId::log2_Float3,
                                       BuiltInName::log2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpLog2,
                                       true);
    constexpr const TFunction log2_30B(BuiltInId::log2_Float4,
                                       BuiltInName::log2,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpLog2,
                                       true);
    constexpr const TFunction sqrt_00B(BuiltInId::sqrt_Float1,
                                       BuiltInName::sqrt,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpSqrt,
                                       true);
    constexpr const TFunction sqrt_10B(BuiltInId::sqrt_Float2,
                                       BuiltInName::sqrt,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpSqrt,
                                       true);
    constexpr const TFunction sqrt_20B(BuiltInId::sqrt_Float3,
                                       BuiltInName::sqrt,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpSqrt,
                                       true);
    constexpr const TFunction sqrt_30B(BuiltInId::sqrt_Float4,
                                       BuiltInName::sqrt,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpSqrt,
                                       true);
    constexpr const TFunction inversesqrt_00B(
        BuiltInId::inversesqrt_Float1,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B00B30B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction inversesqrt_10B(
        BuiltInId::inversesqrt_Float2,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction inversesqrt_20B(
        BuiltInId::inversesqrt_Float3,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B00B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction inversesqrt_30B(
        BuiltInId::inversesqrt_Float4,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction abs_00B(BuiltInId::abs_Float1,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B30B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_10B(BuiltInId::abs_Float2,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B_o_10B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_20B(BuiltInId::abs_Float3,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B00B,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_30B(BuiltInId::abs_Float4,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30D,
                                      1,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_00D(BuiltInId::abs_Int1,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00D00D00D00D,
                                      1,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_10D(BuiltInId::abs_Int2,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10D10D10F,
                                      1,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_20D(BuiltInId::abs_Int3,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20D00D00D,
                                      1,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction abs_30D(BuiltInId::abs_Int4,
                                      BuiltInName::abs,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30D30D30F,
                                      1,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpAbs,
                                      true);
    constexpr const TFunction sign_00B(BuiltInId::sign_Float1,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_10B(BuiltInId::sign_Float2,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_20B(BuiltInId::sign_Float3,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_30B(BuiltInId::sign_Float4,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_00D(BuiltInId::sign_Int1,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00D00D00D00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_10D(BuiltInId::sign_Int2,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10D10D10F,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_20D(BuiltInId::sign_Int3,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20D00D00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction sign_30D(BuiltInId::sign_Int4,
                                       BuiltInName::sign,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30D30D30F,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpSign,
                                       true);
    constexpr const TFunction floor_00B(BuiltInId::floor_Float1,
                                        BuiltInName::floor,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpFloor,
                                        true);
    constexpr const TFunction floor_10B(BuiltInId::floor_Float2,
                                        BuiltInName::floor,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpFloor,
                                        true);
    constexpr const TFunction floor_20B(BuiltInId::floor_Float3,
                                        BuiltInName::floor,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpFloor,
                                        true);
    constexpr const TFunction floor_30B(BuiltInId::floor_Float4,
                                        BuiltInName::floor,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpFloor,
                                        true);
    constexpr const TFunction trunc_00B(BuiltInId::trunc_Float1,
                                        BuiltInName::trunc,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpTrunc,
                                        true);
    constexpr const TFunction trunc_10B(BuiltInId::trunc_Float2,
                                        BuiltInName::trunc,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpTrunc,
                                        true);
    constexpr const TFunction trunc_20B(BuiltInId::trunc_Float3,
                                        BuiltInName::trunc,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpTrunc,
                                        true);
    constexpr const TFunction trunc_30B(BuiltInId::trunc_Float4,
                                        BuiltInName::trunc,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpTrunc,
                                        true);
    constexpr const TFunction round_00B(BuiltInId::round_Float1,
                                        BuiltInName::round,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpRound,
                                        true);
    constexpr const TFunction round_10B(BuiltInId::round_Float2,
                                        BuiltInName::round,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpRound,
                                        true);
    constexpr const TFunction round_20B(BuiltInId::round_Float3,
                                        BuiltInName::round,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpRound,
                                        true);
    constexpr const TFunction round_30B(BuiltInId::round_Float4,
                                        BuiltInName::round,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpRound,
                                        true);
    constexpr const TFunction roundEven_00B(BuiltInId::roundEven_Float1,
                                            BuiltInName::roundEven,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p00B00B30B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpRoundEven,
                                            true);
    constexpr const TFunction roundEven_10B(BuiltInId::roundEven_Float2,
                                            BuiltInName::roundEven,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p10B_o_10B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpRoundEven,
                                            true);
    constexpr const TFunction roundEven_20B(BuiltInId::roundEven_Float3,
                                            BuiltInName::roundEven,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p20B20B00B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpRoundEven,
                                            true);
    constexpr const TFunction roundEven_30B(BuiltInId::roundEven_Float4,
                                            BuiltInName::roundEven,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p30B30D,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                            EOpRoundEven,
                                            true);
    constexpr const TFunction ceil_00B(BuiltInId::ceil_Float1,
                                       BuiltInName::ceil,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCeil,
                                       true);
    constexpr const TFunction ceil_10B(BuiltInId::ceil_Float2,
                                       BuiltInName::ceil,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCeil,
                                       true);
    constexpr const TFunction ceil_20B(BuiltInId::ceil_Float3,
                                       BuiltInName::ceil,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpCeil,
                                       true);
    constexpr const TFunction ceil_30B(BuiltInId::ceil_Float4,
                                       BuiltInName::ceil,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCeil,
                                       true);
    constexpr const TFunction fract_00B(BuiltInId::fract_Float1,
                                        BuiltInName::fract,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpFract,
                                        true);
    constexpr const TFunction fract_10B(BuiltInId::fract_Float2,
                                        BuiltInName::fract,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpFract,
                                        true);
    constexpr const TFunction fract_20B(BuiltInId::fract_Float3,
                                        BuiltInName::fract,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpFract,
                                        true);
    constexpr const TFunction fract_30B(BuiltInId::fract_Float4,
                                        BuiltInName::fract,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpFract,
                                        true);
    constexpr const TFunction mod_00B00B(BuiltInId::mod_Float1_Float1,
                                         BuiltInName::mod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B10B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpMod,
                                         true);
    constexpr const TFunction mod_10B00B(BuiltInId::mod_Float2_Float1,
                                         BuiltInName::mod,
                                         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,
                                         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,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B10B10F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMod,
                                         true);
    constexpr const TFunction mod_20B20B(BuiltInId::mod_Float3_Float3,
                                         BuiltInName::mod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B20B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                         EOpMod,
                                         true);
    constexpr const TFunction mod_30B30B(BuiltInId::mod_Float4_Float4,
                                         BuiltInName::mod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30B30F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpMod,
                                         true);
    constexpr const TFunction min_00B00B(BuiltInId::min_Float1_Float1,
                                         BuiltInName::min,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B10B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_10B00B(BuiltInId::min_Float2_Float1,
                                         BuiltInName::min,
                                         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,
                                         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,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B10B10F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_20B20B(BuiltInId::min_Float3_Float3,
                                         BuiltInName::min,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B20B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_30B30B(BuiltInId::min_Float4_Float4,
                                         BuiltInName::min,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30B30F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_00D00D(BuiltInId::min_Int1_Int1,
                                         BuiltInName::min,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10D10D10F,
                                         2,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_20D20D(BuiltInId::min_Int3_Int3,
                                         BuiltInName::min,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30D30D_o_30D_o_30D,
                                         2,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_10D00D(BuiltInId::min_Int2_Int1,
                                         BuiltInName::min,
                                         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,
                                         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,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00E00E00F,
                                         2,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_10E10E(BuiltInId::min_UInt2_UInt2,
                                         BuiltInName::min,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10E10E10E,
                                         2,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMin,
                                         true);
    constexpr const TFunction min_20E20E(BuiltInId::min_UInt3_UInt3,
                                         BuiltInName::min,
                                         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,
                                         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,
                                         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,
                                         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,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B10B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_10B00B(BuiltInId::max_Float2_Float1,
                                         BuiltInName::max,
                                         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,
                                         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,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B10B10F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_20B20B(BuiltInId::max_Float3_Float3,
                                         BuiltInName::max,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B20B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_30B30B(BuiltInId::max_Float4_Float4,
                                         BuiltInName::max,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30B30F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_00D00D(BuiltInId::max_Int1_Int1,
                                         BuiltInName::max,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10D10D10F,
                                         2,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_20D20D(BuiltInId::max_Int3_Int3,
                                         BuiltInName::max,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30D30D_o_30D_o_30D,
                                         2,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_10D00D(BuiltInId::max_Int2_Int1,
                                         BuiltInName::max,
                                         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,
                                         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,
                                         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,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00E00E00F,
                                         2,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_10E10E(BuiltInId::max_UInt2_UInt2,
                                         BuiltInName::max,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10E10E10E,
                                         2,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpMax,
                                         true);
    constexpr const TFunction max_20E20E(BuiltInId::max_UInt3_UInt3,
                                         BuiltInName::max,
                                         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,
                                         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,
                                         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,
                                         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,
                                         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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                              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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                            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,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00B00B10B,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpStep,
                                          true);
    constexpr const TFunction step_10B10B(BuiltInId::step_Float2_Float2,
                                          BuiltInName::step,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10B10B10F,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpStep,
                                          true);
    constexpr const TFunction step_20B20B(BuiltInId::step_Float3_Float3,
                                          BuiltInName::step,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20B20B20B,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpStep,
                                          true);
    constexpr const TFunction step_30B30B(BuiltInId::step_Float4_Float4,
                                          BuiltInName::step,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30B30B30F,
                                          2,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpStep,
                                          true);
    constexpr const TFunction step_00B10B(BuiltInId::step_Float1_Float2,
                                          BuiltInName::step,
                                          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,
                                          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,
                                          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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
                                          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,
                                          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,
                                          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,
                                          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,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpIsnan,
                                        true);
    constexpr const TFunction isnan_10B(BuiltInId::isnan_Float2,
                                        BuiltInName::isnan,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpIsnan,
                                        true);
    constexpr const TFunction isnan_20B(BuiltInId::isnan_Float3,
                                        BuiltInName::isnan,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpIsnan,
                                        true);
    constexpr const TFunction isnan_30B(BuiltInId::isnan_Float4,
                                        BuiltInName::isnan,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpIsnan,
                                        true);
    constexpr const TFunction isinf_00B(BuiltInId::isinf_Float1,
                                        BuiltInName::isinf,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00B00B30B,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpIsinf,
                                        true);
    constexpr const TFunction isinf_10B(BuiltInId::isinf_Float2,
                                        BuiltInName::isinf,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B_o_10B,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpIsinf,
                                        true);
    constexpr const TFunction isinf_20B(BuiltInId::isinf_Float3,
                                        BuiltInName::isinf,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpIsinf,
                                        true);
    constexpr const TFunction isinf_30B(BuiltInId::isinf_Float4,
                                        BuiltInName::isinf,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30D,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpIsinf,
                                        true);
    constexpr const TFunction floatBitsToInt_00B(
        BuiltInId::floatBitsToInt_Float1,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B00B30B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction floatBitsToInt_10B(
        BuiltInId::floatBitsToInt_Float2,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction floatBitsToInt_20B(
        BuiltInId::floatBitsToInt_Float3,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B00B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction floatBitsToInt_30B(
        BuiltInId::floatBitsToInt_Float4,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction floatBitsToUint_00B(
        BuiltInId::floatBitsToUint_Float1,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B00B30B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction floatBitsToUint_10B(
        BuiltInId::floatBitsToUint_Float2,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction floatBitsToUint_20B(
        BuiltInId::floatBitsToUint_Float3,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B00B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction floatBitsToUint_30B(
        BuiltInId::floatBitsToUint_Float4,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction intBitsToFloat_00D(
        BuiltInId::intBitsToFloat_Int1,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p00D00D00D00D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction intBitsToFloat_10D(
        BuiltInId::intBitsToFloat_Int2,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p10D10D10F,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction intBitsToFloat_20D(
        BuiltInId::intBitsToFloat_Int3,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p20D00D00D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction intBitsToFloat_30D(
        BuiltInId::intBitsToFloat_Int4,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p30D30D30F,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction uintBitsToFloat_00E(
        BuiltInId::uintBitsToFloat_UInt1,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction uintBitsToFloat_10E(
        BuiltInId::uintBitsToFloat_UInt2,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p10E10E00D00D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction uintBitsToFloat_20E(
        BuiltInId::uintBitsToFloat_UInt3,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p20E20E00D00D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction uintBitsToFloat_30E(
        BuiltInId::uintBitsToFloat_UInt4,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p30E30E00D00D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction fma_00B00B00B(BuiltInId::fma_Float1_Float1_Float1,
                                            BuiltInName::fma,
                                            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,
                                            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,
                                            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,
                                            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,
        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,
        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,
        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,
        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,
                                           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,
                                           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,
                                           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,
                                           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,
                                           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,
                                           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,
                                           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,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p30B30D,
                                           2,
                                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpLdexp,
                                           true);
    constexpr const TFunction packSnorm2x16_10B(
        BuiltInId::packSnorm2x16_Float2,
        BuiltInName::packSnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackSnorm2x16,
        true);
    constexpr const TFunction packHalf2x16_10B(
        BuiltInId::packHalf2x16_Float2,
        BuiltInName::packHalf2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackHalf2x16,
        true);
    constexpr const TFunction unpackSnorm2x16_00E(
        BuiltInId::unpackSnorm2x16_UInt1,
        BuiltInName::unpackSnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUnpackSnorm2x16,
        true);
    constexpr const TFunction unpackHalf2x16_00E(
        BuiltInId::unpackHalf2x16_UInt1,
        BuiltInName::unpackHalf2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUnpackHalf2x16,
        true);
    constexpr const TFunction packUnorm2x16_10B(
        BuiltInId::packUnorm2x16_Float2,
        BuiltInName::packUnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackUnorm2x16,
        true);
    constexpr const TFunction unpackUnorm2x16_00E(
        BuiltInId::unpackUnorm2x16_UInt1,
        BuiltInName::unpackUnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUnpackUnorm2x16,
        true);
    constexpr const TFunction packUnorm4x8_30B(
        BuiltInId::packUnorm4x8_Float4,
        BuiltInName::packUnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackUnorm4x8,
        true);
    constexpr const TFunction packSnorm4x8_30B(
        BuiltInId::packSnorm4x8_Float4,
        BuiltInName::packSnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackSnorm4x8,
        true);
    constexpr const TFunction unpackUnorm4x8_00E(
        BuiltInId::unpackUnorm4x8_UInt1,
        BuiltInName::unpackUnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUnpackUnorm4x8,
        true);
    constexpr const TFunction unpackSnorm4x8_00E(
        BuiltInId::unpackSnorm4x8_UInt1,
        BuiltInName::unpackSnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUnpackSnorm4x8,
        true);
    constexpr const TFunction length_00B(BuiltInId::length_Float1,
                                         BuiltInName::length,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B30B,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpLength,
                                         true);
    constexpr const TFunction length_10B(BuiltInId::length_Float2,
                                         BuiltInName::length,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B_o_10B,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpLength,
                                         true);
    constexpr const TFunction length_20B(BuiltInId::length_Float3,
                                         BuiltInName::length,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B00B,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpLength,
                                         true);
    constexpr const TFunction length_30B(BuiltInId::length_Float4,
                                         BuiltInName::length,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30D,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpLength,
                                         true);
    constexpr const TFunction distance_00B00B(
        BuiltInId::distance_Float1_Float1,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B00B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction distance_10B10B(
        BuiltInId::distance_Float2_Float2,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction distance_20B20B(
        BuiltInId::distance_Float3_Float3,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B20B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction distance_30B30B(
        BuiltInId::distance_Float4_Float4,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30B30F,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction dot_00B00B(BuiltInId::dot_Float1_Float1,
                                         BuiltInName::dot,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B10B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpDot,
                                         true);
    constexpr const TFunction dot_10B10B(BuiltInId::dot_Float2_Float2,
                                         BuiltInName::dot,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B10B10F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpDot,
                                         true);
    constexpr const TFunction dot_20B20B(BuiltInId::dot_Float3_Float3,
                                         BuiltInName::dot,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B20B,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpDot,
                                         true);
    constexpr const TFunction dot_30B30B(BuiltInId::dot_Float4_Float4,
                                         BuiltInName::dot,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30B30F,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpDot,
                                         true);
    constexpr const TFunction cross_20B20B(BuiltInId::cross_Float3_Float3,
                                           BuiltInName::cross,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p20B20B20B,
                                           2,
                                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                           EOpCross,
                                           true);
    constexpr const TFunction normalize_00B(BuiltInId::normalize_Float1,
                                            BuiltInName::normalize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p00B00B30B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpNormalize,
                                            true);
    constexpr const TFunction normalize_10B(BuiltInId::normalize_Float2,
                                            BuiltInName::normalize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p10B_o_10B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpNormalize,
                                            true);
    constexpr const TFunction normalize_20B(BuiltInId::normalize_Float3,
                                            BuiltInName::normalize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p20B20B00B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpNormalize,
                                            true);
    constexpr const TFunction normalize_30B(BuiltInId::normalize_Float4,
                                            BuiltInName::normalize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p30B30D,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                            EOpNormalize,
                                            true);
    constexpr const TFunction faceforward_00B00B00B(
        BuiltInId::faceforward_Float1_Float1_Float1,
        BuiltInName::faceforward,
        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,
        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,
        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,
        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,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00B00B10B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                             EOpReflect,
                                             true);
    constexpr const TFunction reflect_10B10B(BuiltInId::reflect_Float2_Float2,
                                             BuiltInName::reflect,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p10B10B10F,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                             EOpReflect,
                                             true);
    constexpr const TFunction reflect_20B20B(BuiltInId::reflect_Float3_Float3,
                                             BuiltInName::reflect,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p20B20B20B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                             EOpReflect,
                                             true);
    constexpr const TFunction reflect_30B30B(BuiltInId::reflect_Float4_Float4,
                                             BuiltInName::reflect,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p30B30B30F,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpReflect,
                                             true);
    constexpr const TFunction refract_00B00B00B(
        BuiltInId::refract_Float1_Float1_Float1,
        BuiltInName::refract,
        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,
        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,
        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,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p50B50B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_A0BA0B(
        BuiltInId::matrixCompMult_Float3x3_Float3x3,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pA0BA0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_F0BF0B(
        BuiltInId::matrixCompMult_Float4x4_Float4x4,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pF0BF0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_90B90B(
        BuiltInId::matrixCompMult_Float2x3_Float2x3,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p90B90B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_60B60B(
        BuiltInId::matrixCompMult_Float3x2_Float3x2,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p60B60B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_D0BD0B(
        BuiltInId::matrixCompMult_Float2x4_Float2x4,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pD0BD0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_70B70B(
        BuiltInId::matrixCompMult_Float4x2_Float4x2,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p70B70B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_E0BE0B(
        BuiltInId::matrixCompMult_Float3x4_Float3x4,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pE0BE0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction matrixCompMult_B0BB0B(
        BuiltInId::matrixCompMult_Float4x3_Float4x3,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pB0BB0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction outerProduct_10B10B(
        BuiltInId::outerProduct_Float2_Float2,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction outerProduct_20B20B(
        BuiltInId::outerProduct_Float3_Float3,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B20B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction outerProduct_30B30B(
        BuiltInId::outerProduct_Float4_Float4,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30B30F,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction outerProduct_20B10B(
        BuiltInId::outerProduct_Float3_Float2,
        BuiltInName::outerProduct,
        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,
        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,
        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,
        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,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B30B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction transpose_50B(BuiltInId::transpose_Float2x2,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p50B50B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_A0B(BuiltInId::transpose_Float3x3,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::pA0BA0B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_F0B(BuiltInId::transpose_Float4x4,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::pF0BF0B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_60B(BuiltInId::transpose_Float3x2,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p60B60B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_90B(BuiltInId::transpose_Float2x3,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p90B90B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_70B(BuiltInId::transpose_Float4x2,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p70B70B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_D0B(BuiltInId::transpose_Float2x4,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::pD0BD0B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_B0B(BuiltInId::transpose_Float4x3,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::pB0BB0B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction transpose_E0B(BuiltInId::transpose_Float3x4,
                                            BuiltInName::transpose,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::pE0BE0B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
                                            EOpTranspose,
                                            true);
    constexpr const TFunction determinant_50B(
        BuiltInId::determinant_Float2x2,
        BuiltInName::determinant,
        TExtension::UNDEFINED,
        BuiltInParameters::p50B50B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDeterminant,
        true);
    constexpr const TFunction determinant_A0B(
        BuiltInId::determinant_Float3x3,
        BuiltInName::determinant,
        TExtension::UNDEFINED,
        BuiltInParameters::pA0BA0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDeterminant,
        true);
    constexpr const TFunction determinant_F0B(
        BuiltInId::determinant_Float4x4,
        BuiltInName::determinant,
        TExtension::UNDEFINED,
        BuiltInParameters::pF0BF0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDeterminant,
        true);
    constexpr const TFunction inverse_50B(BuiltInId::inverse_Float2x2,
                                          BuiltInName::inverse,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p50B50B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
                                          EOpInverse,
                                          true);
    constexpr const TFunction inverse_A0B(BuiltInId::inverse_Float3x3,
                                          BuiltInName::inverse,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::pA0BA0B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
                                          EOpInverse,
                                          true);
    constexpr const TFunction inverse_F0B(BuiltInId::inverse_Float4x4,
                                          BuiltInName::inverse,
                                          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,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p10B10B10F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpLessThanComponentWise,
                                              true);
    constexpr const TFunction lessThan_20B20B(BuiltInId::lessThan_Float3_Float3,
                                              BuiltInName::lessThan,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p20B20B20B,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                              EOpLessThanComponentWise,
                                              true);
    constexpr const TFunction lessThan_30B30B(BuiltInId::lessThan_Float4_Float4,
                                              BuiltInName::lessThan,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p30B30B30F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                              EOpLessThanComponentWise,
                                              true);
    constexpr const TFunction lessThan_10D10D(BuiltInId::lessThan_Int2_Int2,
                                              BuiltInName::lessThan,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p10D10D10F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpLessThanComponentWise,
                                              true);
    constexpr const TFunction lessThan_20D20D(BuiltInId::lessThan_Int3_Int3,
                                              BuiltInName::lessThan,
                                              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,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p30D30D_o_30D_o_30D,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                              EOpLessThanComponentWise,
                                              true);
    constexpr const TFunction lessThan_10E10E(BuiltInId::lessThan_UInt2_UInt2,
                                              BuiltInName::lessThan,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p10E10E10E,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpLessThanComponentWise,
                                              true);
    constexpr const TFunction lessThan_20E20E(BuiltInId::lessThan_UInt3_UInt3,
                                              BuiltInName::lessThan,
                                              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,
                                              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,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction lessThanEqual_20B20B(
        BuiltInId::lessThanEqual_Float3_Float3,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B20B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction lessThanEqual_30B30B(
        BuiltInId::lessThanEqual_Float4_Float4,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30B30F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction lessThanEqual_10D10D(
        BuiltInId::lessThanEqual_Int2_Int2,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p10D10D10F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction lessThanEqual_20D20D(
        BuiltInId::lessThanEqual_Int3_Int3,
        BuiltInName::lessThanEqual,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p30D30D_o_30D_o_30D,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction lessThanEqual_10E10E(
        BuiltInId::lessThanEqual_UInt2_UInt2,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p10E10E10E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction lessThanEqual_20E20E(
        BuiltInId::lessThanEqual_UInt3_UInt3,
        BuiltInName::lessThanEqual,
        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,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction greaterThan_20B20B(
        BuiltInId::greaterThan_Float3_Float3,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B20B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction greaterThan_30B30B(
        BuiltInId::greaterThan_Float4_Float4,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30B30F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction greaterThan_10D10D(
        BuiltInId::greaterThan_Int2_Int2,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p10D10D10F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction greaterThan_20D20D(
        BuiltInId::greaterThan_Int3_Int3,
        BuiltInName::greaterThan,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p30D30D_o_30D_o_30D,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction greaterThan_10E10E(
        BuiltInId::greaterThan_UInt2_UInt2,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p10E10E10E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction greaterThan_20E20E(
        BuiltInId::greaterThan_UInt3_UInt3,
        BuiltInName::greaterThan,
        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,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction greaterThanEqual_20B20B(
        BuiltInId::greaterThanEqual_Float3_Float3,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B20B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction greaterThanEqual_30B30B(
        BuiltInId::greaterThanEqual_Float4_Float4,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30B30F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction greaterThanEqual_10D10D(
        BuiltInId::greaterThanEqual_Int2_Int2,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p10D10D10F,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction greaterThanEqual_20D20D(
        BuiltInId::greaterThanEqual_Int3_Int3,
        BuiltInName::greaterThanEqual,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p30D30D_o_30D_o_30D,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction greaterThanEqual_10E10E(
        BuiltInId::greaterThanEqual_UInt2_UInt2,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p10E10E10E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction greaterThanEqual_20E20E(
        BuiltInId::greaterThanEqual_UInt3_UInt3,
        BuiltInName::greaterThanEqual,
        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,
        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,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p10B10B10F,
                                           2,
                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                           EOpEqualComponentWise,
                                           true);
    constexpr const TFunction equal_20B20B(BuiltInId::equal_Float3_Float3,
                                           BuiltInName::equal,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p20B20B20B,
                                           2,
                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                           EOpEqualComponentWise,
                                           true);
    constexpr const TFunction equal_30B30B(BuiltInId::equal_Float4_Float4,
                                           BuiltInName::equal,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p30B30B30F,
                                           2,
                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpEqualComponentWise,
                                           true);
    constexpr const TFunction equal_10D10D(BuiltInId::equal_Int2_Int2,
                                           BuiltInName::equal,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p10D10D10F,
                                           2,
                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                           EOpEqualComponentWise,
                                           true);
    constexpr const TFunction equal_20D20D(BuiltInId::equal_Int3_Int3,
                                           BuiltInName::equal,
                                           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,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p30D30D_o_30D_o_30D,
                                           2,
                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpEqualComponentWise,
                                           true);
    constexpr const TFunction equal_10E10E(BuiltInId::equal_UInt2_UInt2,
                                           BuiltInName::equal,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p10E10E10E,
                                           2,
                                           StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                           EOpEqualComponentWise,
                                           true);
    constexpr const TFunction equal_20E20E(BuiltInId::equal_UInt3_UInt3,
                                           BuiltInName::equal,
                                           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,
                                           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,
                                           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,
                                           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,
                                           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,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p10B10B10F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction notEqual_20B20B(BuiltInId::notEqual_Float3_Float3,
                                              BuiltInName::notEqual,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p20B20B20B,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction notEqual_30B30B(BuiltInId::notEqual_Float4_Float4,
                                              BuiltInName::notEqual,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p30B30B30F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction notEqual_10D10D(BuiltInId::notEqual_Int2_Int2,
                                              BuiltInName::notEqual,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p10D10D10F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction notEqual_20D20D(BuiltInId::notEqual_Int3_Int3,
                                              BuiltInName::notEqual,
                                              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,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p30D30D_o_30D_o_30D,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction notEqual_10E10E(BuiltInId::notEqual_UInt2_UInt2,
                                              BuiltInName::notEqual,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p10E10E10E,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction notEqual_20E20E(BuiltInId::notEqual_UInt3_UInt3,
                                              BuiltInName::notEqual,
                                              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,
                                              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,
                                              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,
                                              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,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p30F30F30F,
                                              2,
                                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                              EOpNotEqualComponentWise,
                                              true);
    constexpr const TFunction any_10F(BuiltInId::any_Bool2,
                                      BuiltInName::any,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10F10F10F,
                                      1,
                                      StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAny,
                                      true);
    constexpr const TFunction any_20F(BuiltInId::any_Bool3,
                                      BuiltInName::any,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20F20F20F,
                                      1,
                                      StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAny,
                                      true);
    constexpr const TFunction any_30F(BuiltInId::any_Bool4,
                                      BuiltInName::any,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30F30F30F,
                                      1,
                                      StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAny,
                                      true);
    constexpr const TFunction all_10F(BuiltInId::all_Bool2,
                                      BuiltInName::all,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10F10F10F,
                                      1,
                                      StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAll,
                                      true);
    constexpr const TFunction all_20F(BuiltInId::all_Bool3,
                                      BuiltInName::all,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20F20F20F,
                                      1,
                                      StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAll,
                                      true);
    constexpr const TFunction all_30F(BuiltInId::all_Bool4,
                                      BuiltInName::all,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30F30F30F,
                                      1,
                                      StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAll,
                                      true);
    constexpr const TFunction notFunc_10F(BuiltInId::notFunc_Bool2,
                                          BuiltInName::notFunc,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10F10F10F,
                                          1,
                                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpLogicalNotComponentWise,
                                          true);
    constexpr const TFunction notFunc_20F(BuiltInId::notFunc_Bool3,
                                          BuiltInName::notFunc,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20F20F20F,
                                          1,
                                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpLogicalNotComponentWise,
                                          true);
    constexpr const TFunction notFunc_30F(BuiltInId::notFunc_Bool4,
                                          BuiltInName::notFunc,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30F30F30F,
                                          1,
                                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpLogicalNotComponentWise,
                                          true);
    constexpr const TFunction bitfieldExtract_00D00D00D(
        BuiltInId::bitfieldExtract_Int1_Int1_Int1,
        BuiltInName::bitfieldExtract,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p30E30E00D00D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction bitfieldReverse_00D(
        BuiltInId::bitfieldReverse_Int1,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p00D00D00D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_10D(
        BuiltInId::bitfieldReverse_Int2,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p10D10D10F,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_20D(
        BuiltInId::bitfieldReverse_Int3,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p20D00D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_30D(
        BuiltInId::bitfieldReverse_Int4,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p30D30D30F,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_00E(
        BuiltInId::bitfieldReverse_UInt1,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p00E00E00E,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_10E(
        BuiltInId::bitfieldReverse_UInt2,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p10E10E00D00D,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_20E(
        BuiltInId::bitfieldReverse_UInt3,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p20E20E00D00D,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitfieldReverse_30E(
        BuiltInId::bitfieldReverse_UInt4,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p30E30E00D00D,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction bitCount_00D(BuiltInId::bitCount_Int1,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p00D00D00D00D,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_10D(BuiltInId::bitCount_Int2,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p10D10D10F,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_20D(BuiltInId::bitCount_Int3,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p20D00D00D,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_30D(BuiltInId::bitCount_Int4,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p30D30D30F,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_00E(BuiltInId::bitCount_UInt1,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p00E00E00E,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_10E(BuiltInId::bitCount_UInt2,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p10E10E00D00D,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_20E(BuiltInId::bitCount_UInt3,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p20E20E00D00D,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction bitCount_30E(BuiltInId::bitCount_UInt4,
                                           BuiltInName::bitCount,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p30E30E00D00D,
                                           1,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpBitCount,
                                           true);
    constexpr const TFunction findLSB_00D(BuiltInId::findLSB_Int1,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00D00D00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_10D(BuiltInId::findLSB_Int2,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10D10D10F,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_20D(BuiltInId::findLSB_Int3,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20D00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_30D(BuiltInId::findLSB_Int4,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30D30D30F,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_00E(BuiltInId::findLSB_UInt1,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00E00E00E,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_10E(BuiltInId::findLSB_UInt2,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10E10E00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_20E(BuiltInId::findLSB_UInt3,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20E20E00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findLSB_30E(BuiltInId::findLSB_UInt4,
                                          BuiltInName::findLSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30E30E00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpFindLSB,
                                          true);
    constexpr const TFunction findMSB_00D(BuiltInId::findMSB_Int1,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00D00D00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_10D(BuiltInId::findMSB_Int2,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10D10D10F,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_20D(BuiltInId::findMSB_Int3,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20D00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_30D(BuiltInId::findMSB_Int4,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30D30D30F,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_00E(BuiltInId::findMSB_UInt1,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00E00E00E,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_10E(BuiltInId::findMSB_UInt2,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10E10E00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_20E(BuiltInId::findMSB_UInt3,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20E20E00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction findMSB_30E(BuiltInId::findMSB_UInt4,
                                          BuiltInName::findMSB,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30E30E00D00D,
                                          1,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpFindMSB,
                                          true);
    constexpr const TFunction uaddCarry_00E00E00E(
        BuiltInId::uaddCarry_UInt1_UInt1_UInt1,
        BuiltInName::uaddCarry,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        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,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProj_00I20B(
        BuiltInId::texture2DProj_Sampler2D1_Float3,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B10B10B10D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProj_00I30B(
        BuiltInId::texture2DProj_Sampler2D1_Float4,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B10D00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureCube_00K20B(
        BuiltInId::textureCube_SamplerCube1_Float3,
        BuiltInName::textureCube,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B20B20B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2D_00M10B(
        BuiltInId::texture2D_SamplerExternalOES1_Float2,
        BuiltInName::texture2D,
        TExtension::UNDEFINED,
        BuiltInParameters::p00M10B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProj_00M20B(
        BuiltInId::texture2DProj_SamplerExternalOES1_Float3,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00M20B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProj_00M30B(
        BuiltInId::texture2DProj_SamplerExternalOES1_Float4,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00M30B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DRect_00O10B(
        BuiltInId::texture2DRect_Sampler2DRect1_Float2,
        BuiltInName::texture2DRect,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p00O10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DRectProj_00O20B(
        BuiltInId::texture2DRectProj_Sampler2DRect1_Float3,
        BuiltInName::texture2DRectProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p00O20B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DRectProj_00O30B(
        BuiltInId::texture2DRectProj_Sampler2DRect1_Float4,
        BuiltInName::texture2DRectProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p00O30B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00O10B(BuiltInId::texture_Sampler2DRect1_Float2,
                                             BuiltInName::texture,
                                             TExtension::ARB_texture_rectangle,
                                             BuiltInParameters::p00O10B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction textureProj_00O20B(
        BuiltInId::textureProj_Sampler2DRect1_Float3,
        BuiltInName::textureProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p00O20B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00O30B(
        BuiltInId::textureProj_Sampler2DRect1_Float4,
        BuiltInName::textureProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p00O30B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DGradEXT_00I10B10B10B(
        BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2,
        BuiltInName::texture2DGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00I10B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProjGradEXT_00I20B10B10B(
        BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2,
        BuiltInName::texture2DProjGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00I20B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProjGradEXT_00I30B10B10B(
        BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2,
        BuiltInName::texture2DProjGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00I30B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureCubeGradEXT_00K20B20B20B(
        BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureCubeGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00K20B20B20B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2D_00I10B00B(
        BuiltInId::texture2D_Sampler2D1_Float2_Float1,
        BuiltInName::texture2D,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProj_00I20B00B(
        BuiltInId::texture2DProj_Sampler2D1_Float3_Float1,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProj_00I30B00B(
        BuiltInId::texture2DProj_Sampler2D1_Float4_Float1,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureCube_00K20B00B(
        BuiltInId::textureCube_SamplerCube1_Float3_Float1,
        BuiltInName::textureCube,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction dFdxExt_00B(BuiltInId::dFdxExt_Float1,
                                          BuiltInName::dFdxExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p00B00B30B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpDFdx,
                                          false);
    constexpr const TFunction dFdxExt_10B(BuiltInId::dFdxExt_Float2,
                                          BuiltInName::dFdxExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p10B_o_10B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpDFdx,
                                          false);
    constexpr const TFunction dFdxExt_20B(BuiltInId::dFdxExt_Float3,
                                          BuiltInName::dFdxExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p20B20B00B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpDFdx,
                                          false);
    constexpr const TFunction dFdxExt_30B(BuiltInId::dFdxExt_Float4,
                                          BuiltInName::dFdxExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p30B30D,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpDFdx,
                                          false);
    constexpr const TFunction dFdyExt_00B(BuiltInId::dFdyExt_Float1,
                                          BuiltInName::dFdyExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p00B00B30B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpDFdy,
                                          false);
    constexpr const TFunction dFdyExt_10B(BuiltInId::dFdyExt_Float2,
                                          BuiltInName::dFdyExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p10B_o_10B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpDFdy,
                                          false);
    constexpr const TFunction dFdyExt_20B(BuiltInId::dFdyExt_Float3,
                                          BuiltInName::dFdyExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p20B20B00B,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpDFdy,
                                          false);
    constexpr const TFunction dFdyExt_30B(BuiltInId::dFdyExt_Float4,
                                          BuiltInName::dFdyExt,
                                          TExtension::OES_standard_derivatives,
                                          BuiltInParameters::p30B30D,
                                          1,
                                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpDFdy,
                                          false);
    constexpr const TFunction fwidthExt_00B(BuiltInId::fwidthExt_Float1,
                                            BuiltInName::fwidthExt,
                                            TExtension::OES_standard_derivatives,
                                            BuiltInParameters::p00B00B30B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpFwidth,
                                            false);
    constexpr const TFunction fwidthExt_10B(BuiltInId::fwidthExt_Float2,
                                            BuiltInName::fwidthExt,
                                            TExtension::OES_standard_derivatives,
                                            BuiltInParameters::p10B_o_10B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpFwidth,
                                            false);
    constexpr const TFunction fwidthExt_20B(BuiltInId::fwidthExt_Float3,
                                            BuiltInName::fwidthExt,
                                            TExtension::OES_standard_derivatives,
                                            BuiltInParameters::p20B20B00B,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpFwidth,
                                            false);
    constexpr const TFunction fwidthExt_30B(BuiltInId::fwidthExt_Float4,
                                            BuiltInName::fwidthExt,
                                            TExtension::OES_standard_derivatives,
                                            BuiltInParameters::p30B30D,
                                            1,
                                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                            EOpFwidth,
                                            false);
    constexpr const TFunction texture2DLodEXT_00I10B00B(
        BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1,
        BuiltInName::texture2DLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00I10B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProjLodEXT_00I20B00B(
        BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1,
        BuiltInName::texture2DProjLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00I20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProjLodEXT_00I30B00B(
        BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1,
        BuiltInName::texture2DProjLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00I30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureCubeLodEXT_00K20B00B(
        BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1,
        BuiltInName::textureCubeLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p00K20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction shadow2DEXT_00d20B(
        BuiltInId::shadow2DEXT_Sampler2DShadow1_Float3,
        BuiltInName::shadow2DEXT,
        TExtension::EXT_shadow_samplers,
        BuiltInParameters::p00d20B00B10D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction shadow2DProjEXT_00d30B(
        BuiltInId::shadow2DProjEXT_Sampler2DShadow1_Float4,
        BuiltInName::shadow2DProjEXT,
        TExtension::EXT_shadow_samplers,
        BuiltInParameters::p00d30B10B10B10D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture3D_00J20B(
        BuiltInId::texture3D_Sampler3D1_Float3,
        BuiltInName::texture3D,
        TExtension::OES_texture_3D,
        BuiltInParameters::p00J20B20B20B20D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture3DProj_00J30B(
        BuiltInId::texture3DProj_Sampler3D1_Float4,
        BuiltInName::texture3DProj,
        TExtension::OES_texture_3D,
        BuiltInParameters::p00J30B20B20B20D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture3D_00J20B00B(
        BuiltInId::texture3D_Sampler3D1_Float3_Float1,
        BuiltInName::texture3D,
        TExtension::OES_texture_3D,
        BuiltInParameters::p00J20B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture3DProj_00J30B00B(
        BuiltInId::texture3DProj_Sampler3D1_Float4_Float1,
        BuiltInName::texture3DProj,
        TExtension::OES_texture_3D,
        BuiltInParameters::p00J30B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture3DLod_00J20B00B(
        BuiltInId::texture3DLod_Sampler3D1_Float3_Float1,
        BuiltInName::texture3DLod,
        TExtension::OES_texture_3D,
        BuiltInParameters::p00J20B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture3DProjLod_00J30B00B(
        BuiltInId::texture3DProjLod_Sampler3D1_Float4_Float1,
        BuiltInName::texture3DProjLod,
        TExtension::OES_texture_3D,
        BuiltInParameters::p00J30B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DLod_00I10B00B(
        BuiltInId::texture2DLod_Sampler2D1_Float2_Float1,
        BuiltInName::texture2DLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProjLod_00I20B00B(
        BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1,
        BuiltInName::texture2DProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture2DProjLod_00I30B00B(
        BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1,
        BuiltInName::texture2DProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureCubeLod_00K20B00B(
        BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1,
        BuiltInName::textureCubeLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00I10B(BuiltInId::texture_Sampler2D1_Float2,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00I10B00D,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00R10B(BuiltInId::texture_ISampler2D1_Float2,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00R10B00B10D,
                                             2,
                                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00X10B(BuiltInId::texture_USampler2D1_Float2,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00X10B10D00B,
                                             2,
                                             StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00J20B(BuiltInId::texture_Sampler3D1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00J20B20B20B20D,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00S20B(BuiltInId::texture_ISampler3D1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00S20B20D00B,
                                             2,
                                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00Y20B(BuiltInId::texture_USampler3D1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00Y20B20B20B20D,
                                             2,
                                             StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00K20B(BuiltInId::texture_SamplerCube1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00K20B20B20B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00T20B(BuiltInId::texture_ISamplerCube1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00T20B00D,
                                             2,
                                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00Z20B(BuiltInId::texture_USamplerCube1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00Z20B00B,
                                             2,
                                             StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00L20B(BuiltInId::texture_Sampler2DArray1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00L20B10D00D,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00U20B(BuiltInId::texture_ISampler2DArray1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00U20B10D00D,
                                             2,
                                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00a20B(BuiltInId::texture_USampler2DArray1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00a20B10Dx400D,
                                             2,
                                             StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00d20B(BuiltInId::texture_Sampler2DShadow1_Float3,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00d20B00B10D,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00e30B(BuiltInId::texture_SamplerCubeShadow1_Float4,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00e30B00B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00f30B(BuiltInId::texture_Sampler2DArrayShadow1_Float4,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00f30B10B10B10D,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction textureProj_00I20B(
        BuiltInId::textureProj_Sampler2D1_Float3,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B10B10B10D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00R20B(
        BuiltInId::textureProj_ISampler2D1_Float3,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B00B10D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00X20B(
        BuiltInId::textureProj_USampler2D1_Float3,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B00B10D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00I30B(
        BuiltInId::textureProj_Sampler2D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B10D00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00R30B(
        BuiltInId::textureProj_ISampler2D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B10B10B10D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00X30B(
        BuiltInId::textureProj_USampler2D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B10D00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00J30B(
        BuiltInId::textureProj_Sampler3D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B20B20B20D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00S30B(
        BuiltInId::textureProj_ISampler3D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B20D00B,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00Y30B(
        BuiltInId::textureProj_USampler3D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B20D00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00d30B(
        BuiltInId::textureProj_Sampler2DShadow1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B10B10B10D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00I10B00B(
        BuiltInId::textureLod_Sampler2D1_Float2_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00R10B00B(
        BuiltInId::textureLod_ISampler2D1_Float2_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00X10B00B(
        BuiltInId::textureLod_USampler2D1_Float2_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00J20B00B(
        BuiltInId::textureLod_Sampler3D1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00S20B00B(
        BuiltInId::textureLod_ISampler3D1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B00B20D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00Y20B00B(
        BuiltInId::textureLod_USampler3D1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B00B20D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00K20B00B(
        BuiltInId::textureLod_SamplerCube1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00T20B00B(
        BuiltInId::textureLod_ISamplerCube1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00T20B00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00Z20B00B(
        BuiltInId::textureLod_USamplerCube1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Z20B00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00L20B00B(
        BuiltInId::textureLod_Sampler2DArray1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00U20B00B(
        BuiltInId::textureLod_ISampler2DArray1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00a20B00B(
        BuiltInId::textureLod_USampler2DArray1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00d20B00B(
        BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00I00D(
        BuiltInId::textureSize_Sampler2D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00R00D(
        BuiltInId::textureSize_ISampler2D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00X00D(
        BuiltInId::textureSize_USampler2D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00J00D(
        BuiltInId::textureSize_Sampler3D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00S00D(
        BuiltInId::textureSize_ISampler3D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00Y00D(
        BuiltInId::textureSize_USampler3D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00K00D(
        BuiltInId::textureSize_SamplerCube1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00T00D(
        BuiltInId::textureSize_ISamplerCube1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00T00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00Z00D(
        BuiltInId::textureSize_USamplerCube1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Z00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00L00D(
        BuiltInId::textureSize_Sampler2DArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00U00D(
        BuiltInId::textureSize_ISampler2DArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00a00D(
        BuiltInId::textureSize_USampler2DArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00d00D(
        BuiltInId::textureSize_Sampler2DShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00e00D(
        BuiltInId::textureSize_SamplerCubeShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00e00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00f00D(
        BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00I20B00B(
        BuiltInId::textureProjLod_Sampler2D1_Float3_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00R20B00B(
        BuiltInId::textureProjLod_ISampler2D1_Float3_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00X20B00B(
        BuiltInId::textureProjLod_USampler2D1_Float3_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00I30B00B(
        BuiltInId::textureProjLod_Sampler2D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00R30B00B(
        BuiltInId::textureProjLod_ISampler2D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00X30B00B(
        BuiltInId::textureProjLod_USampler2D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00J30B00B(
        BuiltInId::textureProjLod_Sampler3D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00S30B00B(
        BuiltInId::textureProjLod_ISampler3D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B00B20D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00Y30B00B(
        BuiltInId::textureProjLod_USampler3D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B00B20D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLod_00d30B00B(
        BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00I10D00D(
        BuiltInId::texelFetch_Sampler2D1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10D00D10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00R10D00D(
        BuiltInId::texelFetch_ISampler2D1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10D00D10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00X10D00D(
        BuiltInId::texelFetch_USampler2D1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10D00D10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00J20D00D(
        BuiltInId::texelFetch_Sampler3D1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20D00D20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00S20D00D(
        BuiltInId::texelFetch_ISampler3D1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20D00D20D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00Y20D00D(
        BuiltInId::texelFetch_USampler3D1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20D00D20D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00L20D00D(
        BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20D00D10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00U20D00D(
        BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20D00D10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00a20D00D(
        BuiltInId::texelFetch_USampler2DArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20D00D10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00I10B10B10B(
        BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00R10B10B10B(
        BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10B10B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00X10B10B10B(
        BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10B10B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00J20B20B20B(
        BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B20B20B20D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00S20B20B20B(
        BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B20B20B20D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00Y20B20B20B(
        BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B20B20B20D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00K20B20B20B(
        BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B20B20B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00T20B20B20B(
        BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00T20B20B20B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00Z20B20B20B(
        BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Z20B20B20B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00d20B10B10B(
        BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00e30B20B20B(
        BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00e30B20B20B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00L20B10B10B(
        BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00U20B10B10B(
        BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10B10B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00a20B10B10B(
        BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10B10B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00f30B10B10B(
        BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f30B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00I20B10B10B(
        BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00R20B10B10B(
        BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B10B10B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00X20B10B10B(
        BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B10B10B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00I30B10B10B(
        BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00R30B10B10B(
        BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B10B10B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00X30B10B10B(
        BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B10B10B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00J30B20B20B(
        BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B20B20B20D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00S30B20B20B(
        BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B20B20B20D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00Y30B20B20B(
        BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B20B20B20D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGrad_00d30B10B10B(
        BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B10B10B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00P(BuiltInId::textureSize_Sampler2DMS1,
                                              BuiltInName::textureSize,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p00P10D00D,
                                              1,
                                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpCallBuiltInFunction,
                                              false);
    constexpr const TFunction textureSize_00V(BuiltInId::textureSize_ISampler2DMS1,
                                              BuiltInName::textureSize,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p00V10D00D,
                                              1,
                                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpCallBuiltInFunction,
                                              false);
    constexpr const TFunction textureSize_00b(BuiltInId::textureSize_USampler2DMS1,
                                              BuiltInName::textureSize,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p00b10D00D,
                                              1,
                                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                              EOpCallBuiltInFunction,
                                              false);
    constexpr const TFunction textureSizeExt_00P(
        BuiltInId::textureSizeExt_Sampler2DMS1,
        BuiltInName::textureSizeExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p00P10D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSizeExt_00V(
        BuiltInId::textureSizeExt_ISampler2DMS1,
        BuiltInName::textureSizeExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p00V10D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSizeExt_00b(
        BuiltInId::textureSizeExt_USampler2DMS1,
        BuiltInName::textureSizeExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p00b10D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSizeExt_00Q(
        BuiltInId::textureSizeExt_Sampler2DMSArray1,
        BuiltInName::textureSizeExt,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p00Q20D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSizeExt_00W(
        BuiltInId::textureSizeExt_ISampler2DMSArray1,
        BuiltInName::textureSizeExt,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p00W20D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSizeExt_00c(
        BuiltInId::textureSizeExt_USampler2DMSArray1,
        BuiltInName::textureSizeExt,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p00c20D00D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00k00D(
        BuiltInId::textureSize_SamplerCubeArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00k00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00s00D(
        BuiltInId::textureSize_ISamplerCubeArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00s00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00x00D(
        BuiltInId::textureSize_USamplerCubeArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00x00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00l00D(
        BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p00l00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00k30B(BuiltInId::texture_SamplerCubeArray1_Float4,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00k30B00B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00s30B(BuiltInId::texture_ISamplerCubeArray1_Float4,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00s30B00B,
                                             2,
                                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00x30B(BuiltInId::texture_USamplerCubeArray1_Float4,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00x30B00B,
                                             2,
                                             StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction texture_00k30B00B(
        BuiltInId::texture_SamplerCubeArray1_Float4_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00k30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00s30B00B(
        BuiltInId::texture_ISamplerCubeArray1_Float4_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00s30B00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00x30B00B(
        BuiltInId::texture_USamplerCubeArray1_Float4_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00x30B00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00l30B00B(
        BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00l30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00k30B00B(
        BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00k30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00s30B00B(
        BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00s30B00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLod_00x30B00B(
        BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p00x30B00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00k30B20B20B(
        BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00k30B20B20B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00s30B20B20B(
        BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00s30B20B20B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGrad_00x30B20B20B(
        BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00x30B20B20B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00k30B(
        BuiltInId::textureGather_SamplerCubeArray1_Float4,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00k30B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00s30B(
        BuiltInId::textureGather_ISamplerCubeArray1_Float4,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00s30B00B,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00x30B(
        BuiltInId::textureGather_USamplerCubeArray1_Float4,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00x30B00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00k30B00D(
        BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00k30B00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00s30B00D(
        BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00s30B00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00x30B00D(
        BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00x30B00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00l30B00B(
        BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00l30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00j(BuiltInId::textureSize_SamplerBuffer1,
                                              BuiltInName::textureSize,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p00j00D,
                                              1,
                                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                              EOpCallBuiltInFunction,
                                              false);
    constexpr const TFunction textureSize_00r(BuiltInId::textureSize_ISamplerBuffer1,
                                              BuiltInName::textureSize,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p00r00D,
                                              1,
                                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                              EOpCallBuiltInFunction,
                                              false);
    constexpr const TFunction textureSize_00w(BuiltInId::textureSize_USamplerBuffer1,
                                              BuiltInName::textureSize,
                                              TExtension::UNDEFINED,
                                              BuiltInParameters::p00w00D,
                                              1,
                                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                              EOpCallBuiltInFunction,
                                              false);
    constexpr const TFunction texelFetch_00j00D(
        BuiltInId::texelFetch_SamplerBuffer1_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00j00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00r00D(
        BuiltInId::texelFetch_ISamplerBuffer1_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00r00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00w00D(
        BuiltInId::texelFetch_USamplerBuffer1_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00w00D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00P10D00D(
        BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00P10D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00V10D00D(
        BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00V10D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00b10D00D(
        BuiltInId::texelFetch_USampler2DMS1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p00b10D00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchExt_00P10D00D(
        BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1,
        BuiltInName::texelFetchExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p00P10D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchExt_00V10D00D(
        BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1,
        BuiltInName::texelFetchExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p00V10D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchExt_00b10D00D(
        BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1,
        BuiltInName::texelFetchExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p00b10D00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchExt_00Q20D00D(
        BuiltInId::texelFetchExt_Sampler2DMSArray1_Int3_Int1,
        BuiltInName::texelFetchExt,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p00Q20D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchExt_00W20D00D(
        BuiltInId::texelFetchExt_ISampler2DMSArray1_Int3_Int1,
        BuiltInName::texelFetchExt,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p00W20D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchExt_00c20D00D(
        BuiltInId::texelFetchExt_USampler2DMSArray1_Int3_Int1,
        BuiltInName::texelFetchExt,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p00c20D00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00I10B00B(
        BuiltInId::texture_Sampler2D1_Float2_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00R10B00B(
        BuiltInId::texture_ISampler2D1_Float2_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00X10B00B(
        BuiltInId::texture_USampler2D1_Float2_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00J20B00B(
        BuiltInId::texture_Sampler3D1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00S20B00B(
        BuiltInId::texture_ISampler3D1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B00B20D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00Y20B00B(
        BuiltInId::texture_USampler3D1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B00B20D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00K20B00B(
        BuiltInId::texture_SamplerCube1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00T20B00B(
        BuiltInId::texture_ISamplerCube1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00T20B00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00Z20B00B(
        BuiltInId::texture_USamplerCube1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Z20B00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00L20B00B(
        BuiltInId::texture_Sampler2DArray1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00U20B00B(
        BuiltInId::texture_ISampler2DArray1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00a20B00B(
        BuiltInId::texture_USampler2DArray1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00I20B00B(
        BuiltInId::textureProj_Sampler2D1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00R20B00B(
        BuiltInId::textureProj_ISampler2D1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00X20B00B(
        BuiltInId::textureProj_USampler2D1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00I30B00B(
        BuiltInId::textureProj_Sampler2D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00R30B00B(
        BuiltInId::textureProj_ISampler2D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B00B10D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00X30B00B(
        BuiltInId::textureProj_USampler2D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B00B10D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00J30B00B(
        BuiltInId::textureProj_Sampler3D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B00B20D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00S30B00B(
        BuiltInId::textureProj_ISampler3D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B00B20D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00Y30B00B(
        BuiltInId::textureProj_USampler3D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B00B20D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00d20B00B(
        BuiltInId::texture_Sampler2DShadow1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00e30B00B(
        BuiltInId::texture_SamplerCubeShadow1_Float4_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p00e30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00d30B00B(
        BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B00B10D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00M10B00B(
        BuiltInId::texture_SamplerExternalOES1_Float2_Float1,
        BuiltInName::texture,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M10B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00M20B00B(
        BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00M30B00B(
        BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00N10B00B(
        BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1,
        BuiltInName::texture,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N10B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00N20B00B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00N30B00B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N30B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00I10B10D(
        BuiltInId::textureOffset_Sampler2D1_Float2_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00R10B10D(
        BuiltInId::textureOffset_ISampler2D1_Float2_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10Dx400D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00X10B10D(
        BuiltInId::textureOffset_USampler2D1_Float2_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00J20B20D(
        BuiltInId::textureOffset_Sampler3D1_Float3_Int3,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B20D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00S20B20D(
        BuiltInId::textureOffset_ISampler3D1_Float3_Int3,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00Y20B20D(
        BuiltInId::textureOffset_USampler3D1_Float3_Int3,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B20D00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00d20B10D(
        BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B10D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00L20B10D(
        BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00U20B10D(
        BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00a20B10D(
        BuiltInId::textureOffset_USampler2DArray1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00I20B10D(
        BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B10D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00R20B10D(
        BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00X20B10D(
        BuiltInId::textureProjOffset_USampler2D1_Float3_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B10D00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00I30B10D(
        BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B10D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00R30B10D(
        BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00X30B10D(
        BuiltInId::textureProjOffset_USampler2D1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B10D00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00J30B20D(
        BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B20D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00S30B20D(
        BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00Y30B20D(
        BuiltInId::textureProjOffset_USampler3D1_Float4_Int3,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B20D00B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00d30B10D(
        BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B10D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00I10B00B10D(
        BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00R10B00B10D(
        BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B00B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00X10B00B10D(
        BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B00B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00J20B00B20D(
        BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B00B20D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00S20B00B20D(
        BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B00B20D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00Y20B00B20D(
        BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B00B20D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00d20B00B10D(
        BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B00B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00L20B00B10D(
        BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B00B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00U20B00B10D(
        BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B00B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureLodOffset_00a20B00B10D(
        BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B00B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00I20B00B10D(
        BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B00B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00R20B00B10D(
        BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B00B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00X20B00B10D(
        BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B00B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00I30B00B10D(
        BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B00B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00R30B00B10D(
        BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B00B10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00X30B00B10D(
        BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B00B10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00J30B00B20D(
        BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B00B20D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00S30B00B20D(
        BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B00B20D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00Y30B00B20D(
        BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B00B20D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjLodOffset_00d30B00B10D(
        BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B00B10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00I10D00D10D(
        BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10D00D10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00R10D00D10D(
        BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10D00D10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00X10D00D10D(
        BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10D00D10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00J20D00D20D(
        BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20D00D20D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00S20D00D20D(
        BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20D00D20D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00Y20D00D20D(
        BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20D00D20D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00L20D00D10D(
        BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20D00D10D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00U20D00D10D(
        BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20D00D10D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetchOffset_00a20D00D10D(
        BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20D00D10D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00I10B10B10B10D(
        BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00R10B10B10B10D(
        BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10B10B10D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00X10B10B10B10D(
        BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10B10B10D,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00J20B20B20B20D(
        BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B20B20B20D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00S20B20B20B20D(
        BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B20B20B20D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00Y20B20B20B20D(
        BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B20B20B20D,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00d20B10B10B10D(
        BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00L20B10B10B10D(
        BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00U20B10B10B10D(
        BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10B10B10D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00a20B10B10B10D(
        BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10B10B10D,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGradOffset_00f30B10B10B10D(
        BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f30B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00I20B10B10B10D(
        BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00R20B10B10B10D(
        BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B10B10B10D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00X20B10B10B10D(
        BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B10B10B10D,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00I30B10B10B10D(
        BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00R30B10B10B10D(
        BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B10B10B10D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00X30B10B10B10D(
        BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B10B10B10D,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00J30B20B20B20D(
        BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B20B20B20D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00S30B20B20B20D(
        BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B20B20B20D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00Y30B20B20B20D(
        BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B20B20B20D,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjGradOffset_00d30B10B10B10D(
        BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B10B10B10D,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00I10B10D00B(
        BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00R10B10D00B(
        BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00X10B10D00B(
        BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10D00B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00J20B20D00B(
        BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J20B20D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00S20B20D00B(
        BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S20B20D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00Y20B20D00B(
        BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y20B20D00B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00d20B10D00B(
        BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d20B10D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00L20B10D00B(
        BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00U20B10D00B(
        BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureOffset_00a20B10D00B(
        BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10D00B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00I20B10D00B(
        BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I20B10D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00R20B10D00B(
        BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R20B10D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00X20B10D00B(
        BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X20B10D00B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00I30B10D00B(
        BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I30B10D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00R30B10D00B(
        BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R30B10D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00X30B10D00B(
        BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X30B10D00B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00J30B20D00B(
        BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00J30B20D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00S30B20D00B(
        BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00S30B20D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00Y30B20D00B(
        BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Y30B20D00B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProjOffset_00d30B10D00B(
        BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d30B10D00B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00M10B(BuiltInId::texture_SamplerExternalOES1_Float2,
                                             BuiltInName::texture,
                                             TExtension::OES_EGL_image_external_essl3,
                                             BuiltInParameters::p00M10B00B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction textureProj_00M20B(
        BuiltInId::textureProj_SamplerExternalOES1_Float3,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M20B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00M30B(
        BuiltInId::textureProj_SamplerExternalOES1_Float4,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M30B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00M00D(
        BuiltInId::textureSize_SamplerExternalOES1_Int1,
        BuiltInName::textureSize,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00M10D00D(
        BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p00M10D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00N10B(BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2,
                                             BuiltInName::texture,
                                             TExtension::EXT_YUV_target,
                                             BuiltInParameters::p00N10B00B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             false);
    constexpr const TFunction textureProj_00N20B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N20B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureProj_00N30B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N30B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction rgb_2_yuv_20B00H(
        BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1,
        BuiltInName::rgb_2_yuv,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p20B00H,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction yuv_2_rgb_20B00H(
        BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1,
        BuiltInName::yuv_2_rgb,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p20B00H,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureSize_00N00D(
        BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1,
        BuiltInName::textureSize,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texelFetch_00N10D00D(
        BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p00N10D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00I10B(
        BuiltInId::textureGather_Sampler2D1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00R10B(
        BuiltInId::textureGather_ISampler2D1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B00B10D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00X10B(
        BuiltInId::textureGather_USampler2D1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10D00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00I10B00D(
        BuiltInId::textureGather_Sampler2D1_Float2_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00R10B00D(
        BuiltInId::textureGather_ISampler2D1_Float2_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00X10B00D(
        BuiltInId::textureGather_USampler2D1_Float2_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00L20B(
        BuiltInId::textureGather_Sampler2DArray1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10D00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00U20B(
        BuiltInId::textureGather_ISampler2DArray1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10D00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00a20B(
        BuiltInId::textureGather_USampler2DArray1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10Dx400D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00L20B00D(
        BuiltInId::textureGather_Sampler2DArray1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00U20B00D(
        BuiltInId::textureGather_ISampler2DArray1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00a20B00D(
        BuiltInId::textureGather_USampler2DArray1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00K20B(
        BuiltInId::textureGather_SamplerCube1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B20B20B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00T20B(
        BuiltInId::textureGather_ISamplerCube1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00T20B00D,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00Z20B(
        BuiltInId::textureGather_USamplerCube1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Z20B00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00K20B00D(
        BuiltInId::textureGather_SamplerCube1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00K20B00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00T20B00D(
        BuiltInId::textureGather_ISamplerCube1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00T20B00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00Z20B00D(
        BuiltInId::textureGather_USamplerCube1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00Z20B00D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00d10B(
        BuiltInId::textureGather_Sampler2DShadow1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d10B00B10Dx4,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00d10B00B(
        BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d10B00B10Dx4,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00f20B(
        BuiltInId::textureGather_Sampler2DArrayShadow1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f20B00B10Dx4,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00f20B00B(
        BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f20B00B10Dx4,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00e20B(
        BuiltInId::textureGather_SamplerCubeShadow1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00e20B00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGather_00e20B00B(
        BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p00e20B00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00I10B10Dx400D(
        BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2_Int1,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10Dx400D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00R10B10Dx400D(
        BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2_Int1,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10Dx400D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00X10B10Dx400D(
        BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2_Int1,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10Dx400D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00L20B10Dx400D(
        BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2_Int1,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10Dx400D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00U20B10Dx400D(
        BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2_Int1,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10Dx400D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00a20B10Dx400D(
        BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2_Int1,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10Dx400D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00I10B10Dx400D(
        BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2_Int1,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00I10B10Dx400D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00R10B10Dx400D(
        BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2_Int1,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00R10B10Dx400D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00X10B10Dx400D(
        BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2_Int1,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00X10B10Dx400D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00L20B10Dx400D(
        BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2_Int1,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00L20B10Dx400D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00U20B10Dx400D(
        BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2_Int1,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00U20B10Dx400D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00a20B10Dx400D(
        BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2_Int1,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00a20B10Dx400D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00I10B10Dx4(
        BuiltInId::textureGatherOffsets_Sampler2D1_Float2_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10Dx400D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00R10B10Dx4(
        BuiltInId::textureGatherOffsets_ISampler2D1_Float2_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10Dx400D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00X10B10Dx4(
        BuiltInId::textureGatherOffsets_USampler2D1_Float2_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00L20B10Dx4(
        BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10Dx400D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00U20B10Dx4(
        BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10Dx400D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00a20B10Dx4(
        BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00d10B00B10Dx4(
        BuiltInId::textureGatherOffsets_Sampler2DShadow1_Float2_Float1_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d10B00B10Dx4,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsets_00f20B00B10Dx4(
        BuiltInId::textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_4xInt2,
        BuiltInName::textureGatherOffsets,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f20B00B10Dx4,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00I10B10Dx4(
        BuiltInId::textureGatherOffsetsExt_Sampler2D1_Float2_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00I10B10Dx400D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00R10B10Dx4(
        BuiltInId::textureGatherOffsetsExt_ISampler2D1_Float2_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00R10B10Dx400D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00X10B10Dx4(
        BuiltInId::textureGatherOffsetsExt_USampler2D1_Float2_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00X10B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00L20B10Dx4(
        BuiltInId::textureGatherOffsetsExt_Sampler2DArray1_Float3_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00L20B10Dx400D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00U20B10Dx4(
        BuiltInId::textureGatherOffsetsExt_ISampler2DArray1_Float3_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00U20B10Dx400D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00a20B10Dx4(
        BuiltInId::textureGatherOffsetsExt_USampler2DArray1_Float3_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00a20B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00d10B00B10Dx4(
        BuiltInId::textureGatherOffsetsExt_Sampler2DShadow1_Float2_Float1_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00d10B00B10Dx4,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffsetsExt_00f20B00B10Dx4(
        BuiltInId::textureGatherOffsetsExt_Sampler2DArrayShadow1_Float3_Float1_4xInt2,
        BuiltInName::textureGatherOffsetsExt,
        TExtension::EXT_gpu_shader5,
        BuiltInParameters::p00f20B00B10Dx4,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00I10B10D00D(
        BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10D00D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00R10B10D00D(
        BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00X10B10D00D(
        BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10D00D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00L20B10D00D(
        BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10D00D,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00U20B10D00D(
        BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00a20B10D00D(
        BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10D00D,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00I10B10D(
        BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00I10B10D00B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00R10B10D(
        BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00R10B10Dx400D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00X10B10D(
        BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00X10B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00L20B10D(
        BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00L20B10D00D,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00U20B10D(
        BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00U20B10D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00a20B10D(
        BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00a20B10Dx400D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00d10B00B10D(
        BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00d10B00B10Dx4,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction textureGatherOffset_00f20B00B10D(
        BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00f20B00B10Dx4,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction dFdx_00B(BuiltInId::dFdx_Float1,
                                       BuiltInName::dFdx,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpDFdx,
                                       false);
    constexpr const TFunction dFdx_10B(BuiltInId::dFdx_Float2,
                                       BuiltInName::dFdx,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpDFdx,
                                       false);
    constexpr const TFunction dFdx_20B(BuiltInId::dFdx_Float3,
                                       BuiltInName::dFdx,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpDFdx,
                                       false);
    constexpr const TFunction dFdx_30B(BuiltInId::dFdx_Float4,
                                       BuiltInName::dFdx,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpDFdx,
                                       false);
    constexpr const TFunction dFdy_00B(BuiltInId::dFdy_Float1,
                                       BuiltInName::dFdy,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00B00B30B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpDFdy,
                                       false);
    constexpr const TFunction dFdy_10B(BuiltInId::dFdy_Float2,
                                       BuiltInName::dFdy,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p10B_o_10B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpDFdy,
                                       false);
    constexpr const TFunction dFdy_20B(BuiltInId::dFdy_Float3,
                                       BuiltInName::dFdy,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p20B20B00B,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                       EOpDFdy,
                                       false);
    constexpr const TFunction dFdy_30B(BuiltInId::dFdy_Float4,
                                       BuiltInName::dFdy,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p30B30D,
                                       1,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpDFdy,
                                       false);
    constexpr const TFunction fwidth_00B(BuiltInId::fwidth_Float1,
                                         BuiltInName::fwidth,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00B00B30B,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpFwidth,
                                         false);
    constexpr const TFunction fwidth_10B(BuiltInId::fwidth_Float2,
                                         BuiltInName::fwidth,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p10B_o_10B,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                         EOpFwidth,
                                         false);
    constexpr const TFunction fwidth_20B(BuiltInId::fwidth_Float3,
                                         BuiltInName::fwidth,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p20B20B00B,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                         EOpFwidth,
                                         false);
    constexpr const TFunction fwidth_30B(BuiltInId::fwidth_Float4,
                                         BuiltInName::fwidth,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p30B30D,
                                         1,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpFwidth,
                                         false);
    constexpr const TFunction interpolateAtCentroid_00B(
        BuiltInId::interpolateAtCentroid_Float1,
        BuiltInName::interpolateAtCentroid,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B00B30B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroid_10B(
        BuiltInId::interpolateAtCentroid_Float2,
        BuiltInName::interpolateAtCentroid,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroid_20B(
        BuiltInId::interpolateAtCentroid_Float3,
        BuiltInName::interpolateAtCentroid,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B20B00B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroid_30B(
        BuiltInId::interpolateAtCentroid_Float4,
        BuiltInName::interpolateAtCentroid,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSample_00B00D(
        BuiltInId::interpolateAtSample_Float1_Int1,
        BuiltInName::interpolateAtSample,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSample_10B00D(
        BuiltInId::interpolateAtSample_Float2_Int1,
        BuiltInName::interpolateAtSample,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSample_20B00D(
        BuiltInId::interpolateAtSample_Float3_Int1,
        BuiltInName::interpolateAtSample,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSample_30B00D(
        BuiltInId::interpolateAtSample_Float4_Int1,
        BuiltInName::interpolateAtSample,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffset_00B10B(
        BuiltInId::interpolateAtOffset_Float1_Float2,
        BuiltInName::interpolateAtOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p00B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffset_10B10B(
        BuiltInId::interpolateAtOffset_Float2_Float2,
        BuiltInName::interpolateAtOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffset_20B10B(
        BuiltInId::interpolateAtOffset_Float3_Float2,
        BuiltInName::interpolateAtOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p20B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffset_30B10B(
        BuiltInId::interpolateAtOffset_Float4_Float2,
        BuiltInName::interpolateAtOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p30B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroidExt_00B(
        BuiltInId::interpolateAtCentroidExt_Float1,
        BuiltInName::interpolateAtCentroidExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p00B00B30B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroidExt_10B(
        BuiltInId::interpolateAtCentroidExt_Float2,
        BuiltInName::interpolateAtCentroidExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p10B_o_10B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroidExt_20B(
        BuiltInId::interpolateAtCentroidExt_Float3,
        BuiltInName::interpolateAtCentroidExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p20B20B00B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtCentroidExt_30B(
        BuiltInId::interpolateAtCentroidExt_Float4,
        BuiltInName::interpolateAtCentroidExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p30B30D,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSampleExt_00B00D(
        BuiltInId::interpolateAtSampleExt_Float1_Int1,
        BuiltInName::interpolateAtSampleExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p00B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSampleExt_10B00D(
        BuiltInId::interpolateAtSampleExt_Float2_Int1,
        BuiltInName::interpolateAtSampleExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p10B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSampleExt_20B00D(
        BuiltInId::interpolateAtSampleExt_Float3_Int1,
        BuiltInName::interpolateAtSampleExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p20B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtSampleExt_30B00D(
        BuiltInId::interpolateAtSampleExt_Float4_Int1,
        BuiltInName::interpolateAtSampleExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p30B00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffsetExt_00B10B(
        BuiltInId::interpolateAtOffsetExt_Float1_Float2,
        BuiltInName::interpolateAtOffsetExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p00B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffsetExt_10B10B(
        BuiltInId::interpolateAtOffsetExt_Float2_Float2,
        BuiltInName::interpolateAtOffsetExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p10B10B10F,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffsetExt_20B10B(
        BuiltInId::interpolateAtOffsetExt_Float3_Float2,
        BuiltInName::interpolateAtOffsetExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p20B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction interpolateAtOffsetExt_30B10B(
        BuiltInId::interpolateAtOffsetExt_Float4_Float2,
        BuiltInName::interpolateAtOffsetExt,
        TExtension::OES_shader_multisample_interpolation,
        BuiltInParameters::p30B10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction atomicCounter_00G(
        BuiltInId::atomicCounter_AtomicCounter1,
        BuiltInName::atomicCounter,
        TExtension::UNDEFINED,
        BuiltInParameters::p00G,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction atomicCounterIncrement_00G(
        BuiltInId::atomicCounterIncrement_AtomicCounter1,
        BuiltInName::atomicCounterIncrement,
        TExtension::UNDEFINED,
        BuiltInParameters::p00G,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction atomicCounterDecrement_00G(
        BuiltInId::atomicCounterDecrement_AtomicCounter1,
        BuiltInName::atomicCounterDecrement,
        TExtension::UNDEFINED,
        BuiltInParameters::p00G,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction atomicAdd_00E00E(
        BuiltInId::atomicAdd_UInt1_UInt1,
        BuiltInName::atomicAdd,
        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,
                                               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,
        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,
                                               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,
        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,
                                               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,
        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,
                                               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,
                                              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,
                                              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,
        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,
                                               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,
        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,
        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,
        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,
        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,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p00z10D00B,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01A(BuiltInId::imageSize_IImage2D1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01A10D00D00D,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01B(BuiltInId::imageSize_UImage2D1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01B10D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01C(BuiltInId::imageSize_Image3D1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01C20D00D00D,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01D(BuiltInId::imageSize_IImage3D1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01D20D00B,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01E(BuiltInId::imageSize_UImage3D1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01E20D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01F(BuiltInId::imageSize_Image2DArray1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01F20D00D00D,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01G(BuiltInId::imageSize_IImage2DArray1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01G20D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01H(BuiltInId::imageSize_UImage2DArray1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01H20D30E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01I(BuiltInId::imageSize_ImageCube1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01I20D00D00D,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01J(BuiltInId::imageSize_IImageCube1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01J20D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01K(BuiltInId::imageSize_UImageCube1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01K20D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01a(BuiltInId::imageSize_ImageCubeArray1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01a20D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01b(BuiltInId::imageSize_IImageCubeArray1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01b20D00D00D,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01c(BuiltInId::imageSize_UImageCubeArray1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01c20D30E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01g(BuiltInId::imageSize_ImageBuffer1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01g00D30B,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01h(BuiltInId::imageSize_IImageBuffer1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01h00D00E00E,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageSize_01i(BuiltInId::imageSize_UImageBuffer1,
                                            BuiltInName::imageSize,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::p01i00D00D00D,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpCallBuiltInFunction,
                                            false);
    constexpr const TFunction imageLoad_00z10D(
        BuiltInId::imageLoad_Image2D1_Int2,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p00z10D00B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01A10D(BuiltInId::imageLoad_IImage2D1_Int2,
                                               BuiltInName::imageLoad,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p01A10D00D00D,
                                               2,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpCallBuiltInFunction,
                                               false);
    constexpr const TFunction imageLoad_01B10D(
        BuiltInId::imageLoad_UImage2D1_Int2,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01B10D00E00E,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01C20D(
        BuiltInId::imageLoad_Image3D1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01C20D00D00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01D20D(BuiltInId::imageLoad_IImage3D1_Int3,
                                               BuiltInName::imageLoad,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p01D20D00B,
                                               2,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpCallBuiltInFunction,
                                               false);
    constexpr const TFunction imageLoad_01E20D(
        BuiltInId::imageLoad_UImage3D1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01E20D00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01F20D(
        BuiltInId::imageLoad_Image2DArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01F20D00D00D,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01G20D(BuiltInId::imageLoad_IImage2DArray1_Int3,
                                               BuiltInName::imageLoad,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p01G20D00E00E,
                                               2,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpCallBuiltInFunction,
                                               false);
    constexpr const TFunction imageLoad_01H20D(
        BuiltInId::imageLoad_UImage2DArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01H20D30E,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01I20D(
        BuiltInId::imageLoad_ImageCube1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01I20D30B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01J20D(BuiltInId::imageLoad_IImageCube1_Int3,
                                               BuiltInName::imageLoad,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p01J20D00E00E,
                                               2,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpCallBuiltInFunction,
                                               false);
    constexpr const TFunction imageLoad_01K20D(
        BuiltInId::imageLoad_UImageCube1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01K20D00E00E,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01a20D(
        BuiltInId::imageLoad_ImageCubeArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01a20D30B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01b20D(BuiltInId::imageLoad_IImageCubeArray1_Int3,
                                               BuiltInName::imageLoad,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p01b20D00D00D,
                                               2,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpCallBuiltInFunction,
                                               false);
    constexpr const TFunction imageLoad_01c20D(
        BuiltInId::imageLoad_UImageCubeArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01c20D30E,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01g00D(
        BuiltInId::imageLoad_ImageBuffer1_Int1,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01g00D30B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageLoad_01h00D(BuiltInId::imageLoad_IImageBuffer1_Int1,
                                               BuiltInName::imageLoad,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p01h00D00B,
                                               2,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpCallBuiltInFunction,
                                               false);
    constexpr const TFunction imageLoad_01i00D(
        BuiltInId::imageLoad_UImageBuffer1_Int1,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p01i00D00B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_00z10D00E(
        BuiltInId::imageAtomicAddExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01A10D00E(
        BuiltInId::imageAtomicAddExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01B10D00E(
        BuiltInId::imageAtomicAddExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01C20D00E(
        BuiltInId::imageAtomicAddExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01D20D00E(
        BuiltInId::imageAtomicAddExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01E20D00E(
        BuiltInId::imageAtomicAddExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01I20D00E(
        BuiltInId::imageAtomicAddExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01J20D00E(
        BuiltInId::imageAtomicAddExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01K20D00E(
        BuiltInId::imageAtomicAddExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01g00D00E(
        BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01h00D00E(
        BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01i00D00E(
        BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01F20D00E(
        BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01G20D00E(
        BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01H20D00E(
        BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01a20D00E(
        BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01b20D00E(
        BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01c20D00E(
        BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01L00D00E(
        BuiltInId::imageAtomicAddExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01M00D00E(
        BuiltInId::imageAtomicAddExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01N00D00E(
        BuiltInId::imageAtomicAddExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01O10D00E(
        BuiltInId::imageAtomicAddExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01P10D00E(
        BuiltInId::imageAtomicAddExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01Q10D00E(
        BuiltInId::imageAtomicAddExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01X10D00E(
        BuiltInId::imageAtomicAddExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01Y10D00E(
        BuiltInId::imageAtomicAddExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01Z10D00E(
        BuiltInId::imageAtomicAddExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01R10D00D00E(
        BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01S10D00D00E(
        BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01T10D00D00E(
        BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01U20D00D00E(
        BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01V20D00D00E(
        BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01W20D00D00E(
        BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_00z10D00D(
        BuiltInId::imageAtomicAddExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01A10D00D(
        BuiltInId::imageAtomicAddExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01B10D00D(
        BuiltInId::imageAtomicAddExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01C20D00D(
        BuiltInId::imageAtomicAddExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01D20D00D(
        BuiltInId::imageAtomicAddExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01E20D00D(
        BuiltInId::imageAtomicAddExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01I20D00D(
        BuiltInId::imageAtomicAddExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01J20D00D(
        BuiltInId::imageAtomicAddExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01K20D00D(
        BuiltInId::imageAtomicAddExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01g00D00D(
        BuiltInId::imageAtomicAddExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01h00D00D(
        BuiltInId::imageAtomicAddExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01i00D00D(
        BuiltInId::imageAtomicAddExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01F20D00D(
        BuiltInId::imageAtomicAddExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01G20D00D(
        BuiltInId::imageAtomicAddExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01H20D00D(
        BuiltInId::imageAtomicAddExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01a20D00D(
        BuiltInId::imageAtomicAddExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01b20D00D(
        BuiltInId::imageAtomicAddExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01c20D00D(
        BuiltInId::imageAtomicAddExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01L00D00D(
        BuiltInId::imageAtomicAddExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01M00D00D(
        BuiltInId::imageAtomicAddExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01N00D00D(
        BuiltInId::imageAtomicAddExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01O10D00D(
        BuiltInId::imageAtomicAddExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01P10D00D(
        BuiltInId::imageAtomicAddExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01Q10D00D(
        BuiltInId::imageAtomicAddExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01X10D00D(
        BuiltInId::imageAtomicAddExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01Y10D00D(
        BuiltInId::imageAtomicAddExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01Z10D00D(
        BuiltInId::imageAtomicAddExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01R10D00D00D(
        BuiltInId::imageAtomicAddExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01S10D00D00D(
        BuiltInId::imageAtomicAddExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01T10D00D00D(
        BuiltInId::imageAtomicAddExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01U20D00D00D(
        BuiltInId::imageAtomicAddExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01V20D00D00D(
        BuiltInId::imageAtomicAddExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAddExt_01W20D00D00D(
        BuiltInId::imageAtomicAddExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicAddExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_00z10D00E(
        BuiltInId::imageAtomicMinExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01A10D00E(
        BuiltInId::imageAtomicMinExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01B10D00E(
        BuiltInId::imageAtomicMinExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01C20D00E(
        BuiltInId::imageAtomicMinExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01D20D00E(
        BuiltInId::imageAtomicMinExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01E20D00E(
        BuiltInId::imageAtomicMinExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01I20D00E(
        BuiltInId::imageAtomicMinExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01J20D00E(
        BuiltInId::imageAtomicMinExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01K20D00E(
        BuiltInId::imageAtomicMinExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01g00D00E(
        BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01h00D00E(
        BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01i00D00E(
        BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01F20D00E(
        BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01G20D00E(
        BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01H20D00E(
        BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01a20D00E(
        BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01b20D00E(
        BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01c20D00E(
        BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01L00D00E(
        BuiltInId::imageAtomicMinExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01M00D00E(
        BuiltInId::imageAtomicMinExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01N00D00E(
        BuiltInId::imageAtomicMinExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01O10D00E(
        BuiltInId::imageAtomicMinExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01P10D00E(
        BuiltInId::imageAtomicMinExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01Q10D00E(
        BuiltInId::imageAtomicMinExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01X10D00E(
        BuiltInId::imageAtomicMinExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01Y10D00E(
        BuiltInId::imageAtomicMinExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01Z10D00E(
        BuiltInId::imageAtomicMinExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01R10D00D00E(
        BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01S10D00D00E(
        BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01T10D00D00E(
        BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01U20D00D00E(
        BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01V20D00D00E(
        BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01W20D00D00E(
        BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_00z10D00D(
        BuiltInId::imageAtomicMinExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01A10D00D(
        BuiltInId::imageAtomicMinExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01B10D00D(
        BuiltInId::imageAtomicMinExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01C20D00D(
        BuiltInId::imageAtomicMinExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01D20D00D(
        BuiltInId::imageAtomicMinExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01E20D00D(
        BuiltInId::imageAtomicMinExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01I20D00D(
        BuiltInId::imageAtomicMinExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01J20D00D(
        BuiltInId::imageAtomicMinExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01K20D00D(
        BuiltInId::imageAtomicMinExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01g00D00D(
        BuiltInId::imageAtomicMinExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01h00D00D(
        BuiltInId::imageAtomicMinExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01i00D00D(
        BuiltInId::imageAtomicMinExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01F20D00D(
        BuiltInId::imageAtomicMinExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01G20D00D(
        BuiltInId::imageAtomicMinExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01H20D00D(
        BuiltInId::imageAtomicMinExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01a20D00D(
        BuiltInId::imageAtomicMinExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01b20D00D(
        BuiltInId::imageAtomicMinExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01c20D00D(
        BuiltInId::imageAtomicMinExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01L00D00D(
        BuiltInId::imageAtomicMinExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01M00D00D(
        BuiltInId::imageAtomicMinExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01N00D00D(
        BuiltInId::imageAtomicMinExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01O10D00D(
        BuiltInId::imageAtomicMinExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01P10D00D(
        BuiltInId::imageAtomicMinExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01Q10D00D(
        BuiltInId::imageAtomicMinExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01X10D00D(
        BuiltInId::imageAtomicMinExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01Y10D00D(
        BuiltInId::imageAtomicMinExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01Z10D00D(
        BuiltInId::imageAtomicMinExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01R10D00D00D(
        BuiltInId::imageAtomicMinExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01S10D00D00D(
        BuiltInId::imageAtomicMinExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01T10D00D00D(
        BuiltInId::imageAtomicMinExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01U20D00D00D(
        BuiltInId::imageAtomicMinExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01V20D00D00D(
        BuiltInId::imageAtomicMinExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMinExt_01W20D00D00D(
        BuiltInId::imageAtomicMinExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicMinExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_00z10D00E(
        BuiltInId::imageAtomicMaxExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01A10D00E(
        BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01B10D00E(
        BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01C20D00E(
        BuiltInId::imageAtomicMaxExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01D20D00E(
        BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01E20D00E(
        BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01I20D00E(
        BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01J20D00E(
        BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01K20D00E(
        BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01g00D00E(
        BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01h00D00E(
        BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01i00D00E(
        BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01F20D00E(
        BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01G20D00E(
        BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01H20D00E(
        BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01a20D00E(
        BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01b20D00E(
        BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01c20D00E(
        BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01L00D00E(
        BuiltInId::imageAtomicMaxExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01M00D00E(
        BuiltInId::imageAtomicMaxExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01N00D00E(
        BuiltInId::imageAtomicMaxExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01O10D00E(
        BuiltInId::imageAtomicMaxExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01P10D00E(
        BuiltInId::imageAtomicMaxExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01Q10D00E(
        BuiltInId::imageAtomicMaxExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01X10D00E(
        BuiltInId::imageAtomicMaxExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01Y10D00E(
        BuiltInId::imageAtomicMaxExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01Z10D00E(
        BuiltInId::imageAtomicMaxExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01R10D00D00E(
        BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01S10D00D00E(
        BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01T10D00D00E(
        BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01U20D00D00E(
        BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01V20D00D00E(
        BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01W20D00D00E(
        BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_00z10D00D(
        BuiltInId::imageAtomicMaxExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01A10D00D(
        BuiltInId::imageAtomicMaxExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01B10D00D(
        BuiltInId::imageAtomicMaxExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01C20D00D(
        BuiltInId::imageAtomicMaxExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01D20D00D(
        BuiltInId::imageAtomicMaxExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01E20D00D(
        BuiltInId::imageAtomicMaxExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01I20D00D(
        BuiltInId::imageAtomicMaxExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01J20D00D(
        BuiltInId::imageAtomicMaxExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01K20D00D(
        BuiltInId::imageAtomicMaxExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01g00D00D(
        BuiltInId::imageAtomicMaxExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01h00D00D(
        BuiltInId::imageAtomicMaxExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01i00D00D(
        BuiltInId::imageAtomicMaxExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01F20D00D(
        BuiltInId::imageAtomicMaxExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01G20D00D(
        BuiltInId::imageAtomicMaxExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01H20D00D(
        BuiltInId::imageAtomicMaxExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01a20D00D(
        BuiltInId::imageAtomicMaxExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01b20D00D(
        BuiltInId::imageAtomicMaxExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01c20D00D(
        BuiltInId::imageAtomicMaxExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01L00D00D(
        BuiltInId::imageAtomicMaxExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01M00D00D(
        BuiltInId::imageAtomicMaxExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01N00D00D(
        BuiltInId::imageAtomicMaxExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01O10D00D(
        BuiltInId::imageAtomicMaxExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01P10D00D(
        BuiltInId::imageAtomicMaxExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01Q10D00D(
        BuiltInId::imageAtomicMaxExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01X10D00D(
        BuiltInId::imageAtomicMaxExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01Y10D00D(
        BuiltInId::imageAtomicMaxExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01Z10D00D(
        BuiltInId::imageAtomicMaxExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01R10D00D00D(
        BuiltInId::imageAtomicMaxExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01S10D00D00D(
        BuiltInId::imageAtomicMaxExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01T10D00D00D(
        BuiltInId::imageAtomicMaxExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01U20D00D00D(
        BuiltInId::imageAtomicMaxExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01V20D00D00D(
        BuiltInId::imageAtomicMaxExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicMaxExt_01W20D00D00D(
        BuiltInId::imageAtomicMaxExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicMaxExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_00z10D00E(
        BuiltInId::imageAtomicAndExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01A10D00E(
        BuiltInId::imageAtomicAndExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01B10D00E(
        BuiltInId::imageAtomicAndExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01C20D00E(
        BuiltInId::imageAtomicAndExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01D20D00E(
        BuiltInId::imageAtomicAndExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01E20D00E(
        BuiltInId::imageAtomicAndExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01I20D00E(
        BuiltInId::imageAtomicAndExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01J20D00E(
        BuiltInId::imageAtomicAndExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01K20D00E(
        BuiltInId::imageAtomicAndExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01g00D00E(
        BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01h00D00E(
        BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01i00D00E(
        BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01F20D00E(
        BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01G20D00E(
        BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01H20D00E(
        BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01a20D00E(
        BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01b20D00E(
        BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01c20D00E(
        BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01L00D00E(
        BuiltInId::imageAtomicAndExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01M00D00E(
        BuiltInId::imageAtomicAndExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01N00D00E(
        BuiltInId::imageAtomicAndExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01O10D00E(
        BuiltInId::imageAtomicAndExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01P10D00E(
        BuiltInId::imageAtomicAndExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01Q10D00E(
        BuiltInId::imageAtomicAndExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01X10D00E(
        BuiltInId::imageAtomicAndExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01Y10D00E(
        BuiltInId::imageAtomicAndExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01Z10D00E(
        BuiltInId::imageAtomicAndExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01R10D00D00E(
        BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01S10D00D00E(
        BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01T10D00D00E(
        BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01U20D00D00E(
        BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01V20D00D00E(
        BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01W20D00D00E(
        BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_00z10D00D(
        BuiltInId::imageAtomicAndExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01A10D00D(
        BuiltInId::imageAtomicAndExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01B10D00D(
        BuiltInId::imageAtomicAndExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01C20D00D(
        BuiltInId::imageAtomicAndExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01D20D00D(
        BuiltInId::imageAtomicAndExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01E20D00D(
        BuiltInId::imageAtomicAndExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01I20D00D(
        BuiltInId::imageAtomicAndExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01J20D00D(
        BuiltInId::imageAtomicAndExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01K20D00D(
        BuiltInId::imageAtomicAndExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01g00D00D(
        BuiltInId::imageAtomicAndExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01h00D00D(
        BuiltInId::imageAtomicAndExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01i00D00D(
        BuiltInId::imageAtomicAndExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01F20D00D(
        BuiltInId::imageAtomicAndExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01G20D00D(
        BuiltInId::imageAtomicAndExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01H20D00D(
        BuiltInId::imageAtomicAndExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01a20D00D(
        BuiltInId::imageAtomicAndExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01b20D00D(
        BuiltInId::imageAtomicAndExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01c20D00D(
        BuiltInId::imageAtomicAndExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01L00D00D(
        BuiltInId::imageAtomicAndExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01M00D00D(
        BuiltInId::imageAtomicAndExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01N00D00D(
        BuiltInId::imageAtomicAndExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01O10D00D(
        BuiltInId::imageAtomicAndExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01P10D00D(
        BuiltInId::imageAtomicAndExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01Q10D00D(
        BuiltInId::imageAtomicAndExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01X10D00D(
        BuiltInId::imageAtomicAndExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01Y10D00D(
        BuiltInId::imageAtomicAndExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01Z10D00D(
        BuiltInId::imageAtomicAndExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01R10D00D00D(
        BuiltInId::imageAtomicAndExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01S10D00D00D(
        BuiltInId::imageAtomicAndExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01T10D00D00D(
        BuiltInId::imageAtomicAndExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01U20D00D00D(
        BuiltInId::imageAtomicAndExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01V20D00D00D(
        BuiltInId::imageAtomicAndExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicAndExt_01W20D00D00D(
        BuiltInId::imageAtomicAndExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicAndExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_00z10D00E(
        BuiltInId::imageAtomicOrExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01A10D00E(
        BuiltInId::imageAtomicOrExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01B10D00E(
        BuiltInId::imageAtomicOrExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01C20D00E(
        BuiltInId::imageAtomicOrExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01D20D00E(
        BuiltInId::imageAtomicOrExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01E20D00E(
        BuiltInId::imageAtomicOrExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01I20D00E(
        BuiltInId::imageAtomicOrExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01J20D00E(
        BuiltInId::imageAtomicOrExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01K20D00E(
        BuiltInId::imageAtomicOrExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01g00D00E(
        BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01h00D00E(
        BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01i00D00E(
        BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01F20D00E(
        BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01G20D00E(
        BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01H20D00E(
        BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01a20D00E(
        BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01b20D00E(
        BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01c20D00E(
        BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01L00D00E(
        BuiltInId::imageAtomicOrExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01M00D00E(
        BuiltInId::imageAtomicOrExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01N00D00E(
        BuiltInId::imageAtomicOrExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01O10D00E(
        BuiltInId::imageAtomicOrExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01P10D00E(
        BuiltInId::imageAtomicOrExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01Q10D00E(
        BuiltInId::imageAtomicOrExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01X10D00E(
        BuiltInId::imageAtomicOrExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01Y10D00E(
        BuiltInId::imageAtomicOrExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01Z10D00E(
        BuiltInId::imageAtomicOrExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01R10D00D00E(
        BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01S10D00D00E(
        BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01T10D00D00E(
        BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01U20D00D00E(
        BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01V20D00D00E(
        BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01W20D00D00E(
        BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_00z10D00D(
        BuiltInId::imageAtomicOrExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01A10D00D(
        BuiltInId::imageAtomicOrExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01B10D00D(
        BuiltInId::imageAtomicOrExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01C20D00D(
        BuiltInId::imageAtomicOrExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01D20D00D(
        BuiltInId::imageAtomicOrExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01E20D00D(
        BuiltInId::imageAtomicOrExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01I20D00D(
        BuiltInId::imageAtomicOrExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01J20D00D(
        BuiltInId::imageAtomicOrExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01K20D00D(
        BuiltInId::imageAtomicOrExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01g00D00D(
        BuiltInId::imageAtomicOrExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01h00D00D(
        BuiltInId::imageAtomicOrExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01i00D00D(
        BuiltInId::imageAtomicOrExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01F20D00D(
        BuiltInId::imageAtomicOrExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01G20D00D(
        BuiltInId::imageAtomicOrExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01H20D00D(
        BuiltInId::imageAtomicOrExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01a20D00D(
        BuiltInId::imageAtomicOrExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01b20D00D(
        BuiltInId::imageAtomicOrExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01c20D00D(
        BuiltInId::imageAtomicOrExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01L00D00D(
        BuiltInId::imageAtomicOrExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01M00D00D(
        BuiltInId::imageAtomicOrExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01N00D00D(
        BuiltInId::imageAtomicOrExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01O10D00D(
        BuiltInId::imageAtomicOrExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01P10D00D(
        BuiltInId::imageAtomicOrExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01Q10D00D(
        BuiltInId::imageAtomicOrExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01X10D00D(
        BuiltInId::imageAtomicOrExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01Y10D00D(
        BuiltInId::imageAtomicOrExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01Z10D00D(
        BuiltInId::imageAtomicOrExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01R10D00D00D(
        BuiltInId::imageAtomicOrExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01S10D00D00D(
        BuiltInId::imageAtomicOrExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01T10D00D00D(
        BuiltInId::imageAtomicOrExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01U20D00D00D(
        BuiltInId::imageAtomicOrExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01V20D00D00D(
        BuiltInId::imageAtomicOrExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicOrExt_01W20D00D00D(
        BuiltInId::imageAtomicOrExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicOrExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_00z10D00E(
        BuiltInId::imageAtomicXorExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01A10D00E(
        BuiltInId::imageAtomicXorExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01B10D00E(
        BuiltInId::imageAtomicXorExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01C20D00E(
        BuiltInId::imageAtomicXorExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01D20D00E(
        BuiltInId::imageAtomicXorExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01E20D00E(
        BuiltInId::imageAtomicXorExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01I20D00E(
        BuiltInId::imageAtomicXorExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01J20D00E(
        BuiltInId::imageAtomicXorExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01K20D00E(
        BuiltInId::imageAtomicXorExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01g00D00E(
        BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01h00D00E(
        BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01i00D00E(
        BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01F20D00E(
        BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01G20D00E(
        BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01H20D00E(
        BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01a20D00E(
        BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01b20D00E(
        BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01c20D00E(
        BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01L00D00E(
        BuiltInId::imageAtomicXorExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01M00D00E(
        BuiltInId::imageAtomicXorExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01N00D00E(
        BuiltInId::imageAtomicXorExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01O10D00E(
        BuiltInId::imageAtomicXorExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01P10D00E(
        BuiltInId::imageAtomicXorExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01Q10D00E(
        BuiltInId::imageAtomicXorExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01X10D00E(
        BuiltInId::imageAtomicXorExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01Y10D00E(
        BuiltInId::imageAtomicXorExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01Z10D00E(
        BuiltInId::imageAtomicXorExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01R10D00D00E(
        BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01S10D00D00E(
        BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01T10D00D00E(
        BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01U20D00D00E(
        BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01V20D00D00E(
        BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01W20D00D00E(
        BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_00z10D00D(
        BuiltInId::imageAtomicXorExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01A10D00D(
        BuiltInId::imageAtomicXorExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01B10D00D(
        BuiltInId::imageAtomicXorExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01C20D00D(
        BuiltInId::imageAtomicXorExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01D20D00D(
        BuiltInId::imageAtomicXorExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01E20D00D(
        BuiltInId::imageAtomicXorExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01I20D00D(
        BuiltInId::imageAtomicXorExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01J20D00D(
        BuiltInId::imageAtomicXorExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01K20D00D(
        BuiltInId::imageAtomicXorExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01g00D00D(
        BuiltInId::imageAtomicXorExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01h00D00D(
        BuiltInId::imageAtomicXorExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01i00D00D(
        BuiltInId::imageAtomicXorExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01F20D00D(
        BuiltInId::imageAtomicXorExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01G20D00D(
        BuiltInId::imageAtomicXorExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01H20D00D(
        BuiltInId::imageAtomicXorExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01a20D00D(
        BuiltInId::imageAtomicXorExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01b20D00D(
        BuiltInId::imageAtomicXorExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01c20D00D(
        BuiltInId::imageAtomicXorExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01L00D00D(
        BuiltInId::imageAtomicXorExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01M00D00D(
        BuiltInId::imageAtomicXorExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01N00D00D(
        BuiltInId::imageAtomicXorExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01O10D00D(
        BuiltInId::imageAtomicXorExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01P10D00D(
        BuiltInId::imageAtomicXorExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01Q10D00D(
        BuiltInId::imageAtomicXorExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01X10D00D(
        BuiltInId::imageAtomicXorExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01Y10D00D(
        BuiltInId::imageAtomicXorExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01Z10D00D(
        BuiltInId::imageAtomicXorExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01R10D00D00D(
        BuiltInId::imageAtomicXorExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01S10D00D00D(
        BuiltInId::imageAtomicXorExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01T10D00D00D(
        BuiltInId::imageAtomicXorExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01U20D00D00D(
        BuiltInId::imageAtomicXorExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01V20D00D00D(
        BuiltInId::imageAtomicXorExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicXorExt_01W20D00D00D(
        BuiltInId::imageAtomicXorExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicXorExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_00z10D00E(
        BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01A10D00E(
        BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01B10D00E(
        BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01C20D00E(
        BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01D20D00E(
        BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01E20D00E(
        BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01I20D00E(
        BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01J20D00E(
        BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01K20D00E(
        BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01g00D00E(
        BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01h00D00E(
        BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01i00D00E(
        BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01F20D00E(
        BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01G20D00E(
        BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01H20D00E(
        BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01a20D00E(
        BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01b20D00E(
        BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01c20D00E(
        BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01L00D00E(
        BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01M00D00E(
        BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01N00D00E(
        BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01O10D00E(
        BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01P10D00E(
        BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Q10D00E(
        BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01X10D00E(
        BuiltInId::imageAtomicExchangeExt_Image2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Y10D00E(
        BuiltInId::imageAtomicExchangeExt_IImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Z10D00E(
        BuiltInId::imageAtomicExchangeExt_UImage2DRect1_Int2_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01R10D00D00E(
        BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01S10D00D00E(
        BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01T10D00D00E(
        BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01U20D00D00E(
        BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01V20D00D00E(
        BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01W20D00D00E(
        BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_UInt1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_00z10D00D(
        BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01A10D00D(
        BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01B10D00D(
        BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01C20D00D(
        BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01D20D00D(
        BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01E20D00D(
        BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01I20D00D(
        BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01J20D00D(
        BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01K20D00D(
        BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01g00D00D(
        BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01h00D00D(
        BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01i00D00D(
        BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01F20D00D(
        BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01G20D00D(
        BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01H20D00D(
        BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01a20D00D(
        BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01b20D00D(
        BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01c20D00D(
        BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01L00D00D(
        BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01M00D00D(
        BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01N00D00D(
        BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01O10D00D(
        BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01P10D00D(
        BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Q10D00D(
        BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01X10D00D(
        BuiltInId::imageAtomicExchangeExt_Image2DRect1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Y10D00D(
        BuiltInId::imageAtomicExchangeExt_IImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Z10D00D(
        BuiltInId::imageAtomicExchangeExt_UImage2DRect1_Int2_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01R10D00D00D(
        BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01S10D00D00D(
        BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01T10D00D00D(
        BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01U20D00D00D(
        BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01V20D00D00D(
        BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01W20D00D00D(
        BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_00z10D00B(
        BuiltInId::imageAtomicExchangeExt_Image2D1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01A10D00B(
        BuiltInId::imageAtomicExchangeExt_IImage2D1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01B10D00B(
        BuiltInId::imageAtomicExchangeExt_UImage2D1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01C20D00B(
        BuiltInId::imageAtomicExchangeExt_Image3D1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01D20D00B(
        BuiltInId::imageAtomicExchangeExt_IImage3D1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01E20D00B(
        BuiltInId::imageAtomicExchangeExt_UImage3D1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01I20D00B(
        BuiltInId::imageAtomicExchangeExt_ImageCube1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01J20D00B(
        BuiltInId::imageAtomicExchangeExt_IImageCube1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01K20D00B(
        BuiltInId::imageAtomicExchangeExt_UImageCube1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01g00D00B(
        BuiltInId::imageAtomicExchangeExt_ImageBuffer1_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01h00D00B(
        BuiltInId::imageAtomicExchangeExt_IImageBuffer1_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01i00D00B(
        BuiltInId::imageAtomicExchangeExt_UImageBuffer1_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01F20D00B(
        BuiltInId::imageAtomicExchangeExt_Image2DArray1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01G20D00B(
        BuiltInId::imageAtomicExchangeExt_IImage2DArray1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01H20D00B(
        BuiltInId::imageAtomicExchangeExt_UImage2DArray1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01a20D00B(
        BuiltInId::imageAtomicExchangeExt_ImageCubeArray1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01b20D00B(
        BuiltInId::imageAtomicExchangeExt_IImageCubeArray1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01c20D00B(
        BuiltInId::imageAtomicExchangeExt_UImageCubeArray1_Int3_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01L00D00B(
        BuiltInId::imageAtomicExchangeExt_Image1D1_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01M00D00B(
        BuiltInId::imageAtomicExchangeExt_IImage1D1_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01N00D00B(
        BuiltInId::imageAtomicExchangeExt_UImage1D1_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01O10D00B(
        BuiltInId::imageAtomicExchangeExt_Image1DArray1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01P10D00B(
        BuiltInId::imageAtomicExchangeExt_IImage1DArray1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Q10D00B(
        BuiltInId::imageAtomicExchangeExt_UImage1DArray1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01X10D00B(
        BuiltInId::imageAtomicExchangeExt_Image2DRect1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Y10D00B(
        BuiltInId::imageAtomicExchangeExt_IImage2DRect1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01Z10D00B(
        BuiltInId::imageAtomicExchangeExt_UImage2DRect1_Int2_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01R10D00D00B(
        BuiltInId::imageAtomicExchangeExt_Image2DMS1_Int2_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01S10D00D00B(
        BuiltInId::imageAtomicExchangeExt_IImage2DMS1_Int2_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01T10D00D00B(
        BuiltInId::imageAtomicExchangeExt_UImage2DMS1_Int2_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01U20D00D00B(
        BuiltInId::imageAtomicExchangeExt_Image2DMSArray1_Int3_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01V20D00D00B(
        BuiltInId::imageAtomicExchangeExt_IImage2DMSArray1_Int3_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicExchangeExt_01W20D00D00B(
        BuiltInId::imageAtomicExchangeExt_UImage2DMSArray1_Int3_Int1_Float1,
        BuiltInName::imageAtomicExchangeExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_00z10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01A10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01B10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01C20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01D20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01E20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01I20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01J20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01K20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01g00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01h00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01i00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01F20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01G20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01H20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01a20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01b20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01c20D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01L00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image1D1_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01M00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage1D1_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01N00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage1D1_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01O10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image1DArray1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01P10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage1DArray1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01Q10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage1DArray1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01X10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image2DRect1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01Y10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage2DRect1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01Z10D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage2DRect1_Int2_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00E00E,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01R10D00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00E00E,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01S10D00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00E00E,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01T10D00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00E00E,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01U20D00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00E00E,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01V20D00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00E00E,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01W20D00D00E00E(
        BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_UInt1_UInt1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00E00E,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_00z10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image2D1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p00z10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01A10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage2D1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01A10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01B10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage2D1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01B10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01C20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image3D1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01C20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01D20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage3D1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01D20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01E20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage3D1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01E20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01I20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_ImageCube1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01I20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01J20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImageCube1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01J20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01K20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImageCube1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01K20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01g00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_ImageBuffer1_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01g00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01h00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImageBuffer1_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01h00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01i00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImageBuffer1_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01i00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01F20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image2DArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01F20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01G20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage2DArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01G20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01H20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage2DArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01H20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01a20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_ImageCubeArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01a20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01b20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImageCubeArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01b20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01c20D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImageCubeArray1_Int3_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01c20D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01L00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image1D1_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01L00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01M00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage1D1_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01M00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01N00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage1D1_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01N00D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01O10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image1DArray1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01O10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01P10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage1DArray1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01P10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01Q10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage1DArray1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Q10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01X10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image2DRect1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01X10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01Y10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage2DRect1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Y10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01Z10D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage2DRect1_Int2_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01Z10D00D00D,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01R10D00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image2DMS1_Int2_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01R10D00D00D00D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01S10D00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage2DMS1_Int2_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01S10D00D00D00D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01T10D00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage2DMS1_Int2_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01T10D00D00D00D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01U20D00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_Image2DMSArray1_Int3_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01U20D00D00D00D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01V20D00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_IImage2DMSArray1_Int3_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01V20D00D00D00D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageAtomicCompSwapExt_01W20D00D00D00D(
        BuiltInId::imageAtomicCompSwapExt_UImage2DMSArray1_Int3_Int1_Int1_Int1,
        BuiltInName::imageAtomicCompSwapExt,
        TExtension::OES_shader_image_atomic,
        BuiltInParameters::p01W20D00D00D00D,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_00z10D30B(
        BuiltInId::imageStore_Image2D1_Int2_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p00z10D30B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01A10D30D(
        BuiltInId::imageStore_IImage2D1_Int2_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01A10D30D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01B10D30E(
        BuiltInId::imageStore_UImage2D1_Int2_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01B10D30E,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01C20D30B(
        BuiltInId::imageStore_Image3D1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01C20D30B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01D20D30D(
        BuiltInId::imageStore_IImage3D1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01D20D30D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01E20D30E(
        BuiltInId::imageStore_UImage3D1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01E20D30E,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01F20D30B(
        BuiltInId::imageStore_Image2DArray1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01F20D30B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01G20D30D(
        BuiltInId::imageStore_IImage2DArray1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01G20D30D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01H20D30E(
        BuiltInId::imageStore_UImage2DArray1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01H20D30E,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01I20D30B(
        BuiltInId::imageStore_ImageCube1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01I20D30B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01J20D30D(
        BuiltInId::imageStore_IImageCube1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01J20D30D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01K20D30E(
        BuiltInId::imageStore_UImageCube1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01K20D30E,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01a20D30B(
        BuiltInId::imageStore_ImageCubeArray1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01a20D30B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01b20D30D(
        BuiltInId::imageStore_IImageCubeArray1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01b20D30D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01c20D30E(
        BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01c20D30E,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01g00D30B(
        BuiltInId::imageStore_ImageBuffer1_Int1_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01g00D30B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01h00D30D(
        BuiltInId::imageStore_IImageBuffer1_Int1_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01h00D30D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction imageStore_01i00D30E(
        BuiltInId::imageStore_UImageBuffer1_Int1_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p01i00D30E,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction memoryBarrier_(BuiltInId::memoryBarrier,
                                             BuiltInName::memoryBarrier,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::empty,
                                             0,
                                             StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                             EOpMemoryBarrier,
                                             false);
    constexpr const TFunction memoryBarrierAtomicCounter_(
        BuiltInId::memoryBarrierAtomicCounter,
        BuiltInName::memoryBarrierAtomicCounter,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierAtomicCounter,
        false);
    constexpr const TFunction memoryBarrierBuffer_(
        BuiltInId::memoryBarrierBuffer,
        BuiltInName::memoryBarrierBuffer,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierBuffer,
        false);
    constexpr const TFunction memoryBarrierImage_(
        BuiltInId::memoryBarrierImage,
        BuiltInName::memoryBarrierImage,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierImage,
        false);
    constexpr const TFunction barrier_(BuiltInId::barrier,
                                       BuiltInName::barrier,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::empty,
                                       0,
                                       StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpBarrier,
                                       false);
    constexpr const TFunction memoryBarrierShared_(
        BuiltInId::memoryBarrierShared,
        BuiltInName::memoryBarrierShared,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierShared,
        false);
    constexpr const TFunction groupMemoryBarrier_(
        BuiltInId::groupMemoryBarrier,
        BuiltInName::groupMemoryBarrier,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpGroupMemoryBarrier,
        false);
    constexpr const TFunction barrierES3_2_(BuiltInId::barrierES3_2,
                                            BuiltInName::barrierES3_2,
                                            TExtension::UNDEFINED,
                                            BuiltInParameters::empty,
                                            0,
                                            StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                            EOpBarrier,
                                            false);
    constexpr const TFunction EmitVertex_(BuiltInId::EmitVertex,
                                          BuiltInName::EmitVertex,
                                          TExtension::EXT_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,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpEmitVertex,
        false);
    constexpr const TFunction EndPrimitive_(BuiltInId::EndPrimitive,
                                            BuiltInName::EndPrimitive,
                                            TExtension::EXT_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,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpEndPrimitive,
        false);
    constexpr const TFunction textureVideoWEBGL_00y10B(
        BuiltInId::textureVideoWEBGL_SamplerVideoWEBGL1_Float2,
        BuiltInName::textureVideoWEBGL,
        TExtension::UNDEFINED,
        BuiltInParameters::p00y10B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction texture_00y10B(BuiltInId::texture_SamplerVideoWEBGL1_Float2,
                                             BuiltInName::texture,
                                             TExtension::UNDEFINED,
                                             BuiltInParameters::p00y10B,
                                             2,
                                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                             EOpCallBuiltInFunction,
                                             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, 300, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_30B10B),
        Rule::Get<Spec::GLSL, 400, 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, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_00z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_00z10D00D),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00I20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture2DProj_00I20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBindings),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBindings),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01g00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01I20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01E20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01W20D00D00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_10F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_10F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00L20B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00L20B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_00z10D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B30B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_20B30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_20B20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_30E),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01R10D00D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00K00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00K00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryOutputVerticesES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&greaterThanEqual_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThanEqual_10E10E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00d20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00d20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_30B30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_30B30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01a20D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01R10D00D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00a20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00a20B00B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01F20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01b20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01A10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAdd_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAdd_00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_10D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_20D20D20F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20D20D20F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationTextureImageUnitsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&texture_00R10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00R10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01D20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00J20D00D20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00J20D00D20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00S30B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00S30B20B20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10D10D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_10D10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30D00D),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&groupMemoryBarrier_),
        Rule::Get<Spec::GLSL, 430, Shader::COMPUTE, 0>(&groupMemoryBarrier_),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01b20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01b20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01b20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_30D),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00I10D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00I10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_E0B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_E0B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00Y30B20D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00Y30B20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01C20D30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_50B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01J20D00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01K20D30E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentInputVectors),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentInputVectors),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00f30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00f30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B10B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_30B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_10E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00d20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00d20B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_10E10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01A10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_00z10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedShaderOutputResources),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedShaderOutputResources),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01T10D00D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00I10B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00I10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01C20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_20D20D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_20D20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00a20B10D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00a20B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00I10B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00I10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00L20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00L20B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThanEqual_30E30E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01a20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01a20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00S30B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00S30B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_00B),
        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_LastFragDataNonCoherent),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>(
            &TableBase::m_gl_LastFragDataNV),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_30D30D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_30D30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00U20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00U20B),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(
            &texture2DRect_00O10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_10D),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_00B10B),
        Rule::Get<Spec::GLSL, 400, 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::ALL, 0>(&TableBase::m_gl_MaxTessGenLevelES3_2),
        Rule::Get<Spec::GLSL, 0, 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::FRAGMENT, 0>(&TableBase::m_gl_SampleMaskInES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::FRAGMENT, 0>(&textureProj_00R20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_00z10D30B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx400D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00X10B10Dx400D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B20B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackHalf2x16_00E),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&unpackHalf2x16_00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeTextureImageUnits),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeTextureImageUnits),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00L20B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01i00D30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01A10D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01H20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01H20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10E10E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20E20E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10E10E10E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texture_00N10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_70B70B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01E20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01E20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00a20D00D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00a20D00D10D),
        Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(
            &BuiltInVariable::kgl_PatchVerticesInTCSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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, 0, Shader::ALL, 0>(&notFunc_20F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_20F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01F20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01F20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B20B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00J30B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00J30B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01K20D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B10Dx4),
        Rule::Get<Spec::GLSL, 400, 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::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_InvocationIDES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
            &BuiltInVariable::kgl_InvocationIDTCS),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00L20B10Dx400D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00L20B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00L20B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B00B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00e20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Z20B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00Z20B20B20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01D20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01D20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_30E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_30E00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00I10B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00I10B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01K20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01I20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_20B20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_20B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_20D),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01A10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00S30B00B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00S30B00B20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00L20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B20B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_30B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00S20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00S20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicXor_00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00Y20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00Y20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01P10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01P10D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_30D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_30D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00Y20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00Y20B00B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationInputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::FRAGMENT, 0>(&dFdy_20B),
        Rule::Get<Spec::GLSL, 0, 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::ALL, 0>(&textureProj_00Y30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00Y30B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00X10B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00X10B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierBuffer_),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierBuffer_),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D00D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20D00D00D),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2DProj_00I20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture2DProj_00I20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00x30B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B00B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00f20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_20E20E),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationAtomicCountersES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&textureProjLod_00I30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00I30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_00B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_00B00B00B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryImageUniformsES3_2),
        Rule::Get<Spec::GLSL, 0, 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_shader_image_atomic)>(
            &imageAtomicMinExt_01X10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01X10D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00e00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00e00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00a20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00a20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_30B30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_30B30D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01X10D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00I10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00I10B),
        Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceID),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceID),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01H20D00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_20B),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_20B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtCentroidExt_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00R10B10D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00R10B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01h00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01h00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_30E30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01N00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01J20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01J20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRange),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRange),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01I20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01I20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00L20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00L20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01L00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01L00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01L00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeUniformComponents),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeUniformComponents),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01h00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01E20D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01X10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01X10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01J20D),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_10B00D),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_10B00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtSampleExt_10B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01F20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01F20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B30B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00k30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01O10D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01F20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01F20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01a20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01a20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00a20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00a20B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01b20D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00X10B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00X10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00R10B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00R10B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00d10B00B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00d10B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessControlTextureImageUnitsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&equal_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&equal_20E20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_00E00E00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_00E00E00E),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&textureCube_00K20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&textureCube_00K20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_90B90B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00I10B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00I10B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00I10B10Dx4),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E00E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30E00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00J30B20D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00J30B20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E00E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10E00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_30E30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01K20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01K20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThanEqual_10E10E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAdd_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAdd_00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00R30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00X10B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00X10B10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThanEqual_30E30E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_20B20B20F),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_20B20B20F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_10F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_10F),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00I30B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00I30B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00X10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00X10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_00B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00f20B00B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00f20B00B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00f20B00B10Dx4),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, EXT_INDEX(EXT_blend_func_extended)>(
            &TableBase::m_gl_MaxDualSourceDrawBuffersEXT),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01C20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01C20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01g00D30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicXor_00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01P10D00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00x00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_20B20B20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_20B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_20B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01J20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01J20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00F00F00F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00F00F00F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01M00D00D00D),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
            &texture2DProjLodEXT_00I30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00X10B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00X10B10B10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00X10D00D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00X10D00D10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packUnorm2x16_10B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packUnorm2x16_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_20E20E20E20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_20E20E20E20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01b20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01T10D00D00E00E),
        Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&textureCubeLod_00K20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&textureCubeLod_00K20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00L00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00L00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01L00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00S30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00S30B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_30B),
        Rule::Get<Spec::GLSL, 0, 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::ALL, 0>(&isinf_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_30B30B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
            &texture2DProjLodEXT_00I20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FrontFacing),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FrontFacing),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_10B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&textureCube_00K20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&textureCube_00K20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01B10D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounterBuffers),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounterBuffers),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00f00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00f00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01g00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01g00D00D),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch)>(
            &BuiltInVariable::kgl_LastFragColorARM),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessControlTotalOutputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 0, Shader::ALL, 0>(&lessThanEqual_20D20D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_20D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01h00D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01B10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01B10D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationOutputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>(
            &BuiltInVariable::kgl_SecondaryFragColorEXT),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
            &BuiltInVariable::kgl_BaseInstance),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01b20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01b20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_20F20F20F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20F20F20F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01M00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01M00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01M00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01F20D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texelFetch_00N10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00a00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00a00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00Y30B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00Y30B20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01b20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01b20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &texture_00M10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01S10D00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounterDecrement_00G),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounterDecrement_00G),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_20B20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_20B20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01c20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01c20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00R10D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00R10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_30B30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_30B30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01T10D00D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00R10B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00R10B10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_00D00D),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shadow_samplers)>(
            &shadow2DProjEXT_00d30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_30D30D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_30D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_10E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00Z20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00Z20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00e30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00e30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00T00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00T00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00Y30B20B20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00Y30B20B20B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00T20B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00T20B20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00d30B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00d30B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01B10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01h00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01h00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_50B50B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&matrixCompMult_50B50B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01E20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00U20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00U20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01E20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01I20D00D),
        Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DProjLod_00I30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture2DProjLod_00I30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01g00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01g00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00S20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00S20B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00R20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_10E10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01M00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01M00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&EmitVertexES3_2_),
        Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(&EmitVertex_),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_20B20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_20B20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00J20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00J20B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00J20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00J20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01V20D00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01Y10D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::NOT_COMPUTE, EXT_INDEX(OVR_multiview)>(
            &BuiltInVariable::kgl_ViewID_OVR),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01H20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01H20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00X30B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00X30B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_00z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_00z10D00E),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(
            &texture3DLod_00J20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packUnorm4x8_30B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packUnorm4x8_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeImageUniforms),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeImageUniforms),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00L20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00L20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01A10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01V20D00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01A10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_B0B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_B0B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00E00E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_00E00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_00B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_00B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_00D00D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_00D00D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00Y30B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00Y30B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_10B10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_10B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00L20B10D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00L20B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_00E),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_SamplePositionES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&floatBitsToInt_30B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00Y20D00D20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00Y20D00D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicExchange_00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01h00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01h00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00x30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01L00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01L00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_30F30F30F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_30F30F30F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01a20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01a20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_00B00B00F),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_00B00B00F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00s30B00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00I20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00J20B20B20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00J20B20B20B20D),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
            &texture2DGradEXT_00I10B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01G20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01I20D00D),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
            &texture2DProjGradEXT_00I30B10B10B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_30B30B30B),
        Rule::Get<Spec::GLSL, 400, 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, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01L00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01L00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupCount),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupCount),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01i00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_30E30E30F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_30E30E30F),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragColor),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragColor),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01G20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01G20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_20B),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_30B00D),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_30B00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtSampleExt_30B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01P10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01P10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00X10B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00X10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_00B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_00B00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessControlOutputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 100, Shader::ALL, 0>(&texture2D_00I10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture2D_00I10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01b20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01b20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01P10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01P10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01P10D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00R20B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00I10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00I10B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_00B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20E20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20E20E20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01G20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01G20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01C20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00j00D),
        Rule::Get<Spec::ESSL, 310, Shader::TESS_EVALUATION_EXT, 0>(&BuiltInVariable::kgl_TessCoord),
        Rule::Get<Spec::GLSL, 0, Shader::TESS_EVALUATION_EXT, 0>(&BuiltInVariable::kgl_TessCoord),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01a20D30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00d30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00d30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01H20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00I20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00I20B10B10B10D),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_20B00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtSampleExt_20B00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_10B10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_10B10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01h00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01X10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01X10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01X10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Q10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D20D20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20D20D20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01N00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00R10B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00R10B10B10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01I20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00O20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01M00D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_50B),
        Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&inverse_50B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_10B10B),
        Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(
            &TableBase::m_gl_TessLevelOuterTCSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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, 0, Shader::ALL, 0>(&radians_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00E00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicCompSwap_00E00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01Z10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexUniformVectors),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexUniformVectors),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01W20D00D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B10B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00X20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00X20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThanEqual_20E20E),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&BuiltInVariable::kgl_NumSamplesES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &textureProj_00M20B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(
            &texture3DProjLod_00J30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_10D10D10F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10D10D10F),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_20B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01D20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01D20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_30B30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_30B30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00J30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00J30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01F20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01F20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_20B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00U20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00U20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMin_00E00E),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shadow_samplers)>(
            &shadow2DEXT_00d20B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00a20B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00a20B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00a20B10Dx4),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_30B30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>(
            &TableBase::m_gl_MaxCullDistancesEXT),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01F20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_10B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_frag_depth)>(
            &TableBase::m_gl_FragDepthEXT),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_20B20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_20B20D),
        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, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01c20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00X20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00X20B00B10D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationImageUniformsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::FRAGMENT, 0>(&texture_00U20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00U20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00I30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00E00E00F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00E00E00F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01h00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_00D00D00F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00D00D00F),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20F20F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_20F20F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00s30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01C20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01C20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00S00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00S00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00f20B00B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00f20B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01N00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_00z),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00a20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00a20B10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00J20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00J20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_30B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryOutputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlAtomicCountersES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 0, Shader::ALL, 0>(&log2_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_30B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlImageUniformsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&textureProjGrad_00d30B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00d30B10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30E30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounterBuffers),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounterBuffers),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_inES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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::GLSL, 0, 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::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, 300, Shader::ALL, 0>(&textureProjLodOffset_00J30B00B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00J30B00B20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01O10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01H20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01H20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01h00D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01O10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
            &texelFetchExt_00c20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00R30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00R30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01F20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01F20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01P10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01P10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01C20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01C20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01N00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00x30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01c20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00U20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00U20B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_00z10D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00a20B10Dx400D),
        Rule::Get<Spec::GLSL, 400, 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, 0>(&sinh_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_E0BE0B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationAtomicCounterBuffersES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01K20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
        Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00a20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00a20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01G20D00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_10B10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_10B10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00O30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01I20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01E20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_10D10D10D10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_10D10D10D10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01i00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01i00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_00E00E),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00I30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture2DProj_00I30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00I10B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00I10B10B10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00J20B00B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00J20B00B20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00D00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicCompSwap_00D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_10B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00a20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00a20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30D30D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01D20D30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packSnorm2x16_10B),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&packSnorm2x16_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_30B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00R10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00R10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_30B30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_30B30D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_30B00B),
        Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(
            &TableBase::m_gl_TessLevelInnerTCSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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, 310, Shader::ALL, 0>(&textureLod_00k30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00I30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00I30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01X10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01D20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01D20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01D20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01A10D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00R10B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00R10B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00U20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00U20B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01X10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_00B),
        Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DLod_00I10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture2DLod_00I10B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00X20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00X20B10B10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00s30B),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&EndPrimitiveES3_2_),
        Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
            &EndPrimitive_),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&equal_30E30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01R10D00D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicOr_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicOr_00D00D),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00M20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10D10D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_10D10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00V),
        Rule::Get<Spec::GLSL, 150, 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, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01h00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01G20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01G20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_30E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00X20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00U20B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00U20B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_10B10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_10B10B10B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessControlAtomicCounterBuffersES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01h00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01J20D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_20F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&all_20F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01J),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01K),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01H),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01I),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packHalf2x16_10B),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&packHalf2x16_10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00I20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00I20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01C),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01A),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01G),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01L00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01L00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01L00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_30F30F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_30F30F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01h),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01i),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01c20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01c),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01a),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01g),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00S20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00S20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00x30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_30B30B30F),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_30B30B30F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_30B30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_30B30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00Z20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00Z20B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01E20D30E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30D30D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30D30D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryTextureImageUnitsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_10B),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtCentroidExt_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &textureSize_00M00D),
        Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
            &BuiltInVariable::kangle_BaseInstance),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_10F10F10F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10F10F10F),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00U20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00U20B10B10B10D),
        Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_PositionGSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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::GLSL, 0, 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::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, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &textureProj_00M30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00L20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00L20B10B10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01J20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01J20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01J20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01M00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01M00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01Z10D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00S30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00S30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00R20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00R20B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01i00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01i00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_00z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_00z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2D_00M10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01a20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01a20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00K20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00K20B00D),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
            &textureCubeLodEXT_00K20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00T20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00T20B00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01E20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01E20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00X30B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00X30B00B10D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxSamplesES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&texelFetchOffset_00U20D00D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00U20D00D10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_00z10D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01D20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01D20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00d20B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00d20B10B10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01N00D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00d30B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00d30B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20F20F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_20F20F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_10E10E10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_10E10E10E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_20E20E20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_20E20E20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01A10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01C20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMin_00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00X00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00X00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D00D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_20E20E20F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20E20E20F),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R30B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00R30B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00U20B00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_00B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01a20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_00B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01I20D00E00E),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(
            &texture2DRectProj_00O20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01O10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01O10D00D),
        Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_multi_draw)>(
            &BuiltInVariable::kgl_DrawID),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_00B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_00B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20D20D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_20D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01R10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01R10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01F20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_A0B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01i00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01i00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01i00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01I20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &textureProj_00M30B00B),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00M30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00I10B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00I10B10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B20B),
        Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DProjLod_00I20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture2DProjLod_00I20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&yuv_2_rgb_20B00H),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00b10D00D),
        Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00b10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
            &texelFetchExt_00b10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00J30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00J30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00R10B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00R10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01P10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10D10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_30F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&all_30F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01P10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
            &BuiltInVariable::kangle_BaseVertex),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01I20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01I20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01I20D00B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryInputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 320, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00X10B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00X10B10Dx4),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00I10B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00I10B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01S10D00D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01c20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01c20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00U20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00U20B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAnd_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAnd_00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackUnorm2x16_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackUnorm2x16_00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_20B),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&TableBase::m_gl_PerVertexES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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::GLSL, 0, 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::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, 300, Shader::ALL, 0>(&textureGrad_00L20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00L20B10B10B),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_00B),
        Rule::Get<Spec::GLSL, 400, 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::ALL, 0>(
            &TableBase::m_gl_MaxTessEvaluationUniformComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxImageUnits),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxImageUnits),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10D00D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00P10D00D),
        Rule::Get<Spec::GLSL, 150, 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, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01i00D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture_00O10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01M00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01M00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00e30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00e30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01O10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01O10D00D),
        Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01X10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01X10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01E20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01E20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01A10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01Q10D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMax_00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxPatchVerticesES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::ALL, 0>(&floatBitsToUint_10B),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00J20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00J20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00I00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00I00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00R10D00D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00R10D00D10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00X10B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00X10B00B10D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00T20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00T20B00B),
        Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&TableBase::m_gl_outTCSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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, 0, Shader::ALL, 0>(&log_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01K20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01K20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01G20D30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00R20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00R20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B30B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_30B30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_30D30D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_30D30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00I20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00I20B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxDrawBuffers),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxDrawBuffers),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedTextureImageUnits),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedTextureImageUnits),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01K20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_20D20D20D20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_20D20D20D20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_30F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_30F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_30B30B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3D_00J20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_30B30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_20E20E20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_20E20E20E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_30B30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_30B30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_30B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_30B00B00B),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(
            &texture2DRectProj_00O30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00D00D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_00D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00X10D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00X10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00S30B20B20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00S30B20B20B20D),
        Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PointCoord),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PointCoord),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01F20D30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_10B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_10B00B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00S20D00D20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00S20D00D20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_10D10D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_10D10D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00R10B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00R10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00U20B10D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00U20B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00I10B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00V10D00D),
        Rule::Get<Spec::GLSL, 150, 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, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01h00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01h00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01h00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01a20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01a20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_00B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01J20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01J20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01F20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01F20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_00z10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_00z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_00z10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00Y30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00Y30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01c20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01c20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00k00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10F10F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_10F10F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_30B),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&textureVideoWEBGL_00y10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&textureVideoWEBGL_00y10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_10B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_10B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MinProgramTexelOffset),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MinProgramTexelOffset),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_20B10B),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtOffset_20B10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtOffsetExt_20B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01c20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01c20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_30B30B),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtCentroid_30B),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_30B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtCentroidExt_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_30B30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01X10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01X10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrier_),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&memoryBarrier_),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_00B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_00B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackUnorm4x8_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackUnorm4x8_00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00K20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00K20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_20E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00L20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00L20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01K20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_30E30E30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_30E30E30E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00U00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00U00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedImageUniforms),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedImageUniforms),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01g00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01g00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_GlobalInvocationID),
        Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_GlobalInvocationID),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationIndex),
        Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationIndex),
        Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexID),
        Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexID),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01U20D00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicOr_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicOr_00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_10B10B10F),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_10B10B10F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_10B10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00Y30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00Y30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01I20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01I20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00I10B10D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00I10B10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_20E20E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00d20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00d20B00B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_A0B),
        Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&inverse_A0B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00X20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00X20B10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00Y00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00Y00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_00E00E00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_00E00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01M00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01M00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00U20B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01c20D00E00E),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2D_00I10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture2D_00I10B00B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_10B10B10B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_10B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_10B10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01a20D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01b20D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_00E00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_20F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_20F),
        Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureSize_00N00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01h00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01h00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&TableBase::m_gl_SampleMaskES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 310, Shader::ALL, 0>(&textureGrad_00k30B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01A10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00f30B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00f30B10B10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20D20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20D20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10D10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_30B30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_30B30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_00B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_00B00B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_F0BF0B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&matrixCompMult_F0BF0B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_10E10E10E10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_10E10E10E10E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00d20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00d20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounterBuffers),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounterBuffers),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_30E30E30E30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_30E30E30E30E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00Y20B20B20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00Y20B20B20B20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00a20B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00a20B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00f30B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00f30B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01C20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01i00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01i00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01L00D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00y10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00y10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01B10D30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00s30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_00z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_00z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01I20D30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_30B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(
            &texture3DProj_00J30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01K20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01K20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00X30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00X30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00I30B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00I30B10B10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_30B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00S20B20D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00S20B20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_30E30E30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_30E30E30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3DProj_00J30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_B0BB0B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_30B30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cross_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cross_20B20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_10F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&all_10F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_20B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_20B00B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_00B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_00B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01i00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00S20B00B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00S20B00B20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00r00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00X10B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00X10B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30F30F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30F30F),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01E20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01E20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00Z20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00Z20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00Y20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00Y20B20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_60B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_60B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01O10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01O10D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_00B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_00B00B00B),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_NumWorkGroups),
        Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_NumWorkGroups),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01O10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01O10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01b20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01b20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R30B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00R30B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01U20D00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01H20D30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00U20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
            &texelFetchExt_00Q20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00w00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X30B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00X30B10D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentUniformVectors),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentUniformVectors),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtOffset_10B10B),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtOffset_10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtOffsetExt_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01Q10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packSnorm4x8_30B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packSnorm4x8_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D30D30D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30D30D30D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00L20B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00L20B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00L20B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01c20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01G20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01G20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_F0B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_A0B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_A0B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_20B20B),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
            &texture2DProjGradEXT_00I20B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01B10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01G20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01G20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01G20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01g00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01g00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00s30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_20B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxTessControlUniformComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00I20B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10F10F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_10F10F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00d30B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00d30B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01P10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01P10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I30B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00I30B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10D10D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_10D10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01N00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01L00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00k30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00J20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00J20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_10D10D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_10D10D),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00d00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00d00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_10E10E10E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_10E10E10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounterIncrement_00G),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounterIncrement_00G),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01J20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01J20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01S10D00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Y10D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&equal_10E10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Y10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Y10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01O10D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00J30B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00J30B20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01D20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01D20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_10E10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01N00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01N00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01O10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01i00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01i00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00R10B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00R10B00B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00d30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00d30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00a20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00a20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &textureProj_00M20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01A10D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00X30B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00X30B10D00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01H20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01H20D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01H20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01H20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00a20B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00a20B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00s00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00Y20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00Y20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01I20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&texture_00N10B00B),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PrimitiveIDES3_2),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PrimitiveIDES3_2),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDGSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GLSL, 0, 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::GLSL, 0, 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::GEOMETRY_EXT, EXT_INDEX(EXT_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, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01Y10D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I30B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00I30B10B10B),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_LayerES3_2),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_LayerES3_2),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_LayerGSES3_2),
        Rule::Get<Spec::GLSL, 0, 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::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
            &BuiltInVariable::kgl_LayerGS),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00d20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00d20B10D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_30B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_30B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_30B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx400D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00U20B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00U20B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01V20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01V20D00D00E),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>(
            &BuiltInVariable::kgl_LastFragColor),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20E20E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01U20D00D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00l30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_10B),
        Rule::Get<Spec::GLSL, 0, 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>(&dFdy_00B),
        Rule::Get<Spec::GLSL, 0, 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::ALL, 0>(&lessThan_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_30E30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_30D30D30D30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_30D30D30D30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_70B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_70B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_00D00D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_00D00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01F20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01F20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00S20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00S20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00Y20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00Y20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01c20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01c20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01c20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01P10D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_00E),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01L00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01L00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01b),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00Z20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00Z20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01N00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_D0BD0B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, EXT_INDEX(APPLE_clip_distance)>(
            &TableBase::m_gl_MaxClipDistancesAPPLE),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01g00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01g00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_30B30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_20E20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierAtomicCounter_),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierAtomicCounter_),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_00E00E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_00E00E00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessControlInputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01a20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01a20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00d20B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00d20B10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_30D30D30F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_30D30D30F),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01g00D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00I20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00I20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&rgb_2_yuv_20B00H),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00T20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00T20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01D20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01D20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01B10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01X10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01X10D00E),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_SampleIDES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 0, Shader::ALL, 0>(&greaterThanEqual_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_10B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10D10D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10D10D10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &texelFetch_00M10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_F0B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_F0B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00Y20B20D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00Y20B20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30E30E30E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00R00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00R00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_F0B),
        Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&inverse_F0B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01b20D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxTessPatchComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 300, Shader::FRAGMENT, 0>(&textureOffset_00L20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00L20B10D00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00J30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00J30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_90B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_90B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAnd_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAnd_00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00I10D00D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00I10D00D10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01i00D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01K20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01J20D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounter_00G),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounter_00G),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_30D30D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_30D30D00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_10D10D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_10D10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_10E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_10E00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_20D20D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_20D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01H20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01H20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_00B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00T20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00T20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00R30B10B10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00R30B10B10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_10B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00X20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00X20B10D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00X30B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00X30B10B10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01i00D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_A0BA0B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&matrixCompMult_A0BA0B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00S20B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00S20B20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00x30B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01D20D00E00E),
        Rule::Get<Spec::ESSL, 320, Shader::FRAGMENT, 0>(&interpolateAtSample_00B00D),
        Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_00B00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_shader_multisample_interpolation)>(
            &interpolateAtSampleExt_00B00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_20B),
        Rule::Get<Spec::GLSL, 0, 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::ALL, 0>(&texture_00L20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00L20B),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&barrier_),
        Rule::Get<Spec::GLSL, 400, Shader::COMPUTE, 0>(&barrier_),
        Rule::Get<Spec::ESSL, 320, Shader::TESS_CONTROL_EXT, 0>(&barrierES3_2_),
        Rule::Get<Spec::ESSL, 310, Shader::TESS_CONTROL_EXT, EXT_INDEX(EXT_tessellation_shader)>(
            &barrier_),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01N00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01N00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00k30B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00S30B20D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00S30B20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01D20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01D20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackSnorm4x8_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackSnorm4x8_00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01C20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01C20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01C20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00l30B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_20B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_00B),
        Rule::Get<Spec::GLSL, 0, 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>(&dFdy_10B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdy_10B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01P10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01P10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00d20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00d20B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01c20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01c20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_10B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_10E),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_20D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01M00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01M00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01E20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01E20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01I20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationID),
        Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationID),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_clip_cull_distance)>(
            &TableBase::m_gl_MaxCombinedClipAndCullDistancesEXT),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_00B00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_00B00B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00d10B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxGeometryAtomicCounterBuffersES3_2),
        Rule::Get<Spec::GLSL, 0, 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_shader_image_atomic)>(
            &imageAtomicXorExt_01B10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01B10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B10B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_20B10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00e30B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00e30B20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00J00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00J00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01K20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01K20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01Q10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01Q10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01b20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B00B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
            &texture2DLodEXT_00I10B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00K20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00K20B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00J20B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00J20B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01V20D00D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00U20B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00U20B10D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_10D),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00Y30B00B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00Y30B00B20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01h00D00E),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3D_00J20B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>(
            &TableBase::m_gl_SecondaryFragDataEXT),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01O10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01O10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01Z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01Z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00X10B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00X10B00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01L00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01L00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01G20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01G20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00a20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00a20B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30E30E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30E30E),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2DProj_00I30B00B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture2DProj_00I30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01I20D00E),
        Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
            &textureCubeGradEXT_00K20B20B20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_00B00B),
        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, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupID),
        Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupID),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01J20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMaxExt_01J20D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00R10B10Dx4),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00R10B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00R10B10Dx4),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00D00D),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicExchange_00D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryAtomicCountersES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 0>(&frexp_10B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01a20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01a20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01a20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_60B60B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_00z10D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackSnorm2x16_00E),
        Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&unpackSnorm2x16_00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_30D30D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_30D30D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_00B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01G20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_30B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01c20D30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01H20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01H20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01C20D00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureLod_00x30B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00j),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
            &textureSizeExt_00c),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00b),
        Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00b),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
            &textureSizeExt_00b),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00r),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00w),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20E20E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_20E20E00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01g00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01g00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
            &textureSizeExt_00Q),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00P),
        Rule::Get<Spec::GLSL, 150, 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, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01M00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01M00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
            &textureSizeExt_00W),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00X20B00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00X20B00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_30B30B30B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_30B30B30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00X10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00X10B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_00B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_00B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01C20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01C20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGrad_00s30B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00I10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01C20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30D30D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30D30D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01Z10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_30E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_30E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_30D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_30D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_30B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&fwidth_30B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(
            &fwidthExt_30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00K20B20B20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00K20B20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00S20D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00S20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_10B00B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_10B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R30B10B10B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00R30B10B10B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00L20D00D10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00L20D00D10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_50B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_50B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_20D20D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_20D20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_00B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_00B),
        Rule::Get<Spec::ESSL, 320, Shader::GEOMETRY_EXT, 0>(&BuiltInVariable::kgl_PrimitiveIDInES3_2),
        Rule::Get<Spec::GLSL, 0, 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::ALL, 0>(&textureGather_00Z20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00Z20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_20B20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20D20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01g00D00E00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01W20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicMinExt_01W20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01O10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01O10D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_20B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00l00D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00I10B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00I10B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_00z10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_00z10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01W20D00D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBufferSize),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBufferSize),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00J20B20D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00J20B20D00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_20E20E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThanEqual_20E20E),
        Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
            &BuiltInVariable::kgl_BaseVertex),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(
            &TableBase::m_gl_MaxGeometryTotalOutputComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 0>(&bitfieldInsert_30E30E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_30E30E00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_20E00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_20E00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_20E),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_20E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01K20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01K20D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_10B10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_10B10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01K20D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01B10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexImageUniforms),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexImageUniforms),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20D20D),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_20D20D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&mix_10E10E10F),
        Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10E10E10F),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00R10B00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00R10B00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00Z00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00Z00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_30D00D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_30D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01J20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01J20D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_00D),
        Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00d10B00B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00d10B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01T10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01T10D00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_10B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_30D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_30D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_D0B),
        Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_D0B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01E20D),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N20B00B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&TableBase::m_gl_FragData),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&TableBase::m_gl_FragData),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20E00E00E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20E00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00d30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00d30B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexOutputVectors),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexOutputVectors),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01i00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01i00D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01G20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAndExt_01G20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_00E00E00E00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_00E00E00E00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAttribs),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAttribs),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00a20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00a20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01g00D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01B10D00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_10B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01B10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01g00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicExchangeExt_01g00D00E),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texture_00k30B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00K20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00K20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01C20D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00I10B10Dx400D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00I10B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00I10B10Dx400D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_30F),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_30F),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00K20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00K20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00R10B10D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00R10B10D),
        Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&memoryBarrierShared_),
        Rule::Get<Spec::GLSL, 430, Shader::COMPUTE, 0>(&memoryBarrierShared_),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_20B20B20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_20B20B20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
            &texelFetchExt_00W20D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_20B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B),
        Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_10B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01U20D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01U20D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01B10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01B10D00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_20B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00X10B10D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10E10E),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10E10E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierImage_),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierImage_),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_10B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&fma_00B00B00B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_00B00B00B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(&fmaExt_00B00B00B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00L20B00B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00L20B00B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01b20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01b20D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00E00E),
        Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMax_00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R30B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00R30B10D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00X30B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00X30B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00E),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_00E),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01X10D00D00D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30D00D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicCompSwapExt_01K20D00E00E),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
            &texture_00M10B00B),
        Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_20B),
        Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&fwidth_20B),
        Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(
            &fwidthExt_20B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01S10D00D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01S10D00D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01A10D00D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicAddExt_01A10D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01H20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicOrExt_01H20D00D),
        Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_20B),
        Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_20B),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&TableBase::m_gl_MaxGeometryUniformComponentsES3_2),
        Rule::Get<Spec::GLSL, 0, 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, 0>(&textureGather_00T20B),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00T20B),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00J30B20B20B20D),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00J30B20B20B20D),
        Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_10B),
        Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_10B),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01E20D00E),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_shader_image_atomic)>(
            &imageAtomicXorExt_01E20D00D),
        Rule::Get<Spec::ESSL, 320, Shader::ALL, 0>(&textureGatherOffsets_00R10B10Dx400D),
        Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00R10B10Dx400D),
        Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_gpu_shader5)>(
            &textureGatherOffsetsExt_00R10B10Dx400D)};
    
    // Flat array of all mangled names.
    constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
                                             "interpolateAtOffset(30B10B",
                                             "imageAtomicOr(00z10D00E",
                                             "imageAtomicOr(00z10D00D",
                                             "texture2DProj(00I20B",
                                             "gl_MaxAtomicCounterBindings",
                                             "imageLoad(01g00D",
                                             "imageLoad(01I20D",
                                             "tanh(30B",
                                             "imageAtomicCompSwap(01E20D00D00D",
                                             "imageAtomicCompSwap(01W20D00D00E00E",
                                             "not(10F",
                                             "textureGatherOffset(00L20B10D",
                                             "lessThanEqual(30B30B",
                                             "imageAtomicAdd(00z10D00E",
                                             "outerProduct(20B30B",
                                             "mix(20B20B00B",
                                             "uintBitsToFloat(30E",
                                             "imageAtomicExchange(01R10D00D00B",
                                             "textureSize(00K00D",
                                             "gl_MaxGeometryOutputVertices",
                                             "greaterThanEqual(10E10E",
                                             "texture(00d20B",
                                             "atan(10B10B",
                                             "clamp(30B30B30B",
                                             "imageAtomicCompSwap(01a20D00E00E",
                                             "imageAtomicCompSwap(01R10D00D00D00D",
                                             "textureLodOffset(00a20B00B10D",
                                             "greaterThanEqual(20B20B",
                                             "imageLoad(01F20D",
                                             "imageAtomicCompSwap(01b20D00D00D",
                                             "imageAtomicAnd(01A10D00D",
                                             "imageAtomicAnd(01A10D00E",
                                             "atomicAdd(00D00D",
                                             "bitfieldExtract(10D00D00D",
                                             "mix(20D20D20F",
                                             "imageAtomicMin(01Y10D00E",
                                             "imageAtomicMin(01Y10D00D",
                                             "gl_MaxTessEvaluationTextureImageUnits",
                                             "texture(00R10B",
                                             "imageAtomicCompSwap(01D20D00D00D",
                                             "imageAtomicMax(01S10D00D00D",
                                             "imageAtomicMax(01S10D00D00E",
                                             "inversesqrt(00B",
                                             "texelFetchOffset(00J20D00D20D",
                                             "textureProjGrad(00S30B20B20B",
                                             "equal(10D10D",
                                             "max(30D00D",
                                             "groupMemoryBarrier(",
                                             "imageAtomicExchange(01b20D00B",
                                             "imageAtomicExchange(01b20D00E",
                                             "imageAtomicExchange(01b20D00D",
                                             "intBitsToFloat(30D",
                                             "texelFetch(00I10D00D",
                                             "transpose(E0B",
                                             "imageAtomicMin(01R10D00D00E",
                                             "imageAtomicMin(01R10D00D00D",
                                             "textureProjOffset(00Y30B20D00B",
                                             "imageStore(01C20D30B",
                                             "modf(10B10B",
                                             "determinant(50B",
                                             "imageAtomicCompSwap(01J20D00E00E",
                                             "normalize(30B",
                                             "lessThan(20B20B",
                                             "imageStore(01K20D30E",
                                             "gl_MaxFragmentInputVectors",
                                             "texture(00f30B",
                                             "sign(20B",
                                             "sign(20D",
                                             "outerProduct(30B10B",
                                             "imageAtomicAnd(01V20D00D00E",
                                             "imageAtomicAnd(01V20D00D00D",
                                             "imageAtomicXor(01Y10D00D",
                                             "imageAtomicXor(01Y10D00E",
                                             "bitfieldReverse(10E",
                                             "textureOffset(00d20B10D00B",
                                             "bitfieldReverse(10D",
                                             "lessThan(10E10E",
                                             "imageAtomicCompSwap(01A10D00D00D",
                                             "imageAtomicAdd(00z10D00D",
                                             "textureProj(00N30B00B",
                                             "gl_MaxCombinedShaderOutputResources",
                                             "imageAtomicCompSwap(01T10D00D00D00D",
                                             "texture(00I10B00B",
                                             "imageAtomicMin(01C20D00E",
                                             "lessThan(20D20D",
                                             "reflect(10B10B",
                                             "imageAtomicAdd(01S10D00D00E",
                                             "isinf(30B",
                                             "textureGatherOffset(00a20B10D00D",
                                             "textureGatherOffset(00I10B10D",
                                             "textureOffset(00L20B10D",
                                             "lessThanEqual(30E30E",
                                             "min(10E00E",
                                             "imageAtomicXor(01a20D00E",
                                             "imageAtomicXor(01a20D00D",
                                             "textureProjOffset(00S30B20D",
                                             "round(00B",
                                             "gl_LastFragData",
                                             "greaterThan(30D30D",
                                             "texture(00U20B",
                                             "texture2DRect(00O10B",
                                             "step(20B20B",
                                             "findMSB(10E",
                                             "findMSB(10D",
                                             "interpolateAtOffset(00B10B",
                                             "gl_MaxTessGenLevel",
                                             "gl_SampleMaskIn",
                                             "textureProj(00R20B00B",
                                             "imageStore(00z10D30B",
                                             "textureGatherOffsets(00X10B10Dx400D",
                                             "outerProduct(10B20B",
                                             "imageAtomicMax(01Z10D00E",
                                             "cos(30B",
                                             "unpackHalf2x16(00E",
                                             "gl_MaxComputeTextureImageUnits",
                                             "imageAtomicMax(01Y10D00E",
                                             "imageAtomicMax(01Y10D00D",
                                             "sin(30B",
                                             "textureGather(00L20B00D",
                                             "imageStore(01i00D30E",
                                             "imageStore(01A10D30D",
                                             "imageAtomicXor(01H20D00D",
                                             "imageAtomicXor(01H20D00E",
                                             "max(10E10E",
                                             "max(20E20E",
                                             "clamp(10E10E10E",
                                             "texture(00N10B",
                                             "matrixCompMult(70B70B",
                                             "imageAtomicOr(01E20D00D",
                                             "imageAtomicOr(01E20D00E",
                                             "texelFetchOffset(00a20D00D10D",
                                             "gl_PatchVerticesIn",
                                             "not(20F",
                                             "imageAtomicExchange(01F20D00D",
                                             "imageAtomicExchange(01F20D00B",
                                             "outerProduct(20B20B",
                                             "textureProjLodOffset(00R20B00B10D",
                                             "textureProjGrad(00J30B20B20B",
                                             "imageAtomicOr(01R10D00D00E",
                                             "imageAtomicOr(01R10D00D00D",
                                             "imageLoad(01K20D",
                                             "textureGatherOffsets(00d10B00B10Dx4",
                                             "gl_InvocationID",
                                             "textureGatherOffsets(00L20B10Dx400D",
                                             "imageAtomicAnd(01R10D00D00D",
                                             "imageAtomicAnd(01R10D00D00E",
                                             "radians(10B",
                                             "textureGather(00e20B00B",
                                             "distance(10B10B",
                                             "textureGrad(00Z20B20B20B",
                                             "sign(00B",
                                             "imageAtomicOr(01D20D00E",
                                             "imageAtomicOr(01D20D00D",
                                             "bitfieldExtract(30E00D00D",
                                             "textureLod(00I10B00B",
                                             "greaterThanEqual(10D10D",
                                             "degrees(30B",
                                             "inversesqrt(30B",
                                             "imageAtomicAnd(01K20D00D",
                                             "imageAtomicMin(01I20D00D",
                                             "frexp(20B20D",
                                             "intBitsToFloat(20D",
                                             "exp(20B",
                                             "imageAtomicMax(01A10D00E",
                                             "imageAtomicMax(01A10D00D",
                                             "acosh(00B",
                                             "log(10B",
                                             "textureProjLodOffset(00S30B00B20D",
                                             "textureGather(00L20B",
                                             "outerProduct(30B20B",
                                             "texture(00S20B",
                                             "atomicXor(00D00D",
                                             "texelFetch(00Y20D00D",
                                             "imageAtomicOr(01P10D00D",
                                             "imageAtomicOr(01P10D00E",
                                             "sign(30B",
                                             "sign(30D",
                                             "texture(00Y20B00B",
                                             "gl_MaxTessEvaluationInputComponents",
                                             "dFdy(20B",
                                             "textureProj(00Y30B",
                                             "textureOffset(00X10B10D00B",
                                             "memoryBarrierBuffer(",
                                             "isinf(00B",
                                             "clamp(20D00D00D",
                                             "texture2DProj(00I20B00B",
                                             "mod(30B00B",
                                             "textureGather(00x30B00D",
                                             "textureGather(00f20B00B",
                                             "greaterThan(20E20E",
                                             "gl_MaxTessEvaluationAtomicCounters",
                                             "textureProjLod(00I30B00B",
                                             "refract(00B00B00B",
                                             "gl_MaxGeometryImageUniforms",
                                             "imageAtomicMin(01X10D00D",
                                             "imageAtomicMin(01X10D00E",
                                             "textureSize(00e00D",
                                             "texelFetch(00a20D00D",
                                             "frexp(30B30D",
                                             "degrees(20B",
                                             "imageAtomicCompSwap(01X10D00E00E",
                                             "texture(00I10B",
                                             "gl_InstanceID",
                                             "normalize(20B",
                                             "imageAtomicCompSwap(01H20D00D00D",
                                             "interpolateAtCentroid(20B",
                                             "atan(00B",
                                             "textureGatherOffset(00R10B10D00D",
                                             "imageAtomicMin(01h00D00E",
                                             "imageAtomicMin(01h00D00D",
                                             "greaterThan(30E30E",
                                             "imageAtomicAdd(01N00D00D",
                                             "imageAtomicAdd(01N00D00E",
                                             "imageAtomicAnd(01J20D00D",
                                             "imageAtomicAnd(01J20D00E",
                                             "gl_DepthRange",
                                             "imageAtomicAdd(01I20D00E",
                                             "imageAtomicAdd(01I20D00D",
                                             "texture(00L20B00B",
                                             "imageAtomicOr(01L00D00E",
                                             "imageAtomicOr(01L00D00D",
                                             "imageAtomicXor(01L00D00D",
                                             "gl_MaxComputeUniformComponents",
                                             "imageLoad(01h00D",
                                             "imageAtomicCompSwap(01E20D00E00E",
                                             "imageAtomicAdd(01X10D00E",
                                             "imageAtomicAdd(01X10D00D",
                                             "imageAtomicMax(01R10D00D00E",
                                             "imageAtomicMax(01R10D00D00D",
                                             "imageLoad(01J20D",
                                             "interpolateAtSample(10B00D",
                                             "imageAtomicMin(01F20D00E",
                                             "imageAtomicMin(01F20D00D",
                                             "outerProduct(10B30B",
                                             "texture(00k30B",
                                             "imageAtomicCompSwap(01O10D00E00E",
                                             "imageAtomicXor(01F20D00D",
                                             "imageAtomicXor(01F20D00E",
                                             "imageAtomicAnd(01a20D00E",
                                             "imageAtomicAnd(01a20D00D",
                                             "textureOffset(00a20B10D00B",
                                             "imageAtomicCompSwap(01b20D00E00E",
                                             "textureGather(00X10B",
                                             "textureOffset(00R10B10D00B",
                                             "textureGatherOffset(00d10B00B10D",
                                             "gl_MaxFragmentImageUniforms",
                                             "gl_MaxTessControlTextureImageUnits",
                                             "equal(20E20E",
                                             "uaddCarry(00E00E00E",
                                             "textureCube(00K20B",
                                             "imageAtomicMax(01U20D00D00E",
                                             "imageAtomicMax(01U20D00D00D",
                                             "matrixCompMult(90B90B",
                                             "textureGatherOffsets(00I10B10Dx4",
                                             "clamp(30E00E00E",
                                             "asin(00B",
                                             "textureProjOffset(00J30B20D00B",
                                             "clamp(10E00E00E",
                                             "notEqual(30E30E",
                                             "imageAtomicOr(01K20D00D",
                                             "imageAtomicOr(01K20D00E",
                                             "lessThanEqual(10E10E",
                                             "inversesqrt(20B",
                                             "atomicAdd(00E00E",
                                             "textureProj(00R30B",
                                             "textureGrad(00X10B10B10B",
                                             "greaterThanEqual(30E30E",
                                             "mix(20B20B20F",
                                             "imageAtomicExchange(01T10D00D00E",
                                             "imageAtomicExchange(01T10D00D00D",
                                             "gl_MaxVertexAtomicCounters",
                                             "mix(20B20B20B",
                                             "any(10F",
                                             "textureProjGradOffset(00d30B10B10B10D",
                                             "textureProjOffset(00I30B10D",
                                             "textureOffset(00X10B10D",
                                             "imageAtomicXor(01R10D00D00D",
                                             "imageAtomicXor(01R10D00D00E",
                                             "radians(00B",
                                             "textureGatherOffsets(00f20B00B10Dx4",
                                             "step(10B10B",
                                             "gl_MaxDualSourceDrawBuffersEXT",
                                             "imageAtomicAdd(01Y10D00D",
                                             "imageAtomicAdd(01Y10D00E",
                                             "imageAtomicAnd(01C20D00E",
                                             "imageAtomicAnd(01C20D00D",
                                             "imageStore(01g00D30B",
                                             "atomicXor(00E00E",
                                             "imageAtomicCompSwap(01P10D00E00E",
                                             "greaterThan(30B30B",
                                             "gl_MaxFragmentAtomicCounters",
                                             "faceforward(20B20B20B",
                                             "textureSize(00x00D",
                                             "textureProj(00S30B00B",
                                             "fma(20B20B20B",
                                             "imageAtomicMin(01J20D00E",
                                             "imageAtomicMin(01J20D00D",
                                             "exp(30B",
                                             "bitCount(10E",
                                             "bitCount(10D",
                                             "log(00B",
                                             "mix(00F00F00F",
                                             "imageAtomicCompSwap(01M00D00D00D",
                                             "texture2DProjLodEXT(00I30B00B",
                                             "acosh(30B",
                                             "imageAtomicOr(01Y10D00E",
                                             "imageAtomicOr(01Y10D00D",
                                             "textureGradOffset(00X10B10B10B10D",
                                             "texelFetchOffset(00X10D00D10D",
                                             "packUnorm2x16(10B",
                                             "umulExtended(20E20E20E20E",
                                             "imageAtomicAnd(01b20D00E",
                                             "imageAtomicCompSwap(01T10D00D00E00E",
                                             "textureCubeLod(00K20B00B",
                                             "textureSize(00L00D",
                                             "imageAtomicXor(01L00D00E",
                                             "max(20E00E",
                                             "textureProj(00S30B",
                                             "dFdy(30B",
                                             "isinf(10B",
                                             "gl_MaxVertexTextureImageUnits",
                                             "greaterThanEqual(30B30B",
                                             "texture2DProjLodEXT(00I20B00B",
                                             "gl_FrontFacing",
                                             "acos(10B",
                                             "textureCube(00K20B00B",
                                             "lessThan(10B10B",
                                             "imageAtomicCompSwap(01B10D00E00E",
                                             "gl_MaxComputeAtomicCounterBuffers",
                                             "textureSize(00f00D",
                                             "imageAtomicAnd(01g00D00E",
                                             "imageAtomicAnd(01g00D00D",
                                             "gl_LastFragColorARM",
                                             "gl_MaxTessControlTotalOutputComponents",
                                             "lessThanEqual(20D20D",
                                             "imageAtomicCompSwap(01h00D00E00E",
                                             "imageAtomicAdd(01B10D00E",
                                             "imageAtomicAdd(01B10D00D",
                                             "gl_MaxTessEvaluationOutputComponents",
                                             "gl_SecondaryFragColorEXT",
                                             "imageAtomicAnd(01U20D00D00D",
                                             "imageAtomicAnd(01U20D00D00E",
                                             "gl_BaseInstance",
                                             "imageAtomicXor(01b20D00D",
                                             "imageAtomicXor(01b20D00E",
                                             "mix(20F20F20F",
                                             "smoothstep(00B00B30B",
                                             "imageAtomicExchange(01M00D00B",
                                             "imageAtomicExchange(01M00D00D",
                                             "imageAtomicExchange(01M00D00E",
                                             "imageAtomicCompSwap(01F20D00E00E",
                                             "texelFetch(00N10D00D",
                                             "textureSize(00a00D",
                                             "textureProjOffset(00Y30B20D",
                                             "atan(30B",
                                             "imageAtomicMax(01b20D00E",
                                             "imageAtomicMax(01b20D00D",
                                             "ceil(10B",
                                             "texture(00M10B",
                                             "imageAtomicExchange(01S10D00D00B",
                                             "atomicCounterDecrement(00G",
                                             "refract(20B20B00B",
                                             "imageAtomicAnd(01Q10D00D",
                                             "imageAtomicAnd(01Q10D00E",
                                             "imageAtomicAnd(01c20D00E",
                                             "imageAtomicAnd(01c20D00D",
                                             "texelFetch(00R10D00D",
                                             "cosh(20B",
                                             "smoothstep(30B30B30B",
                                             "imageAtomicExchange(01T10D00D00B",
                                             "textureGrad(00R10B10B10B",
                                             "min(00D00D",
                                             "shadow2DProjEXT(00d30B",
                                             "imageAtomicAdd(01V20D00D00E",
                                             "imageAtomicAdd(01V20D00D00D",
                                             "greaterThanEqual(30D30D",
                                             "imageLoad(01D20D",
                                             "findLSB(10E",
                                             "texture(00Z20B00B",
                                             "imageAtomicXor(01S10D00D00E",
                                             "imageAtomicXor(01S10D00D00D",
                                             "cos(10B",
                                             "texture(00e30B",
                                             "textureSize(00T00D",
                                             "textureProjGradOffset(00Y30B20B20B20D",
                                             "textureGrad(00T20B20B20B",
                                             "textureProjOffset(00d30B10D00B",
                                             "imageAtomicMin(01B10D00D",
                                             "imageAtomicMin(01B10D00E",
                                             "imageAtomicXor(01U20D00D00D",
                                             "imageAtomicXor(01U20D00D00E",
                                             "imageAtomicAdd(01h00D00D",
                                             "imageAtomicAdd(01h00D00E",
                                             "matrixCompMult(50B50B",
                                             "equal(30B30B",
                                             "imageAtomicExchange(01E20D00B",
                                             "textureLod(00U20B00B",
                                             "imageAtomicExchange(01E20D00D",
                                             "imageAtomicXor(01I20D00D",
                                             "texture2DProjLod(00I30B00B",
                                             "max(10B10B",
                                             "gl_PointSize",
                                             "asin(10B",
                                             "imageAtomicAdd(01g00D00E",
                                             "imageAtomicAdd(01g00D00D",
                                             "textureOffset(00S20B20D",
                                             "textureProj(00R20B",
                                             "greaterThan(10E10E",
                                             "imageAtomicAnd(01M00D00E",
                                             "imageAtomicAnd(01M00D00D",
                                             "EmitVertex(",
                                             "smoothstep(20B20B20B",
                                             "textureOffset(00J20B20D",
                                             "texelFetch(00J20D00D",
                                             "imageAtomicExchange(01V20D00D00E",
                                             "imageAtomicExchange(01V20D00D00B",
                                             "imageAtomicCompSwap(01Y10D00E00E",
                                             "gl_ViewID_OVR",
                                             "radians(30B",
                                             "imageAtomicMin(01H20D00E",
                                             "imageAtomicMin(01H20D00D",
                                             "textureProjGrad(00X30B10B10B",
                                             "imageAtomicXor(00z10D00D",
                                             "imageAtomicXor(00z10D00E",
                                             "texture3DLod(00J20B00B",
                                             "packUnorm4x8(30B",
                                             "gl_MaxComputeImageUniforms",
                                             "textureLod(00L20B00B",
                                             "imageAtomicExchange(01A10D00B",
                                             "imageAtomicCompSwap(01V20D00D00D00D",
                                             "imageAtomicExchange(01A10D00E",
                                             "imageAtomicExchange(01A10D00D",
                                             "transpose(B0B",
                                             "clamp(00E00E00E",
                                             "ldexp(00B00D",
                                             "bitfieldInsert(00D00D00D00D",
                                             "textureProjGrad(00Y30B20B20B",
                                             "imageAtomicAdd(01W20D00D00E",
                                             "roundEven(30B",
                                             "acosh(20B",
                                             "atanh(10B",
                                             "clamp(10B10B10B",
                                             "textureGatherOffset(00L20B10D00D",
                                             "bitCount(00D",
                                             "bitCount(00E",
                                             "gl_SamplePosition",
                                             "floatBitsToInt(30B",
                                             "max(20B00B",
                                             "texelFetchOffset(00Y20D00D20D",
                                             "atomicExchange(00E00E",
                                             "imageAtomicXor(01h00D00D",
                                             "imageAtomicXor(01h00D00E",
                                             "texture(00x30B00B",
                                             "lessThanEqual(20B20B",
                                             "min(10B00B",
                                             "imageAtomicAnd(01L00D00D",
                                             "imageAtomicAnd(01L00D00E",
                                             "mix(30F30F30F",
                                             "imageAtomicMax(01T10D00D00E",
                                             "imageAtomicMax(01T10D00D00D",
                                             "abs(20D",
                                             "abs(20B",
                                             "lessThanEqual(10B10B",
                                             "imageAtomicOr(01a20D00D",
                                             "imageAtomicOr(01a20D00E",
                                             "mix(00B00B00F",
                                             "textureGather(00s30B00D",
                                             "textureProj(00I20B",
                                             "gl_MaxVertexAtomicCounterBuffers",
                                             "acos(00B",
                                             "textureGradOffset(00J20B20B20B20D",
                                             "texture2DGradEXT(00I10B10B10B",
                                             "imageAtomicCompSwap(01G20D00D00D",
                                             "imageAtomicAnd(01I20D00D",
                                             "texture2DProjGradEXT(00I30B10B10B",
                                             "fma(30B30B30B",
                                             "imageAtomicAdd(01L00D00D",
                                             "imageAtomicAdd(01L00D00E",
                                             "gl_MaxComputeWorkGroupCount",
                                             "imageLoad(01i00D",
                                             "mix(30E30E30F",
                                             "gl_FragColor",
                                             "imageAtomicMin(01G20D00D",
                                             "imageAtomicMin(01G20D00E",
                                             "imageAtomicExchange(01S10D00D00D",
                                             "atan(20B",
                                             "interpolateAtSample(30B00D",
                                             "imageAtomicExchange(01S10D00D00E",
                                             "min(10B10B",
                                             "pow(10B10B",
                                             "imageAtomicXor(01P10D00E",
                                             "imageAtomicXor(01P10D00D",
                                             "texture(00X10B00B",
                                             "frexp(00B00D",
                                             "gl_MaxTessControlOutputComponents",
                                             "texture2D(00I10B",
                                             "ceil(20B",
                                             "imageAtomicMin(01b20D00E",
                                             "imageAtomicMin(01b20D00D",
                                             "imageAtomicMax(01P10D00D",
                                             "imageAtomicMax(01P10D00E",
                                             "imageAtomicExchange(01P10D00B",
                                             "textureProjOffset(00R20B10D",
                                             "textureOffset(00I10B10D",
                                             "min(20B00B",
                                             "reflect(00B00B",
                                             "sqrt(10B",
                                             "clamp(20E20E20E",
                                             "imageAtomicOr(01G20D00D",
                                             "imageAtomicOr(01G20D00E",
                                             "imageAtomicMin(01C20D00D",
                                             "texelFetch(00j00D",
                                             "gl_TessCoord",
                                             "imageStore(01a20D30B",
                                             "textureProjLod(00d30B00B",
                                             "imageLoad(01H20D",
                                             "textureProjGradOffset(00I20B10B10B10D",
                                             "interpolateAtSample(20B00D",
                                             "refract(10B10B00B",
                                             "imageAtomicMax(01h00D00D",
                                             "imageAtomicExchange(01X10D00D",
                                             "imageAtomicExchange(01X10D00E",
                                             "imageAtomicExchange(01X10D00B",
                                             "imageAtomicExchange(01Q10D00B",
                                             "imageAtomicExchange(01Q10D00E",
                                             "imageAtomicExchange(01Q10D00D",
                                             "clamp(20D20D20D",
                                             "sinh(30B",
                                             "imageAtomicMin(01N00D00E",
                                             "imageAtomicMin(01N00D00D",
                                             "textureGradOffset(00R10B10B10B10D",
                                             "asinh(20B",
                                             "imageAtomicCompSwap(01I20D00D00D",
                                             "textureProj(00O20B",
                                             "imageAtomicCompSwap(01M00D00E00E",
                                             "inverse(50B",
                                             "dot(10B10B",
                                             "gl_TessLevelOuter",
                                             "radians(20B",
                                             "atomicCompSwap(00E00E00E",
                                             "textureGrad(00Y20B20B20B",
                                             "imageAtomicCompSwap(01Z10D00D00D",
                                             "gl_MaxVertexUniformVectors",
                                             "imageAtomicExchange(01W20D00D00B",
                                             "outerProduct(10B10B",
                                             "imageAtomicExchange(01W20D00D00E",
                                             "imageAtomicExchange(01W20D00D00D",
                                             "textureProj(00X20B",
                                             "imageAtomicOr(01W20D00D00E",
                                             "imageAtomicOr(01W20D00D00D",
                                             "greaterThanEqual(20E20E",
                                             "gl_NumSamples",
                                             "textureProj(00M20B",
                                             "texture3DProjLod(00J30B00B",
                                             "imageAtomicAdd(01Z10D00E",
                                             "imageAtomicAdd(01Z10D00D",
                                             "mix(10D10D10F",
                                             "floatBitsToUint(20B",
                                             "log(20B",
                                             "imageAtomicMax(01D20D00E",
                                             "imageAtomicMax(01D20D00D",
                                             "modf(30B30B",
                                             "roundEven(20B",
                                             "atanh(00B",
                                             "textureProj(00J30B",
                                             "imageAtomicOr(01F20D00E",
                                             "imageAtomicOr(01F20D00D",
                                             "floatBitsToInt(20B",
                                             "texelFetch(00U20D00D",
                                             "max(00D00D",
                                             "atomicMin(00E00E",
                                             "shadow2DEXT(00d20B",
                                             "textureGatherOffsets(00a20B10Dx4",
                                             "max(30B30B",
                                             "gl_MaxCullDistances",
                                             "imageAtomicCompSwap(01F20D00D00D",
                                             "abs(10D",
                                             "abs(10B",
                                             "gl_FragDepthEXT",
                                             "ldexp(20B20D",
                                             "gl_ClipDistance",
                                             "imageAtomicCompSwap(01c20D00D00D",
                                             "imageAtomicMin(01T10D00D00E",
                                             "imageAtomicMin(01T10D00D00D",
                                             "equal(20B20B",
                                             "textureProjLodOffset(00X20B00B10D",
                                             "gl_MaxTessEvaluationImageUniforms",
                                             "texture(00U20B00B",
                                             "textureProj(00I30B",
                                             "mix(00E00E00F",
                                             "imageAtomicCompSwap(01h00D00D00D",
                                             "mix(00D00D00F",
                                             "textureGradOffset(00a20B10B10B10D",
                                             "notEqual(20F20F",
                                             "textureLod(00s30B00B",
                                             "imageAtomicOr(01C20D00D",
                                             "imageAtomicOr(01C20D00E",
                                             "textureSize(00S00D",
                                             "notEqual(30B30B",
                                             "textureGatherOffset(00f20B00B10D",
                                             "imageAtomicAnd(01N00D00D",
                                             "imageAtomicAnd(01N00D00E",
                                             "imageSize(00z",
                                             "textureGrad(00a20B10B10B",
                                             "texture(00J20B00B",
                                             "ceil(30B",
                                             "gl_MaxGeometryOutputComponents",
                                             "gl_MaxTessControlAtomicCounters",
                                             "log2(30B",
                                             "gl_MaxTessControlImageUniforms",
                                             "textureProjGrad(00d30B10B10B",
                                             "fract(30B",
                                             "max(30E30E",
                                             "gl_MaxFragmentAtomicCounterBuffers",
                                             "gl_in",
                                             "textureProjLodOffset(00J30B00B20D",
                                             "imageAtomicExchange(01O10D00B",
                                             "imageAtomicMax(01H20D00E",
                                             "imageAtomicMax(01H20D00D",
                                             "imageStore(01h00D30D",
                                             "imageAtomicExchange(01O10D00D",
                                             "texelFetch(00c20D00D",
                                             "sqrt(00B",
                                             "textureProjLod(00R30B00B",
                                             "imageAtomicAnd(01F20D00D",
                                             "imageAtomicAnd(01F20D00E",
                                             "imageAtomicMin(01P10D00D",
                                             "imageAtomicMin(01P10D00E",
                                             "imageAtomicAdd(01C20D00E",
                                             "imageAtomicAdd(01C20D00D",
                                             "imageAtomicXor(01N00D00D",
                                             "imageAtomicXor(01N00D00E",
                                             "texture(00x30B",
                                             "max(10E00E",
                                             "imageLoad(01c20D",
                                             "textureGrad(00U20B10B10B",
                                             "imageLoad(00z10D",
                                             "textureGatherOffsets(00a20B10Dx400D",
                                             "sinh(20B",
                                             "matrixCompMult(E0BE0B",
                                             "gl_MaxTessEvaluationAtomicCounterBuffers",
                                             "imageAtomicMin(01K20D00E",
                                             "gl_WorkGroupSize",
                                             "asinh(30B",
                                             "textureGather(00a20B",
                                             "pow(30B30B",
                                             "imageAtomicCompSwap(01G20D00E00E",
                                             "smoothstep(10B10B10B",
                                             "textureProj(00O30B",
                                             "imageAtomicAdd(01R10D00D00D",
                                             "imageAtomicAdd(01R10D00D00E",
                                             "imageAtomicXor(01I20D00E",
                                             "imageAtomicMin(01Q10D00E",
                                             "imageAtomicMin(01Q10D00D",
                                             "imageAtomicExchange(01E20D00E",
                                             "isnan(00B",
                                             "imulExtended(10D10D10D10D",
                                             "imageAtomicMax(01i00D00D",
                                             "imageAtomicMax(01i00D00E",
                                             "min(00E00E",
                                             "texture2DProj(00I30B",
                                             "textureGradOffset(00I10B10B10B10D",
                                             "textureLodOffset(00J20B00B20D",
                                             "notEqual(20B20B",
                                             "atomicCompSwap(00D00D00D",
                                             "",
                                             "floatBitsToInt(10B",
                                             "textureLod(00a20B00B",
                                             "textureProj(00N30B",
                                             "equal(30D30D",
                                             "imageStore(01D20D30D",
                                             "packSnorm2x16(10B",
                                             "floatBitsToUint(30B",
                                             "textureOffset(00R10B10D",
                                             "textureProjGradOffset(00R20B10B10B10D",
                                             "ldexp(30B30D",
                                             "max(30B00B",
                                             "gl_TessLevelInner",
                                             "textureLod(00k30B00B",
                                             "textureProj(00I30B00B",
                                             "imageAtomicAnd(01X10D00E",
                                             "imageAtomicExchange(01D20D00E",
                                             "imageAtomicExchange(01D20D00D",
                                             "imageAtomicExchange(01D20D00B",
                                             "imageAtomicCompSwap(01A10D00E00E",
                                             "abs(00D",
                                             "abs(00B",
                                             "textureLod(00R10B00B",
                                             "textureLodOffset(00U20B00B10D",
                                             "imageAtomicAnd(01X10D00D",
                                             "sinh(00B",
                                             "texture2DLod(00I10B00B",
                                             "textureProjGradOffset(00X20B10B10B10D",
                                             "imageAtomicMax(01Z10D00D",
                                             "gl_MaxComputeAtomicCounters",
                                             "texture(00s30B",
                                             "EndPrimitive(",
                                             "step(00B30B",
                                             "round(20B",
                                             "equal(30E30E",
                                             "imageAtomicCompSwap(01R10D00D00E00E",
                                             "atomicOr(00D00D",
                                             "texture2DProj(00M20B",
                                             "notEqual(10D10D",
                                             "imageAtomicExchange(01Z10D00D",
                                             "textureSize(00V",
                                             "imageAtomicAnd(01h00D00D",
                                             "imageAtomicAdd(01G20D00E",
                                             "imageAtomicAdd(01G20D00D",
                                             "findLSB(30D",
                                             "findLSB(30E",
                                             "textureProj(00X20B00B",
                                             "textureGatherOffset(00U20B10D",
                                             "imageAtomicExchange(01Z10D00E",
                                             "faceforward(10B10B10B",
                                             "gl_MaxTessControlAtomicCounterBuffers",
                                             "imageAtomicAnd(01h00D00E",
                                             "min(10D00D",
                                             "imageAtomicCompSwap(01J20D00D00D",
                                             "all(20F",
                                             "imageSize(01J",
                                             "imageSize(01K",
                                             "imageSize(01H",
                                             "imageSize(01I",
                                             "packHalf2x16(10B",
                                             "textureProj(00I20B00B",
                                             "imageSize(01B",
                                             "imageSize(01C",
                                             "imageSize(01A",
                                             "imageSize(01F",
                                             "imageSize(01G",
                                             "imageSize(01D",
                                             "imageSize(01E",
                                             "imageAtomicExchange(01L00D00B",
                                             "imageAtomicExchange(01L00D00E",
                                             "imageAtomicExchange(01L00D00D",
                                             "notEqual(30F30F",
                                             "imageSize(01h",
                                             "imageSize(01i",
                                             "fract(20B",
                                             "imageAtomicMax(01c20D00D",
                                             "imageSize(01c",
                                             "imageSize(01a",
                                             "imageSize(01g",
                                             "textureLod(00S20B00B",
                                             "gl_FragDepth",
                                             "textureGather(00x30B",
                                             "mix(30B30B30F",
                                             "mix(30B30B30B",
                                             "textureGather(00Z20B00D",
                                             "imageAtomicAnd(01Z10D00E",
                                             "imageAtomicAnd(01Z10D00D",
                                             "imageStore(01E20D30E",
                                             "sqrt(30B",
                                             "exp(00B",
                                             "max(30D30D",
                                             "gl_MaxGeometryTextureImageUnits",
                                             "interpolateAtCentroid(10B",
                                             "textureSize(00M00D",
                                             "angle_BaseInstance",
                                             "mix(10F10F10F",
                                             "textureGradOffset(00U20B10B10B10D",
                                             "gl_Position",
                                             "textureProj(00M30B",
                                             "textureGradOffset(00L20B10B10B10D",
                                             "imageAtomicExchange(01V20D00D00D",
                                             "imageAtomicExchange(01J20D00B",
                                             "imageAtomicExchange(01J20D00E",
                                             "imageAtomicExchange(01J20D00D",
                                             "imageAtomicOr(01M00D00D",
                                             "imageAtomicOr(01M00D00E",
                                             "dot(20B20B",
                                             "imageAtomicCompSwap(01Z10D00E00E",
                                             "textureProjLod(00S30B00B",
                                             "textureProjGrad(00R20B10B10B",
                                             "imageAtomicAnd(01i00D00E",
                                             "imageAtomicAnd(01i00D00D",
                                             "imageAtomicMax(00z10D00E",
                                             "imageAtomicMax(00z10D00D",
                                             "imageAtomicMax(01V20D00D00D",
                                             "imageAtomicMax(01V20D00D00E",
                                             "textureProjGrad(00I20B10B10B",
                                             "textureGather(00e20B",
                                             "texture2D(00M10B",
                                             "imageAtomicAdd(01a20D00E",
                                             "imageAtomicAdd(01a20D00D",
                                             "textureGather(00K20B00D",
                                             "textureCubeLodEXT(00K20B00B",
                                             "textureGather(00T20B00D",
                                             "textureProj(00N20B",
                                             "imageAtomicMax(01E20D00D",
                                             "imageAtomicMax(01E20D00E",
                                             "textureProjLodOffset(00X30B00B10D",
                                             "gl_MaxSamples",
                                             "texelFetchOffset(00U20D00D10D",
                                             "imageAtomicCompSwap(00z10D00E00E",
                                             "imageAtomicMin(01D20D00E",
                                             "imageAtomicMin(01D20D00D",
                                             "textureGradOffset(00d20B10B10B10D",
                                             "imageAtomicCompSwap(01N00D00E00E",
                                             "textureProjOffset(00d30B10D",
                                             "imageAtomicOr(01T10D00D00E",
                                             "imageAtomicOr(01T10D00D00D",
                                             "equal(20F20F",
                                             "usubBorrow(10E10E10E",
                                             "equal(10B10B",
                                             "isnan(10B",
                                             "uaddCarry(20E20E20E",
                                             "imageAtomicXor(01A10D00D",
                                             "imageAtomicXor(01A10D00E",
                                             "imageAtomicCompSwap(01C20D00D00D",
                                             "atomicMin(00D00D",
                                             "textureSize(00X00D",
                                             "greaterThan(10B10B",
                                             "clamp(30D00D00D",
                                             "mix(20E20E20F",
                                             "textureProjOffset(00R30B10D00B",
                                             "textureGather(00U20B00D",
                                             "floatBitsToInt(00B",
                                             "imageLoad(01a20D",
                                             "floatBitsToUint(00B",
                                             "imageAtomicCompSwap(01I20D00E00E",
                                             "texture2DRectProj(00O20B",
                                             "tan(20B",
                                             "floor(00B",
                                             "imageAtomicMax(01O10D00E",
                                             "imageAtomicMax(01O10D00D",
                                             "gl_DrawID",
                                             "modf(00B00B",
                                             "notEqual(20D20D",
                                             "imageAtomicExchange(01R10D00D00E",
                                             "imageAtomicExchange(01R10D00D00D",
                                             "imageAtomicExchange(01F20D00E",
                                             "determinant(A0B",
                                             "imageAtomicExchange(01i00D00D",
                                             "imageAtomicExchange(01i00D00E",
                                             "imageAtomicExchange(01i00D00B",
                                             "imageAtomicOr(01I20D00E",
                                             "isnan(30B",
                                             "lessThanEqual(30D30D",
                                             "textureProj(00M30B00B",
                                             "texture2DProj(00M30B",
                                             "textureGrad(00I10B10B10B",
                                             "step(00B20B",
                                             "texture2DProjLod(00I20B00B",
                                             "yuv_2_rgb(20B00H",
                                             "texelFetch(00b10D00D",
                                             "textureProj(00J30B00B",
                                             "textureGather(00R10B",
                                             "imageAtomicOr(01V20D00D00D",
                                             "imageAtomicOr(01V20D00D00E",
                                             "imageAtomicExchange(01P10D00D",
                                             "min(10D10D",
                                             "all(30F",
                                             "imageAtomicExchange(01P10D00E",
                                             "imageAtomicAnd(01S10D00D00E",
                                             "imageAtomicAnd(01S10D00D00D",
                                             "angle_BaseVertex",
                                             "bitfieldReverse(20D",
                                             "bitfieldReverse(20E",
                                             "imageAtomicExchange(01I20D00D",
                                             "imageAtomicExchange(01I20D00E",
                                             "imageAtomicExchange(01I20D00B",
                                             "gl_MaxGeometryInputComponents",
                                             "textureGatherOffsets(00X10B10Dx4",
                                             "fract(10B",
                                             "textureLodOffset(00I10B00B10D",
                                             "imageAtomicCompSwap(01S10D00D00E00E",
                                             "imageAtomicXor(01c20D00E",
                                             "imageAtomicXor(01c20D00D",
                                             "textureOffset(00U20B10D",
                                             "min(30B00B",
                                             "atomicAnd(00D00D",
                                             "exp(10B",
                                             "bitCount(30E",
                                             "bitCount(30D",
                                             "unpackUnorm2x16(00E",
                                             "sqrt(20B",
                                             "gl_PerVertex",
                                             "textureGrad(00L20B10B10B",
                                             "interpolateAtCentroid(00B",
                                             "gl_MaxTessEvaluationUniformComponents",
                                             "gl_MaxImageUnits",
                                             "imageAtomicOr(01Q10D00E",
                                             "imageAtomicOr(01Q10D00D",
                                             "clamp(10D00D00D",
                                             "step(30B30B",
                                             "texelFetch(00P10D00D",
                                             "imageAtomicCompSwap(01i00D00D00D",
                                             "texture(00O10B",
                                             "imageAtomicMin(01M00D00D",
                                             "imageAtomicMin(01M00D00E",
                                             "texture(00e30B00B",
                                             "imageAtomicMin(01O10D00E",
                                             "imageAtomicMin(01O10D00D",
                                             "gl_FragCoord",
                                             "imageAtomicMax(01X10D00D",
                                             "imageAtomicMax(01X10D00E",
                                             "imageAtomicAnd(01E20D00E",
                                             "imageAtomicAnd(01E20D00D",
                                             "normalize(00B",
                                             "imageAtomicOr(01A10D00E",
                                             "imageAtomicOr(01A10D00D",
                                             "imageAtomicCompSwap(01Q10D00E00E",
                                             "atomicMax(00D00D",
                                             "gl_MaxPatchVertices",
                                             "floatBitsToUint(10B",
                                             "textureLod(00J20B00B",
                                             "textureSize(00I00D",
                                             "gl_MaxComputeWorkGroupSize",
                                             "texelFetchOffset(00R10D00D10D",
                                             "textureLodOffset(00X10B00B10D",
                                             "texture(00T20B00B",
                                             "gl_out",
                                             "log(30B",
                                             "smoothstep(00B00B20B",
                                             "imageAtomicMax(01K20D00D",
                                             "imageAtomicMax(01K20D00E",
                                             "imageStore(01G20D30D",
                                             "textureProjLod(00R20B00B",
                                             "outerProduct(30B30B",
                                             "notEqual(30D30D",
                                             "textureProjOffset(00I20B10D",
                                             "gl_MaxDrawBuffers",
                                             "gl_MaxCombinedTextureImageUnits",
                                             "imageAtomicMin(01K20D00D",
                                             "imulExtended(20D20D20D20D",
                                             "any(30F",
                                             "distance(30B30B",
                                             "texture3D(00J20B00B",
                                             "dot(30B30B",
                                             "gl_MaxTextureImageUnits",
                                             "usubBorrow(20E20E20E",
                                             "mix(30B30B00B",
                                             "clamp(30B00B00B",
                                             "texture2DRectProj(00O30B",
                                             "max(10D00D",
                                             "clamp(00D00D00D",
                                             "floor(30B",
                                             "texelFetch(00X10D00D",
                                             "textureProjGradOffset(00S30B20B20B20D",
                                             "gl_PointCoord",
                                             "bitfieldReverse(00D",
                                             "bitfieldReverse(00E",
                                             "imageStore(01F20D30B",
                                             "clamp(10B00B00B",
                                             "texelFetchOffset(00S20D00D20D",
                                             "lessThan(10D10D",
                                             "texture(00R10B00B",
                                             "textureGatherOffset(00U20B10D00D",
                                             "textureGather(00I10B00D",
                                             "texelFetch(00V10D00D",
                                             "imageAtomicExchange(01h00D00E",
                                             "imageAtomicExchange(01h00D00D",
                                             "atan(30B30B",
                                             "imageAtomicExchange(01h00D00B",
                                             "imageAtomicMax(01a20D00D",
                                             "imageAtomicMax(01a20D00E",
                                             "max(00B00B",
                                             "imageAtomicOr(01J20D00E",
                                             "imageAtomicOr(01J20D00D",
                                             "imageAtomicMax(01F20D00E",
                                             "imageAtomicMax(01F20D00D",
                                             "exp2(20B",
                                             "imageAtomicExchange(00z10D00B",
                                             "imageAtomicExchange(00z10D00E",
                                             "imageAtomicExchange(00z10D00D",
                                             "textureProjLod(00Y30B00B",
                                             "imageAtomicMin(01c20D00D",
                                             "imageAtomicMin(01c20D00E",
                                             "textureSize(00k00D",
                                             "reflect(20B20B",
                                             "imageAtomicXor(01V20D00D00E",
                                             "imageAtomicXor(01V20D00D00D",
                                             "equal(10F10F",
                                             "acos(30B",
                                             "textureVideoWEBGL(00y10B",
                                             "dFdx(10B",
                                             "bitfieldReverse(30E",
                                             "bitfieldReverse(30D",
                                             "imageAtomicOr(01Z10D00D",
                                             "imageAtomicOr(01Z10D00E",
                                             "fract(00B",
                                             "min(30E00E",
                                             "gl_MinProgramTexelOffset",
                                             "interpolateAtOffset(20B10B",
                                             "imageAtomicOr(01c20D00D",
                                             "imageAtomicOr(01c20D00E",
                                             "reflect(30B30B",
                                             "interpolateAtCentroid(30B",
                                             "mod(30B30B",
                                             "imageAtomicXor(01X10D00E",
                                             "imageAtomicXor(01X10D00D",
                                             "memoryBarrier(",
                                             "pow(00B00B",
                                             "mod(00B00B",
                                             "unpackUnorm4x8(00E",
                                             "roundEven(10B",
                                             "atanh(30B",
                                             "textureLod(00K20B00B",
                                             "bitCount(20D",
                                             "bitCount(20E",
                                             "texelFetch(00L20D00D",
                                             "imageAtomicAnd(01K20D00E",
                                             "distance(20B20B",
                                             "uaddCarry(30E30E30E",
                                             "textureSize(00U00D",
                                             "gl_MaxCombinedImageUniforms",
                                             "imageAtomicOr(01g00D00D",
                                             "imageAtomicOr(01g00D00E",
                                             "gl_GlobalInvocationID",
                                             "gl_LocalInvocationIndex",
                                             "gl_VertexID",
                                             "imageAtomicCompSwap(01U20D00D00D00D",
                                             "atomicOr(00E00E",
                                             "mix(10B10B10F",
                                             "mix(10B10B10B",
                                             "textureProj(00Y30B00B",
                                             "imageAtomicMax(01I20D00D",
                                             "imageAtomicMax(01I20D00E",
                                             "textureGatherOffset(00I10B10D00D",
                                             "notEqual(20E20E",
                                             "textureLodOffset(00d20B00B10D",
                                             "inverse(A0B",
                                             "textureProjGrad(00X20B10B10B",
                                             "textureSize(00Y00D",
                                             "atan(20B20B",
                                             "usubBorrow(00E00E00E",
                                             "imageAtomicXor(01M00D00E",
                                             "imageAtomicXor(01M00D00D",
                                             "textureGatherOffsets(00U20B10Dx4",
                                             "imageAtomicCompSwap(01c20D00E00E",
                                             "texture2D(00I10B00B",
                                             "fma(10B10B10B",
                                             "smoothstep(00B00B10B",
                                             "imageAtomicCompSwap(01a20D00D00D",
                                             "normalize(10B",
                                             "imageStore(01b20D30D",
                                             "bitfieldExtract(00E00D00D",
                                             "any(20F",
                                             "gl_HelperInvocation",
                                             "sin(10B",
                                             "textureSize(00N00D",
                                             "mod(20B20B",
                                             "imageAtomicOr(01h00D00E",
                                             "imageAtomicOr(01h00D00D",
                                             "gl_SampleMask",
                                             "textureGrad(00k30B20B20B",
                                             "imageAtomicMin(01A10D00E",
                                             "imageAtomicMin(01A10D00D",
                                             "textureGradOffset(00f30B10B10B10D",
                                             "max(20D20D",
                                             "max(10D10D",
                                             "refract(30B30B00B",
                                             "floor(20B",
                                             "mix(00B00B00B",
                                             "matrixCompMult(F0BF0B",
                                             "umulExtended(10E10E10E10E",
                                             "texture(00d20B00B",
                                             "gl_MaxCombinedAtomicCounterBuffers",
                                             "umulExtended(30E30E30E30E",
                                             "textureGradOffset(00Y20B20B20B20D",
                                             "textureGatherOffset(00a20B10D",
                                             "textureGrad(00f30B10B10B",
                                             "imageAtomicXor(01C20D00E",
                                             "modf(20B20B",
                                             "imageAtomicAnd(01Y10D00D",
                                             "imageAtomicAnd(01Y10D00E",
                                             "imageAtomicAdd(01i00D00E",
                                             "imageAtomicAdd(01i00D00D",
                                             "imageAtomicCompSwap(01L00D00E00E",
                                             "texture(00y10B",
                                             "length(30B",
                                             "imageStore(01B10D30E",
                                             "textureGather(00s30B",
                                             "imageAtomicMin(00z10D00E",
                                             "imageAtomicMin(00z10D00D",
                                             "imageStore(01I20D30B",
                                             "exp2(30B",
                                             "texture3DProj(00J30B00B",
                                             "imageAtomicAdd(01K20D00E",
                                             "imageAtomicAdd(01K20D00D",
                                             "textureProjLod(00X30B00B",
                                             "textureProjGradOffset(00I30B10B10B10D",
                                             "imageAtomicAdd(01W20D00D00D",
                                             "cosh(30B",
                                             "textureOffset(00S20B20D00B",
                                             "usubBorrow(30E30E30E",
                                             "imageAtomicMax(01W20D00D00E",
                                             "imageAtomicMax(01W20D00D00D",
                                             "textureProjOffset(00R20B10D00B",
                                             "texture3DProj(00J30B",
                                             "matrixCompMult(B0BB0B",
                                             "lessThan(30B30B",
                                             "cross(20B20B",
                                             "all(10F",
                                             "clamp(20B00B00B",
                                             "dFdx(00B",
                                             "imageAtomicXor(01i00D00E",
                                             "textureLodOffset(00S20B00B20D",
                                             "acos(20B",
                                             "texelFetch(00r00D",
                                             "max(20B20B",
                                             "textureLod(00X10B00B",
                                             "equal(30F30F",
                                             "cosh(00B",
                                             "bitfieldExtract(00D00D00D",
                                             "imageAtomicMin(01E20D00D",
                                             "imageAtomicMin(01E20D00E",
                                             "textureLod(00Z20B00B",
                                             "sign(00D",
                                             "textureOffset(00Y20B20D",
                                             "imageAtomicXor(01Q10D00D",
                                             "imageAtomicXor(01Q10D00E",
                                             "transpose(60B",
                                             "imageAtomicAdd(01O10D00D",
                                             "imageAtomicAdd(01O10D00E",
                                             "faceforward(00B00B00B",
                                             "gl_NumWorkGroups",
                                             "imageAtomicOr(01O10D00E",
                                             "imageAtomicOr(01O10D00D",
                                             "imageAtomicAdd(01b20D00D",
                                             "imageAtomicAdd(01b20D00E",
                                             "textureProjLodOffset(00R30B00B10D",
                                             "imageAtomicExchange(01U20D00D00B",
                                             "imageAtomicExchange(01U20D00D00E",
                                             "imageAtomicExchange(01U20D00D00D",
                                             "imageStore(01H20D30E",
                                             "textureGather(00U20B",
                                             "texelFetch(00Q20D00D",
                                             "roundEven(00B",
                                             "atanh(20B",
                                             "texelFetch(00w00D",
                                             "textureProjOffset(00X30B10D",
                                             "gl_MaxFragmentUniformVectors",
                                             "interpolateAtOffset(10B10B",
                                             "imageAtomicCompSwap(01Q10D00D00D",
                                             "abs(30B",
                                             "bitfieldInsert(10E10E00D00D",
                                             "packSnorm4x8(30B",
                                             "mix(10B10B00B",
                                             "textureGatherOffset(00X10B10D",
                                             "clamp(30D30D30D",
                                             "textureGatherOffsets(00L20B10Dx4",
                                             "imageAtomicMax(01c20D00E",
                                             "imageAtomicMax(01G20D00D",
                                             "imageAtomicMax(01G20D00E",
                                             "determinant(F0B",
                                             "transpose(A0B",
                                             "pow(20B20B",
                                             "texture2DProjGradEXT(00I20B10B10B",
                                             "imageAtomicMax(01B10D00D",
                                             "imageAtomicMax(01B10D00E",
                                             "imageAtomicExchange(01G20D00B",
                                             "imageAtomicExchange(01G20D00D",
                                             "imageAtomicExchange(01G20D00E",
                                             "imageAtomicMax(01g00D00D",
                                             "imageAtomicMax(01g00D00E",
                                             "texture(00s30B00B",
                                             "log2(20B",
                                             "gl_MaxTessControlUniformComponents",
                                             "textureProjOffset(00I20B10D00B",
                                             "imageAtomicAnd(01T10D00D00D",
                                             "imageAtomicAnd(01T10D00D00E",
                                             "notEqual(10F10F",
                                             "smoothstep(00B00B00B",
                                             "textureProjLodOffset(00d30B00B10D",
                                             "imageAtomicAnd(01P10D00E",
                                             "imageAtomicAnd(01P10D00D",
                                             "textureProjLodOffset(00I30B00B10D",
                                             "gl_MaxCombinedAtomicCounters",
                                             "bitfieldInsert(10D10D00D00D",
                                             "imageAtomicCompSwap(01N00D00D00D",
                                             "imageAtomicCompSwap(01L00D00D00D",
                                             "textureGather(00k30B",
                                             "texture(00J20B",
                                             "lessThanEqual(10D10D",
                                             "gl_MaxVaryingVectors",
                                             "textureSize(00d00D",
                                             "sin(00B",
                                             "uaddCarry(10E10E10E",
                                             "atomicCounterIncrement(00G",
                                             "imageAtomicAdd(01J20D00D",
                                             "imageAtomicAdd(01J20D00E",
                                             "imageAtomicCompSwap(01S10D00D00D00D",
                                             "imageAtomicAdd(01U20D00D00D",
                                             "imageAtomicAdd(01U20D00D00E",
                                             "imageAtomicExchange(01Y10D00B",
                                             "equal(10E10E",
                                             "imageAtomicExchange(01Y10D00E",
                                             "imageAtomicExchange(01Y10D00D",
                                             "imageLoad(01B10D",
                                             "imageAtomicExchange(01O10D00E",
                                             "textureProjOffset(00J30B20D",
                                             "imageAtomicXor(01D20D00D",
                                             "imageAtomicXor(01D20D00E",
                                             "notEqual(10E10E",
                                             "imageAtomicExchange(01N00D00B",
                                             "imageAtomicExchange(01N00D00E",
                                             "imageAtomicExchange(01N00D00D",
                                             "imageAtomicCompSwap(01O10D00D00D",
                                             "imageAtomicMin(01i00D00D",
                                             "imageAtomicMin(01i00D00E",
                                             "textureLodOffset(00R10B00B10D",
                                             "trunc(10B",
                                             "imageAtomicAdd(01S10D00D00D",
                                             "length(20B",
                                             "gl_DepthRangeParameters",
                                             "textureGather(00f20B",
                                             "textureProj(00d30B00B",
                                             "sign(10B",
                                             "max(00E00E",
                                             "texture(00a20B00B",
                                             "textureProj(00M20B00B",
                                             "imageLoad(01A10D",
                                             "textureProjOffset(00X30B10D00B",
                                             "exp2(00B",
                                             "imageAtomicExchange(01H20D00B",
                                             "imageAtomicCompSwap(01H20D00E00E",
                                             "imageAtomicExchange(01H20D00E",
                                             "imageAtomicExchange(01H20D00D",
                                             "textureGather(00a20B00D",
                                             "textureSize(00s00D",
                                             "texture(00Y20B",
                                             "imageAtomicOr(01I20D00D",
                                             "texture(00N10B00B",
                                             "gl_PrimitiveID",
                                             "imageAtomicCompSwap(01Y10D00D00D",
                                             "textureProjGrad(00I30B10B10B",
                                             "gl_Layer",
                                             "textureOffset(00d20B10D",
                                             "dFdx(30B",
                                             "textureGatherOffsets(00U20B10Dx400D",
                                             "imageAtomicMin(01V20D00D00D",
                                             "imageAtomicMin(01V20D00D00E",
                                             "gl_LastFragColor",
                                             "min(20E20E",
                                             "asin(20B",
                                             "imageAtomicCompSwap(01U20D00D00E00E",
                                             "texture(00l30B00B",
                                             "fwidth(10B",
                                             "dFdy(00B",
                                             "lessThan(30E30E",
                                             "imulExtended(30D30D30D30D",
                                             "transpose(70B",
                                             "imulExtended(00D00D00D00D",
                                             "imageAtomicAdd(01F20D00D",
                                             "imageAtomicAdd(01F20D00E",
                                             "texture(00S20B00B",
                                             "textureLod(00Y20B00B",
                                             "imageAtomicExchange(01c20D00D",
                                             "imageAtomicExchange(01c20D00E",
                                             "imageAtomicExchange(01c20D00B",
                                             "min(20D00D",
                                             "imageAtomicCompSwap(01P10D00D00D",
                                             "uintBitsToFloat(00E",
                                             "imageAtomicMin(01L00D00E",
                                             "imageAtomicMin(01L00D00D",
                                             "bitfieldInsert(20D20D00D00D",
                                             "imageSize(01b",
                                             "texture(00Z20B",
                                             "tanh(00B",
                                             "imageAtomicMax(01N00D00E",
                                             "imageAtomicMax(01N00D00D",
                                             "matrixCompMult(D0BD0B",
                                             "gl_MaxClipDistances",
                                             "imageAtomicXor(01g00D00E",
                                             "imageAtomicXor(01g00D00D",
                                             "min(30B30B",
                                             "lessThan(20E20E",
                                             "memoryBarrierAtomicCounter(",
                                             "bitfieldInsert(00E00E00D00D",
                                             "gl_MaxTessControlInputComponents",
                                             "imageAtomicMin(01a20D00D",
                                             "imageAtomicMin(01a20D00E",
                                             "textureGrad(00d20B10B10B",
                                             "mix(30D30D30F",
                                             "atan(10B",
                                             "imageAtomicCompSwap(01g00D00D00D",
                                             "step(00B10B",
                                             "textureProjLod(00I20B00B",
                                             "rgb_2_yuv(20B00H",
                                             "texture(00T20B",
                                             "log2(10B",
                                             "imageAtomicAnd(01D20D00D",
                                             "imageAtomicAnd(01D20D00E",
                                             "findLSB(20E",
                                             "findLSB(20D",
                                             "imageAtomicCompSwap(01B10D00D00D",
                                             "imageAtomicOr(01X10D00D",
                                             "imageAtomicOr(01X10D00E",
                                             "gl_SampleID",
                                             "greaterThanEqual(10B10B",
                                             "clamp(10D10D10D",
                                             "texelFetch(00M10D00D",
                                             "transpose(F0B",
                                             "textureOffset(00Y20B20D00B",
                                             "textureGradOffset(00S20B20B20B20D",
                                             "clamp(30E30E30E",
                                             "textureSize(00R00D",
                                             "inverse(F0B",
                                             "acosh(10B",
                                             "imageLoad(01b20D",
                                             "gl_MaxTessPatchComponents",
                                             "textureOffset(00L20B10D00B",
                                             "mod(20B00B",
                                             "textureProjLod(00J30B00B",
                                             "transpose(90B",
                                             "atomicAnd(00E00E",
                                             "max(20D00D",
                                             "texelFetchOffset(00I10D00D10D",
                                             "imageAtomicMin(01Z10D00D",
                                             "imageAtomicMin(01Z10D00E",
                                             "imageAtomicCompSwap(01i00D00E00E",
                                             "imageAtomicCompSwap(01K20D00D00D",
                                             "imageStore(01J20D30D",
                                             "atomicCounter(00G",
                                             "bitfieldInsert(30D30D00D00D",
                                             "greaterThan(10D10D",
                                             "bitfieldExtract(10E00D00D",
                                             "greaterThan(20D20D",
                                             "imageAtomicAnd(01W20D00D00D",
                                             "imageAtomicAnd(01W20D00D00E",
                                             "trunc(00B",
                                             "length(10B",
                                             "imageAtomicAdd(01H20D00D",
                                             "imageAtomicAdd(01H20D00E",
                                             "dot(00B00B",
                                             "tan(30B",
                                             "textureLod(00T20B00B",
                                             "textureProjGrad(00R30B10B10B",
                                             "exp2(10B",
                                             "textureProjOffset(00X20B10D00B",
                                             "textureProjGradOffset(00X30B10B10B10D",
                                             "imageAtomicXor(01i00D00D",
                                             "matrixCompMult(A0BA0B",
                                             "textureGrad(00S20B20B20B",
                                             "round(30B",
                                             "textureGrad(00x30B20B20B",
                                             "imageAtomicCompSwap(01D20D00E00E",
                                             "interpolateAtSample(00B00D",
                                             "dFdx(20B",
                                             "texture(00L20B",
                                             "barrier(",
                                             "imageAtomicOr(01N00D00E",
                                             "imageAtomicOr(01N00D00D",
                                             "textureGather(00k30B00D",
                                             "findMSB(20D",
                                             "findMSB(20E",
                                             "imageAtomicMin(01S10D00D00D",
                                             "imageAtomicMin(01S10D00D00E",
                                             "textureProjOffset(00S30B20D00B",
                                             "imageAtomicAdd(01D20D00D",
                                             "imageAtomicAdd(01D20D00E",
                                             "unpackSnorm4x8(00E",
                                             "imageLoad(01C20D",
                                             "imageAtomicMax(01C20D00D",
                                             "imageAtomicMax(01C20D00E",
                                             "textureGather(00l30B00B",
                                             "asin(30B",
                                             "isnan(20B",
                                             "fwidth(00B",
                                             "dFdy(10B",
                                             "imageAtomicAdd(01P10D00E",
                                             "imageAtomicAdd(01P10D00D",
                                             "max(30E00E",
                                             "textureLod(00d20B00B",
                                             "imageAtomicAdd(01c20D00E",
                                             "imageAtomicAdd(01c20D00D",
                                             "mod(10B00B",
                                             "uintBitsToFloat(10E",
                                             "imageAtomicMax(01Q10D00E",
                                             "imageAtomicMax(01Q10D00D",
                                             "bitfieldExtract(20D00D00D",
                                             "imageAtomicMax(01M00D00D",
                                             "imageAtomicMax(01M00D00E",
                                             "imageAtomicAdd(01E20D00E",
                                             "imageAtomicAdd(01E20D00D",
                                             "textureLodOffset(00Y20B00B20D",
                                             "log2(00B",
                                             "tanh(10B",
                                             "imageAtomicMin(01I20D00E",
                                             "gl_LocalInvocationID",
                                             "gl_MaxCombinedClipAndCullDistances",
                                             "clamp(00B00B00B",
                                             "textureGather(00d10B",
                                             "gl_MaxGeometryAtomicCounterBuffers",
                                             "imageAtomicXor(01B10D00E",
                                             "imageAtomicXor(01B10D00D",
                                             "outerProduct(20B10B",
                                             "textureGrad(00e30B20B20B",
                                             "textureSize(00J00D",
                                             "imageAtomicXor(01K20D00E",
                                             "imageAtomicXor(01K20D00D",
                                             "imageAtomicMin(01U20D00D00E",
                                             "imageAtomicMin(01U20D00D00D",
                                             "imageAtomicAdd(01Q10D00D",
                                             "imageAtomicAdd(01Q10D00E",
                                             "imageAtomicXor(01T10D00D00D",
                                             "imageAtomicXor(01T10D00D00E",
                                             "imageAtomicAnd(01b20D00D",
                                             "step(00B00B",
                                             "texture2DLodEXT(00I10B00B",
                                             "texture(00K20B00B",
                                             "textureGrad(00J20B20B20B",
                                             "imageAtomicCompSwap(01V20D00D00E00E",
                                             "textureOffset(00U20B10D00B",
                                             "intBitsToFloat(10D",
                                             "findLSB(10D",
                                             "textureProjLodOffset(00Y30B00B20D",
                                             "imageAtomicMax(01h00D00E",
                                             "texture3D(00J20B",
                                             "gl_SecondaryFragDataEXT",
                                             "floor(10B",
                                             "imageAtomicAnd(01O10D00D",
                                             "imageAtomicAnd(01O10D00E",
                                             "imageAtomicXor(01W20D00D00D",
                                             "imageAtomicXor(01W20D00D00E",
                                             "imageAtomicXor(01Z10D00E",
                                             "imageAtomicXor(01Z10D00D",
                                             "textureGather(00X10B00D",
                                             "imageAtomicMax(01L00D00E",
                                             "imageAtomicMax(01L00D00D",
                                             "imageAtomicXor(01G20D00E",
                                             "imageAtomicXor(01G20D00D",
                                             "textureOffset(00a20B10D",
                                             "min(30E30E",
                                             "texture2DProj(00I30B00B",
                                             "imageAtomicAnd(01I20D00E",
                                             "textureCubeGradEXT(00K20B20B20B",
                                             "min(00B00B",
                                             "gl_CullDistance",
                                             "gl_WorkGroupID",
                                             "degrees(00B",
                                             "imageAtomicMax(01J20D00E",
                                             "imageAtomicMax(01J20D00D",
                                             "textureGatherOffsets(00R10B10Dx4",
                                             "atomicExchange(00D00D",
                                             "gl_MaxGeometryAtomicCounters",
                                             "frexp(10B10D",
                                             "imageAtomicExchange(01a20D00D",
                                             "imageAtomicExchange(01a20D00E",
                                             "imageAtomicExchange(01a20D00B",
                                             "matrixCompMult(60B60B",
                                             "imageAtomicCompSwap(00z10D00D00D",
                                             "unpackSnorm2x16(00E",
                                             "lessThan(30D30D",
                                             "atan(00B00B",
                                             "notEqual(10B10B",
                                             "imageLoad(01G20D",
                                             "trunc(30B",
                                             "length(00B",
                                             "imageStore(01c20D30E",
                                             "imageAtomicAnd(01H20D00D",
                                             "imageAtomicAnd(01H20D00E",
                                             "textureProj(00X30B00B",
                                             "imageAtomicCompSwap(01C20D00E00E",
                                             "tan(00B",
                                             "min(20E00E",
                                             "textureLod(00x30B00B",
                                             "textureSize(00j",
                                             "cos(00B",
                                             "textureSize(00c",
                                             "textureSize(00b",
                                             "min(20B20B",
                                             "textureSize(00r",
                                             "textureSize(00w",
                                             "bitfieldInsert(20E20E00D00D",
                                             "gl_MaxProgramTexelOffset",
                                             "imageAtomicMin(01g00D00D",
                                             "imageAtomicMin(01g00D00E",
                                             "textureSize(00Q",
                                             "textureSize(00P",
                                             "imageAtomicAdd(01M00D00E",
                                             "imageAtomicAdd(01M00D00D",
                                             "textureSize(00W",
                                             "textureProjLod(00X20B00B",
                                             "faceforward(30B30B30B",
                                             "texture(00X10B",
                                             "ceil(00B",
                                             "distance(00B00B",
                                             "imageAtomicExchange(01C20D00D",
                                             "imageAtomicExchange(01C20D00E",
                                             "textureGrad(00s30B20B20B",
                                             "textureGather(00I10B",
                                             "imageAtomicExchange(01C20D00B",
                                             "min(30D30D",
                                             "imageAtomicExchange(01Z10D00B",
                                             "findMSB(30E",
                                             "findMSB(30D",
                                             "fwidth(30B",
                                             "textureGrad(00K20B20B20B",
                                             "texelFetch(00S20D00D",
                                             "max(10B00B",
                                             "textureProjGradOffset(00R30B10B10B10D",
                                             "texelFetchOffset(00L20D00D10D",
                                             "transpose(50B",
                                             "greaterThanEqual(20D20D",
                                             "asinh(00B",
                                             "gl_PrimitiveIDIn",
                                             "textureGather(00Z20B",
                                             "greaterThan(20B20B",
                                             "min(20D20D",
                                             "imageAtomicCompSwap(01g00D00E00E",
                                             "imageAtomicMin(01W20D00D00E",
                                             "imageAtomicMin(01W20D00D00D",
                                             "imageAtomicXor(01O10D00D",
                                             "imageAtomicXor(01O10D00E",
                                             "tanh(20B",
                                             "sin(20B",
                                             "textureSize(00l00D",
                                             "textureOffset(00I10B10D00B",
                                             "imageAtomicAnd(00z10D00D",
                                             "imageAtomicAnd(00z10D00E",
                                             "imageAtomicCompSwap(01W20D00D00D00D",
                                             "gl_MaxAtomicCounterBufferSize",
                                             "textureOffset(00J20B20D00B",
                                             "lessThanEqual(20E20E",
                                             "gl_BaseVertex",
                                             "gl_MaxGeometryTotalOutputComponents",
                                             "bitfieldInsert(30E30E00D00D",
                                             "bitfieldExtract(20E00D00D",
                                             "uintBitsToFloat(20E",
                                             "imageAtomicExchange(01K20D00D",
                                             "imageAtomicExchange(01K20D00E",
                                             "mod(10B10B",
                                             "imageAtomicExchange(01K20D00B",
                                             "imageAtomicAnd(01B10D00E",
                                             "imageAtomicAnd(01B10D00D",
                                             "gl_MaxVertexImageUniforms",
                                             "equal(20D20D",
                                             "mix(10E10E10F",
                                             "textureGather(00R10B00D",
                                             "textureSize(00Z00D",
                                             "bitfieldExtract(30D00D00D",
                                             "imageAtomicXor(01J20D00D",
                                             "imageAtomicXor(01J20D00E",
                                             "intBitsToFloat(00D",
                                             "findLSB(00E",
                                             "findLSB(00D",
                                             "textureGather(00d10B00B",
                                             "imageAtomicAdd(01T10D00D00D",
                                             "imageAtomicAdd(01T10D00D00E",
                                             "inversesqrt(10B",
                                             "abs(30D",
                                             "transpose(D0B",
                                             "",
                                             "imageLoad(01E20D",
                                             "textureProj(00N20B00B",
                                             "gl_FragData",
                                             "clamp(20E00E00E",
                                             "textureProj(00d30B",
                                             "gl_MaxVertexOutputVectors",
                                             "imageAtomicOr(01i00D00D",
                                             "imageAtomicOr(01i00D00E",
                                             "cosh(10B",
                                             "imageAtomicAnd(01G20D00E",
                                             "imageAtomicAnd(01G20D00D",
                                             "sign(10D",
                                             "umulExtended(00E00E00E00E",
                                             "gl_MaxVertexAttribs",
                                             "",
                                             "texture(00a20B",
                                             "imageAtomicExchange(01g00D00B",
                                             "imageAtomicExchange(01B10D00B",
                                             "ldexp(10B10D",
                                             "imageAtomicExchange(01B10D00D",
                                             "imageAtomicExchange(01B10D00E",
                                             "imageAtomicExchange(01g00D00D",
                                             "imageAtomicExchange(01g00D00E",
                                             "degrees(10B",
                                             "texture(00k30B00B",
                                             "texture(00K20B",
                                             "sinh(10B",
                                             "imageAtomicXor(01C20D00D",
                                             "textureGatherOffsets(00I10B10Dx400D",
                                             "not(30F",
                                             "textureProjLodOffset(00I20B00B10D",
                                             "textureGather(00K20B",
                                             "textureGatherOffset(00R10B10D",
                                             "memoryBarrierShared(",
                                             "clamp(20B20B20B",
                                             "texelFetch(00W20D00D",
                                             "trunc(20B",
                                             "textureProjOffset(00I30B10D00B",
                                             "tan(10B",
                                             "imageAtomicOr(01U20D00D00E",
                                             "imageAtomicOr(01U20D00D00D",
                                             "imageAtomicOr(01B10D00D",
                                             "imageAtomicOr(01B10D00E",
                                             "isinf(20B",
                                             "textureGatherOffset(00X10B10D00D",
                                             "min(10E10E",
                                             "memoryBarrierImage(",
                                             "round(10B",
                                             "fma(00B00B00B",
                                             "textureLodOffset(00L20B00B10D",
                                             "imageAtomicOr(01b20D00E",
                                             "imageAtomicOr(01b20D00D",
                                             "atomicMax(00E00E",
                                             "textureProjOffset(00R30B10D",
                                             "textureProj(00X30B",
                                             "findMSB(00D",
                                             "findMSB(00E",
                                             "textureProjOffset(00X20B10D",
                                             "imageAtomicCompSwap(01X10D00D00D",
                                             "min(30D00D",
                                             "imageAtomicCompSwap(01K20D00E00E",
                                             "texture(00M10B00B",
                                             "fwidth(20B",
                                             "imageAtomicOr(01S10D00D00D",
                                             "imageAtomicOr(01S10D00D00E",
                                             "imageAtomicAdd(01A10D00D",
                                             "imageAtomicAdd(01A10D00E",
                                             "imageAtomicOr(01H20D00E",
                                             "imageAtomicOr(01H20D00D",
                                             "cos(20B",
                                             "gl_MaxGeometryUniformComponents",
                                             "textureGather(00T20B",
                                             "textureProjGradOffset(00J30B20B20B20D",
                                             "asinh(10B",
                                             "imageAtomicXor(01E20D00E",
                                             "imageAtomicXor(01E20D00D",
                                             "textureGatherOffsets(00R10B10Dx400D"};
    
    // Flat array of offsets from a symbol into the rules table.
    constexpr uint16_t kMangledOffsets[] = {
        0,     // textureProj_00R30B00B
        2,     // interpolateAtOffset_30B10B
        5,     // imageAtomicOr_00z10D00E
        6,     // imageAtomicOr_00z10D00D
        7,     // texture2DProj_00I20B
        9,     // gl_MaxAtomicCounterBindings
        11,    // imageLoad_01g00D
        12,    // imageLoad_01I20D
        13,    // tanh_30B
        15,    // imageAtomicCompSwap_01E20D00D00D
        16,    // imageAtomicCompSwap_01W20D00D00E00E
        17,    // not_10F
        19,    // textureGatherOffset_00L20B10D
        21,    // lessThanEqual_30B30B
        23,    // imageAtomicAdd_00z10D00E
        24,    // outerProduct_20B30B
        26,    // mix_20B20B00B
        28,    // uintBitsToFloat_30E
        30,    // imageAtomicExchange_01R10D00D00B
        31,    // textureSize_00K00D
        33,    // gl_MaxGeometryOutputVertices
        36,    // greaterThanEqual_10E10E
        38,    // texture_00d20B
        40,    // atan_10B10B
        42,    // clamp_30B30B30B
        44,    // imageAtomicCompSwap_01a20D00E00E
        45,    // imageAtomicCompSwap_01R10D00D00D00D
        46,    // textureLodOffset_00a20B00B10D
        48,    // greaterThanEqual_20B20B
        50,    // imageLoad_01F20D
        51,    // imageAtomicCompSwap_01b20D00D00D
        52,    // imageAtomicAnd_01A10D00D
        53,    // imageAtomicAnd_01A10D00E
        54,    // atomicAdd_00D00D
        56,    // bitfieldExtract_10D00D00D
        58,    // mix_20D20D20F
        60,    // imageAtomicMin_01Y10D00E
        61,    // imageAtomicMin_01Y10D00D
        62,    // gl_MaxTessEvaluationTextureImageUnits
        65,    // texture_00R10B
        67,    // imageAtomicCompSwap_01D20D00D00D
        68,    // imageAtomicMax_01S10D00D00D
        69,    // imageAtomicMax_01S10D00D00E
        70,    // inversesqrt_00B
        72,    // texelFetchOffset_00J20D00D20D
        74,    // textureProjGrad_00S30B20B20B
        76,    // equal_10D10D
        78,    // max_30D00D
        80,    // groupMemoryBarrier_
        82,    // imageAtomicExchange_01b20D00B
        83,    // imageAtomicExchange_01b20D00E
        84,    // imageAtomicExchange_01b20D00D
        85,    // intBitsToFloat_30D
        87,    // texelFetch_00I10D00D
        89,    // transpose_E0B
        91,    // imageAtomicMin_01R10D00D00E
        92,    // imageAtomicMin_01R10D00D00D
        93,    // textureProjOffset_00Y30B20D00B
        95,    // imageStore_01C20D30B
        96,    // modf_10B10B
        98,    // determinant_50B
        99,    // imageAtomicCompSwap_01J20D00E00E
        100,   // normalize_30B
        102,   // lessThan_20B20B
        104,   // imageStore_01K20D30E
        105,   // gl_MaxFragmentInputVectors
        107,   // texture_00f30B
        109,   // sign_20B
        111,   // sign_20D
        113,   // outerProduct_30B10B
        115,   // imageAtomicAnd_01V20D00D00E
        116,   // imageAtomicAnd_01V20D00D00D
        117,   // imageAtomicXor_01Y10D00D
        118,   // imageAtomicXor_01Y10D00E
        119,   // bitfieldReverse_10E
        121,   // textureOffset_00d20B10D00B
        123,   // bitfieldReverse_10D
        125,   // lessThan_10E10E
        127,   // imageAtomicCompSwap_01A10D00D00D
        128,   // imageAtomicAdd_00z10D00D
        129,   // textureProj_00N30B00B
        130,   // gl_MaxCombinedShaderOutputResources
        132,   // imageAtomicCompSwap_01T10D00D00D00D
        133,   // texture_00I10B00B
        135,   // imageAtomicMin_01C20D00E
        136,   // lessThan_20D20D
        138,   // reflect_10B10B
        140,   // imageAtomicAdd_01S10D00D00E
        141,   // isinf_30B
        143,   // textureGatherOffset_00a20B10D00D
        145,   // textureGatherOffset_00I10B10D
        147,   // textureOffset_00L20B10D
        149,   // lessThanEqual_30E30E
        151,   // min_10E00E
        153,   // imageAtomicXor_01a20D00E
        154,   // imageAtomicXor_01a20D00D
        155,   // textureProjOffset_00S30B20D
        157,   // round_00B
        159,   // gl_LastFragData
        162,   // greaterThan_30D30D
        164,   // texture_00U20B
        166,   // texture2DRect_00O10B
        167,   // step_20B20B
        169,   // findMSB_10E
        171,   // findMSB_10D
        173,   // interpolateAtOffset_00B10B
        176,   // gl_MaxTessGenLevel
        179,   // gl_SampleMaskIn
        182,   // textureProj_00R20B00B
        184,   // imageStore_00z10D30B
        185,   // textureGatherOffsets_00X10B10Dx400D
        188,   // outerProduct_10B20B
        190,   // imageAtomicMax_01Z10D00E
        191,   // cos_30B
        193,   // unpackHalf2x16_00E
        195,   // gl_MaxComputeTextureImageUnits
        197,   // imageAtomicMax_01Y10D00E
        198,   // imageAtomicMax_01Y10D00D
        199,   // sin_30B
        201,   // textureGather_00L20B00D
        203,   // imageStore_01i00D30E
        204,   // imageStore_01A10D30D
        205,   // imageAtomicXor_01H20D00D
        206,   // imageAtomicXor_01H20D00E
        207,   // max_10E10E
        209,   // max_20E20E
        211,   // clamp_10E10E10E
        213,   // texture_00N10B
        214,   // matrixCompMult_70B70B
        215,   // imageAtomicOr_01E20D00D
        216,   // imageAtomicOr_01E20D00E
        217,   // texelFetchOffset_00a20D00D10D
        219,   // gl_PatchVerticesIn
        225,   // not_20F
        227,   // imageAtomicExchange_01F20D00D
        228,   // imageAtomicExchange_01F20D00B
        229,   // outerProduct_20B20B
        231,   // textureProjLodOffset_00R20B00B10D
        233,   // textureProjGrad_00J30B20B20B
        235,   // imageAtomicOr_01R10D00D00E
        236,   // imageAtomicOr_01R10D00D00D
        237,   // imageLoad_01K20D
        238,   // textureGatherOffsets_00d10B00B10Dx4
        241,   // gl_InvocationID
        247,   // textureGatherOffsets_00L20B10Dx400D
        250,   // imageAtomicAnd_01R10D00D00D
        251,   // imageAtomicAnd_01R10D00D00E
        252,   // radians_10B
        254,   // textureGather_00e20B00B
        256,   // distance_10B10B
        258,   // textureGrad_00Z20B20B20B
        260,   // sign_00B
        262,   // imageAtomicOr_01D20D00E
        263,   // imageAtomicOr_01D20D00D
        264,   // bitfieldExtract_30E00D00D
        266,   // textureLod_00I10B00B
        268,   // greaterThanEqual_10D10D
        270,   // degrees_30B
        272,   // inversesqrt_30B
        274,   // imageAtomicAnd_01K20D00D
        275,   // imageAtomicMin_01I20D00D
        276,   // frexp_20B20D
        278,   // intBitsToFloat_20D
        280,   // exp_20B
        282,   // imageAtomicMax_01A10D00E
        283,   // imageAtomicMax_01A10D00D
        284,   // acosh_00B
        286,   // log_10B
        288,   // textureProjLodOffset_00S30B00B20D
        290,   // textureGather_00L20B
        292,   // outerProduct_30B20B
        294,   // texture_00S20B
        296,   // atomicXor_00D00D
        298,   // texelFetch_00Y20D00D
        300,   // imageAtomicOr_01P10D00D
        301,   // imageAtomicOr_01P10D00E
        302,   // sign_30B
        304,   // sign_30D
        306,   // texture_00Y20B00B
        308,   // gl_MaxTessEvaluationInputComponents
        311,   // dFdy_20B
        314,   // textureProj_00Y30B
        316,   // textureOffset_00X10B10D00B
        318,   // memoryBarrierBuffer_
        320,   // isinf_00B
        322,   // clamp_20D00D00D
        324,   // texture2DProj_00I20B00B
        326,   // mod_30B00B
        328,   // textureGather_00x30B00D
        329,   // textureGather_00f20B00B
        331,   // greaterThan_20E20E
        333,   // gl_MaxTessEvaluationAtomicCounters
        336,   // textureProjLod_00I30B00B
        338,   // refract_00B00B00B
        340,   // gl_MaxGeometryImageUniforms
        343,   // imageAtomicMin_01X10D00D
        344,   // imageAtomicMin_01X10D00E
        345,   // textureSize_00e00D
        347,   // texelFetch_00a20D00D
        349,   // frexp_30B30D
        351,   // degrees_20B
        353,   // imageAtomicCompSwap_01X10D00E00E
        354,   // texture_00I10B
        356,   // gl_InstanceID
        358,   // normalize_20B
        360,   // imageAtomicCompSwap_01H20D00D00D
        361,   // interpolateAtCentroid_20B
        364,   // atan_00B
        366,   // textureGatherOffset_00R10B10D00D
        368,   // imageAtomicMin_01h00D00E
        369,   // imageAtomicMin_01h00D00D
        370,   // greaterThan_30E30E
        372,   // imageAtomicAdd_01N00D00D
        373,   // imageAtomicAdd_01N00D00E
        374,   // imageAtomicAnd_01J20D00D
        375,   // imageAtomicAnd_01J20D00E
        376,   // gl_DepthRange
        378,   // imageAtomicAdd_01I20D00E
        379,   // imageAtomicAdd_01I20D00D
        380,   // texture_00L20B00B
        382,   // imageAtomicOr_01L00D00E
        383,   // imageAtomicOr_01L00D00D
        384,   // imageAtomicXor_01L00D00D
        385,   // gl_MaxComputeUniformComponents
        387,   // imageLoad_01h00D
        388,   // imageAtomicCompSwap_01E20D00E00E
        389,   // imageAtomicAdd_01X10D00E
        390,   // imageAtomicAdd_01X10D00D
        391,   // imageAtomicMax_01R10D00D00E
        392,   // imageAtomicMax_01R10D00D00D
        393,   // imageLoad_01J20D
        394,   // interpolateAtSample_10B00D
        397,   // imageAtomicMin_01F20D00E
        398,   // imageAtomicMin_01F20D00D
        399,   // outerProduct_10B30B
        401,   // texture_00k30B
        402,   // imageAtomicCompSwap_01O10D00E00E
        403,   // imageAtomicXor_01F20D00D
        404,   // imageAtomicXor_01F20D00E
        405,   // imageAtomicAnd_01a20D00E
        406,   // imageAtomicAnd_01a20D00D
        407,   // textureOffset_00a20B10D00B
        409,   // imageAtomicCompSwap_01b20D00E00E
        410,   // textureGather_00X10B
        412,   // textureOffset_00R10B10D00B
        414,   // textureGatherOffset_00d10B00B10D
        416,   // gl_MaxFragmentImageUniforms
        418,   // gl_MaxTessControlTextureImageUnits
        421,   // equal_20E20E
        423,   // uaddCarry_00E00E00E
        425,   // textureCube_00K20B
        427,   // imageAtomicMax_01U20D00D00E
        428,   // imageAtomicMax_01U20D00D00D
        429,   // matrixCompMult_90B90B
        430,   // textureGatherOffsets_00I10B10Dx4
        433,   // clamp_30E00E00E
        435,   // asin_00B
        437,   // textureProjOffset_00J30B20D00B
        439,   // clamp_10E00E00E
        441,   // notEqual_30E30E
        443,   // imageAtomicOr_01K20D00D
        444,   // imageAtomicOr_01K20D00E
        445,   // lessThanEqual_10E10E
        447,   // inversesqrt_20B
        449,   // atomicAdd_00E00E
        451,   // textureProj_00R30B
        453,   // textureGrad_00X10B10B10B
        455,   // greaterThanEqual_30E30E
        457,   // mix_20B20B20F
        459,   // imageAtomicExchange_01T10D00D00E
        460,   // imageAtomicExchange_01T10D00D00D
        461,   // gl_MaxVertexAtomicCounters
        463,   // mix_20B20B20B
        465,   // any_10F
        467,   // textureProjGradOffset_00d30B10B10B10D
        469,   // textureProjOffset_00I30B10D
        471,   // textureOffset_00X10B10D
        473,   // imageAtomicXor_01R10D00D00D
        474,   // imageAtomicXor_01R10D00D00E
        475,   // radians_00B
        477,   // textureGatherOffsets_00f20B00B10Dx4
        480,   // step_10B10B
        482,   // gl_MaxDualSourceDrawBuffersEXT
        483,   // imageAtomicAdd_01Y10D00D
        484,   // imageAtomicAdd_01Y10D00E
        485,   // imageAtomicAnd_01C20D00E
        486,   // imageAtomicAnd_01C20D00D
        487,   // imageStore_01g00D30B
        488,   // atomicXor_00E00E
        490,   // imageAtomicCompSwap_01P10D00E00E
        491,   // greaterThan_30B30B
        493,   // gl_MaxFragmentAtomicCounters
        495,   // faceforward_20B20B20B
        497,   // textureSize_00x00D
        498,   // textureProj_00S30B00B
        500,   // fma_20B20B20B
        503,   // imageAtomicMin_01J20D00E
        504,   // imageAtomicMin_01J20D00D
        505,   // exp_30B
        507,   // bitCount_10E
        509,   // bitCount_10D
        511,   // log_00B
        513,   // mix_00F00F00F
        515,   // imageAtomicCompSwap_01M00D00D00D
        516,   // texture2DProjLodEXT_00I30B00B
        517,   // acosh_30B
        519,   // imageAtomicOr_01Y10D00E
        520,   // imageAtomicOr_01Y10D00D
        521,   // textureGradOffset_00X10B10B10B10D
        523,   // texelFetchOffset_00X10D00D10D
        525,   // packUnorm2x16_10B
        527,   // umulExtended_20E20E20E20E
        529,   // imageAtomicAnd_01b20D00E
        530,   // imageAtomicCompSwap_01T10D00D00E00E
        531,   // textureCubeLod_00K20B00B
        533,   // textureSize_00L00D
        535,   // imageAtomicXor_01L00D00E
        536,   // max_20E00E
        538,   // textureProj_00S30B
        540,   // dFdy_30B
        543,   // isinf_10B
        545,   // gl_MaxVertexTextureImageUnits
        547,   // greaterThanEqual_30B30B
        549,   // texture2DProjLodEXT_00I20B00B
        550,   // gl_FrontFacing
        552,   // acos_10B
        554,   // textureCube_00K20B00B
        556,   // lessThan_10B10B
        558,   // imageAtomicCompSwap_01B10D00E00E
        559,   // gl_MaxComputeAtomicCounterBuffers
        561,   // textureSize_00f00D
        563,   // imageAtomicAnd_01g00D00E
        564,   // imageAtomicAnd_01g00D00D
        565,   // gl_LastFragColorARM
        566,   // gl_MaxTessControlTotalOutputComponents
        569,   // lessThanEqual_20D20D
        571,   // imageAtomicCompSwap_01h00D00E00E
        572,   // imageAtomicAdd_01B10D00E
        573,   // imageAtomicAdd_01B10D00D
        574,   // gl_MaxTessEvaluationOutputComponents
        577,   // gl_SecondaryFragColorEXT
        578,   // imageAtomicAnd_01U20D00D00D
        579,   // imageAtomicAnd_01U20D00D00E
        580,   // gl_BaseInstance
        581,   // imageAtomicXor_01b20D00D
        582,   // imageAtomicXor_01b20D00E
        583,   // mix_20F20F20F
        585,   // smoothstep_00B00B30B
        587,   // imageAtomicExchange_01M00D00B
        588,   // imageAtomicExchange_01M00D00D
        589,   // imageAtomicExchange_01M00D00E
        590,   // imageAtomicCompSwap_01F20D00E00E
        591,   // texelFetch_00N10D00D
        592,   // textureSize_00a00D
        594,   // textureProjOffset_00Y30B20D
        596,   // atan_30B
        598,   // imageAtomicMax_01b20D00E
        599,   // imageAtomicMax_01b20D00D
        600,   // ceil_10B
        602,   // texture_00M10B
        603,   // imageAtomicExchange_01S10D00D00B
        604,   // atomicCounterDecrement_00G
        606,   // refract_20B20B00B
        608,   // imageAtomicAnd_01Q10D00D
        609,   // imageAtomicAnd_01Q10D00E
        610,   // imageAtomicAnd_01c20D00E
        611,   // imageAtomicAnd_01c20D00D
        612,   // texelFetch_00R10D00D
        614,   // cosh_20B
        616,   // smoothstep_30B30B30B
        618,   // imageAtomicExchange_01T10D00D00B
        619,   // textureGrad_00R10B10B10B
        621,   // min_00D00D
        623,   // shadow2DProjEXT_00d30B
        624,   // imageAtomicAdd_01V20D00D00E
        625,   // imageAtomicAdd_01V20D00D00D
        626,   // greaterThanEqual_30D30D
        628,   // imageLoad_01D20D
        629,   // findLSB_10E
        631,   // texture_00Z20B00B
        633,   // imageAtomicXor_01S10D00D00E
        634,   // imageAtomicXor_01S10D00D00D
        635,   // cos_10B
        637,   // texture_00e30B
        639,   // textureSize_00T00D
        641,   // textureProjGradOffset_00Y30B20B20B20D
        643,   // textureGrad_00T20B20B20B
        645,   // textureProjOffset_00d30B10D00B
        647,   // imageAtomicMin_01B10D00D
        648,   // imageAtomicMin_01B10D00E
        649,   // imageAtomicXor_01U20D00D00D
        650,   // imageAtomicXor_01U20D00D00E
        651,   // imageAtomicAdd_01h00D00D
        652,   // imageAtomicAdd_01h00D00E
        653,   // matrixCompMult_50B50B
        655,   // equal_30B30B
        657,   // imageAtomicExchange_01E20D00B
        658,   // textureLod_00U20B00B
        660,   // imageAtomicExchange_01E20D00D
        661,   // imageAtomicXor_01I20D00D
        662,   // texture2DProjLod_00I30B00B
        664,   // max_10B10B
        666,   // gl_PointSize
        668,   // asin_10B
        670,   // imageAtomicAdd_01g00D00E
        671,   // imageAtomicAdd_01g00D00D
        672,   // textureOffset_00S20B20D
        674,   // textureProj_00R20B
        676,   // greaterThan_10E10E
        678,   // imageAtomicAnd_01M00D00E
        679,   // imageAtomicAnd_01M00D00D
        680,   // EmitVertex_
        682,   // smoothstep_20B20B20B
        684,   // textureOffset_00J20B20D
        686,   // texelFetch_00J20D00D
        688,   // imageAtomicExchange_01V20D00D00E
        689,   // imageAtomicExchange_01V20D00D00B
        690,   // imageAtomicCompSwap_01Y10D00E00E
        691,   // gl_ViewID_OVR
        692,   // radians_30B
        694,   // imageAtomicMin_01H20D00E
        695,   // imageAtomicMin_01H20D00D
        696,   // textureProjGrad_00X30B10B10B
        698,   // imageAtomicXor_00z10D00D
        699,   // imageAtomicXor_00z10D00E
        700,   // texture3DLod_00J20B00B
        701,   // packUnorm4x8_30B
        703,   // gl_MaxComputeImageUniforms
        705,   // textureLod_00L20B00B
        707,   // imageAtomicExchange_01A10D00B
        708,   // imageAtomicCompSwap_01V20D00D00D00D
        709,   // imageAtomicExchange_01A10D00E
        710,   // imageAtomicExchange_01A10D00D
        711,   // transpose_B0B
        713,   // clamp_00E00E00E
        715,   // ldexp_00B00D
        717,   // bitfieldInsert_00D00D00D00D
        719,   // textureProjGrad_00Y30B20B20B
        721,   // imageAtomicAdd_01W20D00D00E
        722,   // roundEven_30B
        724,   // acosh_20B
        726,   // atanh_10B
        728,   // clamp_10B10B10B
        730,   // textureGatherOffset_00L20B10D00D
        732,   // bitCount_00D
        734,   // bitCount_00E
        736,   // gl_SamplePosition
        739,   // floatBitsToInt_30B
        741,   // max_20B00B
        743,   // texelFetchOffset_00Y20D00D20D
        745,   // atomicExchange_00E00E
        747,   // imageAtomicXor_01h00D00D
        748,   // imageAtomicXor_01h00D00E
        749,   // texture_00x30B00B
        750,   // lessThanEqual_20B20B
        752,   // min_10B00B
        754,   // imageAtomicAnd_01L00D00D
        755,   // imageAtomicAnd_01L00D00E
        756,   // mix_30F30F30F
        758,   // imageAtomicMax_01T10D00D00E
        759,   // imageAtomicMax_01T10D00D00D
        760,   // abs_20D
        762,   // abs_20B
        764,   // lessThanEqual_10B10B
        766,   // imageAtomicOr_01a20D00D
        767,   // imageAtomicOr_01a20D00E
        768,   // mix_00B00B00F
        770,   // textureGather_00s30B00D
        771,   // textureProj_00I20B
        773,   // gl_MaxVertexAtomicCounterBuffers
        775,   // acos_00B
        777,   // textureGradOffset_00J20B20B20B20D
        779,   // texture2DGradEXT_00I10B10B10B
        780,   // imageAtomicCompSwap_01G20D00D00D
        781,   // imageAtomicAnd_01I20D00D
        782,   // texture2DProjGradEXT_00I30B10B10B
        783,   // fma_30B30B30B
        786,   // imageAtomicAdd_01L00D00D
        787,   // imageAtomicAdd_01L00D00E
        788,   // gl_MaxComputeWorkGroupCount
        790,   // imageLoad_01i00D
        791,   // mix_30E30E30F
        793,   // gl_FragColor
        795,   // imageAtomicMin_01G20D00D
        796,   // imageAtomicMin_01G20D00E
        797,   // imageAtomicExchange_01S10D00D00D
        798,   // atan_20B
        800,   // interpolateAtSample_30B00D
        803,   // imageAtomicExchange_01S10D00D00E
        804,   // min_10B10B
        806,   // pow_10B10B
        808,   // imageAtomicXor_01P10D00E
        809,   // imageAtomicXor_01P10D00D
        810,   // texture_00X10B00B
        812,   // frexp_00B00D
        814,   // gl_MaxTessControlOutputComponents
        817,   // texture2D_00I10B
        819,   // ceil_20B
        821,   // imageAtomicMin_01b20D00E
        822,   // imageAtomicMin_01b20D00D
        823,   // imageAtomicMax_01P10D00D
        824,   // imageAtomicMax_01P10D00E
        825,   // imageAtomicExchange_01P10D00B
        826,   // textureProjOffset_00R20B10D
        828,   // textureOffset_00I10B10D
        830,   // min_20B00B
        832,   // reflect_00B00B
        834,   // sqrt_10B
        836,   // clamp_20E20E20E
        838,   // imageAtomicOr_01G20D00D
        839,   // imageAtomicOr_01G20D00E
        840,   // imageAtomicMin_01C20D00D
        841,   // texelFetch_00j00D
        842,   // gl_TessCoord
        844,   // imageStore_01a20D30B
        845,   // textureProjLod_00d30B00B
        847,   // imageLoad_01H20D
        848,   // textureProjGradOffset_00I20B10B10B10D
        850,   // interpolateAtSample_20B00D
        853,   // refract_10B10B00B
        855,   // imageAtomicMax_01h00D00D
        856,   // imageAtomicExchange_01X10D00D
        857,   // imageAtomicExchange_01X10D00E
        858,   // imageAtomicExchange_01X10D00B
        859,   // imageAtomicExchange_01Q10D00B
        860,   // imageAtomicExchange_01Q10D00E
        861,   // imageAtomicExchange_01Q10D00D
        862,   // clamp_20D20D20D
        864,   // sinh_30B
        866,   // imageAtomicMin_01N00D00E
        867,   // imageAtomicMin_01N00D00D
        868,   // textureGradOffset_00R10B10B10B10D
        870,   // asinh_20B
        872,   // imageAtomicCompSwap_01I20D00D00D
        873,   // textureProj_00O20B
        874,   // imageAtomicCompSwap_01M00D00E00E
        875,   // inverse_50B
        877,   // dot_10B10B
        879,   // gl_TessLevelOuter
        885,   // radians_20B
        887,   // atomicCompSwap_00E00E00E
        889,   // textureGrad_00Y20B20B20B
        891,   // imageAtomicCompSwap_01Z10D00D00D
        892,   // gl_MaxVertexUniformVectors
        894,   // imageAtomicExchange_01W20D00D00B
        895,   // outerProduct_10B10B
        897,   // imageAtomicExchange_01W20D00D00E
        898,   // imageAtomicExchange_01W20D00D00D
        899,   // textureProj_00X20B
        901,   // imageAtomicOr_01W20D00D00E
        902,   // imageAtomicOr_01W20D00D00D
        903,   // greaterThanEqual_20E20E
        905,   // gl_NumSamples
        908,   // textureProj_00M20B
        909,   // texture3DProjLod_00J30B00B
        910,   // imageAtomicAdd_01Z10D00E
        911,   // imageAtomicAdd_01Z10D00D
        912,   // mix_10D10D10F
        914,   // floatBitsToUint_20B
        916,   // log_20B
        918,   // imageAtomicMax_01D20D00E
        919,   // imageAtomicMax_01D20D00D
        920,   // modf_30B30B
        922,   // roundEven_20B
        924,   // atanh_00B
        926,   // textureProj_00J30B
        928,   // imageAtomicOr_01F20D00E
        929,   // imageAtomicOr_01F20D00D
        930,   // floatBitsToInt_20B
        932,   // texelFetch_00U20D00D
        934,   // max_00D00D
        936,   // atomicMin_00E00E
        938,   // shadow2DEXT_00d20B
        939,   // textureGatherOffsets_00a20B10Dx4
        942,   // max_30B30B
        944,   // gl_MaxCullDistances
        945,   // imageAtomicCompSwap_01F20D00D00D
        946,   // abs_10D
        948,   // abs_10B
        950,   // gl_FragDepthEXT
        951,   // ldexp_20B20D
        953,   // gl_ClipDistance
        955,   // imageAtomicCompSwap_01c20D00D00D
        956,   // imageAtomicMin_01T10D00D00E
        957,   // imageAtomicMin_01T10D00D00D
        958,   // equal_20B20B
        960,   // textureProjLodOffset_00X20B00B10D
        962,   // gl_MaxTessEvaluationImageUniforms
        965,   // texture_00U20B00B
        967,   // textureProj_00I30B
        969,   // mix_00E00E00F
        971,   // imageAtomicCompSwap_01h00D00D00D
        972,   // mix_00D00D00F
        974,   // textureGradOffset_00a20B10B10B10D
        976,   // notEqual_20F20F
        978,   // textureLod_00s30B00B
        979,   // imageAtomicOr_01C20D00D
        980,   // imageAtomicOr_01C20D00E
        981,   // textureSize_00S00D
        983,   // notEqual_30B30B
        985,   // textureGatherOffset_00f20B00B10D
        987,   // imageAtomicAnd_01N00D00D
        988,   // imageAtomicAnd_01N00D00E
        989,   // imageSize_00z
        990,   // textureGrad_00a20B10B10B
        992,   // texture_00J20B00B
        994,   // ceil_30B
        996,   // gl_MaxGeometryOutputComponents
        999,   // gl_MaxTessControlAtomicCounters
        1002,  // log2_30B
        1004,  // gl_MaxTessControlImageUniforms
        1007,  // textureProjGrad_00d30B10B10B
        1009,  // fract_30B
        1011,  // max_30E30E
        1013,  // gl_MaxFragmentAtomicCounterBuffers
        1015,  // gl_in
        1024,  // textureProjLodOffset_00J30B00B20D
        1026,  // imageAtomicExchange_01O10D00B
        1027,  // imageAtomicMax_01H20D00E
        1028,  // imageAtomicMax_01H20D00D
        1029,  // imageStore_01h00D30D
        1030,  // imageAtomicExchange_01O10D00D
        1031,  // texelFetch_00c20D00D
        1032,  // sqrt_00B
        1034,  // textureProjLod_00R30B00B
        1036,  // imageAtomicAnd_01F20D00D
        1037,  // imageAtomicAnd_01F20D00E
        1038,  // imageAtomicMin_01P10D00D
        1039,  // imageAtomicMin_01P10D00E
        1040,  // imageAtomicAdd_01C20D00E
        1041,  // imageAtomicAdd_01C20D00D
        1042,  // imageAtomicXor_01N00D00D
        1043,  // imageAtomicXor_01N00D00E
        1044,  // texture_00x30B
        1045,  // max_10E00E
        1047,  // imageLoad_01c20D
        1048,  // textureGrad_00U20B10B10B
        1050,  // imageLoad_00z10D
        1051,  // textureGatherOffsets_00a20B10Dx400D
        1054,  // sinh_20B
        1056,  // matrixCompMult_E0BE0B
        1057,  // gl_MaxTessEvaluationAtomicCounterBuffers
        1060,  // imageAtomicMin_01K20D00E
        1061,  // gl_WorkGroupSize
        1063,  // asinh_30B
        1065,  // textureGather_00a20B
        1067,  // pow_30B30B
        1069,  // imageAtomicCompSwap_01G20D00E00E
        1070,  // smoothstep_10B10B10B
        1072,  // textureProj_00O30B
        1073,  // imageAtomicAdd_01R10D00D00D
        1074,  // imageAtomicAdd_01R10D00D00E
        1075,  // imageAtomicXor_01I20D00E
        1076,  // imageAtomicMin_01Q10D00E
        1077,  // imageAtomicMin_01Q10D00D
        1078,  // imageAtomicExchange_01E20D00E
        1079,  // isnan_00B
        1081,  // imulExtended_10D10D10D10D
        1083,  // imageAtomicMax_01i00D00D
        1084,  // imageAtomicMax_01i00D00E
        1085,  // min_00E00E
        1087,  // texture2DProj_00I30B
        1089,  // textureGradOffset_00I10B10B10B10D
        1091,  // textureLodOffset_00J20B00B20D
        1093,  // notEqual_20B20B
        1095,  // atomicCompSwap_00D00D00D
        1097,  // Empty
        1097,  // floatBitsToInt_10B
        1099,  // textureLod_00a20B00B
        1101,  // textureProj_00N30B
        1102,  // equal_30D30D
        1104,  // imageStore_01D20D30D
        1105,  // packSnorm2x16_10B
        1107,  // floatBitsToUint_30B
        1109,  // textureOffset_00R10B10D
        1111,  // textureProjGradOffset_00R20B10B10B10D
        1113,  // ldexp_30B30D
        1115,  // max_30B00B
        1117,  // gl_TessLevelInner
        1123,  // textureLod_00k30B00B
        1124,  // textureProj_00I30B00B
        1126,  // imageAtomicAnd_01X10D00E
        1127,  // imageAtomicExchange_01D20D00E
        1128,  // imageAtomicExchange_01D20D00D
        1129,  // imageAtomicExchange_01D20D00B
        1130,  // imageAtomicCompSwap_01A10D00E00E
        1131,  // abs_00D
        1133,  // abs_00B
        1135,  // textureLod_00R10B00B
        1137,  // textureLodOffset_00U20B00B10D
        1139,  // imageAtomicAnd_01X10D00D
        1140,  // sinh_00B
        1142,  // texture2DLod_00I10B00B
        1144,  // textureProjGradOffset_00X20B10B10B10D
        1146,  // imageAtomicMax_01Z10D00D
        1147,  // gl_MaxComputeAtomicCounters
        1149,  // texture_00s30B
        1150,  // EndPrimitive_
        1152,  // step_00B30B
        1154,  // round_20B
        1156,  // equal_30E30E
        1158,  // imageAtomicCompSwap_01R10D00D00E00E
        1159,  // atomicOr_00D00D
        1161,  // texture2DProj_00M20B
        1162,  // notEqual_10D10D
        1164,  // imageAtomicExchange_01Z10D00D
        1165,  // textureSize_00V
        1168,  // imageAtomicAnd_01h00D00D
        1169,  // imageAtomicAdd_01G20D00E
        1170,  // imageAtomicAdd_01G20D00D
        1171,  // findLSB_30D
        1173,  // findLSB_30E
        1175,  // textureProj_00X20B00B
        1177,  // textureGatherOffset_00U20B10D
        1179,  // imageAtomicExchange_01Z10D00E
        1180,  // faceforward_10B10B10B
        1182,  // gl_MaxTessControlAtomicCounterBuffers
        1185,  // imageAtomicAnd_01h00D00E
        1186,  // min_10D00D
        1188,  // imageAtomicCompSwap_01J20D00D00D
        1189,  // all_20F
        1191,  // imageSize_01J
        1192,  // imageSize_01K
        1193,  // imageSize_01H
        1194,  // imageSize_01I
        1195,  // packHalf2x16_10B
        1197,  // textureProj_00I20B00B
        1199,  // imageSize_01B
        1200,  // imageSize_01C
        1201,  // imageSize_01A
        1202,  // imageSize_01F
        1203,  // imageSize_01G
        1204,  // imageSize_01D
        1205,  // imageSize_01E
        1206,  // imageAtomicExchange_01L00D00B
        1207,  // imageAtomicExchange_01L00D00E
        1208,  // imageAtomicExchange_01L00D00D
        1209,  // notEqual_30F30F
        1211,  // imageSize_01h
        1212,  // imageSize_01i
        1213,  // fract_20B
        1215,  // imageAtomicMax_01c20D00D
        1216,  // imageSize_01c
        1217,  // imageSize_01a
        1218,  // imageSize_01g
        1219,  // textureLod_00S20B00B
        1221,  // gl_FragDepth
        1223,  // textureGather_00x30B
        1224,  // mix_30B30B30F
        1226,  // mix_30B30B30B
        1228,  // textureGather_00Z20B00D
        1230,  // imageAtomicAnd_01Z10D00E
        1231,  // imageAtomicAnd_01Z10D00D
        1232,  // imageStore_01E20D30E
        1233,  // sqrt_30B
        1235,  // exp_00B
        1237,  // max_30D30D
        1239,  // gl_MaxGeometryTextureImageUnits
        1242,  // interpolateAtCentroid_10B
        1245,  // textureSize_00M00D
        1246,  // angle_BaseInstance
        1247,  // mix_10F10F10F
        1249,  // textureGradOffset_00U20B10B10B10D
        1251,  // gl_Position
        1262,  // textureProj_00M30B
        1263,  // textureGradOffset_00L20B10B10B10D
        1265,  // imageAtomicExchange_01V20D00D00D
        1266,  // imageAtomicExchange_01J20D00B
        1267,  // imageAtomicExchange_01J20D00E
        1268,  // imageAtomicExchange_01J20D00D
        1269,  // imageAtomicOr_01M00D00D
        1270,  // imageAtomicOr_01M00D00E
        1271,  // dot_20B20B
        1273,  // imageAtomicCompSwap_01Z10D00E00E
        1274,  // textureProjLod_00S30B00B
        1276,  // textureProjGrad_00R20B10B10B
        1278,  // imageAtomicAnd_01i00D00E
        1279,  // imageAtomicAnd_01i00D00D
        1280,  // imageAtomicMax_00z10D00E
        1281,  // imageAtomicMax_00z10D00D
        1282,  // imageAtomicMax_01V20D00D00D
        1283,  // imageAtomicMax_01V20D00D00E
        1284,  // textureProjGrad_00I20B10B10B
        1286,  // textureGather_00e20B
        1287,  // texture2D_00M10B
        1288,  // imageAtomicAdd_01a20D00E
        1289,  // imageAtomicAdd_01a20D00D
        1290,  // textureGather_00K20B00D
        1292,  // textureCubeLodEXT_00K20B00B
        1293,  // textureGather_00T20B00D
        1295,  // textureProj_00N20B
        1296,  // imageAtomicMax_01E20D00D
        1297,  // imageAtomicMax_01E20D00E
        1298,  // textureProjLodOffset_00X30B00B10D
        1300,  // gl_MaxSamples
        1303,  // texelFetchOffset_00U20D00D10D
        1305,  // imageAtomicCompSwap_00z10D00E00E
        1306,  // imageAtomicMin_01D20D00E
        1307,  // imageAtomicMin_01D20D00D
        1308,  // textureGradOffset_00d20B10B10B10D
        1310,  // imageAtomicCompSwap_01N00D00E00E
        1311,  // textureProjOffset_00d30B10D
        1313,  // imageAtomicOr_01T10D00D00E
        1314,  // imageAtomicOr_01T10D00D00D
        1315,  // equal_20F20F
        1317,  // usubBorrow_10E10E10E
        1319,  // equal_10B10B
        1321,  // isnan_10B
        1323,  // uaddCarry_20E20E20E
        1325,  // imageAtomicXor_01A10D00D
        1326,  // imageAtomicXor_01A10D00E
        1327,  // imageAtomicCompSwap_01C20D00D00D
        1328,  // atomicMin_00D00D
        1330,  // textureSize_00X00D
        1332,  // greaterThan_10B10B
        1334,  // clamp_30D00D00D
        1336,  // mix_20E20E20F
        1338,  // textureProjOffset_00R30B10D00B
        1340,  // textureGather_00U20B00D
        1342,  // floatBitsToInt_00B
        1344,  // imageLoad_01a20D
        1345,  // floatBitsToUint_00B
        1347,  // imageAtomicCompSwap_01I20D00E00E
        1348,  // texture2DRectProj_00O20B
        1349,  // tan_20B
        1351,  // floor_00B
        1353,  // imageAtomicMax_01O10D00E
        1354,  // imageAtomicMax_01O10D00D
        1355,  // gl_DrawID
        1356,  // modf_00B00B
        1358,  // notEqual_20D20D
        1360,  // imageAtomicExchange_01R10D00D00E
        1361,  // imageAtomicExchange_01R10D00D00D
        1362,  // imageAtomicExchange_01F20D00E
        1363,  // determinant_A0B
        1364,  // imageAtomicExchange_01i00D00D
        1365,  // imageAtomicExchange_01i00D00E
        1366,  // imageAtomicExchange_01i00D00B
        1367,  // imageAtomicOr_01I20D00E
        1368,  // isnan_30B
        1370,  // lessThanEqual_30D30D
        1372,  // textureProj_00M30B00B
        1373,  // texture2DProj_00M30B
        1374,  // textureGrad_00I10B10B10B
        1376,  // step_00B20B
        1378,  // texture2DProjLod_00I20B00B
        1380,  // yuv_2_rgb_20B00H
        1381,  // texelFetch_00b10D00D
        1384,  // textureProj_00J30B00B
        1386,  // textureGather_00R10B
        1388,  // imageAtomicOr_01V20D00D00D
        1389,  // imageAtomicOr_01V20D00D00E
        1390,  // imageAtomicExchange_01P10D00D
        1391,  // min_10D10D
        1393,  // all_30F
        1395,  // imageAtomicExchange_01P10D00E
        1396,  // imageAtomicAnd_01S10D00D00E
        1397,  // imageAtomicAnd_01S10D00D00D
        1398,  // angle_BaseVertex
        1399,  // bitfieldReverse_20D
        1401,  // bitfieldReverse_20E
        1403,  // imageAtomicExchange_01I20D00D
        1404,  // imageAtomicExchange_01I20D00E
        1405,  // imageAtomicExchange_01I20D00B
        1406,  // gl_MaxGeometryInputComponents
        1409,  // textureGatherOffsets_00X10B10Dx4
        1412,  // fract_10B
        1414,  // textureLodOffset_00I10B00B10D
        1416,  // imageAtomicCompSwap_01S10D00D00E00E
        1417,  // imageAtomicXor_01c20D00E
        1418,  // imageAtomicXor_01c20D00D
        1419,  // textureOffset_00U20B10D
        1421,  // min_30B00B
        1423,  // atomicAnd_00D00D
        1425,  // exp_10B
        1427,  // bitCount_30E
        1429,  // bitCount_30D
        1431,  // unpackUnorm2x16_00E
        1433,  // sqrt_20B
        1435,  // gl_PerVertex
        1444,  // textureGrad_00L20B10B10B
        1446,  // interpolateAtCentroid_00B
        1449,  // gl_MaxTessEvaluationUniformComponents
        1452,  // gl_MaxImageUnits
        1454,  // imageAtomicOr_01Q10D00E
        1455,  // imageAtomicOr_01Q10D00D
        1456,  // clamp_10D00D00D
        1458,  // step_30B30B
        1460,  // texelFetch_00P10D00D
        1463,  // imageAtomicCompSwap_01i00D00D00D
        1464,  // texture_00O10B
        1465,  // imageAtomicMin_01M00D00D
        1466,  // imageAtomicMin_01M00D00E
        1467,  // texture_00e30B00B
        1469,  // imageAtomicMin_01O10D00E
        1470,  // imageAtomicMin_01O10D00D
        1471,  // gl_FragCoord
        1473,  // imageAtomicMax_01X10D00D
        1474,  // imageAtomicMax_01X10D00E
        1475,  // imageAtomicAnd_01E20D00E
        1476,  // imageAtomicAnd_01E20D00D
        1477,  // normalize_00B
        1479,  // imageAtomicOr_01A10D00E
        1480,  // imageAtomicOr_01A10D00D
        1481,  // imageAtomicCompSwap_01Q10D00E00E
        1482,  // atomicMax_00D00D
        1484,  // gl_MaxPatchVertices
        1487,  // floatBitsToUint_10B
        1489,  // textureLod_00J20B00B
        1491,  // textureSize_00I00D
        1493,  // gl_MaxComputeWorkGroupSize
        1495,  // texelFetchOffset_00R10D00D10D
        1497,  // textureLodOffset_00X10B00B10D
        1499,  // texture_00T20B00B
        1501,  // gl_out
        1507,  // log_30B
        1509,  // smoothstep_00B00B20B
        1511,  // imageAtomicMax_01K20D00D
        1512,  // imageAtomicMax_01K20D00E
        1513,  // imageStore_01G20D30D
        1514,  // textureProjLod_00R20B00B
        1516,  // outerProduct_30B30B
        1518,  // notEqual_30D30D
        1520,  // textureProjOffset_00I20B10D
        1522,  // gl_MaxDrawBuffers
        1524,  // gl_MaxCombinedTextureImageUnits
        1526,  // imageAtomicMin_01K20D00D
        1527,  // imulExtended_20D20D20D20D
        1529,  // any_30F
        1531,  // distance_30B30B
        1533,  // texture3D_00J20B00B
        1534,  // dot_30B30B
        1536,  // gl_MaxTextureImageUnits
        1538,  // usubBorrow_20E20E20E
        1540,  // mix_30B30B00B
        1542,  // clamp_30B00B00B
        1544,  // texture2DRectProj_00O30B
        1545,  // max_10D00D
        1547,  // clamp_00D00D00D
        1549,  // floor_30B
        1551,  // texelFetch_00X10D00D
        1553,  // textureProjGradOffset_00S30B20B20B20D
        1555,  // gl_PointCoord
        1557,  // bitfieldReverse_00D
        1559,  // bitfieldReverse_00E
        1561,  // imageStore_01F20D30B
        1562,  // clamp_10B00B00B
        1564,  // texelFetchOffset_00S20D00D20D
        1566,  // lessThan_10D10D
        1568,  // texture_00R10B00B
        1570,  // textureGatherOffset_00U20B10D00D
        1572,  // textureGather_00I10B00D
        1574,  // texelFetch_00V10D00D
        1577,  // imageAtomicExchange_01h00D00E
        1578,  // imageAtomicExchange_01h00D00D
        1579,  // atan_30B30B
        1581,  // imageAtomicExchange_01h00D00B
        1582,  // imageAtomicMax_01a20D00D
        1583,  // imageAtomicMax_01a20D00E
        1584,  // max_00B00B
        1586,  // imageAtomicOr_01J20D00E
        1587,  // imageAtomicOr_01J20D00D
        1588,  // imageAtomicMax_01F20D00E
        1589,  // imageAtomicMax_01F20D00D
        1590,  // exp2_20B
        1592,  // imageAtomicExchange_00z10D00B
        1593,  // imageAtomicExchange_00z10D00E
        1594,  // imageAtomicExchange_00z10D00D
        1595,  // textureProjLod_00Y30B00B
        1597,  // imageAtomicMin_01c20D00D
        1598,  // imageAtomicMin_01c20D00E
        1599,  // textureSize_00k00D
        1600,  // reflect_20B20B
        1602,  // imageAtomicXor_01V20D00D00E
        1603,  // imageAtomicXor_01V20D00D00D
        1604,  // equal_10F10F
        1606,  // acos_30B
        1608,  // textureVideoWEBGL_00y10B
        1610,  // dFdx_10B
        1613,  // bitfieldReverse_30E
        1615,  // bitfieldReverse_30D
        1617,  // imageAtomicOr_01Z10D00D
        1618,  // imageAtomicOr_01Z10D00E
        1619,  // fract_00B
        1621,  // min_30E00E
        1623,  // gl_MinProgramTexelOffset
        1625,  // interpolateAtOffset_20B10B
        1628,  // imageAtomicOr_01c20D00D
        1629,  // imageAtomicOr_01c20D00E
        1630,  // reflect_30B30B
        1632,  // interpolateAtCentroid_30B
        1635,  // mod_30B30B
        1637,  // imageAtomicXor_01X10D00E
        1638,  // imageAtomicXor_01X10D00D
        1639,  // memoryBarrier_
        1641,  // pow_00B00B
        1643,  // mod_00B00B
        1645,  // unpackUnorm4x8_00E
        1647,  // roundEven_10B
        1649,  // atanh_30B
        1651,  // textureLod_00K20B00B
        1653,  // bitCount_20D
        1655,  // bitCount_20E
        1657,  // texelFetch_00L20D00D
        1659,  // imageAtomicAnd_01K20D00E
        1660,  // distance_20B20B
        1662,  // uaddCarry_30E30E30E
        1664,  // textureSize_00U00D
        1666,  // gl_MaxCombinedImageUniforms
        1668,  // imageAtomicOr_01g00D00D
        1669,  // imageAtomicOr_01g00D00E
        1670,  // gl_GlobalInvocationID
        1672,  // gl_LocalInvocationIndex
        1674,  // gl_VertexID
        1676,  // imageAtomicCompSwap_01U20D00D00D00D
        1677,  // atomicOr_00E00E
        1679,  // mix_10B10B10F
        1681,  // mix_10B10B10B
        1683,  // textureProj_00Y30B00B
        1685,  // imageAtomicMax_01I20D00D
        1686,  // imageAtomicMax_01I20D00E
        1687,  // textureGatherOffset_00I10B10D00D
        1689,  // notEqual_20E20E
        1691,  // textureLodOffset_00d20B00B10D
        1693,  // inverse_A0B
        1695,  // textureProjGrad_00X20B10B10B
        1697,  // textureSize_00Y00D
        1699,  // atan_20B20B
        1701,  // usubBorrow_00E00E00E
        1703,  // imageAtomicXor_01M00D00E
        1704,  // imageAtomicXor_01M00D00D
        1705,  // textureGatherOffsets_00U20B10Dx4
        1708,  // imageAtomicCompSwap_01c20D00E00E
        1709,  // texture2D_00I10B00B
        1711,  // fma_10B10B10B
        1714,  // smoothstep_00B00B10B
        1716,  // imageAtomicCompSwap_01a20D00D00D
        1717,  // normalize_10B
        1719,  // imageStore_01b20D30D
        1720,  // bitfieldExtract_00E00D00D
        1722,  // any_20F
        1724,  // gl_HelperInvocation
        1726,  // sin_10B
        1728,  // textureSize_00N00D
        1729,  // mod_20B20B
        1731,  // imageAtomicOr_01h00D00E
        1732,  // imageAtomicOr_01h00D00D
        1733,  // gl_SampleMask
        1736,  // textureGrad_00k30B20B20B
        1737,  // imageAtomicMin_01A10D00E
        1738,  // imageAtomicMin_01A10D00D
        1739,  // textureGradOffset_00f30B10B10B10D
        1741,  // max_20D20D
        1743,  // max_10D10D
        1745,  // refract_30B30B00B
        1747,  // floor_20B
        1749,  // mix_00B00B00B
        1751,  // matrixCompMult_F0BF0B
        1753,  // umulExtended_10E10E10E10E
        1755,  // texture_00d20B00B
        1757,  // gl_MaxCombinedAtomicCounterBuffers
        1759,  // umulExtended_30E30E30E30E
        1761,  // textureGradOffset_00Y20B20B20B20D
        1763,  // textureGatherOffset_00a20B10D
        1765,  // textureGrad_00f30B10B10B
        1767,  // imageAtomicXor_01C20D00E
        1768,  // modf_20B20B
        1770,  // imageAtomicAnd_01Y10D00D
        1771,  // imageAtomicAnd_01Y10D00E
        1772,  // imageAtomicAdd_01i00D00E
        1773,  // imageAtomicAdd_01i00D00D
        1774,  // imageAtomicCompSwap_01L00D00E00E
        1775,  // texture_00y10B
        1777,  // length_30B
        1779,  // imageStore_01B10D30E
        1780,  // textureGather_00s30B
        1781,  // imageAtomicMin_00z10D00E
        1782,  // imageAtomicMin_00z10D00D
        1783,  // imageStore_01I20D30B
        1784,  // exp2_30B
        1786,  // texture3DProj_00J30B00B
        1787,  // imageAtomicAdd_01K20D00E
        1788,  // imageAtomicAdd_01K20D00D
        1789,  // textureProjLod_00X30B00B
        1791,  // textureProjGradOffset_00I30B10B10B10D
        1793,  // imageAtomicAdd_01W20D00D00D
        1794,  // cosh_30B
        1796,  // textureOffset_00S20B20D00B
        1798,  // usubBorrow_30E30E30E
        1800,  // imageAtomicMax_01W20D00D00E
        1801,  // imageAtomicMax_01W20D00D00D
        1802,  // textureProjOffset_00R20B10D00B
        1804,  // texture3DProj_00J30B
        1805,  // matrixCompMult_B0BB0B
        1806,  // lessThan_30B30B
        1808,  // cross_20B20B
        1810,  // all_10F
        1812,  // clamp_20B00B00B
        1814,  // dFdx_00B
        1817,  // imageAtomicXor_01i00D00E
        1818,  // textureLodOffset_00S20B00B20D
        1820,  // acos_20B
        1822,  // texelFetch_00r00D
        1823,  // max_20B20B
        1825,  // textureLod_00X10B00B
        1827,  // equal_30F30F
        1829,  // cosh_00B
        1831,  // bitfieldExtract_00D00D00D
        1833,  // imageAtomicMin_01E20D00D
        1834,  // imageAtomicMin_01E20D00E
        1835,  // textureLod_00Z20B00B
        1837,  // sign_00D
        1839,  // textureOffset_00Y20B20D
        1841,  // imageAtomicXor_01Q10D00D
        1842,  // imageAtomicXor_01Q10D00E
        1843,  // transpose_60B
        1845,  // imageAtomicAdd_01O10D00D
        1846,  // imageAtomicAdd_01O10D00E
        1847,  // faceforward_00B00B00B
        1849,  // gl_NumWorkGroups
        1851,  // imageAtomicOr_01O10D00E
        1852,  // imageAtomicOr_01O10D00D
        1853,  // imageAtomicAdd_01b20D00D
        1854,  // imageAtomicAdd_01b20D00E
        1855,  // textureProjLodOffset_00R30B00B10D
        1857,  // imageAtomicExchange_01U20D00D00B
        1858,  // imageAtomicExchange_01U20D00D00E
        1859,  // imageAtomicExchange_01U20D00D00D
        1860,  // imageStore_01H20D30E
        1861,  // textureGather_00U20B
        1863,  // texelFetch_00Q20D00D
        1864,  // roundEven_00B
        1866,  // atanh_20B
        1868,  // texelFetch_00w00D
        1869,  // textureProjOffset_00X30B10D
        1871,  // gl_MaxFragmentUniformVectors
        1873,  // interpolateAtOffset_10B10B
        1876,  // imageAtomicCompSwap_01Q10D00D00D
        1877,  // abs_30B
        1879,  // bitfieldInsert_10E10E00D00D
        1881,  // packSnorm4x8_30B
        1883,  // mix_10B10B00B
        1885,  // textureGatherOffset_00X10B10D
        1887,  // clamp_30D30D30D
        1889,  // textureGatherOffsets_00L20B10Dx4
        1892,  // imageAtomicMax_01c20D00E
        1893,  // imageAtomicMax_01G20D00D
        1894,  // imageAtomicMax_01G20D00E
        1895,  // determinant_F0B
        1896,  // transpose_A0B
        1898,  // pow_20B20B
        1900,  // texture2DProjGradEXT_00I20B10B10B
        1901,  // imageAtomicMax_01B10D00D
        1902,  // imageAtomicMax_01B10D00E
        1903,  // imageAtomicExchange_01G20D00B
        1904,  // imageAtomicExchange_01G20D00D
        1905,  // imageAtomicExchange_01G20D00E
        1906,  // imageAtomicMax_01g00D00D
        1907,  // imageAtomicMax_01g00D00E
        1908,  // texture_00s30B00B
        1909,  // log2_20B
        1911,  // gl_MaxTessControlUniformComponents
        1914,  // textureProjOffset_00I20B10D00B
        1916,  // imageAtomicAnd_01T10D00D00D
        1917,  // imageAtomicAnd_01T10D00D00E
        1918,  // notEqual_10F10F
        1920,  // smoothstep_00B00B00B
        1922,  // textureProjLodOffset_00d30B00B10D
        1924,  // imageAtomicAnd_01P10D00E
        1925,  // imageAtomicAnd_01P10D00D
        1926,  // textureProjLodOffset_00I30B00B10D
        1928,  // gl_MaxCombinedAtomicCounters
        1930,  // bitfieldInsert_10D10D00D00D
        1932,  // imageAtomicCompSwap_01N00D00D00D
        1933,  // imageAtomicCompSwap_01L00D00D00D
        1934,  // textureGather_00k30B
        1935,  // texture_00J20B
        1937,  // lessThanEqual_10D10D
        1939,  // gl_MaxVaryingVectors
        1941,  // textureSize_00d00D
        1943,  // sin_00B
        1945,  // uaddCarry_10E10E10E
        1947,  // atomicCounterIncrement_00G
        1949,  // imageAtomicAdd_01J20D00D
        1950,  // imageAtomicAdd_01J20D00E
        1951,  // imageAtomicCompSwap_01S10D00D00D00D
        1952,  // imageAtomicAdd_01U20D00D00D
        1953,  // imageAtomicAdd_01U20D00D00E
        1954,  // imageAtomicExchange_01Y10D00B
        1955,  // equal_10E10E
        1957,  // imageAtomicExchange_01Y10D00E
        1958,  // imageAtomicExchange_01Y10D00D
        1959,  // imageLoad_01B10D
        1960,  // imageAtomicExchange_01O10D00E
        1961,  // textureProjOffset_00J30B20D
        1963,  // imageAtomicXor_01D20D00D
        1964,  // imageAtomicXor_01D20D00E
        1965,  // notEqual_10E10E
        1967,  // imageAtomicExchange_01N00D00B
        1968,  // imageAtomicExchange_01N00D00E
        1969,  // imageAtomicExchange_01N00D00D
        1970,  // imageAtomicCompSwap_01O10D00D00D
        1971,  // imageAtomicMin_01i00D00D
        1972,  // imageAtomicMin_01i00D00E
        1973,  // textureLodOffset_00R10B00B10D
        1975,  // trunc_10B
        1977,  // imageAtomicAdd_01S10D00D00D
        1978,  // length_20B
        1980,  // gl_DepthRangeParameters
        1982,  // textureGather_00f20B
        1983,  // textureProj_00d30B00B
        1985,  // sign_10B
        1987,  // max_00E00E
        1989,  // texture_00a20B00B
        1991,  // textureProj_00M20B00B
        1992,  // imageLoad_01A10D
        1993,  // textureProjOffset_00X30B10D00B
        1995,  // exp2_00B
        1997,  // imageAtomicExchange_01H20D00B
        1998,  // imageAtomicCompSwap_01H20D00E00E
        1999,  // imageAtomicExchange_01H20D00E
        2000,  // imageAtomicExchange_01H20D00D
        2001,  // textureGather_00a20B00D
        2003,  // textureSize_00s00D
        2004,  // texture_00Y20B
        2006,  // imageAtomicOr_01I20D00D
        2007,  // texture_00N10B00B
        2008,  // gl_PrimitiveID
        2020,  // imageAtomicCompSwap_01Y10D00D00D
        2021,  // textureProjGrad_00I30B10B10B
        2023,  // gl_Layer
        2029,  // textureOffset_00d20B10D
        2031,  // dFdx_30B
        2034,  // textureGatherOffsets_00U20B10Dx400D
        2037,  // imageAtomicMin_01V20D00D00D
        2038,  // imageAtomicMin_01V20D00D00E
        2039,  // gl_LastFragColor
        2040,  // min_20E20E
        2042,  // asin_20B
        2044,  // imageAtomicCompSwap_01U20D00D00E00E
        2045,  // texture_00l30B00B
        2046,  // fwidth_10B
        2049,  // dFdy_00B
        2052,  // lessThan_30E30E
        2054,  // imulExtended_30D30D30D30D
        2056,  // transpose_70B
        2058,  // imulExtended_00D00D00D00D
        2060,  // imageAtomicAdd_01F20D00D
        2061,  // imageAtomicAdd_01F20D00E
        2062,  // texture_00S20B00B
        2064,  // textureLod_00Y20B00B
        2066,  // imageAtomicExchange_01c20D00D
        2067,  // imageAtomicExchange_01c20D00E
        2068,  // imageAtomicExchange_01c20D00B
        2069,  // min_20D00D
        2071,  // imageAtomicCompSwap_01P10D00D00D
        2072,  // uintBitsToFloat_00E
        2074,  // imageAtomicMin_01L00D00E
        2075,  // imageAtomicMin_01L00D00D
        2076,  // bitfieldInsert_20D20D00D00D
        2078,  // imageSize_01b
        2079,  // texture_00Z20B
        2081,  // tanh_00B
        2083,  // imageAtomicMax_01N00D00E
        2084,  // imageAtomicMax_01N00D00D
        2085,  // matrixCompMult_D0BD0B
        2086,  // gl_MaxClipDistances
        2087,  // imageAtomicXor_01g00D00E
        2088,  // imageAtomicXor_01g00D00D
        2089,  // min_30B30B
        2091,  // lessThan_20E20E
        2093,  // memoryBarrierAtomicCounter_
        2095,  // bitfieldInsert_00E00E00D00D
        2097,  // gl_MaxTessControlInputComponents
        2100,  // imageAtomicMin_01a20D00D
        2101,  // imageAtomicMin_01a20D00E
        2102,  // textureGrad_00d20B10B10B
        2104,  // mix_30D30D30F
        2106,  // atan_10B
        2108,  // imageAtomicCompSwap_01g00D00D00D
        2109,  // step_00B10B
        2111,  // textureProjLod_00I20B00B
        2113,  // rgb_2_yuv_20B00H
        2114,  // texture_00T20B
        2116,  // log2_10B
        2118,  // imageAtomicAnd_01D20D00D
        2119,  // imageAtomicAnd_01D20D00E
        2120,  // findLSB_20E
        2122,  // findLSB_20D
        2124,  // imageAtomicCompSwap_01B10D00D00D
        2125,  // imageAtomicOr_01X10D00D
        2126,  // imageAtomicOr_01X10D00E
        2127,  // gl_SampleID
        2130,  // greaterThanEqual_10B10B
        2132,  // clamp_10D10D10D
        2134,  // texelFetch_00M10D00D
        2135,  // transpose_F0B
        2137,  // textureOffset_00Y20B20D00B
        2139,  // textureGradOffset_00S20B20B20B20D
        2141,  // clamp_30E30E30E
        2143,  // textureSize_00R00D
        2145,  // inverse_F0B
        2147,  // acosh_10B
        2149,  // imageLoad_01b20D
        2150,  // gl_MaxTessPatchComponents
        2153,  // textureOffset_00L20B10D00B
        2155,  // mod_20B00B
        2157,  // textureProjLod_00J30B00B
        2159,  // transpose_90B
        2161,  // atomicAnd_00E00E
        2163,  // max_20D00D
        2165,  // texelFetchOffset_00I10D00D10D
        2167,  // imageAtomicMin_01Z10D00D
        2168,  // imageAtomicMin_01Z10D00E
        2169,  // imageAtomicCompSwap_01i00D00E00E
        2170,  // imageAtomicCompSwap_01K20D00D00D
        2171,  // imageStore_01J20D30D
        2172,  // atomicCounter_00G
        2174,  // bitfieldInsert_30D30D00D00D
        2176,  // greaterThan_10D10D
        2178,  // bitfieldExtract_10E00D00D
        2180,  // greaterThan_20D20D
        2182,  // imageAtomicAnd_01W20D00D00D
        2183,  // imageAtomicAnd_01W20D00D00E
        2184,  // trunc_00B
        2186,  // length_10B
        2188,  // imageAtomicAdd_01H20D00D
        2189,  // imageAtomicAdd_01H20D00E
        2190,  // dot_00B00B
        2192,  // tan_30B
        2194,  // textureLod_00T20B00B
        2196,  // textureProjGrad_00R30B10B10B
        2198,  // exp2_10B
        2200,  // textureProjOffset_00X20B10D00B
        2202,  // textureProjGradOffset_00X30B10B10B10D
        2204,  // imageAtomicXor_01i00D00D
        2205,  // matrixCompMult_A0BA0B
        2207,  // textureGrad_00S20B20B20B
        2209,  // round_30B
        2211,  // textureGrad_00x30B20B20B
        2212,  // imageAtomicCompSwap_01D20D00E00E
        2213,  // interpolateAtSample_00B00D
        2216,  // dFdx_20B
        2219,  // texture_00L20B
        2221,  // barrier_
        2225,  // imageAtomicOr_01N00D00E
        2226,  // imageAtomicOr_01N00D00D
        2227,  // textureGather_00k30B00D
        2228,  // findMSB_20D
        2230,  // findMSB_20E
        2232,  // imageAtomicMin_01S10D00D00D
        2233,  // imageAtomicMin_01S10D00D00E
        2234,  // textureProjOffset_00S30B20D00B
        2236,  // imageAtomicAdd_01D20D00D
        2237,  // imageAtomicAdd_01D20D00E
        2238,  // unpackSnorm4x8_00E
        2240,  // imageLoad_01C20D
        2241,  // imageAtomicMax_01C20D00D
        2242,  // imageAtomicMax_01C20D00E
        2243,  // textureGather_00l30B00B
        2244,  // asin_30B
        2246,  // isnan_20B
        2248,  // fwidth_00B
        2251,  // dFdy_10B
        2254,  // imageAtomicAdd_01P10D00E
        2255,  // imageAtomicAdd_01P10D00D
        2256,  // max_30E00E
        2258,  // textureLod_00d20B00B
        2260,  // imageAtomicAdd_01c20D00E
        2261,  // imageAtomicAdd_01c20D00D
        2262,  // mod_10B00B
        2264,  // uintBitsToFloat_10E
        2266,  // imageAtomicMax_01Q10D00E
        2267,  // imageAtomicMax_01Q10D00D
        2268,  // bitfieldExtract_20D00D00D
        2270,  // imageAtomicMax_01M00D00D
        2271,  // imageAtomicMax_01M00D00E
        2272,  // imageAtomicAdd_01E20D00E
        2273,  // imageAtomicAdd_01E20D00D
        2274,  // textureLodOffset_00Y20B00B20D
        2276,  // log2_00B
        2278,  // tanh_10B
        2280,  // imageAtomicMin_01I20D00E
        2281,  // gl_LocalInvocationID
        2283,  // gl_MaxCombinedClipAndCullDistances
        2284,  // clamp_00B00B00B
        2286,  // textureGather_00d10B
        2287,  // gl_MaxGeometryAtomicCounterBuffers
        2290,  // imageAtomicXor_01B10D00E
        2291,  // imageAtomicXor_01B10D00D
        2292,  // outerProduct_20B10B
        2294,  // textureGrad_00e30B20B20B
        2296,  // textureSize_00J00D
        2298,  // imageAtomicXor_01K20D00E
        2299,  // imageAtomicXor_01K20D00D
        2300,  // imageAtomicMin_01U20D00D00E
        2301,  // imageAtomicMin_01U20D00D00D
        2302,  // imageAtomicAdd_01Q10D00D
        2303,  // imageAtomicAdd_01Q10D00E
        2304,  // imageAtomicXor_01T10D00D00D
        2305,  // imageAtomicXor_01T10D00D00E
        2306,  // imageAtomicAnd_01b20D00D
        2307,  // step_00B00B
        2309,  // texture2DLodEXT_00I10B00B
        2310,  // texture_00K20B00B
        2312,  // textureGrad_00J20B20B20B
        2314,  // imageAtomicCompSwap_01V20D00D00E00E
        2315,  // textureOffset_00U20B10D00B
        2317,  // intBitsToFloat_10D
        2319,  // findLSB_10D
        2321,  // textureProjLodOffset_00Y30B00B20D
        2323,  // imageAtomicMax_01h00D00E
        2324,  // texture3D_00J20B
        2325,  // gl_SecondaryFragDataEXT
        2326,  // floor_10B
        2328,  // imageAtomicAnd_01O10D00D
        2329,  // imageAtomicAnd_01O10D00E
        2330,  // imageAtomicXor_01W20D00D00D
        2331,  // imageAtomicXor_01W20D00D00E
        2332,  // imageAtomicXor_01Z10D00E
        2333,  // imageAtomicXor_01Z10D00D
        2334,  // textureGather_00X10B00D
        2336,  // imageAtomicMax_01L00D00E
        2337,  // imageAtomicMax_01L00D00D
        2338,  // imageAtomicXor_01G20D00E
        2339,  // imageAtomicXor_01G20D00D
        2340,  // textureOffset_00a20B10D
        2342,  // min_30E30E
        2344,  // texture2DProj_00I30B00B
        2346,  // imageAtomicAnd_01I20D00E
        2347,  // textureCubeGradEXT_00K20B20B20B
        2348,  // min_00B00B
        2350,  // gl_CullDistance
        2352,  // gl_WorkGroupID
        2354,  // degrees_00B
        2356,  // imageAtomicMax_01J20D00E
        2357,  // imageAtomicMax_01J20D00D
        2358,  // textureGatherOffsets_00R10B10Dx4
        2361,  // atomicExchange_00D00D
        2363,  // gl_MaxGeometryAtomicCounters
        2366,  // frexp_10B10D
        2368,  // imageAtomicExchange_01a20D00D
        2369,  // imageAtomicExchange_01a20D00E
        2370,  // imageAtomicExchange_01a20D00B
        2371,  // matrixCompMult_60B60B
        2372,  // imageAtomicCompSwap_00z10D00D00D
        2373,  // unpackSnorm2x16_00E
        2375,  // lessThan_30D30D
        2377,  // atan_00B00B
        2379,  // notEqual_10B10B
        2381,  // imageLoad_01G20D
        2382,  // trunc_30B
        2384,  // length_00B
        2386,  // imageStore_01c20D30E
        2387,  // imageAtomicAnd_01H20D00D
        2388,  // imageAtomicAnd_01H20D00E
        2389,  // textureProj_00X30B00B
        2391,  // imageAtomicCompSwap_01C20D00E00E
        2392,  // tan_00B
        2394,  // min_20E00E
        2396,  // textureLod_00x30B00B
        2397,  // textureSize_00j
        2398,  // cos_00B
        2400,  // textureSize_00c
        2401,  // textureSize_00b
        2404,  // min_20B20B
        2406,  // textureSize_00r
        2407,  // textureSize_00w
        2408,  // bitfieldInsert_20E20E00D00D
        2410,  // gl_MaxProgramTexelOffset
        2412,  // imageAtomicMin_01g00D00D
        2413,  // imageAtomicMin_01g00D00E
        2414,  // textureSize_00Q
        2415,  // textureSize_00P
        2418,  // imageAtomicAdd_01M00D00E
        2419,  // imageAtomicAdd_01M00D00D
        2420,  // textureSize_00W
        2421,  // textureProjLod_00X20B00B
        2423,  // faceforward_30B30B30B
        2425,  // texture_00X10B
        2427,  // ceil_00B
        2429,  // distance_00B00B
        2431,  // imageAtomicExchange_01C20D00D
        2432,  // imageAtomicExchange_01C20D00E
        2433,  // textureGrad_00s30B20B20B
        2434,  // textureGather_00I10B
        2436,  // imageAtomicExchange_01C20D00B
        2437,  // min_30D30D
        2439,  // imageAtomicExchange_01Z10D00B
        2440,  // findMSB_30E
        2442,  // findMSB_30D
        2444,  // fwidth_30B
        2447,  // textureGrad_00K20B20B20B
        2449,  // texelFetch_00S20D00D
        2451,  // max_10B00B
        2453,  // textureProjGradOffset_00R30B10B10B10D
        2455,  // texelFetchOffset_00L20D00D10D
        2457,  // transpose_50B
        2459,  // greaterThanEqual_20D20D
        2461,  // asinh_00B
        2463,  // gl_PrimitiveIDIn
        2466,  // textureGather_00Z20B
        2468,  // greaterThan_20B20B
        2470,  // min_20D20D
        2472,  // imageAtomicCompSwap_01g00D00E00E
        2473,  // imageAtomicMin_01W20D00D00E
        2474,  // imageAtomicMin_01W20D00D00D
        2475,  // imageAtomicXor_01O10D00D
        2476,  // imageAtomicXor_01O10D00E
        2477,  // tanh_20B
        2479,  // sin_20B
        2481,  // textureSize_00l00D
        2482,  // textureOffset_00I10B10D00B
        2484,  // imageAtomicAnd_00z10D00D
        2485,  // imageAtomicAnd_00z10D00E
        2486,  // imageAtomicCompSwap_01W20D00D00D00D
        2487,  // gl_MaxAtomicCounterBufferSize
        2489,  // textureOffset_00J20B20D00B
        2491,  // lessThanEqual_20E20E
        2493,  // gl_BaseVertex
        2494,  // gl_MaxGeometryTotalOutputComponents
        2497,  // bitfieldInsert_30E30E00D00D
        2499,  // bitfieldExtract_20E00D00D
        2501,  // uintBitsToFloat_20E
        2503,  // imageAtomicExchange_01K20D00D
        2504,  // imageAtomicExchange_01K20D00E
        2505,  // mod_10B10B
        2507,  // imageAtomicExchange_01K20D00B
        2508,  // imageAtomicAnd_01B10D00E
        2509,  // imageAtomicAnd_01B10D00D
        2510,  // gl_MaxVertexImageUniforms
        2512,  // equal_20D20D
        2514,  // mix_10E10E10F
        2516,  // textureGather_00R10B00D
        2518,  // textureSize_00Z00D
        2520,  // bitfieldExtract_30D00D00D
        2522,  // imageAtomicXor_01J20D00D
        2523,  // imageAtomicXor_01J20D00E
        2524,  // intBitsToFloat_00D
        2526,  // findLSB_00E
        2528,  // findLSB_00D
        2530,  // textureGather_00d10B00B
        2532,  // imageAtomicAdd_01T10D00D00D
        2533,  // imageAtomicAdd_01T10D00D00E
        2534,  // inversesqrt_10B
        2536,  // abs_30D
        2538,  // transpose_D0B
        2540,  // Empty
        2540,  // imageLoad_01E20D
        2541,  // textureProj_00N20B00B
        2542,  // gl_FragData
        2544,  // clamp_20E00E00E
        2546,  // textureProj_00d30B
        2548,  // gl_MaxVertexOutputVectors
        2550,  // imageAtomicOr_01i00D00D
        2551,  // imageAtomicOr_01i00D00E
        2552,  // cosh_10B
        2554,  // imageAtomicAnd_01G20D00E
        2555,  // imageAtomicAnd_01G20D00D
        2556,  // sign_10D
        2558,  // umulExtended_00E00E00E00E
        2560,  // gl_MaxVertexAttribs
        2562,  // Empty
        2562,  // texture_00a20B
        2564,  // imageAtomicExchange_01g00D00B
        2565,  // imageAtomicExchange_01B10D00B
        2566,  // ldexp_10B10D
        2568,  // imageAtomicExchange_01B10D00D
        2569,  // imageAtomicExchange_01B10D00E
        2570,  // imageAtomicExchange_01g00D00D
        2571,  // imageAtomicExchange_01g00D00E
        2572,  // degrees_10B
        2574,  // texture_00k30B00B
        2575,  // texture_00K20B
        2577,  // sinh_10B
        2579,  // imageAtomicXor_01C20D00D
        2580,  // textureGatherOffsets_00I10B10Dx400D
        2583,  // not_30F
        2585,  // textureProjLodOffset_00I20B00B10D
        2587,  // textureGather_00K20B
        2589,  // textureGatherOffset_00R10B10D
        2591,  // memoryBarrierShared_
        2593,  // clamp_20B20B20B
        2595,  // texelFetch_00W20D00D
        2596,  // trunc_20B
        2598,  // textureProjOffset_00I30B10D00B
        2600,  // tan_10B
        2602,  // imageAtomicOr_01U20D00D00E
        2603,  // imageAtomicOr_01U20D00D00D
        2604,  // imageAtomicOr_01B10D00D
        2605,  // imageAtomicOr_01B10D00E
        2606,  // isinf_20B
        2608,  // textureGatherOffset_00X10B10D00D
        2610,  // min_10E10E
        2612,  // memoryBarrierImage_
        2614,  // round_10B
        2616,  // fma_00B00B00B
        2619,  // textureLodOffset_00L20B00B10D
        2621,  // imageAtomicOr_01b20D00E
        2622,  // imageAtomicOr_01b20D00D
        2623,  // atomicMax_00E00E
        2625,  // textureProjOffset_00R30B10D
        2627,  // textureProj_00X30B
        2629,  // findMSB_00D
        2631,  // findMSB_00E
        2633,  // textureProjOffset_00X20B10D
        2635,  // imageAtomicCompSwap_01X10D00D00D
        2636,  // min_30D00D
        2638,  // imageAtomicCompSwap_01K20D00E00E
        2639,  // texture_00M10B00B
        2640,  // fwidth_20B
        2643,  // imageAtomicOr_01S10D00D00D
        2644,  // imageAtomicOr_01S10D00D00E
        2645,  // imageAtomicAdd_01A10D00D
        2646,  // imageAtomicAdd_01A10D00E
        2647,  // imageAtomicOr_01H20D00E
        2648,  // imageAtomicOr_01H20D00D
        2649,  // cos_20B
        2651,  // gl_MaxGeometryUniformComponents
        2654,  // textureGather_00T20B
        2656,  // textureProjGradOffset_00J30B20B20B20D
        2658,  // asinh_10B
        2660,  // imageAtomicXor_01E20D00E
        2661,  // imageAtomicXor_01E20D00D
        2662,  // textureGatherOffsets_00R10B10Dx400D
    };
    
    using Ext = TExtension;
    
    // Flat array of all unmangled name identifiers.
    constexpr UnmangledEntry unmangled[] = {
        {"all", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"textureProj", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"unpackUnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"textureVideoWEBGL", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::ALL},
        {"imageAtomicCompSwap", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"fwidth", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
        {"rgb_2_yuv", Ext::EXT_YUV_target, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"atomicCounterIncrement", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
        {"yuv_2_rgb", Ext::EXT_YUV_target, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"findLSB", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"textureCubeGradEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::ALL},
        {"memoryBarrierImage", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"packSnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"inverse", Ext::UNDEFINED, Ext::UNDEFINED, 300, 140, Shader::ALL},
        {"textureCubeLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
        {"imageAtomicAdd", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"texture", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"frexp", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"degrees", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"imulExtended", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"texture2DProjGradEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::ALL},
        {"atomicAnd", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"textureProjGradOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"roundEven", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"texture2DProjLodEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"memoryBarrierAtomicCounter", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"ceil", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"imageAtomicExchange", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"not", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"texture2DRectProj", Ext::ARB_texture_rectangle, Ext::UNDEFINED, 100, -1, Shader::ALL},
        {"mod", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"floatBitsToInt", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
        {"radians", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"smoothstep", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"textureProjGrad", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"lessThan", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"dFdy", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
        {"modf", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"unpackSnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"round", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"textureOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"clamp", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"findMSB", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"texture2DRect", Ext::ARB_texture_rectangle, Ext::UNDEFINED, 100, -1, Shader::ALL},
        {"acosh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"interpolateAtOffset", Ext::OES_shader_multisample_interpolation, Ext::UNDEFINED, 300, -1,
         Shader::FRAGMENT},
        {"cosh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"imageAtomicXor", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"uaddCarry", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"imageAtomicOr", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"asin", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"isnan", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"atomicMax", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"bitfieldReverse", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"dFdx", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
        {"memoryBarrierShared", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::COMPUTE},
        {"texture3DLod", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"textureLod", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"faceforward", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"abs", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"max", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"unpackSnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
        {"log2", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"textureGrad", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"barrier", Ext::UNDEFINED, Ext::UNDEFINED, 320, -1, Shader::TESS_CONTROL_EXT},
        {"texture2DProj", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::FRAGMENT},
        {"atomicCounterDecrement", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
        {"lessThanEqual", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"transpose", Ext::UNDEFINED, Ext::UNDEFINED, 300, 120, Shader::ALL},
        {"step", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"sinh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"textureProjOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"trunc", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"cos", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"interpolateAtSample", Ext::OES_shader_multisample_interpolation, Ext::UNDEFINED, 300, -1,
         Shader::FRAGMENT},
        {"equal", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"texture2DLodEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"usubBorrow", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"texelFetchOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"length", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"textureSize", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"acos", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"uintBitsToFloat", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
        {"packUnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 400, Shader::ALL},
        {"unpackHalf2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
        {"matrixCompMult", Ext::UNDEFINED, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"pow", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"atomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"texture2DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
        {"ldexp", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"floatBitsToUint", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
        {"textureProjLod", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"textureCubeLodEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"imageStore", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"textureGatherOffset", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"textureProjLodOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"log", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"bitCount", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"exp2", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"atomicCompSwap", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"fract", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"EmitVertex", Ext::UNDEFINED, Ext::UNDEFINED, 320, -1, Shader::GEOMETRY_EXT},
        {"textureGatherOffsets", Ext::EXT_gpu_shader5, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"fma", Ext::EXT_gpu_shader5, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"determinant", Ext::UNDEFINED, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"textureGather", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"greaterThanEqual", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"greaterThan", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"bitfieldInsert", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"texture3DProj", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"packUnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"sign", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"inversesqrt", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"distance", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"tanh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"texture2DGradEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::ALL},
        {"memoryBarrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
        {"atomicCounter", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
        {"intBitsToFloat", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
        {"bitfieldExtract", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"texture3DProjLod", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"atomicAdd", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"asinh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"shadow2DProjEXT", Ext::EXT_shadow_samplers, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"texture2D", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::FRAGMENT},
        {"memoryBarrierBuffer", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"shadow2DEXT", Ext::EXT_shadow_samplers, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"tan", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"any", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"atomicXor", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"normalize", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"imageLoad", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"imageAtomicAnd", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"floor", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"textureLodOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"atanh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"cross", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"sqrt", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"mix", Ext::UNDEFINED, Ext::UNDEFINED, 310, 450, Shader::ALL},
        {"sin", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"imageAtomicMin", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"textureGradOffset", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"atan", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"unpackUnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 400, Shader::ALL},
        {"imageAtomicMax", Ext::OES_shader_image_atomic, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"interpolateAtCentroid", Ext::OES_shader_multisample_interpolation, Ext::UNDEFINED, 300, -1,
         Shader::FRAGMENT},
        {"reflect", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"isinf", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"texture3D", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
        {"umulExtended", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
        {"atomicOr", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"texelFetch", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
        {"EndPrimitive", Ext::UNDEFINED, Ext::UNDEFINED, 320, -1, Shader::GEOMETRY_EXT},
        {"notEqual", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"outerProduct", Ext::UNDEFINED, Ext::UNDEFINED, 300, 120, Shader::ALL},
        {"imageSize", Ext::UNDEFINED, Ext::UNDEFINED, 310, -1, Shader::ALL},
        {"refract", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"min", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
        {"textureCube", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::ALL},
        {"packSnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
        {"exp", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
        {"groupMemoryBarrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::COMPUTE},
        {"atomicMin", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
        {"packHalf2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
        {"texture2DLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
        {"dot", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, 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,
                           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, TExtension::UNDEFINED, type_gl_DepthRange);
        m_gl_MaxVertexAttribs = new TVariable(
            BuiltInId::gl_MaxVertexAttribs, BuiltInName::gl_MaxVertexAttribs, SymbolType::BuiltIn,
            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,
                          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,
                          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,
                          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, 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,
                          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,
            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,
            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, 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, 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,
                          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, 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, 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, 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, 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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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,
                          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, TExtension::EXT_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,
                          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, TExtension::EXT_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,
                          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, TExtension::EXT_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,
                          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, TExtension::EXT_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,
                          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, TExtension::EXT_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,
                          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,
            TExtension::EXT_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,
                          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, TExtension::EXT_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,
                          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, TExtension::EXT_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,
                          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,
            TExtension::EXT_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,
                          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, 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,
                          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,
            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,
                          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,
            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,
                          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,
            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,
                          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,
            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,
                          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, 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,
                          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, 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,
                          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,
            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,
                          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, 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,
                          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,
            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,
            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,
            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,
            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,
            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,
                          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,
            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,
                          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,
            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,
                          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,
            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,
                          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,
            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,
                          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,
            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,
                          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,
            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,
                          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, 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, 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,
            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,
            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,
            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, 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, TExtension::EXT_blend_func_extended, type_gl_SecondaryFragDataEXT);
        TType *type_gl_FragDepthEXT = new TType(
            EbtFloat, resources.FragmentPrecisionHigh ? EbpHigh : EbpMedium, EvqFragDepthEXT, 1);
        type_gl_FragDepthEXT->realize();
        m_gl_FragDepthEXT =
            new TVariable(BuiltInId::gl_FragDepthEXT, BuiltInName::gl_FragDepthEXT, SymbolType::BuiltIn,
                          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,
                          TExtension::EXT_shader_framebuffer_fetch, type_gl_LastFragData);
        TType *type_gl_LastFragDataNonCoherent = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1);
        type_gl_LastFragDataNonCoherent->makeArray(resources.MaxDrawBuffers);
        type_gl_LastFragDataNonCoherent->realize();
        m_gl_LastFragDataNonCoherent = new TVariable(
            BuiltInId::gl_LastFragDataNonCoherent, BuiltInName::gl_LastFragData, SymbolType::BuiltIn,
            TExtension::EXT_shader_framebuffer_fetch_non_coherent, type_gl_LastFragDataNonCoherent);
        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,
            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,
                          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, 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,
                          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, 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,
                          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,
                          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,
            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,
            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,
                                TExtension::EXT_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,
                                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,
                                TExtension::EXT_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,
                                     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,
                                TExtension::EXT_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,
                                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,
                          TExtension::EXT_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,
                          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,
            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, 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,
            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, 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,
                                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,
                                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,
                                   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, 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,
                                    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,
                          TExtension::UNDEFINED, type_gl_outTCSES3_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,
                                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,
                                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,
                          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,
                          TExtension::UNDEFINED, type_gl_PositionTCSES3_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,
            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, 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,
            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, 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,
                                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,
                                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,
                                   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, 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,
                                    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,
                          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,
                                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,
                                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,
                          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,
                          TExtension::UNDEFINED, type_gl_PositionTESES3_2);
    }
    
    namespace
    {
    uint16_t GetNextRuleIndex(uint32_t nameHash)
    {
        if (nameHash == 1625 - 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 >= 1625)
            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() > 26)
            return false;
    
        uint32_t nameHash = name.unmangledNameHash();
        if (nameHash >= 166)
            return false;
    
        return BuiltInArray::unmangled[nameHash].matches(name, mShaderSpec, shaderVersion, mShaderType,
                                                         extensions);
    }
    
    }  // namespace sh