mkxp-z/src/display/gl/pgl-enum.cpp

842 lines
14 KiB
C++

/*
** pgl-enum.cpp
**
** This file is part of mkxp.
**
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
**
** mkxp is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 2 of the License, or
** (at your option) any later version.
**
** mkxp is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with mkxp. If not, see <http://www.gnu.org/licenses/>.
*/
#include <portablegl.h>
#include <GLES3/gl3.h>
#include <unordered_map>
std::unordered_map<GLenum, GLenum> mkxp_pgl_enum_map = {
{GL_NO_ERROR,
#undef GL_NO_ERROR
GL_NO_ERROR},
{GL_INVALID_ENUM,
#undef GL_INVALID_ENUM
GL_INVALID_ENUM},
{GL_INVALID_VALUE,
#undef GL_INVALID_VALUE
GL_INVALID_VALUE},
{GL_INVALID_OPERATION,
#undef GL_INVALID_OPERATION
GL_INVALID_OPERATION},
{GL_INVALID_FRAMEBUFFER_OPERATION,
#undef GL_INVALID_FRAMEBUFFER_OPERATION
GL_INVALID_FRAMEBUFFER_OPERATION},
{GL_OUT_OF_MEMORY,
#undef GL_OUT_OF_MEMORY
GL_OUT_OF_MEMORY},
{GL_ARRAY_BUFFER,
#undef GL_ARRAY_BUFFER
GL_ARRAY_BUFFER},
{GL_COPY_READ_BUFFER,
#undef GL_COPY_READ_BUFFER
GL_COPY_READ_BUFFER},
{GL_COPY_WRITE_BUFFER,
#undef GL_COPY_WRITE_BUFFER
GL_COPY_WRITE_BUFFER},
{GL_ELEMENT_ARRAY_BUFFER,
#undef GL_ELEMENT_ARRAY_BUFFER
GL_ELEMENT_ARRAY_BUFFER},
{GL_PIXEL_PACK_BUFFER,
#undef GL_PIXEL_PACK_BUFFER
GL_PIXEL_PACK_BUFFER},
{GL_PIXEL_UNPACK_BUFFER,
#undef GL_PIXEL_UNPACK_BUFFER
GL_PIXEL_UNPACK_BUFFER},
{GL_TRANSFORM_FEEDBACK_BUFFER,
#undef GL_TRANSFORM_FEEDBACK_BUFFER
GL_TRANSFORM_FEEDBACK_BUFFER},
{GL_UNIFORM_BUFFER,
#undef GL_UNIFORM_BUFFER
GL_UNIFORM_BUFFER},
{GL_FRAMEBUFFER,
#undef GL_FRAMEBUFFER
GL_FRAMEBUFFER},
{GL_DRAW_FRAMEBUFFER,
#undef GL_DRAW_FRAMEBUFFER
GL_DRAW_FRAMEBUFFER},
{GL_READ_FRAMEBUFFER,
#undef GL_READ_FRAMEBUFFER
GL_READ_FRAMEBUFFER},
{GL_COLOR_ATTACHMENT0,
#undef GL_COLOR_ATTACHMENT0
GL_COLOR_ATTACHMENT0},
{GL_COLOR_ATTACHMENT1,
#undef GL_COLOR_ATTACHMENT1
GL_COLOR_ATTACHMENT1},
{GL_COLOR_ATTACHMENT2,
#undef GL_COLOR_ATTACHMENT2
GL_COLOR_ATTACHMENT2},
{GL_COLOR_ATTACHMENT3,
#undef GL_COLOR_ATTACHMENT3
GL_COLOR_ATTACHMENT3},
{GL_COLOR_ATTACHMENT4,
#undef GL_COLOR_ATTACHMENT4
GL_COLOR_ATTACHMENT4},
{GL_COLOR_ATTACHMENT5,
#undef GL_COLOR_ATTACHMENT5
GL_COLOR_ATTACHMENT5},
{GL_COLOR_ATTACHMENT6,
#undef GL_COLOR_ATTACHMENT6
GL_COLOR_ATTACHMENT6},
{GL_COLOR_ATTACHMENT7,
#undef GL_COLOR_ATTACHMENT7
GL_COLOR_ATTACHMENT7},
{GL_DEPTH_ATTACHMENT,
#undef GL_DEPTH_ATTACHMENT
GL_DEPTH_ATTACHMENT},
{GL_STENCIL_ATTACHMENT,
#undef GL_STENCIL_ATTACHMENT
GL_STENCIL_ATTACHMENT},
{GL_DEPTH_STENCIL_ATTACHMENT,
#undef GL_DEPTH_STENCIL_ATTACHMENT
GL_DEPTH_STENCIL_ATTACHMENT},
{GL_RENDERBUFFER,
#undef GL_RENDERBUFFER
GL_RENDERBUFFER},
{GL_STREAM_DRAW,
#undef GL_STREAM_DRAW
GL_STREAM_DRAW},
{GL_STREAM_READ,
#undef GL_STREAM_READ
GL_STREAM_READ},
{GL_STREAM_COPY,
#undef GL_STREAM_COPY
GL_STREAM_COPY},
{GL_STATIC_DRAW,
#undef GL_STATIC_DRAW
GL_STATIC_DRAW},
{GL_STATIC_READ,
#undef GL_STATIC_READ
GL_STATIC_READ},
{GL_STATIC_COPY,
#undef GL_STATIC_COPY
GL_STATIC_COPY},
{GL_DYNAMIC_DRAW,
#undef GL_DYNAMIC_DRAW
GL_DYNAMIC_DRAW},
{GL_DYNAMIC_READ,
#undef GL_DYNAMIC_READ
GL_DYNAMIC_READ},
{GL_DYNAMIC_COPY,
#undef GL_DYNAMIC_COPY
GL_DYNAMIC_COPY},
{GL_POINTS,
#undef GL_POINTS
GL_POINTS},
{GL_LINES,
#undef GL_LINES
GL_LINES},
{GL_LINE_STRIP,
#undef GL_LINE_STRIP
GL_LINE_STRIP},
{GL_LINE_LOOP,
#undef GL_LINE_LOOP
GL_LINE_LOOP},
{GL_TRIANGLES,
#undef GL_TRIANGLES
GL_TRIANGLES},
{GL_TRIANGLE_STRIP,
#undef GL_TRIANGLE_STRIP
GL_TRIANGLE_STRIP},
{GL_TRIANGLE_FAN,
#undef GL_TRIANGLE_FAN
GL_TRIANGLE_FAN},
{GL_LESS,
#undef GL_LESS
GL_LESS},
{GL_LEQUAL,
#undef GL_LEQUAL
GL_LEQUAL},
{GL_GREATER,
#undef GL_GREATER
GL_GREATER},
{GL_GEQUAL,
#undef GL_GEQUAL
GL_GEQUAL},
{GL_EQUAL,
#undef GL_EQUAL
GL_EQUAL},
{GL_NOTEQUAL,
#undef GL_NOTEQUAL
GL_NOTEQUAL},
{GL_ALWAYS,
#undef GL_ALWAYS
GL_ALWAYS},
{GL_NEVER,
#undef GL_NEVER
GL_NEVER},
{GL_ZERO,
#undef GL_ZERO
GL_ZERO},
{GL_ONE,
#undef GL_ONE
GL_ONE},
{GL_SRC_COLOR,
#undef GL_SRC_COLOR
GL_SRC_COLOR},
{GL_ONE_MINUS_SRC_COLOR,
#undef GL_ONE_MINUS_SRC_COLOR
GL_ONE_MINUS_SRC_COLOR},
{GL_DST_COLOR,
#undef GL_DST_COLOR
GL_DST_COLOR},
{GL_ONE_MINUS_DST_COLOR,
#undef GL_ONE_MINUS_DST_COLOR
GL_ONE_MINUS_DST_COLOR},
{GL_SRC_ALPHA,
#undef GL_SRC_ALPHA
GL_SRC_ALPHA},
{GL_ONE_MINUS_SRC_ALPHA,
#undef GL_ONE_MINUS_SRC_ALPHA
GL_ONE_MINUS_SRC_ALPHA},
{GL_DST_ALPHA,
#undef GL_DST_ALPHA
GL_DST_ALPHA},
{GL_ONE_MINUS_DST_ALPHA,
#undef GL_ONE_MINUS_DST_ALPHA
GL_ONE_MINUS_DST_ALPHA},
{GL_CONSTANT_COLOR,
#undef GL_CONSTANT_COLOR
GL_CONSTANT_COLOR},
{GL_ONE_MINUS_CONSTANT_COLOR,
#undef GL_ONE_MINUS_CONSTANT_COLOR
GL_ONE_MINUS_CONSTANT_COLOR},
{GL_CONSTANT_ALPHA,
#undef GL_CONSTANT_ALPHA
GL_CONSTANT_ALPHA},
{GL_ONE_MINUS_CONSTANT_ALPHA,
#undef GL_ONE_MINUS_CONSTANT_ALPHA
GL_ONE_MINUS_CONSTANT_ALPHA},
{GL_SRC_ALPHA_SATURATE,
#undef GL_SRC_ALPHA_SATURATE
GL_SRC_ALPHA_SATURATE},
{GL_FUNC_ADD,
#undef GL_FUNC_ADD
GL_FUNC_ADD},
{GL_FUNC_SUBTRACT,
#undef GL_FUNC_SUBTRACT
GL_FUNC_SUBTRACT},
{GL_FUNC_REVERSE_SUBTRACT,
#undef GL_FUNC_REVERSE_SUBTRACT
GL_FUNC_REVERSE_SUBTRACT},
{GL_MIN,
#undef GL_MIN
GL_MIN},
{GL_MAX,
#undef GL_MAX
GL_MAX},
{GL_TEXTURE_2D,
#undef GL_TEXTURE_2D
GL_TEXTURE_2D},
{GL_TEXTURE_3D,
#undef GL_TEXTURE_3D
GL_TEXTURE_3D},
{GL_TEXTURE_2D_ARRAY,
#undef GL_TEXTURE_2D_ARRAY
GL_TEXTURE_2D_ARRAY},
{GL_TEXTURE_CUBE_MAP,
#undef GL_TEXTURE_CUBE_MAP
GL_TEXTURE_CUBE_MAP},
{GL_TEXTURE_CUBE_MAP_POSITIVE_X,
#undef GL_TEXTURE_CUBE_MAP_POSITIVE_X
GL_TEXTURE_CUBE_MAP_POSITIVE_X},
{GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
#undef GL_TEXTURE_CUBE_MAP_NEGATIVE_X
GL_TEXTURE_CUBE_MAP_NEGATIVE_X},
{GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
#undef GL_TEXTURE_CUBE_MAP_POSITIVE_Y
GL_TEXTURE_CUBE_MAP_POSITIVE_Y},
{GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
#undef GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
GL_TEXTURE_CUBE_MAP_NEGATIVE_Y},
{GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
#undef GL_TEXTURE_CUBE_MAP_POSITIVE_Z
GL_TEXTURE_CUBE_MAP_POSITIVE_Z},
{GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
#undef GL_TEXTURE_CUBE_MAP_NEGATIVE_Z
GL_TEXTURE_CUBE_MAP_NEGATIVE_Z},
{GL_TEXTURE_BASE_LEVEL,
#undef GL_TEXTURE_BASE_LEVEL
GL_TEXTURE_BASE_LEVEL},
{GL_TEXTURE_COMPARE_FUNC,
#undef GL_TEXTURE_COMPARE_FUNC
GL_TEXTURE_COMPARE_FUNC},
{GL_TEXTURE_COMPARE_MODE,
#undef GL_TEXTURE_COMPARE_MODE
GL_TEXTURE_COMPARE_MODE},
{GL_TEXTURE_MIN_FILTER,
#undef GL_TEXTURE_MIN_FILTER
GL_TEXTURE_MIN_FILTER},
{GL_TEXTURE_MAG_FILTER,
#undef GL_TEXTURE_MAG_FILTER
GL_TEXTURE_MAG_FILTER},
{GL_TEXTURE_MIN_LOD,
#undef GL_TEXTURE_MIN_LOD
GL_TEXTURE_MIN_LOD},
{GL_TEXTURE_MAX_LOD,
#undef GL_TEXTURE_MAX_LOD
GL_TEXTURE_MAX_LOD},
{GL_TEXTURE_MAX_LEVEL,
#undef GL_TEXTURE_MAX_LEVEL
GL_TEXTURE_MAX_LEVEL},
{GL_TEXTURE_SWIZZLE_R,
#undef GL_TEXTURE_SWIZZLE_R
GL_TEXTURE_SWIZZLE_R},
{GL_TEXTURE_SWIZZLE_G,
#undef GL_TEXTURE_SWIZZLE_G
GL_TEXTURE_SWIZZLE_G},
{GL_TEXTURE_SWIZZLE_B,
#undef GL_TEXTURE_SWIZZLE_B
GL_TEXTURE_SWIZZLE_B},
{GL_TEXTURE_SWIZZLE_A,
#undef GL_TEXTURE_SWIZZLE_A
GL_TEXTURE_SWIZZLE_A},
{GL_TEXTURE_WRAP_S,
#undef GL_TEXTURE_WRAP_S
GL_TEXTURE_WRAP_S},
{GL_TEXTURE_WRAP_T,
#undef GL_TEXTURE_WRAP_T
GL_TEXTURE_WRAP_T},
{GL_TEXTURE_WRAP_R,
#undef GL_TEXTURE_WRAP_R
GL_TEXTURE_WRAP_R},
{GL_REPEAT,
#undef GL_REPEAT
GL_REPEAT},
{GL_CLAMP_TO_EDGE,
#undef GL_CLAMP_TO_EDGE
GL_CLAMP_TO_EDGE},
{GL_MIRRORED_REPEAT,
#undef GL_MIRRORED_REPEAT
GL_MIRRORED_REPEAT},
{GL_NEAREST,
#undef GL_NEAREST
GL_NEAREST},
{GL_LINEAR,
#undef GL_LINEAR
GL_LINEAR},
{GL_NEAREST_MIPMAP_NEAREST,
#undef GL_NEAREST_MIPMAP_NEAREST
GL_NEAREST_MIPMAP_NEAREST},
{GL_NEAREST_MIPMAP_LINEAR,
#undef GL_NEAREST_MIPMAP_LINEAR
GL_NEAREST_MIPMAP_LINEAR},
{GL_LINEAR_MIPMAP_NEAREST,
#undef GL_LINEAR_MIPMAP_NEAREST
GL_LINEAR_MIPMAP_NEAREST},
{GL_LINEAR_MIPMAP_LINEAR,
#undef GL_LINEAR_MIPMAP_LINEAR
GL_LINEAR_MIPMAP_LINEAR},
{GL_ALPHA,
#undef GL_ALPHA
GL_ALPHA},
{GL_LUMINANCE,
#undef GL_LUMINANCE
GL_LUMINANCE},
{GL_LUMINANCE_ALPHA,
#undef GL_LUMINANCE_ALPHA
GL_LUMINANCE_ALPHA},
{GL_RED,
#undef GL_RED
GL_RED},
{GL_RG,
#undef GL_RG
GL_RG},
{GL_RGB,
#undef GL_RGB
GL_RGB},
{GL_RGBA,
#undef GL_RGBA
GL_RGBA},
{GL_DEPTH_COMPONENT16,
#undef GL_DEPTH_COMPONENT16
GL_DEPTH_COMPONENT16},
{GL_DEPTH_COMPONENT24,
#undef GL_DEPTH_COMPONENT24
GL_DEPTH_COMPONENT24},
{GL_DEPTH_COMPONENT32F,
#undef GL_DEPTH_COMPONENT32F
GL_DEPTH_COMPONENT32F},
{GL_DEPTH24_STENCIL8,
#undef GL_DEPTH24_STENCIL8
GL_DEPTH24_STENCIL8},
{GL_DEPTH32F_STENCIL8,
#undef GL_DEPTH32F_STENCIL8
GL_DEPTH32F_STENCIL8},
{GL_STENCIL_INDEX8,
#undef GL_STENCIL_INDEX8
GL_STENCIL_INDEX8},
{GL_UNPACK_ALIGNMENT,
#undef GL_UNPACK_ALIGNMENT
GL_UNPACK_ALIGNMENT},
{GL_PACK_ALIGNMENT,
#undef GL_PACK_ALIGNMENT
GL_PACK_ALIGNMENT},
{GL_TEXTURE0,
#undef GL_TEXTURE0
GL_TEXTURE0},
{GL_TEXTURE1,
#undef GL_TEXTURE1
GL_TEXTURE1},
{GL_TEXTURE2,
#undef GL_TEXTURE2
GL_TEXTURE2},
{GL_TEXTURE3,
#undef GL_TEXTURE3
GL_TEXTURE3},
{GL_TEXTURE4,
#undef GL_TEXTURE4
GL_TEXTURE4},
{GL_TEXTURE5,
#undef GL_TEXTURE5
GL_TEXTURE5},
{GL_TEXTURE6,
#undef GL_TEXTURE6
GL_TEXTURE6},
{GL_TEXTURE7,
#undef GL_TEXTURE7
GL_TEXTURE7},
{GL_CULL_FACE,
#undef GL_CULL_FACE
GL_CULL_FACE},
{GL_DEPTH_TEST,
#undef GL_DEPTH_TEST
GL_DEPTH_TEST},
{GL_BLEND,
#undef GL_BLEND
GL_BLEND},
{GL_POLYGON_OFFSET_FILL,
#undef GL_POLYGON_OFFSET_FILL
GL_POLYGON_OFFSET_FILL},
{GL_SCISSOR_TEST,
#undef GL_SCISSOR_TEST
GL_SCISSOR_TEST},
{GL_STENCIL_TEST,
#undef GL_STENCIL_TEST
GL_STENCIL_TEST},
{GL_FRONT,
#undef GL_FRONT
GL_FRONT},
{GL_BACK,
#undef GL_BACK
GL_BACK},
{GL_FRONT_AND_BACK,
#undef GL_FRONT_AND_BACK
GL_FRONT_AND_BACK},
{GL_CCW,
#undef GL_CCW
GL_CCW},
{GL_CW,
#undef GL_CW
GL_CW},
{GL_INVERT,
#undef GL_INVERT
GL_INVERT},
{GL_KEEP,
#undef GL_KEEP
GL_KEEP},
{GL_REPLACE,
#undef GL_REPLACE
GL_REPLACE},
{GL_INCR,
#undef GL_INCR
GL_INCR},
{GL_INCR_WRAP,
#undef GL_INCR_WRAP
GL_INCR_WRAP},
{GL_DECR,
#undef GL_DECR
GL_DECR},
{GL_DECR_WRAP,
#undef GL_DECR_WRAP
GL_DECR_WRAP},
{GL_UNSIGNED_BYTE,
#undef GL_UNSIGNED_BYTE
GL_UNSIGNED_BYTE},
{GL_BYTE,
#undef GL_BYTE
GL_BYTE},
{GL_UNSIGNED_SHORT,
#undef GL_UNSIGNED_SHORT
GL_UNSIGNED_SHORT},
{GL_SHORT,
#undef GL_SHORT
GL_SHORT},
{GL_UNSIGNED_INT,
#undef GL_UNSIGNED_INT
GL_UNSIGNED_INT},
{GL_INT,
#undef GL_INT
GL_INT},
{GL_FLOAT,
#undef GL_FLOAT
GL_FLOAT},
{GL_VENDOR,
#undef GL_VENDOR
GL_VENDOR},
{GL_RENDERER,
#undef GL_RENDERER
GL_RENDERER},
{GL_VERSION,
#undef GL_VERSION
GL_VERSION},
{GL_SHADING_LANGUAGE_VERSION,
#undef GL_SHADING_LANGUAGE_VERSION
GL_SHADING_LANGUAGE_VERSION},
{GL_POLYGON_OFFSET_FACTOR,
#undef GL_POLYGON_OFFSET_FACTOR
GL_POLYGON_OFFSET_FACTOR},
{GL_POLYGON_OFFSET_UNITS,
#undef GL_POLYGON_OFFSET_UNITS
GL_POLYGON_OFFSET_UNITS},
{GL_DEPTH_CLEAR_VALUE,
#undef GL_DEPTH_CLEAR_VALUE
GL_DEPTH_CLEAR_VALUE},
{GL_DEPTH_RANGE,
#undef GL_DEPTH_RANGE
GL_DEPTH_RANGE},
{GL_STENCIL_REF,
#undef GL_STENCIL_REF
GL_STENCIL_REF},
{GL_STENCIL_VALUE_MASK,
#undef GL_STENCIL_VALUE_MASK
GL_STENCIL_VALUE_MASK},
{GL_STENCIL_FUNC,
#undef GL_STENCIL_FUNC
GL_STENCIL_FUNC},
{GL_STENCIL_FAIL,
#undef GL_STENCIL_FAIL
GL_STENCIL_FAIL},
{GL_STENCIL_PASS_DEPTH_FAIL,
#undef GL_STENCIL_PASS_DEPTH_FAIL
GL_STENCIL_PASS_DEPTH_FAIL},
{GL_STENCIL_PASS_DEPTH_PASS,
#undef GL_STENCIL_PASS_DEPTH_PASS
GL_STENCIL_PASS_DEPTH_PASS},
{GL_STENCIL_BACK_REF,
#undef GL_STENCIL_BACK_REF
GL_STENCIL_BACK_REF},
{GL_STENCIL_BACK_VALUE_MASK,
#undef GL_STENCIL_BACK_VALUE_MASK
GL_STENCIL_BACK_VALUE_MASK},
{GL_STENCIL_BACK_FUNC,
#undef GL_STENCIL_BACK_FUNC
GL_STENCIL_BACK_FUNC},
{GL_STENCIL_BACK_FAIL,
#undef GL_STENCIL_BACK_FAIL
GL_STENCIL_BACK_FAIL},
{GL_STENCIL_BACK_PASS_DEPTH_FAIL,
#undef GL_STENCIL_BACK_PASS_DEPTH_FAIL
GL_STENCIL_BACK_PASS_DEPTH_FAIL},
{GL_STENCIL_BACK_PASS_DEPTH_PASS,
#undef GL_STENCIL_BACK_PASS_DEPTH_PASS
GL_STENCIL_BACK_PASS_DEPTH_PASS},
{GL_BLEND_SRC_RGB,
#undef GL_BLEND_SRC_RGB
GL_BLEND_SRC_RGB},
{GL_BLEND_SRC_ALPHA,
#undef GL_BLEND_SRC_ALPHA
GL_BLEND_SRC_ALPHA},
{GL_BLEND_DST_RGB,
#undef GL_BLEND_DST_RGB
GL_BLEND_DST_RGB},
{GL_BLEND_DST_ALPHA,
#undef GL_BLEND_DST_ALPHA
GL_BLEND_DST_ALPHA},
{GL_BLEND_EQUATION_RGB,
#undef GL_BLEND_EQUATION_RGB
GL_BLEND_EQUATION_RGB},
{GL_BLEND_EQUATION_ALPHA,
#undef GL_BLEND_EQUATION_ALPHA
GL_BLEND_EQUATION_ALPHA},
{GL_CULL_FACE_MODE,
#undef GL_CULL_FACE_MODE
GL_CULL_FACE_MODE},
{GL_FRONT_FACE,
#undef GL_FRONT_FACE
GL_FRONT_FACE},
{GL_DEPTH_FUNC,
#undef GL_DEPTH_FUNC
GL_DEPTH_FUNC},
{GL_MAJOR_VERSION,
#undef GL_MAJOR_VERSION
GL_MAJOR_VERSION},
{GL_MINOR_VERSION,
#undef GL_MINOR_VERSION
GL_MINOR_VERSION},
{GL_TEXTURE_BINDING_2D,
#undef GL_TEXTURE_BINDING_2D
GL_TEXTURE_BINDING_2D},
{GL_TEXTURE_BINDING_2D_ARRAY,
#undef GL_TEXTURE_BINDING_2D_ARRAY
GL_TEXTURE_BINDING_2D_ARRAY},
{GL_TEXTURE_BINDING_3D,
#undef GL_TEXTURE_BINDING_3D
GL_TEXTURE_BINDING_3D},
{GL_TEXTURE_BINDING_CUBE_MAP,
#undef GL_TEXTURE_BINDING_CUBE_MAP
GL_TEXTURE_BINDING_CUBE_MAP},
{GL_ARRAY_BUFFER_BINDING,
#undef GL_ARRAY_BUFFER_BINDING
GL_ARRAY_BUFFER_BINDING},
{GL_ELEMENT_ARRAY_BUFFER_BINDING,
#undef GL_ELEMENT_ARRAY_BUFFER_BINDING
GL_ELEMENT_ARRAY_BUFFER_BINDING},
{GL_VERTEX_ARRAY_BINDING,
#undef GL_VERTEX_ARRAY_BINDING
GL_VERTEX_ARRAY_BINDING},
{GL_CURRENT_PROGRAM,
#undef GL_CURRENT_PROGRAM
GL_CURRENT_PROGRAM},
{GL_VIEWPORT,
#undef GL_VIEWPORT
GL_VIEWPORT},
{GL_SCISSOR_BOX,
#undef GL_SCISSOR_BOX
GL_SCISSOR_BOX},
{GL_VERTEX_SHADER,
#undef GL_VERTEX_SHADER
GL_VERTEX_SHADER},
{GL_FRAGMENT_SHADER,
#undef GL_FRAGMENT_SHADER
GL_FRAGMENT_SHADER},
{GL_INFO_LOG_LENGTH,
#undef GL_INFO_LOG_LENGTH
GL_INFO_LOG_LENGTH},
{GL_COMPILE_STATUS,
#undef GL_COMPILE_STATUS
GL_COMPILE_STATUS},
{GL_LINK_STATUS,
#undef GL_LINK_STATUS
GL_LINK_STATUS},
{GL_COLOR_BUFFER_BIT,
#undef GL_COLOR_BUFFER_BIT
GL_COLOR_BUFFER_BIT},
{GL_DEPTH_BUFFER_BIT,
#undef GL_DEPTH_BUFFER_BIT
GL_DEPTH_BUFFER_BIT},
{GL_STENCIL_BUFFER_BIT,
#undef GL_STENCIL_BUFFER_BIT
GL_STENCIL_BUFFER_BIT},
};