blob: 58b1408355b70c2739730e77599eaf32079db3b5 [file] [log] [blame]
/*
* Copyright 2015, The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* THIS FILE WAS GENERATED BY apic. DO NOT EDIT.
*/
#ifndef GAPII_GLES_SPY_H
#define GAPII_GLES_SPY_H
#include "gles_imports.h"
#include "gles_types.h"
#include "gles_extras.h"
#include "spy_base.h"
#define __STDC_FORMAT_MACROS
#include <inttypes.h>
namespace gapii {
class GlesSpy : public SpyBase {
public:
inline void init(std::shared_ptr<gapic::Encoder> encoder);
inline const GlesImports& imports() const;
std::shared_ptr<Buffer> subGetBoundBufferOrError(const std::function<void()>& call, uint32_t target);
void subBindBufferRange(const std::function<void()>& call, uint32_t target, GLuint index, BufferId buffer, GLintptr offset, GLsizeiptr size);
void subCopyBufferSubData(const std::function<void()>& call, uint32_t readTarget, uint32_t writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
void subGetBufferPointerv(const std::function<void()>& call, uint32_t target, uint32_t pname, void** params);
void subMapBufferRange(const std::function<void()>& call, uint32_t target, GLintptr offset, GLsizeiptr length, uint32_t access, uint8_t* ptr);
void subUnmapBuffer(const std::function<void()>& call, uint32_t target);
void subDebugMessageCallback(const std::function<void()>& call, GLDEBUGPROC callback, void* userParam);
void subDebugMessageControl(const std::function<void()>& call, uint32_t source, uint32_t type, uint32_t severity, GLsizei count, GLuint* ids, GLboolean enabled);
void subDebugMessageInsert(const std::function<void()>& call, uint32_t source, uint32_t type, GLuint id, uint32_t severity, GLsizei length, GLchar* message);
void subGetDebugMessageLog(const std::function<void()>& call, GLuint count, GLsizei bufSize, uint32_t* sources, uint32_t* types, GLuint* ids, uint32_t* severities, GLsizei* lengths, GLchar* messageLog, GLuint gotCount);
void subGetObjectLabel(const std::function<void()>& call, uint32_t identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label);
void subGetObjectPtrLabel(const std::function<void()>& call, void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label);
void subGetPointerv(const std::function<void()>& call, uint32_t pname, void** params);
void subObjectLabel(const std::function<void()>& call, uint32_t identifier, GLuint name, GLsizei length, GLchar* label);
void subObjectPtrLabel(const std::function<void()>& call, void* ptr, GLsizei length, GLchar* label);
void subPopDebugGroup(const std::function<void()>& call);
void subPushDebugGroup(const std::function<void()>& call, uint32_t source, GLuint id, GLsizei length, GLchar* message);
void subCheckPrimitiveType(const std::function<void()>& call, uint32_t draw_mode);
void subCheckIndicesType(const std::function<void()>& call, uint32_t indices_type);
void subDrawArraysInstanced(const std::function<void()>& call, uint32_t draw_mode, GLint first_index, GLsizei indices_count, GLsizei instance_count);
void subDrawElements(const std::function<void()>& call, std::shared_ptr<Context> ctx, uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count, GLint base_vertex);
void subDrawElementsBaseVertex(const std::function<void()>& call, uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLint base_vertex);
void subDrawElementsInstanced(const std::function<void()>& call, uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count);
void subDrawElementsInstancedBaseVertex(const std::function<void()>& call, uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count, GLint base_vertex);
void subDrawRangeElementsBaseVertex(const std::function<void()>& call, uint32_t draw_mode, GLuint start, GLuint end, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLint base_vertex);
void subPatchParameteri(const std::function<void()>& call, uint32_t pname, GLint value);
void subPrimitiveBoundingBox(const std::function<void()>& call, GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
void subSetProgramInfo(const std::function<void()>& call, ProgramId programId, std::shared_ptr<ProgramInfo> info);
void subBlendBarrier(const std::function<void()>& call);
void subBlendEquationSeparatei(const std::function<void()>& call, DrawBufferIndex buf, uint32_t modeRGB, uint32_t modeAlpha);
void subBlendEquationi(const std::function<void()>& call, DrawBufferIndex buf, uint32_t mode);
void subCheckBlendEquation(const std::function<void()>& call, uint32_t equation);
void subSetBlendEquation(const std::function<void()>& call, DrawBufferIndex first_buffer, GLint buffer_count, uint32_t rgb, uint32_t alpha);
void subBlendFuncSeparatei(const std::function<void()>& call, DrawBufferIndex buf, uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha);
void subBlendFunci(const std::function<void()>& call, DrawBufferIndex buf, uint32_t src, uint32_t dst);
void subCheckBlendFunc(const std::function<void()>& call, uint32_t factor);
void subSetBlendFunc(const std::function<void()>& call, DrawBufferIndex first_buffer, GLint buffer_count, uint32_t srcRgb, uint32_t dstRgb, uint32_t srcAlpha, uint32_t dstAlpha);
void subStencilFuncSeparate(const std::function<void()>& call, uint32_t face, uint32_t function, GLint reference_value, GLuint mask);
void subCheckStencilOp(const std::function<void()>& call, uint32_t op);
void subStencilOpSeparate(const std::function<void()>& call, uint32_t face, uint32_t fail, uint32_t pass_depth_fail, uint32_t pass_depth_pass);
std::shared_ptr<Framebuffer> subGetBoundFramebufferOrErrorInvalidEnum(const std::function<void()>& call, uint32_t framebuffer_target);
bool subIsDefaultFramebuffer(const std::function<void()>& call, std::shared_ptr<Framebuffer> framebuffer);
void subSetFramebufferAttachment(const std::function<void()>& call, uint32_t framebuffer_target, uint32_t framebuffer_attachment, FramebufferAttachment attachment);
void subBlitFramebuffer(const std::function<void()>& call, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, uint32_t mask, uint32_t filter);
void subColorMaski(const std::function<void()>& call, DrawBufferIndex index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
void subDrawBuffers(const std::function<void()>& call, GLsizei n, uint32_t* buffers);
void subFramebufferTexture(const std::function<void()>& call, uint32_t target, uint32_t attachment, TextureId texture, GLint level);
void subFramebufferTexture2D(const std::function<void()>& call, uint32_t framebuffer_target, uint32_t framebuffer_attachment, uint32_t texture_target, TextureId texture, GLint level);
void subInvalidateFramebuffer(const std::function<void()>& call, uint32_t target, GLsizei count, uint32_t* attachments);
void subCheckReadPixels(const std::function<void()>& call, GLsizei width, GLsizei height, uint32_t format, uint32_t type);
void subReadnPixels(const std::function<void()>& call, GLint x, GLint y, GLsizei width, GLsizei height, uint32_t format, uint32_t type, GLsizei bufSize, void* data);
void subRenderbufferStorageMultisample(const std::function<void()>& call, uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void subSetCapability(const std::function<void()>& call, uint32_t capability, bool isIndexed, GLuint index, GLboolean enabled);
GLboolean subGetCapability(const std::function<void()>& call, uint32_t capability, GLuint index);
void subDisablei(const std::function<void()>& call, uint32_t capability, GLuint index);
void subEnablei(const std::function<void()>& call, uint32_t capability, GLuint index);
void subFlushMappedBufferRange(const std::function<void()>& call, uint32_t target, GLintptr offset, GLsizeiptr length);
void subReadString(const std::function<void()>& call, GLsizei length, GLchar* buffer);
void subCheckShader(const std::function<void()>& call, std::shared_ptr<Context> ctx, ShaderId shader);
void subCheckProgram(const std::function<void()>& call, std::shared_ptr<Context> ctx, ProgramId program);
void subSetProgramUniform(const std::function<void()>& call, ProgramId program, UniformLocation location, Slice<uint8_t> value, uint32_t type);
void subGetnUniformiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei bufSize, GLint* values);
void subGetnUniformuiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei bufSize, GLuint* values);
void subProgramBinary(const std::function<void()>& call, ProgramId program, uint32_t binaryFormat, void* binary, GLsizei length);
void subProgramParameteri(const std::function<void()>& call, ProgramId program, uint32_t pname, GLint value);
void subProgramUniform1f(const std::function<void()>& call, ProgramId program, UniformLocation location, GLfloat value0);
void subProgramUniform1fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void subProgramUniform1i(const std::function<void()>& call, ProgramId program, UniformLocation location, GLint value0);
void subProgramUniform1iv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void subProgramUniform1ui(const std::function<void()>& call, ProgramId program, UniformLocation location, GLuint value0);
void subProgramUniform1uiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void subProgramUniform2f(const std::function<void()>& call, ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1);
void subProgramUniform2fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void subProgramUniform2i(const std::function<void()>& call, ProgramId program, UniformLocation location, GLint value0, GLint value1);
void subProgramUniform2iv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void subProgramUniform2ui(const std::function<void()>& call, ProgramId program, UniformLocation location, GLuint value0, GLuint value1);
void subProgramUniform2uiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void subProgramUniform3f(const std::function<void()>& call, ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2);
void subProgramUniform3fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void subProgramUniform3i(const std::function<void()>& call, ProgramId program, UniformLocation location, GLint value0, GLint value1, GLint value2);
void subProgramUniform3iv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void subProgramUniform3ui(const std::function<void()>& call, ProgramId program, UniformLocation location, GLuint value0, GLuint value1, GLuint value2);
void subProgramUniform3uiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void subProgramUniform4f(const std::function<void()>& call, ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3);
void subProgramUniform4fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void subProgramUniform4i(const std::function<void()>& call, ProgramId program, UniformLocation location, GLint value0, GLint value1, GLint value2, GLint value3);
void subProgramUniform4iv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void subProgramUniform4ui(const std::function<void()>& call, ProgramId program, UniformLocation location, GLuint value0, GLuint value1, GLuint value2, GLuint value3);
void subProgramUniform4uiv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void subProgramUniformMatrix2fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix2x3fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix2x4fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix3fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix3x2fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix3x4fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix4fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix4x2fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subProgramUniformMatrix4x3fv(const std::function<void()>& call, ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subUniformMatrix2x3fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subUniformMatrix2x4fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subUniformMatrix3x2fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subUniformMatrix3x4fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subUniformMatrix4x2fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subUniformMatrix4x3fv(const std::function<void()>& call, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void subMinSampleShading(const std::function<void()>& call, GLfloat value);
void subGetInteger64v(const std::function<void()>& call, uint32_t param, GLint64* values);
void subGetStateVariable_GLboolean(const std::function<void()>& call, uint32_t name, bool isIndexed, GLuint index, GLboolean* v);
void subGetStateVariable_GLfloat(const std::function<void()>& call, uint32_t name, bool isIndexed, GLuint index, GLfloat* v);
void subGetStateVariable_GLint(const std::function<void()>& call, uint32_t name, bool isIndexed, GLuint index, GLint* v);
void subGetStateVariable_GLint64(const std::function<void()>& call, uint32_t name, bool isIndexed, GLuint index, GLint64* v);
void subSetConstant(const std::function<void()>& call, std::shared_ptr<Context> ctx, uint32_t name, Slice<uint8_t> value);
void subDeleteSync(const std::function<void()>& call, GLsync sync);
void subWaitSync(const std::function<void()>& call, GLsync sync, uint32_t syncFlags, GLuint64 timeout);
std::shared_ptr<Texture> subGetBoundTextureOrErrorInvalidEnum(const std::function<void()>& call, uint32_t target);
void subCheckInternalFormat(const std::function<void()>& call, uint32_t internalformat);
void subCheckMaxTextureSize(const std::function<void()>& call, std::shared_ptr<Context> ctx, uint32_t target, GLint level, GLsizei width, GLsizei height);
void subCompressedTexImage3D(const std::function<void()>& call, uint32_t target, GLint level, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei image_size, TexturePointer data);
void subCompressedTexSubImage3D(const std::function<void()>& call, uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, GLsizei image_size, TexturePointer data);
void subCopyImageSubData(const std::function<void()>& call, GLuint srcName, uint32_t srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, uint32_t dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
void subCopyTexSubImage3D(const std::function<void()>& call, uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void subGetSamplerParameterIiv(const std::function<void()>& call, SamplerId sampler, uint32_t pname, GLint* params);
void subGetSamplerParameterIuiv(const std::function<void()>& call, SamplerId sampler, uint32_t pname, GLuint* params);
void subGetTexParameterIiv(const std::function<void()>& call, uint32_t target, uint32_t pname, GLint* params);
void subGetTexParameterIuiv(const std::function<void()>& call, uint32_t target, uint32_t pname, GLuint* params);
void subSamplerParameterIiv(const std::function<void()>& call, SamplerId sampler, uint32_t pname, GLint* param);
void subSamplerParameterIuiv(const std::function<void()>& call, SamplerId sampler, uint32_t pname, GLuint* param);
void subTexBuffer(const std::function<void()>& call, uint32_t target, uint32_t internalformat, BufferId buffer);
void subTexBufferRange(const std::function<void()>& call, uint32_t target, uint32_t internalformat, BufferId buffer, GLintptr offset, GLsizeiptr size);
void subTexImage3D(const std::function<void()>& call, uint32_t target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, uint32_t format, uint32_t type, TexturePointer data);
uint32_t subCheckWrapParam(const std::function<void()>& call, uint32_t wrap);
uint32_t subCheckSwizzleParam(const std::function<void()>& call, uint32_t swizzle);
void subTexParameterIiv(const std::function<void()>& call, uint32_t target, uint32_t pname, GLint* params);
void subTexParameterIuiv(const std::function<void()>& call, uint32_t target, uint32_t pname, GLuint* params);
void subTexStorage2D(const std::function<void()>& call, uint32_t target, GLsizei levels, uint32_t internalformat, GLsizei width, GLsizei height);
void subTexStorage3D(const std::function<void()>& call, uint32_t target, GLsizei levels, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth);
void subTexStorage3DMultisample(const std::function<void()>& call, uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
void subTexSubImage3D(const std::function<void()>& call, uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, uint32_t type, TexturePointer data);
std::shared_ptr<TransformFeedback> subGetBoundTransformFeedback(const std::function<void()>& call);
std::shared_ptr<VertexArray> subNewVertexArray(const std::function<void()>& call, std::shared_ptr<Context> ctx);
uint64_t subGetVertexAttrib(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, uint32_t pname);
GLint subVertexAttribTypeSize(const std::function<void()>& call, uint32_t type);
void subReadVertexArrays(const std::function<void()>& call, std::shared_ptr<Context> ctx, uint32_t first_index, uint32_t index_count, uint32_t instance_count);
void subBindVertexArray(const std::function<void()>& call, VertexArrayId array);
void subBindVertexBuffer(const std::function<void()>& call, std::shared_ptr<Context> ctx, VertexBufferBindingIndex binding_index, BufferId buffer, GLintptr offset, GLsizei stride);
void subDeleteVertexArrays(const std::function<void()>& call, GLsizei count, VertexArrayId* arrays);
GLboolean subIsVertexArray(const std::function<void()>& call, VertexArrayId array);
void subVertexAttribF(const std::function<void()>& call, AttributeLocation location, Vec4f value);
void subVertexAttribBinding(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, VertexBufferBindingIndex binding_index);
void subVertexAttribDivisor(const std::function<void()>& call, AttributeLocation index, GLuint divisor);
void subVertexAttribFormat(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, GLint size, uint32_t type, GLboolean normalized, GLuint relativeOffset, bool integer);
void subVertexAttribI(const std::function<void()>& call, AttributeLocation location, Vec4i value);
void subVertexAttribPointer(const std::function<void()>& call, std::shared_ptr<Context> ctx, AttributeLocation index, GLint size, uint32_t type, GLboolean normalized, GLsizei stride, VertexPointer pointer, bool integer);
void subMinRequiredVersion(const std::function<void()>& call, GLint requiredMajor, GLint requiredMinor);
void subSupportsBits(const std::function<void()>& call, uint32_t seenBits, uint32_t validBits);
void subRequiresExtension(const std::function<void()>& call, uint32_t ext);
void subRequiresExtension2(const std::function<void()>& call, uint32_t ext, uint32_t ext2);
void subRequiresExtension3(const std::function<void()>& call, uint32_t ext, uint32_t ext2, uint32_t ext3);
void subError(const std::function<void()>& call, const char* msg);
void subGlErrorInvalidEnum(const std::function<void()>& call, uint32_t param);
void subGlErrorInvalidValue(const std::function<void()>& call);
void subGlErrorInvalidOperation(const std::function<void()>& call);
void subGlErrorInvalidEnumIf(const std::function<void()>& call, bool condition);
void subGlErrorInvalidOperationIf(const std::function<void()>& call, bool condition);
void subGlErrorInvalidValueIf(const std::function<void()>& call, bool condition);
uint32_t subImageSize(const std::function<void()>& call, uint32_t width, uint32_t height, uint32_t format, uint32_t ty);
uint32_t subImageFormat(const std::function<void()>& call, uint32_t internalFormat);
uint32_t subImageType(const std::function<void()>& call, uint32_t internalFormat);
GLsizei subMax(const std::function<void()>& call, GLsizei a, GLsizei b);
std::shared_ptr<Context> subGetContext(const std::function<void()>& call);
void subSetContext(const std::function<void()>& call, std::shared_ptr<Context> context);
std::shared_ptr<Context> subCreateContext(const std::function<void()>& call);
uint32_t subIndexSize(const std::function<void()>& call, uint32_t indices_type);
void subErrorGLES10notSupported(const std::function<void()>& call);
void glBlendBarrierKHR();
void glBlendEquationSeparateiEXT(DrawBufferIndex buf, uint32_t modeRGB, uint32_t modeAlpha);
void glBlendEquationiEXT(DrawBufferIndex buf, uint32_t mode);
void glBlendFuncSeparateiEXT(DrawBufferIndex buf, uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha);
void glBlendFunciEXT(DrawBufferIndex buf, uint32_t src, uint32_t dst);
void glColorMaskiEXT(DrawBufferIndex index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
void glCopyImageSubDataEXT(GLuint srcName, uint32_t srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, uint32_t dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
void glDebugMessageCallbackKHR(GLDEBUGPROC callback, void* userParam);
void glDebugMessageControlKHR(uint32_t source, uint32_t type, uint32_t severity, GLsizei count, GLuint* ids, GLboolean enabled);
void glDebugMessageInsertKHR(uint32_t source, uint32_t type, GLuint id, uint32_t severity, GLsizei length, GLchar* message);
void glDisableiEXT(uint32_t target, GLuint index);
void glEnableiEXT(uint32_t target, GLuint index);
void glFramebufferTextureEXT(uint32_t target, uint32_t attachment, TextureId texture, GLint level);
GLuint glGetDebugMessageLogKHR(GLuint count, GLsizei bufSize, uint32_t* sources, uint32_t* types, GLuint* ids, uint32_t* severities, GLsizei* lengths, GLchar* messageLog);
void glGetObjectLabelKHR(uint32_t identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label);
void glGetObjectPtrLabelKHR(void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label);
void glGetPointervKHR(uint32_t pname, void** params);
void glGetSamplerParameterIivEXT(SamplerId sampler, uint32_t pname, GLint* params);
void glGetSamplerParameterIuivEXT(SamplerId sampler, uint32_t pname, GLuint* params);
void glGetTexParameterIivEXT(uint32_t target, uint32_t pname, GLint* params);
void glGetTexParameterIuivEXT(uint32_t target, uint32_t pname, GLuint* params);
GLboolean glIsEnablediEXT(uint32_t target, GLuint index);
void glMinSampleShadingOES(GLfloat value);
void glObjectLabelKHR(uint32_t identifier, GLuint name, GLsizei length, GLchar* label);
void glObjectPtrLabelKHR(void* ptr, GLsizei length, GLchar* label);
void glPatchParameteriEXT(uint32_t pname, GLint value);
void glPopDebugGroupKHR();
void glPrimitiveBoundingBoxEXT(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
void glPushDebugGroupKHR(uint32_t source, GLuint id, GLsizei length, GLchar* message);
void glSamplerParameterIivEXT(SamplerId sampler, uint32_t pname, GLint* param);
void glSamplerParameterIuivEXT(SamplerId sampler, uint32_t pname, GLuint* param);
void glTexBufferEXT(uint32_t target, uint32_t internalformat, BufferId buffer);
void glTexBufferRangeEXT(uint32_t target, uint32_t internalformat, BufferId buffer, GLintptr offset, GLsizeiptr size);
void glTexParameterIivEXT(uint32_t target, uint32_t pname, GLint* params);
void glTexParameterIuivEXT(uint32_t target, uint32_t pname, GLuint* params);
void glTexStorage3DMultisampleOES(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
void glBeginQuery(uint32_t target, QueryId query);
void glDeleteQueries(GLsizei count, QueryId* queries);
void glEndQuery(uint32_t target);
void glGenQueries(GLsizei count, QueryId* queries);
void glGetQueryObjectuiv(QueryId query, uint32_t parameter, GLuint* value);
void glGetQueryiv(uint32_t target, uint32_t parameter, GLint* value);
GLboolean glIsQuery(QueryId query);
void glBindBuffer(uint32_t target, BufferId buffer);
void glBindBufferBase(uint32_t target, GLuint index, BufferId buffer);
void glBindBufferRange(uint32_t target, GLuint index, BufferId buffer, GLintptr offset, GLsizeiptr size);
void glBufferData(uint32_t target, GLsizeiptr size, BufferDataPointer data, uint32_t usage);
void glBufferSubData(uint32_t target, GLintptr offset, GLsizeiptr size, BufferDataPointer data);
void glCopyBufferSubData(uint32_t readTarget, uint32_t writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
void glDeleteBuffers(GLsizei count, BufferId* buffers);
void glGenBuffers(GLsizei count, BufferId* buffers);
void glGetBufferParameteri64v(uint32_t target, uint32_t parameter, GLint64* value);
void glGetBufferParameteriv(uint32_t target, uint32_t parameter, GLint* value);
void glGetBufferPointerv(uint32_t target, uint32_t pname, void** params);
GLboolean glIsBuffer(BufferId buffer);
void* glMapBufferRange(uint32_t target, GLintptr offset, GLsizeiptr length, uint32_t access);
GLboolean glUnmapBuffer(uint32_t target);
void glDebugMessageCallback(GLDEBUGPROC callback, void* userParam);
void glDebugMessageControl(uint32_t source, uint32_t type, uint32_t severity, GLsizei count, GLuint* ids, GLboolean enabled);
void glDebugMessageInsert(uint32_t source, uint32_t type, GLuint id, uint32_t severity, GLsizei length, GLchar* message);
GLuint glGetDebugMessageLog(GLuint count, GLsizei bufSize, uint32_t* sources, uint32_t* types, GLuint* ids, uint32_t* severities, GLsizei* lengths, GLchar* messageLog);
void glGetObjectLabel(uint32_t identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar* label);
void glGetObjectPtrLabel(void* ptr, GLsizei bufSize, GLsizei* length, GLchar* label);
void glGetPointerv(uint32_t pname, void** params);
void glObjectLabel(uint32_t identifier, GLuint name, GLsizei length, GLchar* label);
void glObjectPtrLabel(void* ptr, GLsizei length, GLchar* label);
void glPopDebugGroup();
void glPushDebugGroup(uint32_t source, GLuint id, GLsizei length, GLchar* message);
void glDrawArrays(uint32_t draw_mode, GLint first_index, GLsizei indices_count);
void glDrawArraysIndirect(uint32_t draw_mode, void* indirect);
void glDrawArraysInstanced(uint32_t draw_mode, GLint first_index, GLsizei indices_count, GLsizei instance_count);
void glDrawElements(uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices);
void glDrawElementsBaseVertex(uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLint base_vertex);
void glDrawElementsIndirect(uint32_t draw_mode, uint32_t indices_type, void* indirect);
void glDrawElementsInstanced(uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count);
void glDrawElementsInstancedBaseVertex(uint32_t draw_mode, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLsizei instance_count, GLint base_vertex);
void glDrawRangeElements(uint32_t draw_mode, GLuint start, GLuint end, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices);
void glDrawRangeElementsBaseVertex(uint32_t draw_mode, GLuint start, GLuint end, GLsizei indices_count, uint32_t indices_type, IndicesPointer indices, GLint base_vertex);
void glPatchParameteri(uint32_t pname, GLint value);
void glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
void glActiveShaderProgramEXT(PipelineId pipeline, ProgramId program);
void glAlphaFuncQCOM(uint32_t func, GLclampf ref);
void glApplyFramebufferAttachmentCMAAINTEL();
void glBeginConditionalRenderNV(GLuint id, uint32_t mode);
void glBeginPerfMonitorAMD(GLuint monitor);
void glBeginPerfQueryINTEL(GLuint queryHandle);
void glBeginQueryEXT(uint32_t target, QueryId query);
void glBindFragDataLocationEXT(ProgramId program, GLuint color, const char* name);
void glBindFragDataLocationIndexedEXT(ProgramId program, GLuint colorNumber, GLuint index, const char* name);
void glBindProgramPipelineEXT(PipelineId pipeline);
void glBindVertexArrayOES(VertexArrayId array);
void glBlendBarrierNV();
void glBlendEquationSeparateiOES(DrawBufferIndex buf, uint32_t modeRGB, uint32_t modeAlpha);
void glBlendEquationiOES(DrawBufferIndex buf, uint32_t mode);
void glBlendFuncSeparateiOES(DrawBufferIndex buf, uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha);
void glBlendFunciOES(DrawBufferIndex buf, uint32_t src, uint32_t dst);
void glBlendParameteriNV(uint32_t pname, GLint value);
void glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, uint32_t mask, uint32_t filter);
void glBlitFramebufferNV(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, uint32_t mask, uint32_t filter);
void glBufferStorageEXT(uint32_t target, GLsizeiptr size, void* data, uint32_t flag);
uint32_t glClientWaitSyncAPPLE(GLsync sync, uint32_t flag, GLuint64 timeout);
void glColorMaskiOES(DrawBufferIndex index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
void glCompressedTexImage3DOES(uint32_t target, GLint level, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei image_size, TexturePointer data);
void glCompressedTexSubImage3DOES(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, GLsizei image_size, TexturePointer data);
void glCopyBufferSubDataNV(uint32_t readTarget, uint32_t writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
void glCopyImageSubDataOES(GLuint srcName, uint32_t srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, uint32_t dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
void glCopyPathNV(GLuint resultPath, GLuint srcPath);
void glCopyTexSubImage3DOES(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void glCopyTextureLevelsAPPLE(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
void glCoverFillPathInstancedNV(GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, uint32_t coverMode, uint32_t transformType, GLfloat* transformValues);
void glCoverFillPathNV(GLuint path, uint32_t coverMode);
void glCoverStrokePathInstancedNV(GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, uint32_t coverMode, uint32_t transformType, GLfloat* transformValues);
void glCoverStrokePathNV(GLuint path, uint32_t coverMode);
void glCoverageMaskNV(GLboolean mask);
void glCoverageModulationNV(uint32_t components);
void glCoverageModulationTableNV(GLsizei n, GLfloat* v);
void glCoverageOperationNV(uint32_t operation);
void glCreatePerfQueryINTEL(GLuint queryId, GLuint* queryHandle);
GLuint glCreateShaderProgramvEXT(uint32_t type, GLsizei count, GLchar** strings);
void glDeleteFencesNV(GLsizei n, GLuint* fences);
void glDeletePathsNV(GLuint path, GLsizei range);
void glDeletePerfMonitorsAMD(GLsizei n, GLuint* monitors);
void glDeletePerfQueryINTEL(GLuint queryHandle);
void glDeleteProgramPipelinesEXT(GLsizei n, PipelineId* pipelines);
void glDeleteQueriesEXT(GLsizei count, QueryId* queries);
void glDeleteSyncAPPLE(GLsync sync);
void glDeleteVertexArraysOES(GLsizei count, VertexArrayId* arrays);
void glDepthRangeArrayfvNV(GLuint first, GLsizei count, GLfloat* v);
void glDepthRangeIndexedfNV(GLuint index, GLfloat n, GLfloat f);
void glDisableDriverControlQCOM(GLuint driverControl);
void glDisableiNV(uint32_t target, GLuint index);
void glDisableiOES(uint32_t target, GLuint index);
void glDiscardFramebufferEXT(uint32_t target, GLsizei numAttachments, uint32_t* attachments);
void glDrawArraysInstancedANGLE(uint32_t mode, GLint first, GLsizei count, GLsizei primcount);
void glDrawArraysInstancedBaseInstanceEXT(uint32_t mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
void glDrawArraysInstancedEXT(uint32_t mode, GLint start, GLsizei count, GLsizei primcount);
void glDrawArraysInstancedNV(uint32_t mode, GLint first, GLsizei count, GLsizei primcount);
void glDrawBuffersEXT(GLsizei n, uint32_t* bufs);
void glDrawBuffersIndexedEXT(GLint n, uint32_t* location, GLint* indices);
void glDrawBuffersNV(GLsizei n, uint32_t* bufs);
void glDrawElementsBaseVertexEXT(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLint basevertex);
void glDrawElementsBaseVertexOES(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLint basevertex);
void glDrawElementsInstancedANGLE(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLsizei primcount);
void glDrawElementsInstancedBaseInstanceEXT(uint32_t mode, GLsizei count, uint32_t type, void* indices, GLsizei instancecount, GLuint baseinstance);
void glDrawElementsInstancedBaseVertexBaseInstanceEXT(uint32_t mode, GLsizei count, uint32_t type, void* indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance);
void glDrawElementsInstancedBaseVertexEXT(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLsizei instancecount, GLint basevertex);
void glDrawElementsInstancedBaseVertexOES(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLsizei instancecount, GLint basevertex);
void glDrawElementsInstancedEXT(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLsizei primcount);
void glDrawElementsInstancedNV(uint32_t mode, GLsizei count, uint32_t type, IndicesPointer indices, GLsizei primcount);
void glDrawRangeElementsBaseVertexEXT(uint32_t mode, GLuint start, GLuint end, GLsizei count, uint32_t type, IndicesPointer indices, GLint basevertex);
void glDrawRangeElementsBaseVertexOES(uint32_t mode, GLuint start, GLuint end, GLsizei count, uint32_t type, IndicesPointer indices, GLint basevertex);
void glEGLImageTargetRenderbufferStorageOES(uint32_t target, GLeglImageOES image);
void glEGLImageTargetTexture2DOES(uint32_t target, GLeglImageOES image);
void glEnableDriverControlQCOM(GLuint driverControl);
void glEnableiNV(uint32_t target, GLuint index);
void glEnableiOES(uint32_t target, GLuint index);
void glEndConditionalRenderNV();
void glEndPerfMonitorAMD(GLuint monitor);
void glEndPerfQueryINTEL(GLuint queryHandle);
void glEndQueryEXT(uint32_t target);
void glEndTilingQCOM(uint32_t preserve_mask);
void glExtGetBufferPointervQCOM(uint32_t target, void** params);
void glExtGetBuffersQCOM(BufferId* buffers, GLint maxBuffers, GLint* numBuffers);
void glExtGetFramebuffersQCOM(FramebufferId* framebuffers, GLint maxFramebuffers, GLint* numFramebuffers);
void glExtGetProgramBinarySourceQCOM(ProgramId program, uint32_t shadertype, GLchar* source, GLint* length);
void glExtGetProgramsQCOM(ProgramId* programs, GLint maxPrograms, GLint* numPrograms);
void glExtGetRenderbuffersQCOM(RenderbufferId* renderbuffers, GLint maxRenderbuffers, GLint* numRenderbuffers);
void glExtGetShadersQCOM(ShaderId* shaders, GLint maxShaders, GLint* numShaders);
void glExtGetTexLevelParameterivQCOM(TextureId texture, uint32_t face, GLint level, uint32_t pname, GLint* params);
void glExtGetTexSubImageQCOM(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, uint32_t type, void* texels);
void glExtGetTexturesQCOM(TextureId* textures, GLint maxTextures, GLint* numTextures);
GLboolean glExtIsProgramBinaryQCOM(ProgramId program);
void glExtTexObjectStateOverrideiQCOM(uint32_t target, uint32_t pname, GLint param);
GLsync glFenceSyncAPPLE(uint32_t condition, uint32_t flag);
void glFinishFenceNV(GLuint fence);
void glFlushMappedBufferRangeEXT(uint32_t target, GLintptr offset, GLsizeiptr length);
void glFragmentCoverageColorNV(GLuint color);
void glFramebufferSampleLocationsfvNV(uint32_t target, GLuint start, GLsizei count, GLfloat* v);
void glFramebufferTexture2DMultisampleEXT(uint32_t target, uint32_t attachment, uint32_t textarget, TextureId texture, GLint level, GLsizei samples);
void glFramebufferTexture2DMultisampleIMG(uint32_t target, uint32_t attachment, uint32_t textarget, TextureId texture, GLint level, GLsizei samples);
void glFramebufferTexture3DOES(uint32_t target, uint32_t attachment, uint32_t textarget, TextureId texture, GLint level, GLint zoffset);
void glFramebufferTextureMultiviewOVR(uint32_t target, uint32_t attachment, TextureId texture, GLint level, GLint baseViewIndex, GLsizei numViews);
void glFramebufferTextureOES(uint32_t target, uint32_t attachment, TextureId texture, GLint level);
void glGenFencesNV(GLsizei n, GLuint* fences);
GLuint glGenPathsNV(GLsizei range);
void glGenPerfMonitorsAMD(GLsizei n, GLuint* monitors);
void glGenProgramPipelinesEXT(GLsizei n, PipelineId* pipelines);
void glGenQueriesEXT(GLsizei count, QueryId* queries);
void glGenVertexArraysOES(GLsizei count, VertexArrayId* arrays);
void glGetBufferPointervOES(uint32_t target, uint32_t pname, void** params);
void glGetCoverageModulationTableNV(GLsizei bufsize, GLfloat* v);
void glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei* length, GLchar* driverControlString);
void glGetDriverControlsQCOM(GLint* num, GLsizei size, GLuint* driverControls);
void glGetFenceivNV(GLuint fence, uint32_t pname, GLint* params);
void glGetFirstPerfQueryIdINTEL(GLuint* queryId);
void glGetFloati_vNV(uint32_t target, GLuint index, GLfloat* data);
GLint glGetFragDataIndexEXT(ProgramId program, const char* name);
uint32_t glGetGraphicsResetStatusEXT();
uint32_t glGetGraphicsResetStatusKHR();
GLuint64 glGetImageHandleNV(TextureId texture, GLint level, GLboolean layered, GLint layer, uint32_t format);
void glGetInteger64vAPPLE(uint32_t pname, GLint64* params);
void glGetIntegeri_vEXT(uint32_t target, GLuint index, GLint* data);
void glGetInternalformatSampleivNV(uint32_t target, uint32_t internalformat, GLsizei samples, uint32_t pname, GLsizei bufSize, GLint* params);
void glGetNextPerfQueryIdINTEL(GLuint queryId, GLuint* nextQueryId);
void glGetObjectLabelEXT(uint32_t type, GLuint object, GLsizei bufSize, GLsizei* length, GLchar* label);
void glGetPathCommandsNV(GLuint path, GLubyte* commands);
void glGetPathCoordsNV(GLuint path, GLfloat* coords);
void glGetPathDashArrayNV(GLuint path, GLfloat* dashArray);
GLfloat glGetPathLengthNV(GLuint path, GLsizei startSegment, GLsizei numSegments);
void glGetPathMetricRangeNV(uint32_t metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat* metrics);
void glGetPathMetricsNV(uint32_t metricQueryMask, GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, GLsizei stride, GLfloat* metrics);
void glGetPathParameterfvNV(GLuint path, uint32_t pname, GLfloat* value);
void glGetPathParameterivNV(GLuint path, uint32_t pname, GLint* value);
void glGetPathSpacingNV(uint32_t pathListMode, GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, uint32_t transformType, GLfloat* returnedSpacing);
void glGetPerfCounterInfoINTEL(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar* counterName, GLuint counterDescLength, GLchar* counterDesc, GLuint* counterOffset, GLuint* counterDataSize, GLuint* counterTypeEnum, GLuint* counterDataTypeEnum, GLuint64* rawCounterMaxValue);
void glGetPerfMonitorCounterDataAMD(GLuint monitor, uint32_t pname, GLsizei dataSize, GLuint* data, GLint* bytesWritten);
void glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, uint32_t pname, void* data);
void glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei* length, GLchar* counterString);
void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters);
void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString);
void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups);
void glGetPerfQueryDataINTEL(GLuint queryHandle, GLuint flag, GLsizei dataSize, GLvoid* data, GLuint* bytesWritten);
void glGetPerfQueryIdByNameINTEL(GLchar* queryName, GLuint* queryId);
void glGetPerfQueryInfoINTEL(GLuint queryId, GLuint queryNameLength, GLchar* queryName, GLuint* dataSize, GLuint* noCounters, GLuint* noInstances, GLuint* capsMask);
void glGetProgramBinaryOES(ProgramId program, GLsizei buffer_size, GLsizei* bytes_written, uint32_t* binary_format, void* binary);
void glGetProgramPipelineInfoLogEXT(PipelineId pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
void glGetProgramPipelineivEXT(PipelineId pipeline, uint32_t pname, GLint* params);
GLint glGetProgramResourceLocationIndexEXT(ProgramId program, uint32_t programInterface, const char* name);
void glGetProgramResourcefvNV(ProgramId program, uint32_t programInterface, GLuint index, GLsizei propCount, uint32_t* props, GLsizei bufSize, GLsizei* length, GLfloat* params);
void glGetQueryObjecti64vEXT(QueryId query, uint32_t parameter, GLint64* value);
void glGetQueryObjectivEXT(QueryId query, uint32_t parameter, GLint* value);
void glGetQueryObjectui64vEXT(QueryId query, uint32_t parameter, GLuint64* value);
void glGetQueryObjectuivEXT(QueryId query, uint32_t parameter, GLuint* value);
void glGetQueryivEXT(uint32_t target, uint32_t parameter, GLint* value);
void glGetSamplerParameterIivOES(SamplerId sampler, uint32_t pname, GLint* params);
void glGetSamplerParameterIuivOES(SamplerId sampler, uint32_t pname, GLuint* params);
void glGetSyncivAPPLE(GLsync sync, uint32_t pname, GLsizei bufSize, GLsizei* length, GLint* values);
void glGetTexParameterIivOES(uint32_t target, uint32_t pname, GLint* params);
void glGetTexParameterIuivOES(uint32_t target, uint32_t pname, GLuint* params);
GLuint64 glGetTextureHandleNV(TextureId texture);
GLuint64 glGetTextureSamplerHandleNV(TextureId texture, SamplerId sampler);
void glGetTranslatedShaderSourceANGLE(ShaderId shader, GLsizei bufsize, GLsizei* length, GLchar* source);
void glGetnUniformfvEXT(ProgramId program, UniformLocation location, GLsizei bufSize, GLfloat* params);
void glGetnUniformfvKHR(ProgramId program, UniformLocation location, GLsizei bufSize, GLfloat* params);
void glGetnUniformivEXT(ProgramId program, UniformLocation location, GLsizei bufSize, GLint* params);
void glGetnUniformivKHR(ProgramId program, UniformLocation location, GLsizei bufSize, GLint* params);
void glGetnUniformuivKHR(ProgramId program, UniformLocation location, GLsizei bufSize, GLuint* params);
void glInsertEventMarkerEXT(GLsizei length, GLchar* marker);
void glInterpolatePathsNV(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight);
GLboolean glIsEnablediNV(uint32_t target, GLuint index);
GLboolean glIsEnablediOES(uint32_t target, GLuint index);
GLboolean glIsFenceNV(GLuint fence);
GLboolean glIsImageHandleResidentNV(GLuint64 handle);
GLboolean glIsPathNV(GLuint path);
GLboolean glIsPointInFillPathNV(GLuint path, GLuint mask, GLfloat x, GLfloat y);
GLboolean glIsPointInStrokePathNV(GLuint path, GLfloat x, GLfloat y);
GLboolean glIsProgramPipelineEXT(PipelineId pipeline);
GLboolean glIsQueryEXT(QueryId query);
GLboolean glIsSyncAPPLE(GLsync sync);
GLboolean glIsTextureHandleResidentNV(GLuint64 handle);
GLboolean glIsVertexArrayOES(VertexArrayId array);
void glLabelObjectEXT(uint32_t type, GLuint object, GLsizei length, GLchar* label);
void glMakeImageHandleNonResidentNV(GLuint64 handle);
void glMakeImageHandleResidentNV(GLuint64 handle, uint32_t access);
void glMakeTextureHandleNonResidentNV(GLuint64 handle);
void glMakeTextureHandleResidentNV(GLuint64 handle);
void* glMapBufferOES(uint32_t target, uint32_t access);
void* glMapBufferRangeEXT(uint32_t target, GLintptr offset, GLsizeiptr length, uint32_t access);
void glMatrixLoad3x2fNV(uint32_t matrixMode, GLfloat* m);
void glMatrixLoad3x3fNV(uint32_t matrixMode, GLfloat* m);
void glMatrixLoadTranspose3x3fNV(uint32_t matrixMode, GLfloat* m);
void glMatrixMult3x2fNV(uint32_t matrixMode, GLfloat* m);
void glMatrixMult3x3fNV(uint32_t matrixMode, GLfloat* m);
void glMatrixMultTranspose3x3fNV(uint32_t matrixMode, GLfloat* m);
void glMultiDrawArraysEXT(uint32_t mode, GLint* first, GLsizei* count, GLsizei primcount);
void glMultiDrawArraysIndirectEXT(uint32_t mode, void* indirect, GLsizei drawcount, GLsizei stride);
void glMultiDrawElementsBaseVertexEXT(uint32_t mode, GLsizei* count, uint32_t type, void** indices, GLsizei primcount, GLint* basevertex);
void glMultiDrawElementsBaseVertexOES(uint32_t mode, GLsizei* count, uint32_t type, void** indices, GLsizei primcount, GLint* basevertex);
void glMultiDrawElementsEXT(uint32_t mode, GLsizei* count, uint32_t type, void** indices, GLsizei primcount);
void glMultiDrawElementsIndirectEXT(uint32_t mode, uint32_t type, void* indirect, GLsizei drawcount, GLsizei stride);
void glNamedFramebufferSampleLocationsfvNV(FramebufferId framebuffer, GLuint start, GLsizei count, GLfloat* v);
void glPatchParameteriOES(uint32_t pname, GLint value);
void glPathCommandsNV(GLuint path, GLsizei numCommands, GLubyte* commands, GLsizei numCoords, uint32_t coordType, void* coords);
void glPathCoordsNV(GLuint path, GLsizei numCoords, uint32_t coordType, void* coords);
void glPathCoverDepthFuncNV(uint32_t func);
void glPathDashArrayNV(GLuint path, GLsizei dashCount, GLfloat* dashArray);
uint32_t glPathGlyphIndexArrayNV(GLuint firstPathName, uint32_t fontTarget, void* fontName, uint32_t fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
uint32_t glPathGlyphIndexRangeNV(uint32_t fontTarget, void* fontName, uint32_t fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint baseAndCount);
void glPathGlyphRangeNV(GLuint firstPathName, uint32_t fontTarget, void* fontName, uint32_t fontStyle, GLuint firstGlyph, GLsizei numGlyphs, uint32_t handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
void glPathGlyphsNV(GLuint firstPathName, uint32_t fontTarget, void* fontName, uint32_t fontStyle, GLsizei numGlyphs, uint32_t type, void* charcodes, uint32_t handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
uint32_t glPathMemoryGlyphIndexArrayNV(GLuint firstPathName, uint32_t fontTarget, GLsizeiptr fontSize, void* fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale);
void glPathParameterfNV(GLuint path, uint32_t pname, GLfloat value);
void glPathParameterfvNV(GLuint path, uint32_t pname, GLfloat* value);
void glPathParameteriNV(GLuint path, uint32_t pname, GLint value);
void glPathParameterivNV(GLuint path, uint32_t pname, GLint* value);
void glPathStencilDepthOffsetNV(GLfloat factor, GLfloat units);
void glPathStencilFuncNV(uint32_t func, GLint ref, GLuint mask);
void glPathStringNV(GLuint path, uint32_t format, GLsizei length, void* pathString);
void glPathSubCommandsNV(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, GLubyte* commands, GLsizei numCoords, uint32_t coordType, void* coords);
void glPathSubCoordsNV(GLuint path, GLsizei coordStart, GLsizei numCoords, uint32_t coordType, void* coords);
GLboolean glPointAlongPathNV(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat* x, GLfloat* y, GLfloat* tangentX, GLfloat* tangentY);
void glPolygonModeNV(uint32_t face, uint32_t mode);
void glPopGroupMarkerEXT();
void glPrimitiveBoundingBoxOES(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW);
void glProgramBinaryOES(ProgramId program, uint32_t binary_format, void* binary, GLint binary_size);
void glProgramParameteriEXT(ProgramId program, uint32_t pname, GLint value);
void glProgramPathFragmentInputGenNV(ProgramId program, GLint location, uint32_t genMode, GLint components, GLfloat* coeffs);
void glProgramUniform1fEXT(ProgramId program, UniformLocation location, GLfloat v0);
void glProgramUniform1fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLfloat* value);
void glProgramUniform1iEXT(ProgramId program, UniformLocation location, GLint v0);
void glProgramUniform1ivEXT(ProgramId program, UniformLocation location, GLsizei count, GLint* value);
void glProgramUniform1uiEXT(ProgramId program, UniformLocation location, GLuint v0);
void glProgramUniform1uivEXT(ProgramId program, UniformLocation location, GLsizei count, GLuint* value);
void glProgramUniform2fEXT(ProgramId program, UniformLocation location, GLfloat v0, GLfloat v1);
void glProgramUniform2fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLfloat* value);
void glProgramUniform2iEXT(ProgramId program, UniformLocation location, GLint v0, GLint v1);
void glProgramUniform2ivEXT(ProgramId program, UniformLocation location, GLsizei count, GLint* value);
void glProgramUniform2uiEXT(ProgramId program, UniformLocation location, GLuint v0, GLuint v1);
void glProgramUniform2uivEXT(ProgramId program, UniformLocation location, GLsizei count, GLuint* value);
void glProgramUniform3fEXT(ProgramId program, UniformLocation location, GLfloat v0, GLfloat v1, GLfloat v2);
void glProgramUniform3fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLfloat* value);
void glProgramUniform3iEXT(ProgramId program, UniformLocation location, GLint v0, GLint v1, GLint v2);
void glProgramUniform3ivEXT(ProgramId program, UniformLocation location, GLsizei count, GLint* value);
void glProgramUniform3uiEXT(ProgramId program, UniformLocation location, GLuint v0, GLuint v1, GLuint v2);
void glProgramUniform3uivEXT(ProgramId program, UniformLocation location, GLsizei count, GLuint* value);
void glProgramUniform4fEXT(ProgramId program, UniformLocation location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
void glProgramUniform4fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLfloat* value);
void glProgramUniform4iEXT(ProgramId program, UniformLocation location, GLint v0, GLint v1, GLint v2, GLint v3);
void glProgramUniform4ivEXT(ProgramId program, UniformLocation location, GLsizei count, GLint* value);
void glProgramUniform4uiEXT(ProgramId program, UniformLocation location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
void glProgramUniform4uivEXT(ProgramId program, UniformLocation location, GLsizei count, GLuint* value);
void glProgramUniformHandleui64NV(ProgramId program, UniformLocation location, GLuint64 value);
void glProgramUniformHandleui64vNV(ProgramId program, UniformLocation location, GLsizei count, GLuint64* values);
void glProgramUniformMatrix2fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix2x3fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix2x4fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix3fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix3x2fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix3x4fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix4fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix4x2fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glProgramUniformMatrix4x3fvEXT(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glPushGroupMarkerEXT(GLsizei length, GLchar* marker);
void glQueryCounterEXT(QueryId query, uint32_t target);
void glRasterSamplesEXT(GLuint samples, GLboolean fixedsamplelocations);
void glReadBufferIndexedEXT(uint32_t src, GLint index);
void glReadBufferNV(uint32_t mode);
void glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, uint32_t format, uint32_t type, GLsizei bufSize, void* data);
void glReadnPixelsKHR(GLint x, GLint y, GLsizei width, GLsizei height, uint32_t format, uint32_t type, GLsizei bufSize, void* data);
void glRenderbufferStorageMultisampleANGLE(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void glRenderbufferStorageMultisampleAPPLE(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void glRenderbufferStorageMultisampleEXT(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void glRenderbufferStorageMultisampleIMG(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void glRenderbufferStorageMultisampleNV(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void glResolveDepthValuesNV();
void glResolveMultisampleFramebufferAPPLE();
void glSamplerParameterIivOES(SamplerId sampler, uint32_t pname, GLint* param);
void glSamplerParameterIuivOES(SamplerId sampler, uint32_t pname, GLuint* param);
void glScissorArrayvNV(GLuint first, GLsizei count, GLint* v);
void glScissorIndexedNV(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height);
void glScissorIndexedvNV(GLuint index, GLint* v);
void glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint* counterList);
void glSetFenceNV(GLuint fence, uint32_t condition);
void glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, uint32_t preserveMask);
void glStencilFillPathInstancedNV(GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, uint32_t fillMode, GLuint mask, uint32_t transformType, GLfloat* transformValues);
void glStencilFillPathNV(GLuint path, uint32_t fillMode, GLuint mask);
void glStencilStrokePathInstancedNV(GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, GLint reference, GLuint mask, uint32_t transformType, GLfloat* transformValues);
void glStencilStrokePathNV(GLuint path, GLint reference, GLuint mask);
void glStencilThenCoverFillPathInstancedNV(GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, uint32_t fillMode, GLuint mask, uint32_t coverMode, uint32_t transformType, GLfloat* transformValues);
void glStencilThenCoverFillPathNV(GLuint path, uint32_t fillMode, GLuint mask, uint32_t coverMode);
void glStencilThenCoverStrokePathInstancedNV(GLsizei numPaths, uint32_t pathNameType, void* paths, GLuint pathBase, GLint reference, GLuint mask, uint32_t coverMode, uint32_t transformType, GLfloat* transformValues);
void glStencilThenCoverStrokePathNV(GLuint path, GLint reference, GLuint mask, uint32_t coverMode);
void glSubpixelPrecisionBiasNV(GLuint xbits, GLuint ybits);
GLboolean glTestFenceNV(GLuint fence);
void glTexBufferOES(uint32_t target, uint32_t internalformat, BufferId buffer);
void glTexBufferRangeOES(uint32_t target, uint32_t internalformat, BufferId buffer, GLintptr offset, GLsizeiptr size);
void glTexImage3DOES(uint32_t target, GLint level, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, uint32_t format, uint32_t type, TexturePointer pixels);
void glTexPageCommitmentEXT(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit);
void glTexParameterIivOES(uint32_t target, uint32_t pname, GLint* params);
void glTexParameterIuivOES(uint32_t target, uint32_t pname, GLuint* params);
void glTexStorage1DEXT(uint32_t target, GLsizei levels, uint32_t format, GLsizei width);
void glTexStorage2DEXT(uint32_t target, GLsizei levels, uint32_t format, GLsizei width, GLsizei height);
void glTexStorage3DEXT(uint32_t target, GLsizei levels, uint32_t format, GLsizei width, GLsizei height, GLsizei depth);
void glTexSubImage3DOES(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, uint32_t type, TexturePointer pixels);
void glTextureStorage1DEXT(TextureId texture, uint32_t target, GLsizei levels, uint32_t format, GLsizei width);
void glTextureStorage2DEXT(TextureId texture, uint32_t target, GLsizei levels, uint32_t format, GLsizei width, GLsizei height);
void glTextureStorage3DEXT(TextureId texture, uint32_t target, GLsizei levels, uint32_t format, GLsizei width, GLsizei height, GLsizei depth);
void glTextureViewEXT(TextureId texture, uint32_t target, GLuint origtexture, uint32_t internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
void glTextureViewOES(TextureId texture, uint32_t target, GLuint origtexture, uint32_t internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers);
void glTransformPathNV(GLuint resultPath, GLuint srcPath, uint32_t transformType, GLfloat* transformValues);
void glUniformHandleui64NV(UniformLocation location, GLuint64 value);
void glUniformHandleui64vNV(UniformLocation location, GLsizei count, GLuint64* value);
void glUniformMatrix2x3fvNV(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glUniformMatrix2x4fvNV(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glUniformMatrix3x2fvNV(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glUniformMatrix3x4fvNV(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glUniformMatrix4x2fvNV(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
void glUniformMatrix4x3fvNV(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* value);
GLboolean glUnmapBufferOES(uint32_t target);
void glUseProgramStagesEXT(PipelineId pipeline, uint32_t stages, ProgramId program);
void glValidateProgramPipelineEXT(PipelineId pipeline);
void glVertexAttribDivisorANGLE(AttributeLocation index, GLuint divisor);
void glVertexAttribDivisorEXT(AttributeLocation index, GLuint divisor);
void glVertexAttribDivisorNV(AttributeLocation index, GLuint divisor);
void glViewportArrayvNV(GLuint first, GLsizei count, GLfloat* v);
void glViewportIndexedfNV(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h);
void glViewportIndexedfvNV(GLuint index, GLfloat* v);
void glWaitSyncAPPLE(GLsync sync, uint32_t flag, GLuint64 timeout);
void glWeightPathsNV(GLuint resultPath, GLsizei numPaths, GLuint* paths, GLfloat* weights);
void glBlendBarrier();
void glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
void glBlendEquation(uint32_t equation);
void glBlendEquationSeparate(uint32_t rgb, uint32_t alpha);
void glBlendEquationSeparatei(DrawBufferIndex buf, uint32_t modeRGB, uint32_t modeAlpha);
void glBlendEquationi(DrawBufferIndex buf, uint32_t mode);
void glBlendFunc(uint32_t src_factor, uint32_t dst_factor);
void glBlendFuncSeparate(uint32_t src_factor_rgb, uint32_t dst_factor_rgb, uint32_t src_factor_alpha, uint32_t dst_factor_alpha);
void glBlendFuncSeparatei(DrawBufferIndex buf, uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha);
void glBlendFunci(DrawBufferIndex buf, uint32_t src, uint32_t dst);
void glDepthFunc(uint32_t function);
void glSampleCoverage(GLfloat value, GLboolean invert);
void glSampleMaski(GLuint maskNumber, uint32_t mask);
void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
void glStencilFunc(uint32_t func, GLint ref, GLuint mask);
void glStencilFuncSeparate(uint32_t face, uint32_t function, GLint reference_value, GLuint mask);
void glStencilOp(uint32_t fail, uint32_t zfail, uint32_t zpass);
void glStencilOpSeparate(uint32_t face, uint32_t stencil_fail, uint32_t stencil_pass_depth_fail, uint32_t stencil_pass_depth_pass);
void glBindFramebuffer(uint32_t target, FramebufferId framebuffer);
void glBindRenderbuffer(uint32_t target, RenderbufferId renderbuffer);
void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, uint32_t mask, uint32_t filter);
uint32_t glCheckFramebufferStatus(uint32_t target);
void glClear(uint32_t mask);
void glClearBufferfi(uint32_t buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
void glClearBufferfv(uint32_t buffer, GLint drawbuffer, GLfloat* value);
void glClearBufferiv(uint32_t buffer, GLint drawbuffer, GLint* value);
void glClearBufferuiv(uint32_t buffer, GLint drawbuffer, GLuint* value);
void glClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a);
void glClearDepthf(GLfloat depth);
void glClearStencil(GLint stencil);
void glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
void glColorMaski(DrawBufferIndex index, GLboolean r, GLboolean g, GLboolean b, GLboolean a);
void glDeleteFramebuffers(GLsizei count, FramebufferId* framebuffers);
void glDeleteRenderbuffers(GLsizei count, RenderbufferId* renderbuffers);
void glDepthMask(GLboolean enabled);
void glDrawBuffers(GLsizei n, uint32_t* bufs);
void glFramebufferParameteri(uint32_t target, uint32_t pname, GLint param);
void glFramebufferRenderbuffer(uint32_t framebuffer_target, uint32_t framebuffer_attachment, uint32_t renderbuffer_target, RenderbufferId renderbuffer);
void glFramebufferTexture(uint32_t target, uint32_t attachment, TextureId texture, GLint level);
void glFramebufferTexture2D(uint32_t framebuffer_target, uint32_t framebuffer_attachment, uint32_t texture_target, TextureId texture, GLint level);
void glFramebufferTextureLayer(uint32_t target, uint32_t attachment, TextureId texture, GLint level, GLint layer);
void glGenFramebuffers(GLsizei count, FramebufferId* framebuffers);
void glGenRenderbuffers(GLsizei count, RenderbufferId* renderbuffers);
void glGetFramebufferAttachmentParameteriv(uint32_t framebuffer_target, uint32_t attachment, uint32_t parameter, GLint* value);
void glGetFramebufferParameteriv(uint32_t target, uint32_t pname, GLint* params);
void glGetRenderbufferParameteriv(uint32_t target, uint32_t parameter, GLint* values);
void glInvalidateFramebuffer(uint32_t target, GLsizei count, uint32_t* attachments);
void glInvalidateSubFramebuffer(uint32_t target, GLsizei numAttachments, uint32_t* attachments, GLint x, GLint y, GLsizei width, GLsizei height);
GLboolean glIsFramebuffer(FramebufferId framebuffer);
GLboolean glIsRenderbuffer(RenderbufferId renderbuffer);
void glReadBuffer(uint32_t src);
void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, uint32_t format, uint32_t type, void* data);
void glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, uint32_t format, uint32_t type, GLsizei bufSize, void* data);
void glRenderbufferStorage(uint32_t target, uint32_t internalformat, GLsizei width, GLsizei height);
void glRenderbufferStorageMultisample(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height);
void glStencilMask(GLuint mask);
void glStencilMaskSeparate(uint32_t face, GLuint mask);
void glDisable(uint32_t capability);
void glDisablei(uint32_t capability, GLuint index);
void glEnable(uint32_t capability);
void glEnablei(uint32_t capability, GLuint index);
void glFinish();
void glFlush();
void glFlushMappedBufferRange(uint32_t target, GLintptr offset, GLsizeiptr length);
uint32_t glGetError();
uint32_t glGetGraphicsResetStatus();
void glHint(uint32_t target, uint32_t mode);
void glActiveShaderProgram(PipelineId pipeline, ProgramId program);
void glAttachShader(ProgramId program, ShaderId shader);
void glBindAttribLocation(ProgramId program, AttributeLocation location, const char* name);
void glBindProgramPipeline(PipelineId pipeline);
void glCompileShader(ShaderId shader);
ProgramId glCreateProgram();
ShaderId glCreateShader(uint32_t type);
ProgramId glCreateShaderProgramv(uint32_t type, GLsizei count, GLchar** strings);
void glDeleteProgram(ProgramId program);
void glDeleteProgramPipelines(GLsizei n, PipelineId* pipelines);
void glDeleteShader(ShaderId shader);
void glDetachShader(ProgramId program, ShaderId shader);
void glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
void glDispatchComputeIndirect(GLintptr indirect);
void glGenProgramPipelines(GLsizei n, PipelineId* pipelines);
void glGetActiveAttrib(ProgramId program, AttributeIndex index, GLsizei buffer_size, GLsizei* buffer_bytes_written, GLint* vector_count, uint32_t* type, GLchar* name);
void glGetActiveUniform(ProgramId program, UniformIndex index, GLsizei buffer_size, GLsizei* buffer_bytes_written, GLint* vector_count, uint32_t* type, GLchar* name);
void glGetActiveUniformBlockName(ProgramId program, UniformBlockId uniform_block_index, GLsizei buffer_size, GLsizei* buffer_bytes_written, GLchar* name);
void glGetActiveUniformBlockiv(ProgramId program, UniformBlockId uniform_block_index, uint32_t parameter_name, GLint* parameters);
void glGetActiveUniformsiv(ProgramId program, GLsizei uniform_count, UniformIndex* uniform_indices, uint32_t parameter_name, GLint* parameters);
void glGetAttachedShaders(ProgramId program, GLsizei buffer_length, GLsizei* shaders_length_written, ShaderId* shaders);
GLint glGetAttribLocation(ProgramId program, const char* name);
GLint glGetFragDataLocation(ProgramId program, const char* name);
void glGetProgramBinary(ProgramId program, GLsizei bufSize, GLsizei* length, uint32_t* binaryFormat, void* binary);
void glGetProgramInfoLog(ProgramId program, GLsizei buffer_length, GLsizei* string_length_written, GLchar* info);
void glGetProgramInterfaceiv(ProgramId program, uint32_t programInterface, uint32_t pname, GLint* params);
void glGetProgramPipelineInfoLog(PipelineId pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog);
void glGetProgramPipelineiv(PipelineId pipeline, uint32_t pname, GLint* params);
GLuint glGetProgramResourceIndex(ProgramId program, uint32_t programInterface, const char* name);
GLint glGetProgramResourceLocation(ProgramId program, uint32_t programInterface, const char* name);
void glGetProgramResourceName(ProgramId program, uint32_t programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name);
void glGetProgramResourceiv(ProgramId program, uint32_t programInterface, GLuint index, GLsizei propCount, uint32_t* props, GLsizei bufSize, GLsizei* length, GLint* params);
void glGetProgramiv(ProgramId program, uint32_t parameter, GLint* value);
void glGetShaderInfoLog(ShaderId shader, GLsizei buffer_length, GLsizei* string_length_written, GLchar* info);
void glGetShaderPrecisionFormat(uint32_t shader_type, uint32_t precision_type, GLint* range, GLint* precision);
void glGetShaderSource(ShaderId shader, GLsizei buffer_length, GLsizei* string_length_written, GLchar* source);
void glGetShaderiv(ShaderId shader, uint32_t parameter, GLint* value);
UniformBlockId glGetUniformBlockIndex(ProgramId program, const char* uniformBlockName);
void glGetUniformIndices(ProgramId program, GLsizei uniformCount, GLchar** uniformNames, UniformIndex* uniformIndices);
UniformLocation glGetUniformLocation(ProgramId program, const char* name);
void glGetUniformfv(ProgramId program, UniformLocation location, GLfloat* values);
void glGetUniformiv(ProgramId program, UniformLocation location, GLint* values);
void glGetUniformuiv(ProgramId program, UniformLocation location, GLuint* values);
void glGetnUniformfv(ProgramId program, UniformLocation location, GLsizei bufSize, GLfloat* values);
void glGetnUniformiv(ProgramId program, UniformLocation location, GLsizei bufSize, GLint* values);
void glGetnUniformuiv(ProgramId program, UniformLocation location, GLsizei bufSize, GLuint* values);
GLboolean glIsProgram(ProgramId program);
GLboolean glIsProgramPipeline(PipelineId pipeline);
GLboolean glIsShader(ShaderId shader);
void glLinkProgram(ProgramId program);
void glMemoryBarrier(uint32_t barriers);
void glMemoryBarrierByRegion(uint32_t barriers);
void glProgramBinary(ProgramId program, uint32_t binaryFormat, void* binary, GLsizei length);
void glProgramParameteri(ProgramId program, uint32_t pname, GLint value);
void glProgramUniform1f(ProgramId program, UniformLocation location, GLfloat value0);
void glProgramUniform1fv(ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void glProgramUniform1i(ProgramId program, UniformLocation location, GLint value0);
void glProgramUniform1iv(ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void glProgramUniform1ui(ProgramId program, UniformLocation location, GLuint value0);
void glProgramUniform1uiv(ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void glProgramUniform2f(ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1);
void glProgramUniform2fv(ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void glProgramUniform2i(ProgramId program, UniformLocation location, GLint value0, GLint value1);
void glProgramUniform2iv(ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void glProgramUniform2ui(ProgramId program, UniformLocation location, GLuint value0, GLuint value1);
void glProgramUniform2uiv(ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void glProgramUniform3f(ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2);
void glProgramUniform3fv(ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void glProgramUniform3i(ProgramId program, UniformLocation location, GLint value0, GLint value1, GLint value2);
void glProgramUniform3iv(ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void glProgramUniform3ui(ProgramId program, UniformLocation location, GLuint value0, GLuint value1, GLuint value2);
void glProgramUniform3uiv(ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void glProgramUniform4f(ProgramId program, UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3);
void glProgramUniform4fv(ProgramId program, UniformLocation location, GLsizei count, GLfloat* values);
void glProgramUniform4i(ProgramId program, UniformLocation location, GLint value0, GLint value1, GLint value2, GLint value3);
void glProgramUniform4iv(ProgramId program, UniformLocation location, GLsizei count, GLint* values);
void glProgramUniform4ui(ProgramId program, UniformLocation location, GLuint value0, GLuint value1, GLuint value2, GLuint value3);
void glProgramUniform4uiv(ProgramId program, UniformLocation location, GLsizei count, GLuint* values);
void glProgramUniformMatrix2fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix2x3fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix2x4fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix3fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix3x2fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix3x4fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix4fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix4x2fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glProgramUniformMatrix4x3fv(ProgramId program, UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glReleaseShaderCompiler();
void glShaderBinary(GLsizei count, ShaderId* shaders, uint32_t binary_format, void* binary, GLsizei binary_size);
void glShaderSource(ShaderId shader, GLsizei count, GLchar** source, GLint* length);
void glUniform1f(UniformLocation location, GLfloat value);
void glUniform1fv(UniformLocation location, GLsizei count, GLfloat* values);
void glUniform1i(UniformLocation location, GLint value);
void glUniform1iv(UniformLocation location, GLsizei count, GLint* values);
void glUniform1ui(UniformLocation location, GLuint value0);
void glUniform1uiv(UniformLocation location, GLsizei count, GLuint* values);
void glUniform2f(UniformLocation location, GLfloat value0, GLfloat value1);
void glUniform2fv(UniformLocation location, GLsizei count, GLfloat* values);
void glUniform2i(UniformLocation location, GLint value0, GLint value1);
void glUniform2iv(UniformLocation location, GLsizei count, GLint* values);
void glUniform2ui(UniformLocation location, GLuint value0, GLuint value1);
void glUniform2uiv(UniformLocation location, GLsizei count, GLuint* values);
void glUniform3f(UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2);
void glUniform3fv(UniformLocation location, GLsizei count, GLfloat* values);
void glUniform3i(UniformLocation location, GLint value0, GLint value1, GLint value2);
void glUniform3iv(UniformLocation location, GLsizei count, GLint* values);
void glUniform3ui(UniformLocation location, GLuint value0, GLuint value1, GLuint value2);
void glUniform3uiv(UniformLocation location, GLsizei count, GLuint* values);
void glUniform4f(UniformLocation location, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3);
void glUniform4fv(UniformLocation location, GLsizei count, GLfloat* values);
void glUniform4i(UniformLocation location, GLint value0, GLint value1, GLint value2, GLint value3);
void glUniform4iv(UniformLocation location, GLsizei count, GLint* values);
void glUniform4ui(UniformLocation location, GLuint value0, GLuint value1, GLuint value2, GLuint value3);
void glUniform4uiv(UniformLocation location, GLsizei count, GLuint* values);
void glUniformBlockBinding(ProgramId program, UniformBlockId uniform_block_index, GLuint uniform_block_binding);
void glUniformMatrix2fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix2x3fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix2x4fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix3fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix3x2fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix3x4fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix4fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix4x2fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUniformMatrix4x3fv(UniformLocation location, GLsizei count, GLboolean transpose, GLfloat* values);
void glUseProgram(ProgramId program);
void glUseProgramStages(PipelineId pipeline, uint32_t stages, ProgramId program);
void glValidateProgram(ProgramId program);
void glValidateProgramPipeline(PipelineId pipeline);
void glCullFace(uint32_t mode);
void glDepthRangef(GLfloat near, GLfloat far);
void glFrontFace(uint32_t orientation);
void glGetMultisamplefv(uint32_t pname, GLuint index, GLfloat* val);
void glLineWidth(GLfloat width);
void glMinSampleShading(GLfloat value);
void glPolygonOffset(GLfloat scale_factor, GLfloat units);
void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
void glGetBooleani_v(uint32_t param, GLuint index, GLboolean* values);
void glGetBooleanv(uint32_t param, GLboolean* values);
void glGetFloatv(uint32_t param, GLfloat* values);
void glGetInteger64i_v(uint32_t param, GLuint index, GLint64* values);
void glGetInteger64v(uint32_t param, GLint64* values);
void glGetIntegeri_v(uint32_t param, GLuint index, GLint* values);
void glGetIntegerv(uint32_t param, GLint* values);
void glGetInternalformativ(uint32_t target, uint32_t internalformat, uint32_t pname, GLsizei bufSize, GLint* params);
GLubyte* glGetString(uint32_t param);
GLubyte* glGetStringi(uint32_t name, GLuint index);
GLboolean glIsEnabled(uint32_t capability);
GLboolean glIsEnabledi(uint32_t capability, GLuint index);
uint32_t glClientWaitSync(GLsync sync, uint32_t syncFlags, GLuint64 timeout);
void glDeleteSync(GLsync sync);
GLsync glFenceSync(uint32_t condition, uint32_t syncFlags);
void glGetSynciv(GLsync sync, uint32_t pname, GLsizei bufSize, GLsizei* length, GLint* values);
GLboolean glIsSync(GLsync sync);
void glWaitSync(GLsync sync, uint32_t syncFlags, GLuint64 timeout);
void glActiveTexture(uint32_t unit);
void glBindImageTexture(GLuint unit, TextureId texture, GLint level, GLboolean layered, GLint layer, uint32_t access, uint32_t format);
void glBindSampler(GLuint index, SamplerId sampler);
void glBindTexture(uint32_t target, TextureId texture);
void glCompressedTexImage2D(uint32_t target, GLint level, uint32_t format, GLsizei width, GLsizei height, GLint border, GLsizei image_size, TexturePointer data);
void glCompressedTexImage3D(uint32_t target, GLint level, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei image_size, TexturePointer data);
void glCompressedTexSubImage2D(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, uint32_t format, GLsizei image_size, TexturePointer data);
void glCompressedTexSubImage3D(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, GLsizei image_size, TexturePointer data);
void glCopyImageSubData(GLuint srcName, uint32_t srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, uint32_t dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth);
void glCopyTexImage2D(uint32_t target, GLint level, uint32_t format, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
void glCopyTexSubImage2D(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void glCopyTexSubImage3D(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void glDeleteSamplers(GLsizei count, SamplerId* samplers);
void glDeleteTextures(GLsizei count, TextureId* textures);
void glGenSamplers(GLsizei count, SamplerId* samplers);
void glGenTextures(GLsizei count, TextureId* textures);
void glGenerateMipmap(uint32_t target);
void glGetSamplerParameterIiv(SamplerId sampler, uint32_t pname, GLint* params);
void glGetSamplerParameterIuiv(SamplerId sampler, uint32_t pname, GLuint* params);
void glGetSamplerParameterfv(SamplerId sampler, uint32_t pname, GLfloat* params);
void glGetSamplerParameteriv(SamplerId sampler, uint32_t pname, GLint* params);
void glGetTexLevelParameterfv(uint32_t target, GLint level, uint32_t pname, GLfloat* params);
void glGetTexLevelParameteriv(uint32_t target, GLint level, uint32_t pname, GLint* params);
void glGetTexParameterIiv(uint32_t target, uint32_t pname, GLint* params);
void glGetTexParameterIuiv(uint32_t target, uint32_t pname, GLuint* params);
void glGetTexParameterfv(uint32_t target, uint32_t parameter, GLfloat* values);
void glGetTexParameteriv(uint32_t target, uint32_t parameter, GLint* values);
GLboolean glIsSampler(SamplerId sampler);
GLboolean glIsTexture(TextureId texture);
void glPixelStorei(uint32_t parameter, GLint value);
void glSamplerParameterIiv(SamplerId sampler, uint32_t pname, GLint* param);
void glSamplerParameterIuiv(SamplerId sampler, uint32_t pname, GLuint* param);
void glSamplerParameterf(SamplerId sampler, uint32_t pname, GLfloat param);
void glSamplerParameterfv(SamplerId sampler, uint32_t pname, GLfloat* param);
void glSamplerParameteri(SamplerId sampler, uint32_t pname, GLint param);
void glSamplerParameteriv(SamplerId sampler, uint32_t pname, GLint* param);
void glTexBuffer(uint32_t target, uint32_t internalformat, BufferId buffer);
void glTexBufferRange(uint32_t target, uint32_t internalformat, BufferId buffer, GLintptr offset, GLsizeiptr size);
void glTexImage2D(uint32_t target, GLint level, GLint internal_format, GLsizei width, GLsizei height, GLint border, uint32_t format, uint32_t type, TexturePointer data);
void glTexImage3D(uint32_t target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, uint32_t format, uint32_t type, TexturePointer data);
void glTexParameterIiv(uint32_t target, uint32_t pname, GLint* params);
void glTexParameterIuiv(uint32_t target, uint32_t pname, GLuint* params);
void glTexParameterf(uint32_t target, uint32_t parameter, GLfloat value);
void glTexParameterfv(uint32_t target, uint32_t pname, GLfloat* params);
void glTexParameteri(uint32_t target, uint32_t parameter, GLint value);
void glTexParameteriv(uint32_t target, uint32_t pname, GLint* params);
void glTexStorage2D(uint32_t target, GLsizei levels, uint32_t internalformat, GLsizei width, GLsizei height);
void glTexStorage2DMultisample(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
void glTexStorage3D(uint32_t target, GLsizei levels, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth);
void glTexStorage3DMultisample(uint32_t target, GLsizei samples, uint32_t internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
void glTexSubImage2D(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, uint32_t format, uint32_t type, TexturePointer data);
void glTexSubImage3D(uint32_t target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, uint32_t format, uint32_t type, TexturePointer data);
void glBeginTransformFeedback(uint32_t primitiveMode);
void glBindTransformFeedback(uint32_t target, TransformFeedbackId id);
void glDeleteTransformFeedbacks(GLsizei n, TransformFeedbackId* ids);
void glEndTransformFeedback();
void glGenTransformFeedbacks(GLsizei n, TransformFeedbackId* ids);
void glGetTransformFeedbackVarying(ProgramId program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, uint32_t* type, GLchar* name);
GLboolean glIsTransformFeedback(TransformFeedbackId id);
void glPauseTransformFeedback();
void glResumeTransformFeedback();
void glTransformFeedbackVaryings(ProgramId program, GLsizei count, GLchar** varyings, uint32_t bufferMode);
void glBindVertexArray(VertexArrayId array);
void glBindVertexBuffer(VertexBufferBindingIndex binding_index, BufferId buffer, GLintptr offset, GLsizei stride);
void glDeleteVertexArrays(GLsizei count, VertexArrayId* arrays);
void glDisableVertexAttribArray(AttributeLocation location);
void glEnableVertexAttribArray(AttributeLocation location);
void glGenVertexArrays(GLsizei count, VertexArrayId* arrays);
void glGetVertexAttribIiv(AttributeLocation index, uint32_t pname, GLint* params);
void glGetVertexAttribIuiv(AttributeLocation index, uint32_t pname, GLuint* params);
void glGetVertexAttribPointerv(AttributeLocation index, uint32_t pname, void** pointer);
void glGetVertexAttribfv(AttributeLocation index, uint32_t pname, GLfloat* params);
void glGetVertexAttribiv(AttributeLocation index, uint32_t pname, GLint* params);
GLboolean glIsVertexArray(VertexArrayId array);
void glVertexAttrib1f(AttributeLocation location, GLfloat value0);
void glVertexAttrib1fv(AttributeLocation location, GLfloat* value);
void glVertexAttrib2f(AttributeLocation location, GLfloat value0, GLfloat value1);
void glVertexAttrib2fv(AttributeLocation location, GLfloat* value);
void glVertexAttrib3f(AttributeLocation location, GLfloat value0, GLfloat value1, GLfloat value2);
void glVertexAttrib3fv(AttributeLocation location, GLfloat* value);
void glVertexAttrib4f(AttributeLocation location, GLfloat value0, GLfloat value1, GLfloat value2, GLfloat value3);
void glVertexAttrib4fv(AttributeLocation location, GLfloat* value);
void glVertexAttribBinding(AttributeLocation index, VertexBufferBindingIndex binding_index);
void glVertexAttribDivisor(AttributeLocation index, GLuint divisor);
void glVertexAttribFormat(AttributeLocation index, GLint size, uint32_t type, GLboolean normalized, GLuint relativeoffset);
void glVertexAttribI4i(AttributeLocation index, GLint x, GLint y, GLint z, GLint w);
void glVertexAttribI4iv(AttributeLocation index, GLint* values);
void glVertexAttribI4ui(AttributeLocation index, GLuint x, GLuint y, GLuint z, GLuint w);
void glVertexAttribI4uiv(AttributeLocation index, GLuint* values);
void glVertexAttribIFormat(AttributeLocation index, GLint size, uint32_t type, GLuint relativeoffset);
void glVertexAttribIPointer(AttributeLocation location, GLint size, uint32_t type, GLsizei stride, VertexPointer data);
void glVertexAttribPointer(AttributeLocation location, GLint size, uint32_t type, GLboolean normalized, GLsizei stride, VertexPointer data);
void glVertexBindingDivisor(VertexBufferBindingIndex binding_index, GLuint divisor);
EGLBoolean eglInitialize(EGLDisplay dpy, EGLint* major, EGLint* minor);
EGLContext eglCreateContext(EGLDisplay display, EGLConfig config, EGLContext share_context, EGLint* attrib_list);
EGLBoolean eglMakeCurrent(EGLDisplay display, EGLSurface draw, EGLSurface read, EGLContext context);
EGLBoolean eglSwapBuffers(EGLDisplay display, void* surface);
EGLBoolean eglSwapBuffersWithDamageKHR(EGLDisplay dpy, EGLSurface surface, EGLint* rects, EGLint n_rects);
EGLBoolean eglQuerySurface(EGLDisplay display, EGLSurface surface, EGLint attribute, EGLint* value);
EGLBoolean eglQueryContext(EGLDisplay display, EGLContext context, EGLint attribute, EGLint* value);
EGLBoolean eglChooseConfig(EGLDisplay display, EGLint* attrib_list, EGLConfig* configs, EGLint config_size, EGLint* num_config);
EGLBoolean eglGetConfigAttrib(EGLDisplay display, EGLConfig config, EGLint attribute, EGLint* value);
GLXContext glXCreateContext(void* dpy, void* vis, GLXContext shareList, bool direct);
GLXContext glXCreateNewContext(void* display, void* fbconfig, uint32_t type, GLXContext shared, bool direct);
Bool glXMakeContextCurrent(void* display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
Bool glXMakeCurrent(void* display, GLXDrawable drawable, GLXContext ctx);
void glXSwapBuffers(void* display, GLXDrawable drawable);
int glXQueryDrawable(void* display, GLXDrawable draw, int attribute, int* value);
HGLRC wglCreateContext(HDC hdc);
HGLRC wglCreateContextAttribsARB(HDC hdc, HGLRC hShareContext, int* attribList);
BOOL wglMakeCurrent(HDC hdc, HGLRC hglrc);
void wglSwapBuffers(HDC hdc);
CGLError CGLCreateContext(CGLTexelFormatObj pix, CGLContextObj share, CGLContextObj* ctx);
CGLError CGLSetCurrentContext(CGLContextObj ctx);
int CGLGetSurface(CGLContextObj ctx, CGSConnectionID* cid, CGSWindowID* wid, CGSSurfaceID* sid);
int CGSGetSurfaceBounds(CGSConnectionID cid, CGSWindowID wid, CGSSurfaceID sid, double* bounds);
CGLError CGLFlushDrawable(CGLContextObj ctx);
void glGetQueryObjecti64v(QueryId query, uint32_t parameter, int64_t* value);
void glGetQueryObjectui64v(QueryId query, uint32_t parameter, uint64_t* value);
void glAlphaFunc(uint32_t func, GLfloat ref);
void glAlphaFuncx(uint32_t func, GLfixed ref);
void glAlphaFuncxOES(uint32_t func, GLfixed ref);
void glBindFramebufferOES(uint32_t target, GLuint framebuffer);
void glBindRenderbufferOES(uint32_t target, GLuint renderbuffer);
void glBlendEquationOES(uint32_t mode);
void glBlendEquationSeparateOES(uint32_t modeRGB, uint32_t modeAlpha);
void glBlendFuncSeparateOES(uint32_t srcRGB, uint32_t dstRGB, uint32_t srcAlpha, uint32_t dstAlpha);
uint32_t glCheckFramebufferStatusOES(uint32_t target);
void glClearColorx(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
void glClearColorxOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
void glClearDepthfOES(GLclampf depth);
void glClearDepthx(GLfixed depth);
void glClearDepthxOES(GLfixed depth);
void glClientActiveTexture(uint32_t texture);
void glClipPlanef(uint32_t p, GLfloat* eqn);
void glClipPlanefIMG(uint32_t p, GLfloat* eqn);
void glClipPlanefOES(uint32_t plane, GLfloat* equation);
void glClipPlanex(uint32_t plane, GLfixed* equation);
void glClipPlanexIMG(uint32_t p, GLfixed* eqn);
void glClipPlanexOES(uint32_t plane, GLfixed* equation);
void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
void glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
void glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
void glColorPointer(GLint size, uint32_t type, GLsizei stride, void* pointer);
void glCurrentPaletteMatrixOES(GLuint matrixpaletteindex);
void glDeleteFramebuffersOES(GLsizei n, GLuint* framebuffers);
void glDeleteRenderbuffersOES(GLsizei n, GLuint* renderbuffers);
void glDepthRangefOES(GLclampf n, GLclampf f);
void glDepthRangex(GLfixed n, GLfixed f);
void glDepthRangexOES(GLfixed n, GLfixed f);
void glDisableClientState(uint32_t array);
void glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
void glDrawTexfvOES(GLfloat* coords);
void glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height);
void glDrawTexivOES(GLint* coords);
void glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
void glDrawTexsvOES(GLshort* coords);
void glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
void glDrawTexxvOES(GLfixed* coords);
void glEnableClientState(uint32_t array);
void glFogf(uint32_t pname, GLfloat param);
void glFogfv(uint32_t pname, GLfloat* params);
void glFogx(uint32_t pname, GLfixed param);
void glFogxOES(uint32_t pname, GLfixed param);
void glFogxv(uint32_t pname, GLfixed* param);
void glFogxvOES(uint32_t pname, GLfixed* param);
void glFramebufferRenderbufferOES(uint32_t target, uint32_t attachment, uint32_t renderbuffertarget, GLuint renderbuffer);
void glFramebufferTexture2DOES(uint32_t target, uint32_t attachment, uint32_t textarget, TextureId texture, GLint level);
void glFrustumf(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
void glFrustumfOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
void glFrustumx(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
void glFrustumxOES(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
void glGenFramebuffersOES(GLsizei n, GLuint* framebuffers);
void glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers);
void glGenerateMipmapOES(uint32_t target);
void glGetClipPlanef(uint32_t plane, GLfloat* equation);
void glGetClipPlanefOES(uint32_t plane, GLfloat* equation);
void glGetClipPlanex(uint32_t plane, GLfixed* equation);
void glGetClipPlanexOES(uint32_t plane, GLfixed* equation);
void glGetFixedv(uint32_t pname, GLfixed* params);
void glGetFixedvOES(uint32_t pname, GLfixed* params);
void glGetFramebufferAttachmentParameterivOES(uint32_t target, uint32_t attachment, uint32_t pname, GLint* params);
void glGetLightfv(uint32_t light, uint32_t pname, GLfloat* params);
void glGetLightxv(uint32_t light, uint32_t pname, GLfixed* params);
void glGetLightxvOES(uint32_t light, uint32_t pname, GLfixed* params);
void glGetMaterialfv(uint32_t face, uint32_t pname, GLfloat* params);
void glGetMaterialxv(uint32_t face, uint32_t pname, GLfixed* params);
void glGetMaterialxvOES(uint32_t face, uint32_t pname, GLfixed* params);
void glGetRenderbufferParameterivOES(uint32_t target, uint32_t pname, GLint* params);
void glGetTexEnvfv(uint32_t target, uint32_t pname, GLfloat* params);
void glGetTexEnviv(uint32_t target, uint32_t pname, GLint* params);
void glGetTexEnvxv(uint32_t target, uint32_t pname, GLfixed* params);
void glGetTexEnvxvOES(uint32_t target, uint32_t pname, GLfixed* params);
void glGetTexGenfvOES(uint32_t coord, uint32_t pname, GLfloat* params);
void glGetTexGenivOES(uint32_t coord, uint32_t pname, GLint* params);
void glGetTexGenxvOES(uint32_t coord, uint32_t pname, GLfixed* params);
void glGetTexParameterxv(uint32_t target, uint32_t pname, GLfixed* params);
void glGetTexParameterxvOES(uint32_t target, uint32_t pname, GLfixed* params);
GLboolean glIsFramebufferOES(GLuint framebuffer);
GLboolean glIsRenderbufferOES(GLuint renderbuffer);
void glLightModelf(uint32_t pname, GLfloat param);
void glLightModelfv(uint32_t pname, GLfloat* params);
void glLightModelx(uint32_t pname, GLfixed param);
void glLightModelxOES(uint32_t pname, GLfixed param);
void glLightModelxv(uint32_t pname, GLfixed* param);
void glLightModelxvOES(uint32_t pname, GLfixed* param);
void glLightf(uint32_t light, uint32_t pname, GLfloat param);
void glLightfv(uint32_t light, uint32_t pname, GLfloat* params);
void glLightx(uint32_t light, uint32_t pname, GLfixed param);
void glLightxOES(uint32_t light, uint32_t pname, GLfixed param);
void glLightxv(uint32_t light, uint32_t pname, GLfixed* params);
void glLightxvOES(uint32_t light, uint32_t pname, GLfixed* params);
void glLineWidthx(GLfixed width);
void glLineWidthxOES(GLfixed width);
void glLoadIdentity();
void glLoadMatrixf(GLfloat* m);
void glLoadMatrixx(GLfixed* m);
void glLoadMatrixxOES(GLfixed* m);
void glLoadPaletteFromModelViewMatrixOES();
void glLogicOp(uint32_t opcode);
void glMaterialf(uint32_t face, uint32_t pname, GLfloat param);
void glMaterialfv(uint32_t face, uint32_t pname, GLfloat* params);
void glMaterialx(uint32_t face, uint32_t pname, GLfixed param);
void glMaterialxOES(uint32_t face, uint32_t pname, GLfixed param);
void glMaterialxv(uint32_t face, uint32_t pname, GLfixed* param);
void glMaterialxvOES(uint32_t face, uint32_t pname, GLfixed* param);
void glMatrixIndexPointerOES(GLint size, uint32_t type, GLsizei stride, void* pointer);
void glMatrixMode(uint32_t mode);
void glMultMatrixf(GLfloat* m);
void glMultMatrixx(GLfixed* m);
void glMultMatrixxOES(GLfixed* m);
void glMultiTexCoord4f(uint32_t target, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
void glMultiTexCoord4x(uint32_t texture, GLfixed v0, GLfixed v1, GLfixed v2, GLfixed v3);
void glMultiTexCoord4xOES(uint32_t texture, GLfixed v0, GLfixed v1, GLfixed v2, GLfixed v3);
void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
void glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz);
void glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz);
void glNormalPointer(uint32_t type, GLsizei stride, void* pointer);
void glOrthof(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
void glOrthofOES(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
void glOrthox(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
void glOrthoxOES(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
void glPointParameterf(uint32_t pname, GLfloat param);
void glPointParameterfv(uint32_t pname, GLfloat* params);
void glPointParameterx(uint32_t pname, GLfixed param);
void glPointParameterxOES(uint32_t pname, GLfixed param);
void glPointParameterxv(uint32_t pname, GLfixed* params);
void glPointParameterxvOES(uint32_t pname, GLfixed* params);
void glPointSize(GLfloat size);
void glPointSizePointerOES(uint32_t type, GLsizei stride, void* pointer);
void glPointSizex(GLfixed size);
void glPointSizexOES(GLfixed size);
void glPolygonOffsetx(GLfixed factor, GLfixed units);
void glPolygonOffsetxOES(GLfixed factor, GLfixed units);
void glPopMatrix();
void glPushMatrix();
uint32_t glQueryMatrixxOES(GLfixed* mantissa, GLint* exponent);
void glRenderbufferStorageOES(uint32_t target, uint32_t internalformat, GLsizei width, GLsizei height);
void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
void glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
void glSampleCoveragex(GLclampx value, GLboolean invert);
void glSampleCoveragexOES(GLclampx value, GLboolean invert);
void glScalef(GLfloat x, GLfloat y, GLfloat z);
void glScalex(GLfixed x, GLfixed y, GLfixed z);
void glScalexOES(GLfixed x, GLfixed y, GLfixed z);
void glShadeModel(uint32_t mode);
void glTexCoordPointer(GLint size, uint32_t type, GLsizei stride, void* pointer);
void glTexEnvf(uint32_t target, uint32_t pname, GLfloat param);
void glTexEnvfv(uint32_t target, uint32_t pname, GLfloat* params);
void glTexEnvi(uint32_t target, uint32_t pname, GLint param);
void glTexEnviv(uint32_t target, uint32_t pname, GLint* params);
void glTexEnvx(uint32_t target, uint32_t pname, GLfixed param);
void glTexEnvxOES(uint32_t target, uint32_t pname, GLfixed param);
void glTexEnvxv(uint32_t target, uint32_t pname, GLfixed* params);
void glTexEnvxvOES(uint32_t target, uint32_t pname, GLfixed* params);
void glTexGenfOES(uint32_t coord, uint32_t pname, GLfloat param);
void glTexGenfvOES(uint32_t coord, uint32_t pname, GLfloat* params);
void glTexGeniOES(uint32_t coord, uint32_t pname, GLint param);
void glTexGenivOES(uint32_t coord, uint32_t pname, GLint* params);
void glTexGenxOES(uint32_t coord, uint32_t pname, GLfixed param);
void glTexGenxvOES(uint32_t coord, uint32_t pname, GLfixed* params);
void glTexParameterx(uint32_t target, uint32_t pname, GLfixed param);
void glTexParameterxOES(uint32_t target, uint32_t pname, GLfixed param);
void glTexParameterxv(uint32_t target, uint32_t pname, GLfixed* params);
void glTexParameterxvOES(uint32_t target, uint32_t pname, GLfixed* params);
void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
void glTranslatex(GLfixed x, GLfixed y, GLfixed z);
void glTranslatexOES(GLfixed x, GLfixed y, GLfixed z);
void glVertexPointer(GLint size, uint32_t type, GLsizei stride, void* pointer);
void glWeightPointerOES(GLint size, uint32_t type, GLsizei stride, void* pointer);
void glColorPointerBounds(GLint size, uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void glNormalPointerBounds(uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void glTexCoordPointerBounds(GLint size, uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void glVertexPointerBounds(GLint size, uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void glPointSizePointerOESBounds(uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void glMatrixIndexPointerOESBounds(GLint size, uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void glWeightPointerOESBounds(GLint size, uint32_t type, GLsizei stride, void* pointer, GLsizei count);
void architecture(uint32_t pointer_alignment, uint32_t pointer_size, uint32_t integer_size, bool little_endian);
void replayCreateRenderer(uint32_t id);
void replayBindRenderer(uint32_t id);
void switchThread(ThreadID threadID);
void contextInfo(uint32_t constant_count, uint32_t* constant_names, uint32_t* constant_offsets, uint32_t* constant_sizes, uint8_t* constant_data, GLsizei backbuffer_width, GLsizei backbuffer_height, uint32_t backbuffer_color_fmt, uint32_t backbuffer_depth_fmt, uint32_t backbuffer_stencil_fmt, bool reset_viewport_scissor, bool preserve_buffers_on_swap);
void startTimer(uint8_t index);
uint64_t stopTimer(uint8_t index);
void flushPostBuffer();
protected:
static const size_t kMaxExtras = 16; // Per atom
GlesImports mImports;
// Globals
ContextID NextContextID;
ThreadID CurrentThread;
ThreadIDToContext__R Contexts;
EGLContextToContext__R EGLContexts;
GLXContextToContext__R GLXContexts;
HGLRCToContext__R WGLContexts;
CGLContextObjToContext__R CGLContexts;
#include "gles_state_externs.inl"
#include "gles_extras.inl"
};
// Inline methods
inline void GlesSpy::init(std::shared_ptr<gapic::Encoder> encoder) {
mImports.resolve();
NextContextID = 0;
CurrentThread = 0;
Contexts = ThreadIDToContext__R();
EGLContexts = EGLContextToContext__R();
GLXContexts = GLXContextToContext__R();
WGLContexts = HGLRCToContext__R();
CGLContexts = CGLContextObjToContext__R();
SpyBase::init(encoder);
}
inline const GlesImports& GlesSpy::imports() const {
return mImports;
}
} // namespace gapii
#endif // GAPII_GLES_SPY_H