// GENERATED FILE - DO NOT EDIT.
// Generated by generate_entry_points.py using data from gl.xml.
//
// Copyright 2019 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.
//
// Context_gl.cpp: Implements the GL specific parts of Context.

#include "Context.h"
#include "common/debug.h"

namespace gl
{

void Context::compressedTexImage1D(GLenum target,
                                   GLint level,
                                   GLenum internalformat,
                                   GLsizei width,
                                   GLint border,
                                   GLsizei imageSize,
                                   const void *data)
{
    UNIMPLEMENTED();
}

void Context::compressedTexSubImage1D(GLenum target,
                                      GLint level,
                                      GLint xoffset,
                                      GLsizei width,
                                      GLenum format,
                                      GLsizei imageSize,
                                      const void *data)
{
    UNIMPLEMENTED();
}

void Context::getCompressedTexImage(GLenum target, GLint level, void *img)
{
    UNIMPLEMENTED();
}

void Context::loadTransposeMatrixd(const GLdouble *m)
{
    UNIMPLEMENTED();
}

void Context::loadTransposeMatrixf(const GLfloat *m)
{
    UNIMPLEMENTED();
}

void Context::multTransposeMatrixd(const GLdouble *m)
{
    UNIMPLEMENTED();
}

void Context::multTransposeMatrixf(const GLfloat *m)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1d(GLenum target, GLdouble s)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1dv(GLenum target, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1f(GLenum target, GLfloat s)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1fv(GLenum target, const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1i(GLenum target, GLint s)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1iv(GLenum target, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1s(GLenum target, GLshort s)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord1sv(GLenum target, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2d(GLenum target, GLdouble s, GLdouble t)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2dv(GLenum target, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2f(GLenum target, GLfloat s, GLfloat t)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2fv(GLenum target, const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2i(GLenum target, GLint s, GLint t)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2iv(GLenum target, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2s(GLenum target, GLshort s, GLshort t)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord2sv(GLenum target, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3dv(GLenum target, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3fv(GLenum target, const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3i(GLenum target, GLint s, GLint t, GLint r)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3iv(GLenum target, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord3sv(GLenum target, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4dv(GLenum target, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4fv(GLenum target, const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4iv(GLenum target, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoord4sv(GLenum target, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::getVertexAttribdv(GLuint index, GLenum pname, GLdouble *params)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib1d(GLuint index, GLdouble x)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib1dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib1s(GLuint index, GLshort x)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib1sv(GLuint index, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib2d(GLuint index, GLdouble x, GLdouble y)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib2dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib2s(GLuint index, GLshort x, GLshort y)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib2sv(GLuint index, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib3dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib3sv(GLuint index, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Nbv(GLuint index, const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Niv(GLuint index, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Nsv(GLuint index, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Nubv(GLuint index, const GLubyte *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Nuiv(GLuint index, const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4Nusv(GLuint index, const GLushort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4bv(GLuint index, const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4iv(GLuint index, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4sv(GLuint index, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4ubv(GLuint index, const GLubyte *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4uiv(GLuint index, const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttrib4usv(GLuint index, const GLushort *v)
{
    UNIMPLEMENTED();
}

void Context::beginConditionalRender(GLuint id, GLenum mode)
{
    UNIMPLEMENTED();
}

void Context::clampColor(GLenum target, GLenum clamp)
{
    UNIMPLEMENTED();
}

void Context::endConditionalRender()
{
    UNIMPLEMENTED();
}

void Context::framebufferTexture1D(GLenum target,
                                   GLenum attachment,
                                   TextureTarget textarget,
                                   TextureID texture,
                                   GLint level)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI1i(GLuint index, GLint x)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI1iv(GLuint index, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI1ui(GLuint index, GLuint x)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI1uiv(GLuint index, const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI2i(GLuint index, GLint x, GLint y)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI2iv(GLuint index, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI2ui(GLuint index, GLuint x, GLuint y)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI2uiv(GLuint index, const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI3i(GLuint index, GLint x, GLint y, GLint z)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI3iv(GLuint index, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI3uiv(GLuint index, const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI4bv(GLuint index, const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI4sv(GLuint index, const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI4ubv(GLuint index, const GLubyte *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribI4usv(GLuint index, const GLushort *v)
{
    UNIMPLEMENTED();
}

void Context::getActiveUniformName(ShaderProgramID program,
                                   GLuint uniformIndex,
                                   GLsizei bufSize,
                                   GLsizei *length,
                                   GLchar *uniformName)
{
    UNIMPLEMENTED();
}

void Context::primitiveRestartIndex(GLuint index)
{
    UNIMPLEMENTED();
}

void Context::fogCoordPointer(GLenum type, GLsizei stride, const void *pointer)
{
    UNIMPLEMENTED();
}

void Context::fogCoordd(GLdouble coord)
{
    UNIMPLEMENTED();
}

void Context::fogCoorddv(const GLdouble *coord)
{
    UNIMPLEMENTED();
}

void Context::fogCoordf(GLfloat coord)
{
    UNIMPLEMENTED();
}

void Context::fogCoordfv(const GLfloat *coord)
{
    UNIMPLEMENTED();
}

void Context::pointParameteri(GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::pointParameteriv(GLenum pname, const GLint *params)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3b(GLbyte red, GLbyte green, GLbyte blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3bv(const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3d(GLdouble red, GLdouble green, GLdouble blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3f(GLfloat red, GLfloat green, GLfloat blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3i(GLint red, GLint green, GLint blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3s(GLshort red, GLshort green, GLshort blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3ubv(const GLubyte *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3ui(GLuint red, GLuint green, GLuint blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3uiv(const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3us(GLushort red, GLushort green, GLushort blue)
{
    UNIMPLEMENTED();
}

void Context::secondaryColor3usv(const GLushort *v)
{
    UNIMPLEMENTED();
}

void Context::secondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer)
{
    UNIMPLEMENTED();
}

void Context::windowPos2d(GLdouble x, GLdouble y)
{
    UNIMPLEMENTED();
}

void Context::windowPos2dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos2f(GLfloat x, GLfloat y)
{
    UNIMPLEMENTED();
}

void Context::windowPos2fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos2i(GLint x, GLint y)
{
    UNIMPLEMENTED();
}

void Context::windowPos2iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos2s(GLshort x, GLshort y)
{
    UNIMPLEMENTED();
}

void Context::windowPos2sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos3d(GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::windowPos3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos3f(GLfloat x, GLfloat y, GLfloat z)
{
    UNIMPLEMENTED();
}

void Context::windowPos3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos3i(GLint x, GLint y, GLint z)
{
    UNIMPLEMENTED();
}

void Context::windowPos3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::windowPos3s(GLshort x, GLshort y, GLshort z)
{
    UNIMPLEMENTED();
}

void Context::windowPos3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::getBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data)
{
    UNIMPLEMENTED();
}

void Context::accum(GLenum op, GLfloat value)
{
    UNIMPLEMENTED();
}

void Context::begin(GLenum mode)
{
    UNIMPLEMENTED();
}

void Context::bitmap(GLsizei width,
                     GLsizei height,
                     GLfloat xorig,
                     GLfloat yorig,
                     GLfloat xmove,
                     GLfloat ymove,
                     const GLubyte *bitmap)
{
    UNIMPLEMENTED();
}

void Context::callList(GLuint list)
{
    UNIMPLEMENTED();
}

void Context::callLists(GLsizei n, GLenum type, const void *lists)
{
    UNIMPLEMENTED();
}

void Context::clearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
{
    UNIMPLEMENTED();
}

void Context::clearDepth(GLdouble depth)
{
    UNIMPLEMENTED();
}

void Context::clearIndex(GLfloat c)
{
    UNIMPLEMENTED();
}

void Context::clipPlane(GLenum plane, const GLdouble *equation)
{
    UNIMPLEMENTED();
}

void Context::color3b(GLbyte red, GLbyte green, GLbyte blue)
{
    UNIMPLEMENTED();
}

void Context::color3bv(const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::color3d(GLdouble red, GLdouble green, GLdouble blue)
{
    UNIMPLEMENTED();
}

void Context::color3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::color3f(GLfloat red, GLfloat green, GLfloat blue)
{
    UNIMPLEMENTED();
}

void Context::color3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::color3i(GLint red, GLint green, GLint blue)
{
    UNIMPLEMENTED();
}

void Context::color3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::color3s(GLshort red, GLshort green, GLshort blue)
{
    UNIMPLEMENTED();
}

void Context::color3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::color3ub(GLubyte red, GLubyte green, GLubyte blue)
{
    UNIMPLEMENTED();
}

void Context::color3ubv(const GLubyte *v)
{
    UNIMPLEMENTED();
}

void Context::color3ui(GLuint red, GLuint green, GLuint blue)
{
    UNIMPLEMENTED();
}

void Context::color3uiv(const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::color3us(GLushort red, GLushort green, GLushort blue)
{
    UNIMPLEMENTED();
}

void Context::color3usv(const GLushort *v)
{
    UNIMPLEMENTED();
}

void Context::color4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
{
    UNIMPLEMENTED();
}

void Context::color4bv(const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::color4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
{
    UNIMPLEMENTED();
}

void Context::color4dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::color4fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::color4i(GLint red, GLint green, GLint blue, GLint alpha)
{
    UNIMPLEMENTED();
}

void Context::color4iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::color4s(GLshort red, GLshort green, GLshort blue, GLshort alpha)
{
    UNIMPLEMENTED();
}

void Context::color4sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::color4ubv(const GLubyte *v)
{
    UNIMPLEMENTED();
}

void Context::color4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
{
    UNIMPLEMENTED();
}

void Context::color4uiv(const GLuint *v)
{
    UNIMPLEMENTED();
}

void Context::color4us(GLushort red, GLushort green, GLushort blue, GLushort alpha)
{
    UNIMPLEMENTED();
}

void Context::color4usv(const GLushort *v)
{
    UNIMPLEMENTED();
}

void Context::colorMaterial(GLenum face, GLenum mode)
{
    UNIMPLEMENTED();
}

void Context::copyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
{
    UNIMPLEMENTED();
}

void Context::deleteLists(GLuint list, GLsizei range)
{
    UNIMPLEMENTED();
}

void Context::depthRange(GLdouble n, GLdouble f)
{
    UNIMPLEMENTED();
}

void Context::drawBuffer(GLenum buf)
{
    UNIMPLEMENTED();
}

void Context::drawPixels(GLsizei width,
                         GLsizei height,
                         GLenum format,
                         GLenum type,
                         const void *pixels)
{
    UNIMPLEMENTED();
}

void Context::edgeFlag(GLboolean flag)
{
    UNIMPLEMENTED();
}

void Context::edgeFlagv(const GLboolean *flag)
{
    UNIMPLEMENTED();
}

void Context::end()
{
    UNIMPLEMENTED();
}

void Context::endList()
{
    UNIMPLEMENTED();
}

void Context::evalCoord1d(GLdouble u)
{
    UNIMPLEMENTED();
}

void Context::evalCoord1dv(const GLdouble *u)
{
    UNIMPLEMENTED();
}

void Context::evalCoord1f(GLfloat u)
{
    UNIMPLEMENTED();
}

void Context::evalCoord1fv(const GLfloat *u)
{
    UNIMPLEMENTED();
}

void Context::evalCoord2d(GLdouble u, GLdouble v)
{
    UNIMPLEMENTED();
}

void Context::evalCoord2dv(const GLdouble *u)
{
    UNIMPLEMENTED();
}

void Context::evalCoord2f(GLfloat u, GLfloat v)
{
    UNIMPLEMENTED();
}

void Context::evalCoord2fv(const GLfloat *u)
{
    UNIMPLEMENTED();
}

void Context::evalMesh1(GLenum mode, GLint i1, GLint i2)
{
    UNIMPLEMENTED();
}

void Context::evalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
{
    UNIMPLEMENTED();
}

void Context::evalPoint1(GLint i)
{
    UNIMPLEMENTED();
}

void Context::evalPoint2(GLint i, GLint j)
{
    UNIMPLEMENTED();
}

void Context::feedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer)
{
    UNIMPLEMENTED();
}

void Context::fogi(GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::fogiv(GLenum pname, const GLint *params)
{
    UNIMPLEMENTED();
}

void Context::frustum(GLdouble left,
                      GLdouble right,
                      GLdouble bottom,
                      GLdouble top,
                      GLdouble zNear,
                      GLdouble zFar)
{
    UNIMPLEMENTED();
}

GLuint Context::genLists(GLsizei range)
{
    UNIMPLEMENTED();
    return 0;
}

void Context::getClipPlane(GLenum plane, GLdouble *equation)
{
    UNIMPLEMENTED();
}

void Context::getDoublev(GLenum pname, GLdouble *data)
{
    UNIMPLEMENTED();
}

void Context::getLightiv(GLenum light, GLenum pname, GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getMapdv(GLenum target, GLenum query, GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::getMapfv(GLenum target, GLenum query, GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::getMapiv(GLenum target, GLenum query, GLint *v)
{
    UNIMPLEMENTED();
}

void Context::getMaterialiv(GLenum face, GLenum pname, GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getPixelMapfv(GLenum map, GLfloat *values)
{
    UNIMPLEMENTED();
}

void Context::getPixelMapuiv(GLenum map, GLuint *values)
{
    UNIMPLEMENTED();
}

void Context::getPixelMapusv(GLenum map, GLushort *values)
{
    UNIMPLEMENTED();
}

void Context::getPolygonStipple(GLubyte *mask)
{
    UNIMPLEMENTED();
}

void Context::getTexGendv(GLenum coord, GLenum pname, GLdouble *params)
{
    UNIMPLEMENTED();
}

void Context::indexMask(GLuint mask)
{
    UNIMPLEMENTED();
}

void Context::indexd(GLdouble c)
{
    UNIMPLEMENTED();
}

void Context::indexdv(const GLdouble *c)
{
    UNIMPLEMENTED();
}

void Context::indexf(GLfloat c)
{
    UNIMPLEMENTED();
}

void Context::indexfv(const GLfloat *c)
{
    UNIMPLEMENTED();
}

void Context::indexi(GLint c)
{
    UNIMPLEMENTED();
}

void Context::indexiv(const GLint *c)
{
    UNIMPLEMENTED();
}

void Context::indexs(GLshort c)
{
    UNIMPLEMENTED();
}

void Context::indexsv(const GLshort *c)
{
    UNIMPLEMENTED();
}

void Context::initNames()
{
    UNIMPLEMENTED();
}

GLboolean Context::isList(GLuint list) const
{
    UNIMPLEMENTED();
    return false;
}

void Context::lightModeli(GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::lightModeliv(GLenum pname, const GLint *params)
{
    UNIMPLEMENTED();
}

void Context::lighti(GLenum light, GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::lightiv(GLenum light, GLenum pname, const GLint *params)
{
    UNIMPLEMENTED();
}

void Context::lineStipple(GLint factor, GLushort pattern)
{
    UNIMPLEMENTED();
}

void Context::listBase(GLuint base)
{
    UNIMPLEMENTED();
}

void Context::loadMatrixd(const GLdouble *m)
{
    UNIMPLEMENTED();
}

void Context::loadName(GLuint name)
{
    UNIMPLEMENTED();
}

void Context::map1d(GLenum target,
                    GLdouble u1,
                    GLdouble u2,
                    GLint stride,
                    GLint order,
                    const GLdouble *points)
{
    UNIMPLEMENTED();
}

void Context::map1f(GLenum target,
                    GLfloat u1,
                    GLfloat u2,
                    GLint stride,
                    GLint order,
                    const GLfloat *points)
{
    UNIMPLEMENTED();
}

void Context::map2d(GLenum target,
                    GLdouble u1,
                    GLdouble u2,
                    GLint ustride,
                    GLint uorder,
                    GLdouble v1,
                    GLdouble v2,
                    GLint vstride,
                    GLint vorder,
                    const GLdouble *points)
{
    UNIMPLEMENTED();
}

void Context::map2f(GLenum target,
                    GLfloat u1,
                    GLfloat u2,
                    GLint ustride,
                    GLint uorder,
                    GLfloat v1,
                    GLfloat v2,
                    GLint vstride,
                    GLint vorder,
                    const GLfloat *points)
{
    UNIMPLEMENTED();
}

void Context::mapGrid1d(GLint un, GLdouble u1, GLdouble u2)
{
    UNIMPLEMENTED();
}

void Context::mapGrid1f(GLint un, GLfloat u1, GLfloat u2)
{
    UNIMPLEMENTED();
}

void Context::mapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
{
    UNIMPLEMENTED();
}

void Context::mapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
{
    UNIMPLEMENTED();
}

void Context::materiali(GLenum face, GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::materialiv(GLenum face, GLenum pname, const GLint *params)
{
    UNIMPLEMENTED();
}

void Context::multMatrixd(const GLdouble *m)
{
    UNIMPLEMENTED();
}

void Context::newList(GLuint list, GLenum mode)
{
    UNIMPLEMENTED();
}

void Context::normal3b(GLbyte nx, GLbyte ny, GLbyte nz)
{
    UNIMPLEMENTED();
}

void Context::normal3bv(const GLbyte *v)
{
    UNIMPLEMENTED();
}

void Context::normal3d(GLdouble nx, GLdouble ny, GLdouble nz)
{
    UNIMPLEMENTED();
}

void Context::normal3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::normal3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::normal3i(GLint nx, GLint ny, GLint nz)
{
    UNIMPLEMENTED();
}

void Context::normal3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::normal3s(GLshort nx, GLshort ny, GLshort nz)
{
    UNIMPLEMENTED();
}

void Context::normal3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::ortho(GLdouble left,
                    GLdouble right,
                    GLdouble bottom,
                    GLdouble top,
                    GLdouble zNear,
                    GLdouble zFar)
{
    UNIMPLEMENTED();
}

void Context::passThrough(GLfloat token)
{
    UNIMPLEMENTED();
}

void Context::pixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values)
{
    UNIMPLEMENTED();
}

void Context::pixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values)
{
    UNIMPLEMENTED();
}

void Context::pixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values)
{
    UNIMPLEMENTED();
}

void Context::pixelStoref(GLenum pname, GLfloat param)
{
    UNIMPLEMENTED();
}

void Context::pixelTransferf(GLenum pname, GLfloat param)
{
    UNIMPLEMENTED();
}

void Context::pixelTransferi(GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::pixelZoom(GLfloat xfactor, GLfloat yfactor)
{
    UNIMPLEMENTED();
}

void Context::polygonMode(GLenum face, GLenum mode)
{
    UNIMPLEMENTED();
}

void Context::polygonStipple(const GLubyte *mask)
{
    UNIMPLEMENTED();
}

void Context::popAttrib()
{
    UNIMPLEMENTED();
}

void Context::popName()
{
    UNIMPLEMENTED();
}

void Context::pushAttrib(GLbitfield mask)
{
    UNIMPLEMENTED();
}

void Context::pushName(GLuint name)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2d(GLdouble x, GLdouble y)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2f(GLfloat x, GLfloat y)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2i(GLint x, GLint y)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2s(GLshort x, GLshort y)
{
    UNIMPLEMENTED();
}

void Context::rasterPos2sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3d(GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3f(GLfloat x, GLfloat y, GLfloat z)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3i(GLint x, GLint y, GLint z)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3s(GLshort x, GLshort y, GLshort z)
{
    UNIMPLEMENTED();
}

void Context::rasterPos3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4i(GLint x, GLint y, GLint z, GLint w)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w)
{
    UNIMPLEMENTED();
}

void Context::rasterPos4sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
{
    UNIMPLEMENTED();
}

void Context::rectdv(const GLdouble *v1, const GLdouble *v2)
{
    UNIMPLEMENTED();
}

void Context::rectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
{
    UNIMPLEMENTED();
}

void Context::rectfv(const GLfloat *v1, const GLfloat *v2)
{
    UNIMPLEMENTED();
}

void Context::recti(GLint x1, GLint y1, GLint x2, GLint y2)
{
    UNIMPLEMENTED();
}

void Context::rectiv(const GLint *v1, const GLint *v2)
{
    UNIMPLEMENTED();
}

void Context::rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2)
{
    UNIMPLEMENTED();
}

void Context::rectsv(const GLshort *v1, const GLshort *v2)
{
    UNIMPLEMENTED();
}

GLint Context::renderMode(GLenum mode)
{
    UNIMPLEMENTED();
    return 0;
}

void Context::rotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::scaled(GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::selectBuffer(GLsizei size, GLuint *buffer)
{
    UNIMPLEMENTED();
}

void Context::texCoord1d(GLdouble s)
{
    UNIMPLEMENTED();
}

void Context::texCoord1dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord1f(GLfloat s)
{
    UNIMPLEMENTED();
}

void Context::texCoord1fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord1i(GLint s)
{
    UNIMPLEMENTED();
}

void Context::texCoord1iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord1s(GLshort s)
{
    UNIMPLEMENTED();
}

void Context::texCoord1sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord2d(GLdouble s, GLdouble t)
{
    UNIMPLEMENTED();
}

void Context::texCoord2dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord2f(GLfloat s, GLfloat t)
{
    UNIMPLEMENTED();
}

void Context::texCoord2fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord2i(GLint s, GLint t)
{
    UNIMPLEMENTED();
}

void Context::texCoord2iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord2s(GLshort s, GLshort t)
{
    UNIMPLEMENTED();
}

void Context::texCoord2sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord3d(GLdouble s, GLdouble t, GLdouble r)
{
    UNIMPLEMENTED();
}

void Context::texCoord3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord3f(GLfloat s, GLfloat t, GLfloat r)
{
    UNIMPLEMENTED();
}

void Context::texCoord3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord3i(GLint s, GLint t, GLint r)
{
    UNIMPLEMENTED();
}

void Context::texCoord3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord3s(GLshort s, GLshort t, GLshort r)
{
    UNIMPLEMENTED();
}

void Context::texCoord3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q)
{
    UNIMPLEMENTED();
}

void Context::texCoord4dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)
{
    UNIMPLEMENTED();
}

void Context::texCoord4fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord4i(GLint s, GLint t, GLint r, GLint q)
{
    UNIMPLEMENTED();
}

void Context::texCoord4iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::texCoord4s(GLshort s, GLshort t, GLshort r, GLshort q)
{
    UNIMPLEMENTED();
}

void Context::texCoord4sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::texGend(GLenum coord, GLenum pname, GLdouble param)
{
    UNIMPLEMENTED();
}

void Context::texGendv(GLenum coord, GLenum pname, const GLdouble *params)
{
    UNIMPLEMENTED();
}

void Context::texImage1D(GLenum target,
                         GLint level,
                         GLint internalformat,
                         GLsizei width,
                         GLint border,
                         GLenum format,
                         GLenum type,
                         const void *pixels)
{
    UNIMPLEMENTED();
}

void Context::translated(GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::vertex2d(GLdouble x, GLdouble y)
{
    UNIMPLEMENTED();
}

void Context::vertex2dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertex2f(GLfloat x, GLfloat y)
{
    UNIMPLEMENTED();
}

void Context::vertex2fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::vertex2i(GLint x, GLint y)
{
    UNIMPLEMENTED();
}

void Context::vertex2iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertex2s(GLshort x, GLshort y)
{
    UNIMPLEMENTED();
}

void Context::vertex2sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertex3d(GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::vertex3dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertex3f(GLfloat x, GLfloat y, GLfloat z)
{
    UNIMPLEMENTED();
}

void Context::vertex3fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::vertex3i(GLint x, GLint y, GLint z)
{
    UNIMPLEMENTED();
}

void Context::vertex3iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertex3s(GLshort x, GLshort y, GLshort z)
{
    UNIMPLEMENTED();
}

void Context::vertex3sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

void Context::vertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
    UNIMPLEMENTED();
}

void Context::vertex4dv(const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
    UNIMPLEMENTED();
}

void Context::vertex4fv(const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::vertex4i(GLint x, GLint y, GLint z, GLint w)
{
    UNIMPLEMENTED();
}

void Context::vertex4iv(const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertex4s(GLshort x, GLshort y, GLshort z, GLshort w)
{
    UNIMPLEMENTED();
}

void Context::vertex4sv(const GLshort *v)
{
    UNIMPLEMENTED();
}

GLboolean Context::areTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences)
{
    UNIMPLEMENTED();
    return false;
}

void Context::arrayElement(GLint i)
{
    UNIMPLEMENTED();
}

void Context::copyTexImage1D(GLenum target,
                             GLint level,
                             GLenum internalformat,
                             GLint x,
                             GLint y,
                             GLsizei width,
                             GLint border)
{
    UNIMPLEMENTED();
}

void Context::copyTexSubImage1D(GLenum target,
                                GLint level,
                                GLint xoffset,
                                GLint x,
                                GLint y,
                                GLsizei width)
{
    UNIMPLEMENTED();
}

void Context::edgeFlagPointer(GLsizei stride, const void *pointer)
{
    UNIMPLEMENTED();
}

void Context::indexPointer(GLenum type, GLsizei stride, const void *pointer)
{
    UNIMPLEMENTED();
}

void Context::indexub(GLubyte c)
{
    UNIMPLEMENTED();
}

void Context::indexubv(const GLubyte *c)
{
    UNIMPLEMENTED();
}

void Context::interleavedArrays(GLenum format, GLsizei stride, const void *pointer)
{
    UNIMPLEMENTED();
}

void Context::popClientAttrib()
{
    UNIMPLEMENTED();
}

void Context::prioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities)
{
    UNIMPLEMENTED();
}

void Context::pushClientAttrib(GLbitfield mask)
{
    UNIMPLEMENTED();
}

void Context::texSubImage1D(GLenum target,
                            GLint level,
                            GLint xoffset,
                            GLsizei width,
                            GLenum format,
                            GLenum type,
                            const void *pixels)
{
    UNIMPLEMENTED();
}

void Context::multiDrawElementsBaseVertex(PrimitiveMode mode,
                                          const GLsizei *count,
                                          DrawElementsType type,
                                          const void *const *indices,
                                          GLsizei drawcount,
                                          const GLint *basevertex)
{
    UNIMPLEMENTED();
}

void Context::texImage2DMultisample(GLenum target,
                                    GLsizei samples,
                                    GLenum internalformat,
                                    GLsizei width,
                                    GLsizei height,
                                    GLboolean fixedsamplelocations)
{
    UNIMPLEMENTED();
}

void Context::texImage3DMultisample(GLenum target,
                                    GLsizei samples,
                                    GLenum internalformat,
                                    GLsizei width,
                                    GLsizei height,
                                    GLsizei depth,
                                    GLboolean fixedsamplelocations)
{
    UNIMPLEMENTED();
}

void Context::colorP3ui(GLenum type, GLuint color)
{
    UNIMPLEMENTED();
}

void Context::colorP3uiv(GLenum type, const GLuint *color)
{
    UNIMPLEMENTED();
}

void Context::colorP4ui(GLenum type, GLuint color)
{
    UNIMPLEMENTED();
}

void Context::colorP4uiv(GLenum type, const GLuint *color)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::multiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::normalP3ui(GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::normalP3uiv(GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::secondaryColorP3ui(GLenum type, GLuint color)
{
    UNIMPLEMENTED();
}

void Context::secondaryColorP3uiv(GLenum type, const GLuint *color)
{
    UNIMPLEMENTED();
}

void Context::texCoordP1ui(GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP1uiv(GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP2ui(GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP2uiv(GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP3ui(GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP3uiv(GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP4ui(GLenum type, GLuint coords)
{
    UNIMPLEMENTED();
}

void Context::texCoordP4uiv(GLenum type, const GLuint *coords)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP1uiv(GLuint index,
                                GLenum type,
                                GLboolean normalized,
                                const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP2uiv(GLuint index,
                                GLenum type,
                                GLboolean normalized,
                                const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP3uiv(GLuint index,
                                GLenum type,
                                GLboolean normalized,
                                const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribP4uiv(GLuint index,
                                GLenum type,
                                GLboolean normalized,
                                const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::vertexP2ui(GLenum type, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexP2uiv(GLenum type, const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::vertexP3ui(GLenum type, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexP3uiv(GLenum type, const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::vertexP4ui(GLenum type, GLuint value)
{
    UNIMPLEMENTED();
}

void Context::vertexP4uiv(GLenum type, const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::beginQueryIndexed(GLenum target, GLuint index, QueryID id)
{
    UNIMPLEMENTED();
}

void Context::drawTransformFeedback(GLenum mode, TransformFeedbackID id)
{
    UNIMPLEMENTED();
}

void Context::drawTransformFeedbackStream(GLenum mode, TransformFeedbackID id, GLuint stream)
{
    UNIMPLEMENTED();
}

void Context::endQueryIndexed(GLenum target, GLuint index)
{
    UNIMPLEMENTED();
}

void Context::getActiveSubroutineName(ShaderProgramID program,
                                      GLenum shadertype,
                                      GLuint index,
                                      GLsizei bufsize,
                                      GLsizei *length,
                                      GLchar *name)
{
    UNIMPLEMENTED();
}

void Context::getActiveSubroutineUniformName(ShaderProgramID program,
                                             GLenum shadertype,
                                             GLuint index,
                                             GLsizei bufsize,
                                             GLsizei *length,
                                             GLchar *name)
{
    UNIMPLEMENTED();
}

void Context::getActiveSubroutineUniformiv(ShaderProgramID program,
                                           GLenum shadertype,
                                           GLuint index,
                                           GLenum pname,
                                           GLint *values)
{
    UNIMPLEMENTED();
}

void Context::getProgramStageiv(ShaderProgramID program,
                                GLenum shadertype,
                                GLenum pname,
                                GLint *values)
{
    UNIMPLEMENTED();
}

void Context::getQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params)
{
    UNIMPLEMENTED();
}

GLuint Context::getSubroutineIndex(ShaderProgramID program, GLenum shadertype, const GLchar *name)
{
    UNIMPLEMENTED();
    return 0;
}

GLint Context::getSubroutineUniformLocation(ShaderProgramID program,
                                            GLenum shadertype,
                                            const GLchar *name)
{
    UNIMPLEMENTED();
    return 0;
}

void Context::getUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params)
{
    UNIMPLEMENTED();
}

void Context::getUniformdv(ShaderProgramID program, UniformLocation location, GLdouble *params)
{
    UNIMPLEMENTED();
}

void Context::patchParameterfv(GLenum pname, const GLfloat *values)
{
    UNIMPLEMENTED();
}

void Context::uniform1d(UniformLocation location, GLdouble x)
{
    UNIMPLEMENTED();
}

void Context::uniform1dv(UniformLocation location, GLsizei count, const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniform2d(UniformLocation location, GLdouble x, GLdouble y)
{
    UNIMPLEMENTED();
}

void Context::uniform2dv(UniformLocation location, GLsizei count, const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniform3d(UniformLocation location, GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::uniform3dv(UniformLocation location, GLsizei count, const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniform4d(UniformLocation location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
    UNIMPLEMENTED();
}

void Context::uniform4dv(UniformLocation location, GLsizei count, const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix2dv(UniformLocation location,
                               GLsizei count,
                               GLboolean transpose,
                               const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix2x3dv(UniformLocation location,
                                 GLsizei count,
                                 GLboolean transpose,
                                 const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix2x4dv(UniformLocation location,
                                 GLsizei count,
                                 GLboolean transpose,
                                 const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix3dv(UniformLocation location,
                               GLsizei count,
                               GLboolean transpose,
                               const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix3x2dv(UniformLocation location,
                                 GLsizei count,
                                 GLboolean transpose,
                                 const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix3x4dv(UniformLocation location,
                                 GLsizei count,
                                 GLboolean transpose,
                                 const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix4dv(UniformLocation location,
                               GLsizei count,
                               GLboolean transpose,
                               const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix4x2dv(UniformLocation location,
                                 GLsizei count,
                                 GLboolean transpose,
                                 const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformMatrix4x3dv(UniformLocation location,
                                 GLsizei count,
                                 GLboolean transpose,
                                 const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::uniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices)
{
    UNIMPLEMENTED();
}

void Context::depthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::depthRangeIndexed(GLuint index, GLdouble n, GLdouble f)
{
    UNIMPLEMENTED();
}

void Context::getDoublei_v(GLenum target, GLuint index, GLdouble *data)
{
    UNIMPLEMENTED();
}

void Context::getFloati_v(GLenum target, GLuint index, GLfloat *data)
{
    UNIMPLEMENTED();
}

void Context::getVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params)
{
    UNIMPLEMENTED();
}

void Context::programUniform1d(ShaderProgramID program, UniformLocation location, GLdouble v0)
{
    UNIMPLEMENTED();
}

void Context::programUniform1dv(ShaderProgramID program,
                                UniformLocation location,
                                GLsizei count,
                                const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniform2d(ShaderProgramID program,
                               UniformLocation location,
                               GLdouble v0,
                               GLdouble v1)
{
    UNIMPLEMENTED();
}

void Context::programUniform2dv(ShaderProgramID program,
                                UniformLocation location,
                                GLsizei count,
                                const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniform3d(ShaderProgramID program,
                               UniformLocation location,
                               GLdouble v0,
                               GLdouble v1,
                               GLdouble v2)
{
    UNIMPLEMENTED();
}

void Context::programUniform3dv(ShaderProgramID program,
                                UniformLocation location,
                                GLsizei count,
                                const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniform4d(ShaderProgramID program,
                               UniformLocation location,
                               GLdouble v0,
                               GLdouble v1,
                               GLdouble v2,
                               GLdouble v3)
{
    UNIMPLEMENTED();
}

void Context::programUniform4dv(ShaderProgramID program,
                                UniformLocation location,
                                GLsizei count,
                                const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix2dv(ShaderProgramID program,
                                      UniformLocation location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix2x3dv(ShaderProgramID program,
                                        UniformLocation location,
                                        GLsizei count,
                                        GLboolean transpose,
                                        const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix2x4dv(ShaderProgramID program,
                                        UniformLocation location,
                                        GLsizei count,
                                        GLboolean transpose,
                                        const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix3dv(ShaderProgramID program,
                                      UniformLocation location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix3x2dv(ShaderProgramID program,
                                        UniformLocation location,
                                        GLsizei count,
                                        GLboolean transpose,
                                        const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix3x4dv(ShaderProgramID program,
                                        UniformLocation location,
                                        GLsizei count,
                                        GLboolean transpose,
                                        const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix4dv(ShaderProgramID program,
                                      UniformLocation location,
                                      GLsizei count,
                                      GLboolean transpose,
                                      const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix4x2dv(ShaderProgramID program,
                                        UniformLocation location,
                                        GLsizei count,
                                        GLboolean transpose,
                                        const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::programUniformMatrix4x3dv(ShaderProgramID program,
                                        UniformLocation location,
                                        GLsizei count,
                                        GLboolean transpose,
                                        const GLdouble *value)
{
    UNIMPLEMENTED();
}

void Context::scissorArrayv(GLuint first, GLsizei count, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::scissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)
{
    UNIMPLEMENTED();
}

void Context::scissorIndexedv(GLuint index, const GLint *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL1d(GLuint index, GLdouble x)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL1dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL2d(GLuint index, GLdouble x, GLdouble y)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL2dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL3dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribL4dv(GLuint index, const GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribLPointer(GLuint index,
                                   GLint size,
                                   GLenum type,
                                   GLsizei stride,
                                   const void *pointer)
{
    UNIMPLEMENTED();
}

void Context::viewportArrayv(GLuint first, GLsizei count, const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::viewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)
{
    UNIMPLEMENTED();
}

void Context::viewportIndexedfv(GLuint index, const GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::drawElementsInstancedBaseInstance(GLenum mode,
                                                GLsizei count,
                                                GLenum type,
                                                const void *indices,
                                                GLsizei instancecount,
                                                GLuint baseinstance)
{
    UNIMPLEMENTED();
}

void Context::drawTransformFeedbackInstanced(GLenum mode,
                                             TransformFeedbackID id,
                                             GLsizei instancecount)
{
    UNIMPLEMENTED();
}

void Context::drawTransformFeedbackStreamInstanced(GLenum mode,
                                                   TransformFeedbackID id,
                                                   GLuint stream,
                                                   GLsizei instancecount)
{
    UNIMPLEMENTED();
}

void Context::getActiveAtomicCounterBufferiv(ShaderProgramID program,
                                             GLuint bufferIndex,
                                             GLenum pname,
                                             GLint *params)
{
    UNIMPLEMENTED();
}

void Context::clearBufferData(GLenum target,
                              GLenum internalformat,
                              GLenum format,
                              GLenum type,
                              const void *data)
{
    UNIMPLEMENTED();
}

void Context::clearBufferSubData(GLenum target,
                                 GLenum internalformat,
                                 GLintptr offset,
                                 GLsizeiptr size,
                                 GLenum format,
                                 GLenum type,
                                 const void *data)
{
    UNIMPLEMENTED();
}

void Context::getInternalformati64v(GLenum target,
                                    GLenum internalformat,
                                    GLenum pname,
                                    GLsizei bufSize,
                                    GLint64 *params)
{
    UNIMPLEMENTED();
}

void Context::invalidateBufferData(BufferID buffer)
{
    UNIMPLEMENTED();
}

void Context::invalidateBufferSubData(BufferID buffer, GLintptr offset, GLsizeiptr length)
{
    UNIMPLEMENTED();
}

void Context::invalidateTexImage(TextureID texture, GLint level)
{
    UNIMPLEMENTED();
}

void Context::invalidateTexSubImage(TextureID texture,
                                    GLint level,
                                    GLint xoffset,
                                    GLint yoffset,
                                    GLint zoffset,
                                    GLsizei width,
                                    GLsizei height,
                                    GLsizei depth)
{
    UNIMPLEMENTED();
}

void Context::multiDrawArraysIndirect(GLenum mode,
                                      const void *indirect,
                                      GLsizei drawcount,
                                      GLsizei stride)
{
    UNIMPLEMENTED();
}

void Context::multiDrawElementsIndirect(GLenum mode,
                                        GLenum type,
                                        const void *indirect,
                                        GLsizei drawcount,
                                        GLsizei stride)
{
    UNIMPLEMENTED();
}

void Context::shaderStorageBlockBinding(ShaderProgramID program,
                                        GLuint storageBlockIndex,
                                        GLuint storageBlockBinding)
{
    UNIMPLEMENTED();
}

void Context::textureView(TextureID texture,
                          GLenum target,
                          GLuint origtexture,
                          GLenum internalformat,
                          GLuint minlevel,
                          GLuint numlevels,
                          GLuint minlayer,
                          GLuint numlayers)
{
    UNIMPLEMENTED();
}

void Context::vertexAttribLFormat(GLuint attribindex,
                                  GLint size,
                                  GLenum type,
                                  GLuint relativeoffset)
{
    UNIMPLEMENTED();
}

void Context::bindBuffersBase(GLenum target, GLuint first, GLsizei count, const BufferID *buffers)
{
    UNIMPLEMENTED();
}

void Context::bindBuffersRange(GLenum target,
                               GLuint first,
                               GLsizei count,
                               const BufferID *buffers,
                               const GLintptr *offsets,
                               const GLsizeiptr *sizes)
{
    UNIMPLEMENTED();
}

void Context::bindImageTextures(GLuint first, GLsizei count, const GLuint *textures)
{
    UNIMPLEMENTED();
}

void Context::bindSamplers(GLuint first, GLsizei count, const GLuint *samplers)
{
    UNIMPLEMENTED();
}

void Context::bindTextures(GLuint first, GLsizei count, const GLuint *textures)
{
    UNIMPLEMENTED();
}

void Context::bindVertexBuffers(GLuint first,
                                GLsizei count,
                                const BufferID *buffers,
                                const GLintptr *offsets,
                                const GLsizei *strides)
{
    UNIMPLEMENTED();
}

void Context::clearTexImage(TextureID texture,
                            GLint level,
                            GLenum format,
                            GLenum type,
                            const void *data)
{
    UNIMPLEMENTED();
}

void Context::clearTexSubImage(TextureID texture,
                               GLint level,
                               GLint xoffset,
                               GLint yoffset,
                               GLint zoffset,
                               GLsizei width,
                               GLsizei height,
                               GLsizei depth,
                               GLenum format,
                               GLenum type,
                               const void *data)
{
    UNIMPLEMENTED();
}

void Context::bindTextureUnit(GLuint unit, TextureID texture)
{
    UNIMPLEMENTED();
}

void Context::blitNamedFramebuffer(GLuint readFramebuffer,
                                   GLuint drawFramebuffer,
                                   GLint srcX0,
                                   GLint srcY0,
                                   GLint srcX1,
                                   GLint srcY1,
                                   GLint dstX0,
                                   GLint dstY0,
                                   GLint dstX1,
                                   GLint dstY1,
                                   GLbitfield mask,
                                   GLenum filter)
{
    UNIMPLEMENTED();
}

GLenum Context::checkNamedFramebufferStatus(FramebufferID framebuffer, GLenum target)
{
    UNIMPLEMENTED();
    return 0;
}

void Context::clearNamedBufferData(BufferID buffer,
                                   GLenum internalformat,
                                   GLenum format,
                                   GLenum type,
                                   const void *data)
{
    UNIMPLEMENTED();
}

void Context::clearNamedBufferSubData(BufferID buffer,
                                      GLenum internalformat,
                                      GLintptr offset,
                                      GLsizeiptr size,
                                      GLenum format,
                                      GLenum type,
                                      const void *data)
{
    UNIMPLEMENTED();
}

void Context::clearNamedFramebufferfi(FramebufferID framebuffer,
                                      GLenum buffer,
                                      GLint drawbuffer,
                                      GLfloat depth,
                                      GLint stencil)
{
    UNIMPLEMENTED();
}

void Context::clearNamedFramebufferfv(FramebufferID framebuffer,
                                      GLenum buffer,
                                      GLint drawbuffer,
                                      const GLfloat *value)
{
    UNIMPLEMENTED();
}

void Context::clearNamedFramebufferiv(FramebufferID framebuffer,
                                      GLenum buffer,
                                      GLint drawbuffer,
                                      const GLint *value)
{
    UNIMPLEMENTED();
}

void Context::clearNamedFramebufferuiv(FramebufferID framebuffer,
                                       GLenum buffer,
                                       GLint drawbuffer,
                                       const GLuint *value)
{
    UNIMPLEMENTED();
}

void Context::compressedTextureSubImage1D(TextureID texture,
                                          GLint level,
                                          GLint xoffset,
                                          GLsizei width,
                                          GLenum format,
                                          GLsizei imageSize,
                                          const void *data)
{
    UNIMPLEMENTED();
}

void Context::compressedTextureSubImage2D(TextureID texture,
                                          GLint level,
                                          GLint xoffset,
                                          GLint yoffset,
                                          GLsizei width,
                                          GLsizei height,
                                          GLenum format,
                                          GLsizei imageSize,
                                          const void *data)
{
    UNIMPLEMENTED();
}

void Context::compressedTextureSubImage3D(TextureID texture,
                                          GLint level,
                                          GLint xoffset,
                                          GLint yoffset,
                                          GLint zoffset,
                                          GLsizei width,
                                          GLsizei height,
                                          GLsizei depth,
                                          GLenum format,
                                          GLsizei imageSize,
                                          const void *data)
{
    UNIMPLEMENTED();
}

void Context::copyNamedBufferSubData(GLuint readBuffer,
                                     GLuint writeBuffer,
                                     GLintptr readOffset,
                                     GLintptr writeOffset,
                                     GLsizeiptr size)
{
    UNIMPLEMENTED();
}

void Context::copyTextureSubImage1D(TextureID texture,
                                    GLint level,
                                    GLint xoffset,
                                    GLint x,
                                    GLint y,
                                    GLsizei width)
{
    UNIMPLEMENTED();
}

void Context::copyTextureSubImage2D(TextureID texture,
                                    GLint level,
                                    GLint xoffset,
                                    GLint yoffset,
                                    GLint x,
                                    GLint y,
                                    GLsizei width,
                                    GLsizei height)
{
    UNIMPLEMENTED();
}

void Context::copyTextureSubImage3D(TextureID texture,
                                    GLint level,
                                    GLint xoffset,
                                    GLint yoffset,
                                    GLint zoffset,
                                    GLint x,
                                    GLint y,
                                    GLsizei width,
                                    GLsizei height)
{
    UNIMPLEMENTED();
}

void Context::createBuffers(GLsizei n, BufferID *buffers)
{
    UNIMPLEMENTED();
}

void Context::createFramebuffers(GLsizei n, GLuint *framebuffers)
{
    UNIMPLEMENTED();
}

void Context::createProgramPipelines(GLsizei n, GLuint *pipelines)
{
    UNIMPLEMENTED();
}

void Context::createQueries(GLenum target, GLsizei n, GLuint *ids)
{
    UNIMPLEMENTED();
}

void Context::createRenderbuffers(GLsizei n, RenderbufferID *renderbuffers)
{
    UNIMPLEMENTED();
}

void Context::createSamplers(GLsizei n, GLuint *samplers)
{
    UNIMPLEMENTED();
}

void Context::createTextures(GLenum target, GLsizei n, GLuint *textures)
{
    UNIMPLEMENTED();
}

void Context::createTransformFeedbacks(GLsizei n, GLuint *ids)
{
    UNIMPLEMENTED();
}

void Context::createVertexArrays(GLsizei n, VertexArrayID *arrays)
{
    UNIMPLEMENTED();
}

void Context::disableVertexArrayAttrib(VertexArrayID vaobj, GLuint index)
{
    UNIMPLEMENTED();
}

void Context::enableVertexArrayAttrib(VertexArrayID vaobj, GLuint index)
{
    UNIMPLEMENTED();
}

void Context::flushMappedNamedBufferRange(BufferID buffer, GLintptr offset, GLsizeiptr length)
{
    UNIMPLEMENTED();
}

void Context::generateTextureMipmap(TextureID texture)
{
    UNIMPLEMENTED();
}

void Context::getCompressedTextureImage(TextureID texture,
                                        GLint level,
                                        GLsizei bufSize,
                                        void *pixels)
{
    UNIMPLEMENTED();
}

void Context::getCompressedTextureSubImage(TextureID texture,
                                           GLint level,
                                           GLint xoffset,
                                           GLint yoffset,
                                           GLint zoffset,
                                           GLsizei width,
                                           GLsizei height,
                                           GLsizei depth,
                                           GLsizei bufSize,
                                           void *pixels)
{
    UNIMPLEMENTED();
}

void Context::getNamedBufferParameteri64v(BufferID buffer, GLenum pname, GLint64 *params)
{
    UNIMPLEMENTED();
}

void Context::getNamedBufferParameteriv(BufferID buffer, GLenum pname, GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getNamedBufferPointerv(BufferID buffer, GLenum pname, void **params)
{
    UNIMPLEMENTED();
}

void Context::getNamedBufferSubData(BufferID buffer, GLintptr offset, GLsizeiptr size, void *data)
{
    UNIMPLEMENTED();
}

void Context::getNamedFramebufferAttachmentParameteriv(FramebufferID framebuffer,
                                                       GLenum attachment,
                                                       GLenum pname,
                                                       GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getNamedFramebufferParameteriv(FramebufferID framebuffer, GLenum pname, GLint *param)
{
    UNIMPLEMENTED();
}

void Context::getNamedRenderbufferParameteriv(RenderbufferID renderbuffer,
                                              GLenum pname,
                                              GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getQueryBufferObjecti64v(GLuint id, BufferID buffer, GLenum pname, GLintptr offset)
{
    UNIMPLEMENTED();
}

void Context::getQueryBufferObjectiv(GLuint id, BufferID buffer, GLenum pname, GLintptr offset)
{
    UNIMPLEMENTED();
}

void Context::getQueryBufferObjectui64v(GLuint id, BufferID buffer, GLenum pname, GLintptr offset)
{
    UNIMPLEMENTED();
}

void Context::getQueryBufferObjectuiv(GLuint id, BufferID buffer, GLenum pname, GLintptr offset)
{
    UNIMPLEMENTED();
}

void Context::getTextureImage(TextureID texture,
                              GLint level,
                              GLenum format,
                              GLenum type,
                              GLsizei bufSize,
                              void *pixels)
{
    UNIMPLEMENTED();
}

void Context::getTextureLevelParameterfv(TextureID texture,
                                         GLint level,
                                         GLenum pname,
                                         GLfloat *params)
{
    UNIMPLEMENTED();
}

void Context::getTextureLevelParameteriv(TextureID texture,
                                         GLint level,
                                         GLenum pname,
                                         GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getTextureParameterIiv(TextureID texture, GLenum pname, GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getTextureParameterIuiv(TextureID texture, GLenum pname, GLuint *params)
{
    UNIMPLEMENTED();
}

void Context::getTextureParameterfv(TextureID texture, GLenum pname, GLfloat *params)
{
    UNIMPLEMENTED();
}

void Context::getTextureParameteriv(TextureID texture, GLenum pname, GLint *params)
{
    UNIMPLEMENTED();
}

void Context::getTextureSubImage(TextureID texture,
                                 GLint level,
                                 GLint xoffset,
                                 GLint yoffset,
                                 GLint zoffset,
                                 GLsizei width,
                                 GLsizei height,
                                 GLsizei depth,
                                 GLenum format,
                                 GLenum type,
                                 GLsizei bufSize,
                                 void *pixels)
{
    UNIMPLEMENTED();
}

void Context::getTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param)
{
    UNIMPLEMENTED();
}

void Context::getTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param)
{
    UNIMPLEMENTED();
}

void Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param)
{
    UNIMPLEMENTED();
}

void Context::getVertexArrayIndexed64iv(VertexArrayID vaobj,
                                        GLuint index,
                                        GLenum pname,
                                        GLint64 *param)
{
    UNIMPLEMENTED();
}

void Context::getVertexArrayIndexediv(VertexArrayID vaobj, GLuint index, GLenum pname, GLint *param)
{
    UNIMPLEMENTED();
}

void Context::getVertexArrayiv(VertexArrayID vaobj, GLenum pname, GLint *param)
{
    UNIMPLEMENTED();
}

void Context::getnColorTable(GLenum target,
                             GLenum format,
                             GLenum type,
                             GLsizei bufSize,
                             void *table)
{
    UNIMPLEMENTED();
}

void Context::getnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels)
{
    UNIMPLEMENTED();
}

void Context::getnConvolutionFilter(GLenum target,
                                    GLenum format,
                                    GLenum type,
                                    GLsizei bufSize,
                                    void *image)
{
    UNIMPLEMENTED();
}

void Context::getnHistogram(GLenum target,
                            GLboolean reset,
                            GLenum format,
                            GLenum type,
                            GLsizei bufSize,
                            void *values)
{
    UNIMPLEMENTED();
}

void Context::getnMapdv(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v)
{
    UNIMPLEMENTED();
}

void Context::getnMapfv(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v)
{
    UNIMPLEMENTED();
}

void Context::getnMapiv(GLenum target, GLenum query, GLsizei bufSize, GLint *v)
{
    UNIMPLEMENTED();
}

void Context::getnMinmax(GLenum target,
                         GLboolean reset,
                         GLenum format,
                         GLenum type,
                         GLsizei bufSize,
                         void *values)
{
    UNIMPLEMENTED();
}

void Context::getnPixelMapfv(GLenum map, GLsizei bufSize, GLfloat *values)
{
    UNIMPLEMENTED();
}

void Context::getnPixelMapuiv(GLenum map, GLsizei bufSize, GLuint *values)
{
    UNIMPLEMENTED();
}

void Context::getnPixelMapusv(GLenum map, GLsizei bufSize, GLushort *values)
{
    UNIMPLEMENTED();
}

void Context::getnPolygonStipple(GLsizei bufSize, GLubyte *pattern)
{
    UNIMPLEMENTED();
}

void Context::getnSeparableFilter(GLenum target,
                                  GLenum format,
                                  GLenum type,
                                  GLsizei rowBufSize,
                                  void *row,
                                  GLsizei columnBufSize,
                                  void *column,
                                  void *span)
{
    UNIMPLEMENTED();
}

void Context::getnTexImage(GLenum target,
                           GLint level,
                           GLenum format,
                           GLenum type,
                           GLsizei bufSize,
                           void *pixels)
{
    UNIMPLEMENTED();
}

void Context::getnUniformdv(ShaderProgramID program,
                            UniformLocation location,
                            GLsizei bufSize,
                            GLdouble *params)
{
    UNIMPLEMENTED();
}

void Context::getnUniformuiv(ShaderProgramID program,
                             UniformLocation location,
                             GLsizei bufSize,
                             GLuint *params)
{
    UNIMPLEMENTED();
}

void Context::invalidateNamedFramebufferData(FramebufferID framebuffer,
                                             GLsizei numAttachments,
                                             const GLenum *attachments)
{
    UNIMPLEMENTED();
}

void Context::invalidateNamedFramebufferSubData(FramebufferID framebuffer,
                                                GLsizei numAttachments,
                                                const GLenum *attachments,
                                                GLint x,
                                                GLint y,
                                                GLsizei width,
                                                GLsizei height)
{
    UNIMPLEMENTED();
}

void *Context::mapNamedBuffer(BufferID buffer, GLenum access)
{
    UNIMPLEMENTED();
    return nullptr;
}

void *Context::mapNamedBufferRange(BufferID buffer,
                                   GLintptr offset,
                                   GLsizeiptr length,
                                   GLbitfield access)
{
    UNIMPLEMENTED();
    return nullptr;
}

void Context::namedBufferData(BufferID buffer, GLsizeiptr size, const void *data, GLenum usage)
{
    UNIMPLEMENTED();
}

void Context::namedBufferStorage(BufferID buffer,
                                 GLsizeiptr size,
                                 const void *data,
                                 GLbitfield flags)
{
    UNIMPLEMENTED();
}

void Context::namedBufferSubData(BufferID buffer,
                                 GLintptr offset,
                                 GLsizeiptr size,
                                 const void *data)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferDrawBuffer(FramebufferID framebuffer, GLenum buf)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferDrawBuffers(FramebufferID framebuffer, GLsizei n, const GLenum *bufs)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferParameteri(FramebufferID framebuffer, GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferReadBuffer(FramebufferID framebuffer, GLenum src)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferRenderbuffer(FramebufferID framebuffer,
                                           GLenum attachment,
                                           GLenum renderbuffertarget,
                                           RenderbufferID renderbuffer)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferTexture(FramebufferID framebuffer,
                                      GLenum attachment,
                                      TextureID texture,
                                      GLint level)
{
    UNIMPLEMENTED();
}

void Context::namedFramebufferTextureLayer(FramebufferID framebuffer,
                                           GLenum attachment,
                                           TextureID texture,
                                           GLint level,
                                           GLint layer)
{
    UNIMPLEMENTED();
}

void Context::namedRenderbufferStorage(RenderbufferID renderbuffer,
                                       GLenum internalformat,
                                       GLsizei width,
                                       GLsizei height)
{
    UNIMPLEMENTED();
}

void Context::namedRenderbufferStorageMultisample(RenderbufferID renderbuffer,
                                                  GLsizei samples,
                                                  GLenum internalformat,
                                                  GLsizei width,
                                                  GLsizei height)
{
    UNIMPLEMENTED();
}

void Context::textureBarrier()
{
    UNIMPLEMENTED();
}

void Context::textureBuffer(TextureID texture, GLenum internalformat, BufferID buffer)
{
    UNIMPLEMENTED();
}

void Context::textureBufferRange(TextureID texture,
                                 GLenum internalformat,
                                 BufferID buffer,
                                 GLintptr offset,
                                 GLsizeiptr size)
{
    UNIMPLEMENTED();
}

void Context::textureParameterIiv(TextureID texture, GLenum pname, const GLint *params)
{
    UNIMPLEMENTED();
}

void Context::textureParameterIuiv(TextureID texture, GLenum pname, const GLuint *params)
{
    UNIMPLEMENTED();
}

void Context::textureParameterf(TextureID texture, GLenum pname, GLfloat param)
{
    UNIMPLEMENTED();
}

void Context::textureParameterfv(TextureID texture, GLenum pname, const GLfloat *param)
{
    UNIMPLEMENTED();
}

void Context::textureParameteri(TextureID texture, GLenum pname, GLint param)
{
    UNIMPLEMENTED();
}

void Context::textureParameteriv(TextureID texture, GLenum pname, const GLint *param)
{
    UNIMPLEMENTED();
}

void Context::textureStorage1D(TextureID texture,
                               GLsizei levels,
                               GLenum internalformat,
                               GLsizei width)
{
    UNIMPLEMENTED();
}

void Context::textureStorage2D(TextureID texture,
                               GLsizei levels,
                               GLenum internalformat,
                               GLsizei width,
                               GLsizei height)
{
    UNIMPLEMENTED();
}

void Context::textureStorage2DMultisample(TextureID texture,
                                          GLsizei samples,
                                          GLenum internalformat,
                                          GLsizei width,
                                          GLsizei height,
                                          GLboolean fixedsamplelocations)
{
    UNIMPLEMENTED();
}

void Context::textureStorage3D(TextureID texture,
                               GLsizei levels,
                               GLenum internalformat,
                               GLsizei width,
                               GLsizei height,
                               GLsizei depth)
{
    UNIMPLEMENTED();
}

void Context::textureStorage3DMultisample(TextureID texture,
                                          GLsizei samples,
                                          GLenum internalformat,
                                          GLsizei width,
                                          GLsizei height,
                                          GLsizei depth,
                                          GLboolean fixedsamplelocations)
{
    UNIMPLEMENTED();
}

void Context::textureSubImage1D(TextureID texture,
                                GLint level,
                                GLint xoffset,
                                GLsizei width,
                                GLenum format,
                                GLenum type,
                                const void *pixels)
{
    UNIMPLEMENTED();
}

void Context::textureSubImage2D(TextureID texture,
                                GLint level,
                                GLint xoffset,
                                GLint yoffset,
                                GLsizei width,
                                GLsizei height,
                                GLenum format,
                                GLenum type,
                                const void *pixels)
{
    UNIMPLEMENTED();
}

void Context::textureSubImage3D(TextureID texture,
                                GLint level,
                                GLint xoffset,
                                GLint yoffset,
                                GLint zoffset,
                                GLsizei width,
                                GLsizei height,
                                GLsizei depth,
                                GLenum format,
                                GLenum type,
                                const void *pixels)
{
    UNIMPLEMENTED();
}

void Context::transformFeedbackBufferBase(GLuint xfb, GLuint index, BufferID buffer)
{
    UNIMPLEMENTED();
}

void Context::transformFeedbackBufferRange(GLuint xfb,
                                           GLuint index,
                                           BufferID buffer,
                                           GLintptr offset,
                                           GLsizeiptr size)
{
    UNIMPLEMENTED();
}

GLboolean Context::unmapNamedBuffer(BufferID buffer)
{
    UNIMPLEMENTED();
    return false;
}

void Context::vertexArrayAttribBinding(VertexArrayID vaobj, GLuint attribindex, GLuint bindingindex)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayAttribFormat(VertexArrayID vaobj,
                                      GLuint attribindex,
                                      GLint size,
                                      GLenum type,
                                      GLboolean normalized,
                                      GLuint relativeoffset)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayAttribIFormat(VertexArrayID vaobj,
                                       GLuint attribindex,
                                       GLint size,
                                       GLenum type,
                                       GLuint relativeoffset)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayAttribLFormat(VertexArrayID vaobj,
                                       GLuint attribindex,
                                       GLint size,
                                       GLenum type,
                                       GLuint relativeoffset)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayBindingDivisor(VertexArrayID vaobj, GLuint bindingindex, GLuint divisor)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayElementBuffer(VertexArrayID vaobj, BufferID buffer)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayVertexBuffer(VertexArrayID vaobj,
                                      GLuint bindingindex,
                                      BufferID buffer,
                                      GLintptr offset,
                                      GLsizei stride)
{
    UNIMPLEMENTED();
}

void Context::vertexArrayVertexBuffers(VertexArrayID vaobj,
                                       GLuint first,
                                       GLsizei count,
                                       const BufferID *buffers,
                                       const GLintptr *offsets,
                                       const GLsizei *strides)
{
    UNIMPLEMENTED();
}

void Context::multiDrawArraysIndirectCount(GLenum mode,
                                           const void *indirect,
                                           GLintptr drawcount,
                                           GLsizei maxdrawcount,
                                           GLsizei stride)
{
    UNIMPLEMENTED();
}

void Context::multiDrawElementsIndirectCount(GLenum mode,
                                             GLenum type,
                                             const void *indirect,
                                             GLintptr drawcount,
                                             GLsizei maxdrawcount,
                                             GLsizei stride)
{
    UNIMPLEMENTED();
}

void Context::polygonOffsetClamp(GLfloat factor, GLfloat units, GLfloat clamp)
{
    UNIMPLEMENTED();
}

void Context::specializeShader(GLuint shader,
                               const GLchar *pEntryPoint,
                               GLuint numSpecializationConstants,
                               const GLuint *pConstantIndex,
                               const GLuint *pConstantValue)
{
    UNIMPLEMENTED();
}

}  // namespace gl
