mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-07 06:35:40 +12:00
1496 lines
39 KiB
C++
1496 lines
39 KiB
C++
/*
|
|
* This file was generated with gl3w_gen.py, part of gl3w
|
|
* (hosted at https://github.com/skaslev/gl3w)
|
|
*
|
|
* This is free and unencumbered software released into the public domain.
|
|
*
|
|
* Anyone is free to copy, modify, publish, use, compile, sell, or
|
|
* distribute this software, either in source code form or as a compiled
|
|
* binary, for any purpose, commercial or non-commercial, and by any
|
|
* means.
|
|
*
|
|
* In jurisdictions that recognize copyright laws, the author or authors
|
|
* of this software dedicate any and all copyright interest in the
|
|
* software to the public domain. We make this dedication for the benefit
|
|
* of the public at large and to the detriment of our heirs and
|
|
* successors. We intend this dedication to be an overt act of
|
|
* relinquishment in perpetuity of all present and future rights to this
|
|
* software under copyright law.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
#include "gl3w.h"
|
|
#include <stdlib.h>
|
|
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
|
#if defined(_WIN32)
|
|
#ifndef WIN32_LEAN_AND_MEAN
|
|
#define WIN32_LEAN_AND_MEAN 1
|
|
#endif
|
|
#include <windows.h>
|
|
static HMODULE libgl;
|
|
typedef PROC(__stdcall* GL3WglGetProcAddr)(LPCSTR);
|
|
static GL3WglGetProcAddr wgl_get_proc_address;
|
|
static int open_libgl(void)
|
|
{
|
|
libgl = LoadLibraryA("opengl32.dll");
|
|
if (!libgl)
|
|
return GL3W_ERROR_LIBRARY_OPEN;
|
|
wgl_get_proc_address = (GL3WglGetProcAddr)GetProcAddress(libgl, "wglGetProcAddress");
|
|
return GL3W_OK;
|
|
}
|
|
static void close_libgl(void)
|
|
{
|
|
FreeLibrary(libgl);
|
|
}
|
|
static GL3WglProc get_proc(const char* proc)
|
|
{
|
|
GL3WglProc res;
|
|
res = (GL3WglProc)wgl_get_proc_address(proc);
|
|
if (!res)
|
|
res = (GL3WglProc)GetProcAddress(libgl, proc);
|
|
return res;
|
|
}
|
|
#elif defined(__APPLE__)
|
|
#include <dlfcn.h>
|
|
static void* libgl;
|
|
static int open_libgl(void)
|
|
{
|
|
libgl = dlopen("/System/Library/Frameworks/OpenGL.framework/OpenGL", RTLD_LAZY | RTLD_LOCAL);
|
|
if (!libgl)
|
|
return GL3W_ERROR_LIBRARY_OPEN;
|
|
return GL3W_OK;
|
|
}
|
|
static void close_libgl(void)
|
|
{
|
|
dlclose(libgl);
|
|
}
|
|
static GL3WglProc get_proc(const char* proc)
|
|
{
|
|
GL3WglProc res;
|
|
*(void**)(&res) = dlsym(libgl, proc);
|
|
return res;
|
|
}
|
|
#else
|
|
#include <dlfcn.h>
|
|
static void* libgl; /* OpenGL library */
|
|
static void* libglx; /* GLX library */
|
|
static void* libegl; /* EGL library */
|
|
static GL3WGetProcAddressProc gl_get_proc_address;
|
|
static void close_libgl(void)
|
|
{
|
|
if (libgl) {
|
|
dlclose(libgl);
|
|
libgl = NULL;
|
|
}
|
|
if (libegl) {
|
|
dlclose(libegl);
|
|
libegl = NULL;
|
|
}
|
|
if (libglx) {
|
|
dlclose(libglx);
|
|
libglx = NULL;
|
|
}
|
|
}
|
|
static int is_library_loaded(const char* name, void** lib)
|
|
{
|
|
*lib = dlopen(name, RTLD_LAZY | RTLD_LOCAL | RTLD_NOLOAD);
|
|
return *lib != NULL;
|
|
}
|
|
static int open_libs(void)
|
|
{
|
|
/* On Linux we have two APIs to get process addresses: EGL and GLX.
|
|
* EGL is supported under both X11 and Wayland, whereas GLX is X11-specific.
|
|
* First check what's already loaded, the windowing library might have
|
|
* already loaded either EGL or GLX and we want to use the same one.
|
|
*/
|
|
if (is_library_loaded("libEGL.so.1", &libegl) ||
|
|
is_library_loaded("libGLX.so.0", &libglx)) {
|
|
libgl = dlopen("libOpenGL.so.0", RTLD_LAZY | RTLD_LOCAL);
|
|
if (libgl)
|
|
return GL3W_OK;
|
|
else
|
|
close_libgl();
|
|
}
|
|
if (is_library_loaded("libGL.so.1", &libgl))
|
|
return GL3W_OK;
|
|
/* Neither is already loaded, so we have to load one. Try EGL first
|
|
* because it is supported under both X11 and Wayland.
|
|
*/
|
|
/* Load OpenGL + EGL */
|
|
libgl = dlopen("libOpenGL.so.0", RTLD_LAZY | RTLD_LOCAL);
|
|
libegl = dlopen("libEGL.so.1", RTLD_LAZY | RTLD_LOCAL);
|
|
if (libgl && libegl)
|
|
return GL3W_OK;
|
|
/* Fall back to legacy libGL, which includes GLX */
|
|
close_libgl();
|
|
libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_LOCAL);
|
|
if (libgl)
|
|
return GL3W_OK;
|
|
return GL3W_ERROR_LIBRARY_OPEN;
|
|
}
|
|
static int open_libgl(void)
|
|
{
|
|
int res = open_libs();
|
|
if (res)
|
|
return res;
|
|
if (libegl)
|
|
*(void**)(&gl_get_proc_address) = dlsym(libegl, "eglGetProcAddress");
|
|
else if (libglx)
|
|
*(void**)(&gl_get_proc_address) = dlsym(libglx, "glXGetProcAddressARB");
|
|
else
|
|
*(void**)(&gl_get_proc_address) = dlsym(libgl, "glXGetProcAddressARB");
|
|
if (!gl_get_proc_address) {
|
|
close_libgl();
|
|
return GL3W_ERROR_LIBRARY_OPEN;
|
|
}
|
|
return GL3W_OK;
|
|
}
|
|
static GL3WglProc get_proc(const char* proc)
|
|
{
|
|
GL3WglProc res = NULL;
|
|
/* Before EGL version 1.5, eglGetProcAddress doesn't support querying core
|
|
* functions and may return a dummy function if we try, so try to load the
|
|
* function from the GL library directly first.
|
|
*/
|
|
if (libegl)
|
|
*(void**)(&res) = dlsym(libgl, proc);
|
|
if (!res)
|
|
res = gl_get_proc_address(proc);
|
|
if (!libegl && !res)
|
|
*(void**)(&res) = dlsym(libgl, proc);
|
|
return res;
|
|
}
|
|
#endif
|
|
static struct {
|
|
int major, minor;
|
|
} version;
|
|
static int parse_version(void)
|
|
{
|
|
if (!glGetIntegerv)
|
|
return GL3W_ERROR_INIT;
|
|
glGetIntegerv(GL_MAJOR_VERSION, &version.major);
|
|
glGetIntegerv(GL_MINOR_VERSION, &version.minor);
|
|
if (version.major < 3)
|
|
return GL3W_ERROR_OPENGL_VERSION;
|
|
return GL3W_OK;
|
|
}
|
|
static void load_procs(GL3WGetProcAddressProc proc);
|
|
int gl3wInit(void)
|
|
{
|
|
int res;
|
|
res = open_libgl();
|
|
if (res)
|
|
return res;
|
|
atexit(close_libgl);
|
|
return gl3wInit2(get_proc);
|
|
}
|
|
int gl3wInit2(GL3WGetProcAddressProc proc)
|
|
{
|
|
load_procs(proc);
|
|
return parse_version();
|
|
}
|
|
int gl3wIsSupported(int major, int minor)
|
|
{
|
|
if (major < 3)
|
|
return 0;
|
|
if (version.major == major)
|
|
return version.minor >= minor;
|
|
return version.major >= major;
|
|
}
|
|
GL3WglProc gl3wGetProcAddress(const char* proc)
|
|
{
|
|
return get_proc(proc);
|
|
}
|
|
static const char* proc_names[] = {
|
|
"glActiveProgramEXT",
|
|
"glActiveShaderProgram",
|
|
"glActiveTexture",
|
|
"glApplyFramebufferAttachmentCMAAINTEL",
|
|
"glAttachShader",
|
|
"glBeginConditionalRender",
|
|
"glBeginConditionalRenderNV",
|
|
"glBeginPerfMonitorAMD",
|
|
"glBeginPerfQueryINTEL",
|
|
"glBeginQuery",
|
|
"glBeginQueryIndexed",
|
|
"glBeginTransformFeedback",
|
|
"glBindAttribLocation",
|
|
"glBindBuffer",
|
|
"glBindBufferBase",
|
|
"glBindBufferRange",
|
|
"glBindBuffersBase",
|
|
"glBindBuffersRange",
|
|
"glBindFragDataLocation",
|
|
"glBindFragDataLocationIndexed",
|
|
"glBindFramebuffer",
|
|
"glBindImageTexture",
|
|
"glBindImageTextures",
|
|
"glBindMultiTextureEXT",
|
|
"glBindProgramPipeline",
|
|
"glBindRenderbuffer",
|
|
"glBindSampler",
|
|
"glBindSamplers",
|
|
"glBindShadingRateImageNV",
|
|
"glBindTexture",
|
|
"glBindTextureUnit",
|
|
"glBindTextures",
|
|
"glBindTransformFeedback",
|
|
"glBindVertexArray",
|
|
"glBindVertexBuffer",
|
|
"glBindVertexBuffers",
|
|
"glBlendBarrierKHR",
|
|
"glBlendBarrierNV",
|
|
"glBlendColor",
|
|
"glBlendEquation",
|
|
"glBlendEquationSeparate",
|
|
"glBlendEquationSeparatei",
|
|
"glBlendEquationSeparateiARB",
|
|
"glBlendEquationi",
|
|
"glBlendEquationiARB",
|
|
"glBlendFunc",
|
|
"glBlendFuncSeparate",
|
|
"glBlendFuncSeparatei",
|
|
"glBlendFuncSeparateiARB",
|
|
"glBlendFunci",
|
|
"glBlendFunciARB",
|
|
"glBlendParameteriNV",
|
|
"glBlitFramebuffer",
|
|
"glBlitNamedFramebuffer",
|
|
"glBufferAddressRangeNV",
|
|
"glBufferAttachMemoryNV",
|
|
"glBufferData",
|
|
"glBufferPageCommitmentARB",
|
|
"glBufferPageCommitmentMemNV",
|
|
"glBufferStorage",
|
|
"glBufferSubData",
|
|
"glCallCommandListNV",
|
|
"glCheckFramebufferStatus",
|
|
"glCheckNamedFramebufferStatus",
|
|
"glCheckNamedFramebufferStatusEXT",
|
|
"glClampColor",
|
|
"glClear",
|
|
"glClearBufferData",
|
|
"glClearBufferSubData",
|
|
"glClearBufferfi",
|
|
"glClearBufferfv",
|
|
"glClearBufferiv",
|
|
"glClearBufferuiv",
|
|
"glClearColor",
|
|
"glClearDepth",
|
|
"glClearDepthdNV",
|
|
"glClearDepthf",
|
|
"glClearNamedBufferData",
|
|
"glClearNamedBufferDataEXT",
|
|
"glClearNamedBufferSubData",
|
|
"glClearNamedBufferSubDataEXT",
|
|
"glClearNamedFramebufferfi",
|
|
"glClearNamedFramebufferfv",
|
|
"glClearNamedFramebufferiv",
|
|
"glClearNamedFramebufferuiv",
|
|
"glClearStencil",
|
|
"glClearTexImage",
|
|
"glClearTexSubImage",
|
|
"glClientAttribDefaultEXT",
|
|
"glClientWaitSync",
|
|
"glClipControl",
|
|
"glColorFormatNV",
|
|
"glColorMask",
|
|
"glColorMaski",
|
|
"glCommandListSegmentsNV",
|
|
"glCompileCommandListNV",
|
|
"glCompileShader",
|
|
"glCompileShaderIncludeARB",
|
|
"glCompressedMultiTexImage1DEXT",
|
|
"glCompressedMultiTexImage2DEXT",
|
|
"glCompressedMultiTexImage3DEXT",
|
|
"glCompressedMultiTexSubImage1DEXT",
|
|
"glCompressedMultiTexSubImage2DEXT",
|
|
"glCompressedMultiTexSubImage3DEXT",
|
|
"glCompressedTexImage1D",
|
|
"glCompressedTexImage2D",
|
|
"glCompressedTexImage3D",
|
|
"glCompressedTexSubImage1D",
|
|
"glCompressedTexSubImage2D",
|
|
"glCompressedTexSubImage3D",
|
|
"glCompressedTextureImage1DEXT",
|
|
"glCompressedTextureImage2DEXT",
|
|
"glCompressedTextureImage3DEXT",
|
|
"glCompressedTextureSubImage1D",
|
|
"glCompressedTextureSubImage1DEXT",
|
|
"glCompressedTextureSubImage2D",
|
|
"glCompressedTextureSubImage2DEXT",
|
|
"glCompressedTextureSubImage3D",
|
|
"glCompressedTextureSubImage3DEXT",
|
|
"glConservativeRasterParameterfNV",
|
|
"glConservativeRasterParameteriNV",
|
|
"glCopyBufferSubData",
|
|
"glCopyImageSubData",
|
|
"glCopyMultiTexImage1DEXT",
|
|
"glCopyMultiTexImage2DEXT",
|
|
"glCopyMultiTexSubImage1DEXT",
|
|
"glCopyMultiTexSubImage2DEXT",
|
|
"glCopyMultiTexSubImage3DEXT",
|
|
"glCopyNamedBufferSubData",
|
|
"glCopyPathNV",
|
|
"glCopyTexImage1D",
|
|
"glCopyTexImage2D",
|
|
"glCopyTexSubImage1D",
|
|
"glCopyTexSubImage2D",
|
|
"glCopyTexSubImage3D",
|
|
"glCopyTextureImage1DEXT",
|
|
"glCopyTextureImage2DEXT",
|
|
"glCopyTextureSubImage1D",
|
|
"glCopyTextureSubImage1DEXT",
|
|
"glCopyTextureSubImage2D",
|
|
"glCopyTextureSubImage2DEXT",
|
|
"glCopyTextureSubImage3D",
|
|
"glCopyTextureSubImage3DEXT",
|
|
"glCoverFillPathInstancedNV",
|
|
"glCoverFillPathNV",
|
|
"glCoverStrokePathInstancedNV",
|
|
"glCoverStrokePathNV",
|
|
"glCoverageModulationNV",
|
|
"glCoverageModulationTableNV",
|
|
"glCreateBuffers",
|
|
"glCreateCommandListsNV",
|
|
"glCreateFramebuffers",
|
|
"glCreatePerfQueryINTEL",
|
|
"glCreateProgram",
|
|
"glCreateProgramPipelines",
|
|
"glCreateQueries",
|
|
"glCreateRenderbuffers",
|
|
"glCreateSamplers",
|
|
"glCreateShader",
|
|
"glCreateShaderProgramEXT",
|
|
"glCreateShaderProgramv",
|
|
"glCreateStatesNV",
|
|
"glCreateSyncFromCLeventARB",
|
|
"glCreateTextures",
|
|
"glCreateTransformFeedbacks",
|
|
"glCreateVertexArrays",
|
|
"glCullFace",
|
|
"glDebugMessageCallback",
|
|
"glDebugMessageCallbackARB",
|
|
"glDebugMessageControl",
|
|
"glDebugMessageControlARB",
|
|
"glDebugMessageInsert",
|
|
"glDebugMessageInsertARB",
|
|
"glDeleteBuffers",
|
|
"glDeleteCommandListsNV",
|
|
"glDeleteFramebuffers",
|
|
"glDeleteNamedStringARB",
|
|
"glDeletePathsNV",
|
|
"glDeletePerfMonitorsAMD",
|
|
"glDeletePerfQueryINTEL",
|
|
"glDeleteProgram",
|
|
"glDeleteProgramPipelines",
|
|
"glDeleteQueries",
|
|
"glDeleteRenderbuffers",
|
|
"glDeleteSamplers",
|
|
"glDeleteShader",
|
|
"glDeleteStatesNV",
|
|
"glDeleteSync",
|
|
"glDeleteTextures",
|
|
"glDeleteTransformFeedbacks",
|
|
"glDeleteVertexArrays",
|
|
"glDepthBoundsdNV",
|
|
"glDepthFunc",
|
|
"glDepthMask",
|
|
"glDepthRange",
|
|
"glDepthRangeArraydvNV",
|
|
"glDepthRangeArrayv",
|
|
"glDepthRangeIndexed",
|
|
"glDepthRangeIndexeddNV",
|
|
"glDepthRangedNV",
|
|
"glDepthRangef",
|
|
"glDetachShader",
|
|
"glDisable",
|
|
"glDisableClientStateIndexedEXT",
|
|
"glDisableClientStateiEXT",
|
|
"glDisableIndexedEXT",
|
|
"glDisableVertexArrayAttrib",
|
|
"glDisableVertexArrayAttribEXT",
|
|
"glDisableVertexArrayEXT",
|
|
"glDisableVertexAttribArray",
|
|
"glDisablei",
|
|
"glDispatchCompute",
|
|
"glDispatchComputeGroupSizeARB",
|
|
"glDispatchComputeIndirect",
|
|
"glDrawArrays",
|
|
"glDrawArraysIndirect",
|
|
"glDrawArraysInstanced",
|
|
"glDrawArraysInstancedARB",
|
|
"glDrawArraysInstancedBaseInstance",
|
|
"glDrawArraysInstancedEXT",
|
|
"glDrawBuffer",
|
|
"glDrawBuffers",
|
|
"glDrawCommandsAddressNV",
|
|
"glDrawCommandsNV",
|
|
"glDrawCommandsStatesAddressNV",
|
|
"glDrawCommandsStatesNV",
|
|
"glDrawElements",
|
|
"glDrawElementsBaseVertex",
|
|
"glDrawElementsIndirect",
|
|
"glDrawElementsInstanced",
|
|
"glDrawElementsInstancedARB",
|
|
"glDrawElementsInstancedBaseInstance",
|
|
"glDrawElementsInstancedBaseVertex",
|
|
"glDrawElementsInstancedBaseVertexBaseInstance",
|
|
"glDrawElementsInstancedEXT",
|
|
"glDrawMeshTasksIndirectNV",
|
|
"glDrawMeshTasksNV",
|
|
"glDrawRangeElements",
|
|
"glDrawRangeElementsBaseVertex",
|
|
"glDrawTransformFeedback",
|
|
"glDrawTransformFeedbackInstanced",
|
|
"glDrawTransformFeedbackStream",
|
|
"glDrawTransformFeedbackStreamInstanced",
|
|
"glDrawVkImageNV",
|
|
"glEGLImageTargetTexStorageEXT",
|
|
"glEGLImageTargetTextureStorageEXT",
|
|
"glEdgeFlagFormatNV",
|
|
"glEnable",
|
|
"glEnableClientStateIndexedEXT",
|
|
"glEnableClientStateiEXT",
|
|
"glEnableIndexedEXT",
|
|
"glEnableVertexArrayAttrib",
|
|
"glEnableVertexArrayAttribEXT",
|
|
"glEnableVertexArrayEXT",
|
|
"glEnableVertexAttribArray",
|
|
"glEnablei",
|
|
"glEndConditionalRender",
|
|
"glEndConditionalRenderNV",
|
|
"glEndPerfMonitorAMD",
|
|
"glEndPerfQueryINTEL",
|
|
"glEndQuery",
|
|
"glEndQueryIndexed",
|
|
"glEndTransformFeedback",
|
|
"glEvaluateDepthValuesARB",
|
|
"glFenceSync",
|
|
"glFinish",
|
|
"glFlush",
|
|
"glFlushMappedBufferRange",
|
|
"glFlushMappedNamedBufferRange",
|
|
"glFlushMappedNamedBufferRangeEXT",
|
|
"glFogCoordFormatNV",
|
|
"glFragmentCoverageColorNV",
|
|
"glFramebufferDrawBufferEXT",
|
|
"glFramebufferDrawBuffersEXT",
|
|
"glFramebufferFetchBarrierEXT",
|
|
"glFramebufferParameteri",
|
|
"glFramebufferParameteriMESA",
|
|
"glFramebufferReadBufferEXT",
|
|
"glFramebufferRenderbuffer",
|
|
"glFramebufferSampleLocationsfvARB",
|
|
"glFramebufferSampleLocationsfvNV",
|
|
"glFramebufferTexture",
|
|
"glFramebufferTexture1D",
|
|
"glFramebufferTexture2D",
|
|
"glFramebufferTexture3D",
|
|
"glFramebufferTextureARB",
|
|
"glFramebufferTextureFaceARB",
|
|
"glFramebufferTextureLayer",
|
|
"glFramebufferTextureLayerARB",
|
|
"glFramebufferTextureMultiviewOVR",
|
|
"glFrontFace",
|
|
"glGenBuffers",
|
|
"glGenFramebuffers",
|
|
"glGenPathsNV",
|
|
"glGenPerfMonitorsAMD",
|
|
"glGenProgramPipelines",
|
|
"glGenQueries",
|
|
"glGenRenderbuffers",
|
|
"glGenSamplers",
|
|
"glGenTextures",
|
|
"glGenTransformFeedbacks",
|
|
"glGenVertexArrays",
|
|
"glGenerateMipmap",
|
|
"glGenerateMultiTexMipmapEXT",
|
|
"glGenerateTextureMipmap",
|
|
"glGenerateTextureMipmapEXT",
|
|
"glGetActiveAtomicCounterBufferiv",
|
|
"glGetActiveAttrib",
|
|
"glGetActiveSubroutineName",
|
|
"glGetActiveSubroutineUniformName",
|
|
"glGetActiveSubroutineUniformiv",
|
|
"glGetActiveUniform",
|
|
"glGetActiveUniformBlockName",
|
|
"glGetActiveUniformBlockiv",
|
|
"glGetActiveUniformName",
|
|
"glGetActiveUniformsiv",
|
|
"glGetAttachedShaders",
|
|
"glGetAttribLocation",
|
|
"glGetBooleanIndexedvEXT",
|
|
"glGetBooleani_v",
|
|
"glGetBooleanv",
|
|
"glGetBufferParameteri64v",
|
|
"glGetBufferParameteriv",
|
|
"glGetBufferParameterui64vNV",
|
|
"glGetBufferPointerv",
|
|
"glGetBufferSubData",
|
|
"glGetCommandHeaderNV",
|
|
"glGetCompressedMultiTexImageEXT",
|
|
"glGetCompressedTexImage",
|
|
"glGetCompressedTextureImage",
|
|
"glGetCompressedTextureImageEXT",
|
|
"glGetCompressedTextureSubImage",
|
|
"glGetCoverageModulationTableNV",
|
|
"glGetDebugMessageLog",
|
|
"glGetDebugMessageLogARB",
|
|
"glGetDoubleIndexedvEXT",
|
|
"glGetDoublei_v",
|
|
"glGetDoublei_vEXT",
|
|
"glGetDoublev",
|
|
"glGetError",
|
|
"glGetFirstPerfQueryIdINTEL",
|
|
"glGetFloatIndexedvEXT",
|
|
"glGetFloati_v",
|
|
"glGetFloati_vEXT",
|
|
"glGetFloatv",
|
|
"glGetFragDataIndex",
|
|
"glGetFragDataLocation",
|
|
"glGetFramebufferAttachmentParameteriv",
|
|
"glGetFramebufferParameteriv",
|
|
"glGetFramebufferParameterivEXT",
|
|
"glGetFramebufferParameterivMESA",
|
|
"glGetGraphicsResetStatus",
|
|
"glGetGraphicsResetStatusARB",
|
|
"glGetImageHandleARB",
|
|
"glGetImageHandleNV",
|
|
"glGetInteger64i_v",
|
|
"glGetInteger64v",
|
|
"glGetIntegerIndexedvEXT",
|
|
"glGetIntegeri_v",
|
|
"glGetIntegerui64i_vNV",
|
|
"glGetIntegerui64vNV",
|
|
"glGetIntegerv",
|
|
"glGetInternalformatSampleivNV",
|
|
"glGetInternalformati64v",
|
|
"glGetInternalformativ",
|
|
"glGetMemoryObjectDetachedResourcesuivNV",
|
|
"glGetMultiTexEnvfvEXT",
|
|
"glGetMultiTexEnvivEXT",
|
|
"glGetMultiTexGendvEXT",
|
|
"glGetMultiTexGenfvEXT",
|
|
"glGetMultiTexGenivEXT",
|
|
"glGetMultiTexImageEXT",
|
|
"glGetMultiTexLevelParameterfvEXT",
|
|
"glGetMultiTexLevelParameterivEXT",
|
|
"glGetMultiTexParameterIivEXT",
|
|
"glGetMultiTexParameterIuivEXT",
|
|
"glGetMultiTexParameterfvEXT",
|
|
"glGetMultiTexParameterivEXT",
|
|
"glGetMultisamplefv",
|
|
"glGetNamedBufferParameteri64v",
|
|
"glGetNamedBufferParameteriv",
|
|
"glGetNamedBufferParameterivEXT",
|
|
"glGetNamedBufferParameterui64vNV",
|
|
"glGetNamedBufferPointerv",
|
|
"glGetNamedBufferPointervEXT",
|
|
"glGetNamedBufferSubData",
|
|
"glGetNamedBufferSubDataEXT",
|
|
"glGetNamedFramebufferAttachmentParameteriv",
|
|
"glGetNamedFramebufferAttachmentParameterivEXT",
|
|
"glGetNamedFramebufferParameteriv",
|
|
"glGetNamedFramebufferParameterivEXT",
|
|
"glGetNamedProgramLocalParameterIivEXT",
|
|
"glGetNamedProgramLocalParameterIuivEXT",
|
|
"glGetNamedProgramLocalParameterdvEXT",
|
|
"glGetNamedProgramLocalParameterfvEXT",
|
|
"glGetNamedProgramStringEXT",
|
|
"glGetNamedProgramivEXT",
|
|
"glGetNamedRenderbufferParameteriv",
|
|
"glGetNamedRenderbufferParameterivEXT",
|
|
"glGetNamedStringARB",
|
|
"glGetNamedStringivARB",
|
|
"glGetNextPerfQueryIdINTEL",
|
|
"glGetObjectLabel",
|
|
"glGetObjectLabelEXT",
|
|
"glGetObjectPtrLabel",
|
|
"glGetPathCommandsNV",
|
|
"glGetPathCoordsNV",
|
|
"glGetPathDashArrayNV",
|
|
"glGetPathLengthNV",
|
|
"glGetPathMetricRangeNV",
|
|
"glGetPathMetricsNV",
|
|
"glGetPathParameterfvNV",
|
|
"glGetPathParameterivNV",
|
|
"glGetPathSpacingNV",
|
|
"glGetPerfCounterInfoINTEL",
|
|
"glGetPerfMonitorCounterDataAMD",
|
|
"glGetPerfMonitorCounterInfoAMD",
|
|
"glGetPerfMonitorCounterStringAMD",
|
|
"glGetPerfMonitorCountersAMD",
|
|
"glGetPerfMonitorGroupStringAMD",
|
|
"glGetPerfMonitorGroupsAMD",
|
|
"glGetPerfQueryDataINTEL",
|
|
"glGetPerfQueryIdByNameINTEL",
|
|
"glGetPerfQueryInfoINTEL",
|
|
"glGetPointerIndexedvEXT",
|
|
"glGetPointeri_vEXT",
|
|
"glGetPointerv",
|
|
"glGetProgramBinary",
|
|
"glGetProgramInfoLog",
|
|
"glGetProgramInterfaceiv",
|
|
"glGetProgramPipelineInfoLog",
|
|
"glGetProgramPipelineiv",
|
|
"glGetProgramResourceIndex",
|
|
"glGetProgramResourceLocation",
|
|
"glGetProgramResourceLocationIndex",
|
|
"glGetProgramResourceName",
|
|
"glGetProgramResourcefvNV",
|
|
"glGetProgramResourceiv",
|
|
"glGetProgramStageiv",
|
|
"glGetProgramiv",
|
|
"glGetQueryBufferObjecti64v",
|
|
"glGetQueryBufferObjectiv",
|
|
"glGetQueryBufferObjectui64v",
|
|
"glGetQueryBufferObjectuiv",
|
|
"glGetQueryIndexediv",
|
|
"glGetQueryObjecti64v",
|
|
"glGetQueryObjectiv",
|
|
"glGetQueryObjectui64v",
|
|
"glGetQueryObjectuiv",
|
|
"glGetQueryiv",
|
|
"glGetRenderbufferParameteriv",
|
|
"glGetSamplerParameterIiv",
|
|
"glGetSamplerParameterIuiv",
|
|
"glGetSamplerParameterfv",
|
|
"glGetSamplerParameteriv",
|
|
"glGetShaderInfoLog",
|
|
"glGetShaderPrecisionFormat",
|
|
"glGetShaderSource",
|
|
"glGetShaderiv",
|
|
"glGetShadingRateImagePaletteNV",
|
|
"glGetShadingRateSampleLocationivNV",
|
|
"glGetStageIndexNV",
|
|
"glGetString",
|
|
"glGetStringi",
|
|
"glGetSubroutineIndex",
|
|
"glGetSubroutineUniformLocation",
|
|
"glGetSynciv",
|
|
"glGetTexImage",
|
|
"glGetTexLevelParameterfv",
|
|
"glGetTexLevelParameteriv",
|
|
"glGetTexParameterIiv",
|
|
"glGetTexParameterIuiv",
|
|
"glGetTexParameterfv",
|
|
"glGetTexParameteriv",
|
|
"glGetTextureHandleARB",
|
|
"glGetTextureHandleNV",
|
|
"glGetTextureImage",
|
|
"glGetTextureImageEXT",
|
|
"glGetTextureLevelParameterfv",
|
|
"glGetTextureLevelParameterfvEXT",
|
|
"glGetTextureLevelParameteriv",
|
|
"glGetTextureLevelParameterivEXT",
|
|
"glGetTextureParameterIiv",
|
|
"glGetTextureParameterIivEXT",
|
|
"glGetTextureParameterIuiv",
|
|
"glGetTextureParameterIuivEXT",
|
|
"glGetTextureParameterfv",
|
|
"glGetTextureParameterfvEXT",
|
|
"glGetTextureParameteriv",
|
|
"glGetTextureParameterivEXT",
|
|
"glGetTextureSamplerHandleARB",
|
|
"glGetTextureSamplerHandleNV",
|
|
"glGetTextureSubImage",
|
|
"glGetTransformFeedbackVarying",
|
|
"glGetTransformFeedbacki64_v",
|
|
"glGetTransformFeedbacki_v",
|
|
"glGetTransformFeedbackiv",
|
|
"glGetUniformBlockIndex",
|
|
"glGetUniformIndices",
|
|
"glGetUniformLocation",
|
|
"glGetUniformSubroutineuiv",
|
|
"glGetUniformdv",
|
|
"glGetUniformfv",
|
|
"glGetUniformi64vARB",
|
|
"glGetUniformi64vNV",
|
|
"glGetUniformiv",
|
|
"glGetUniformui64vARB",
|
|
"glGetUniformui64vNV",
|
|
"glGetUniformuiv",
|
|
"glGetVertexArrayIndexed64iv",
|
|
"glGetVertexArrayIndexediv",
|
|
"glGetVertexArrayIntegeri_vEXT",
|
|
"glGetVertexArrayIntegervEXT",
|
|
"glGetVertexArrayPointeri_vEXT",
|
|
"glGetVertexArrayPointervEXT",
|
|
"glGetVertexArrayiv",
|
|
"glGetVertexAttribIiv",
|
|
"glGetVertexAttribIuiv",
|
|
"glGetVertexAttribLdv",
|
|
"glGetVertexAttribLi64vNV",
|
|
"glGetVertexAttribLui64vARB",
|
|
"glGetVertexAttribLui64vNV",
|
|
"glGetVertexAttribPointerv",
|
|
"glGetVertexAttribdv",
|
|
"glGetVertexAttribfv",
|
|
"glGetVertexAttribiv",
|
|
"glGetVkProcAddrNV",
|
|
"glGetnCompressedTexImage",
|
|
"glGetnCompressedTexImageARB",
|
|
"glGetnTexImage",
|
|
"glGetnTexImageARB",
|
|
"glGetnUniformdv",
|
|
"glGetnUniformdvARB",
|
|
"glGetnUniformfv",
|
|
"glGetnUniformfvARB",
|
|
"glGetnUniformi64vARB",
|
|
"glGetnUniformiv",
|
|
"glGetnUniformivARB",
|
|
"glGetnUniformui64vARB",
|
|
"glGetnUniformuiv",
|
|
"glGetnUniformuivARB",
|
|
"glHint",
|
|
"glIndexFormatNV",
|
|
"glInsertEventMarkerEXT",
|
|
"glInterpolatePathsNV",
|
|
"glInvalidateBufferData",
|
|
"glInvalidateBufferSubData",
|
|
"glInvalidateFramebuffer",
|
|
"glInvalidateNamedFramebufferData",
|
|
"glInvalidateNamedFramebufferSubData",
|
|
"glInvalidateSubFramebuffer",
|
|
"glInvalidateTexImage",
|
|
"glInvalidateTexSubImage",
|
|
"glIsBuffer",
|
|
"glIsBufferResidentNV",
|
|
"glIsCommandListNV",
|
|
"glIsEnabled",
|
|
"glIsEnabledIndexedEXT",
|
|
"glIsEnabledi",
|
|
"glIsFramebuffer",
|
|
"glIsImageHandleResidentARB",
|
|
"glIsImageHandleResidentNV",
|
|
"glIsNamedBufferResidentNV",
|
|
"glIsNamedStringARB",
|
|
"glIsPathNV",
|
|
"glIsPointInFillPathNV",
|
|
"glIsPointInStrokePathNV",
|
|
"glIsProgram",
|
|
"glIsProgramPipeline",
|
|
"glIsQuery",
|
|
"glIsRenderbuffer",
|
|
"glIsSampler",
|
|
"glIsShader",
|
|
"glIsStateNV",
|
|
"glIsSync",
|
|
"glIsTexture",
|
|
"glIsTextureHandleResidentARB",
|
|
"glIsTextureHandleResidentNV",
|
|
"glIsTransformFeedback",
|
|
"glIsVertexArray",
|
|
"glLabelObjectEXT",
|
|
"glLineWidth",
|
|
"glLinkProgram",
|
|
"glListDrawCommandsStatesClientNV",
|
|
"glLogicOp",
|
|
"glMakeBufferNonResidentNV",
|
|
"glMakeBufferResidentNV",
|
|
"glMakeImageHandleNonResidentARB",
|
|
"glMakeImageHandleNonResidentNV",
|
|
"glMakeImageHandleResidentARB",
|
|
"glMakeImageHandleResidentNV",
|
|
"glMakeNamedBufferNonResidentNV",
|
|
"glMakeNamedBufferResidentNV",
|
|
"glMakeTextureHandleNonResidentARB",
|
|
"glMakeTextureHandleNonResidentNV",
|
|
"glMakeTextureHandleResidentARB",
|
|
"glMakeTextureHandleResidentNV",
|
|
"glMapBuffer",
|
|
"glMapBufferRange",
|
|
"glMapNamedBuffer",
|
|
"glMapNamedBufferEXT",
|
|
"glMapNamedBufferRange",
|
|
"glMapNamedBufferRangeEXT",
|
|
"glMatrixFrustumEXT",
|
|
"glMatrixLoad3x2fNV",
|
|
"glMatrixLoad3x3fNV",
|
|
"glMatrixLoadIdentityEXT",
|
|
"glMatrixLoadTranspose3x3fNV",
|
|
"glMatrixLoadTransposedEXT",
|
|
"glMatrixLoadTransposefEXT",
|
|
"glMatrixLoaddEXT",
|
|
"glMatrixLoadfEXT",
|
|
"glMatrixMult3x2fNV",
|
|
"glMatrixMult3x3fNV",
|
|
"glMatrixMultTranspose3x3fNV",
|
|
"glMatrixMultTransposedEXT",
|
|
"glMatrixMultTransposefEXT",
|
|
"glMatrixMultdEXT",
|
|
"glMatrixMultfEXT",
|
|
"glMatrixOrthoEXT",
|
|
"glMatrixPopEXT",
|
|
"glMatrixPushEXT",
|
|
"glMatrixRotatedEXT",
|
|
"glMatrixRotatefEXT",
|
|
"glMatrixScaledEXT",
|
|
"glMatrixScalefEXT",
|
|
"glMatrixTranslatedEXT",
|
|
"glMatrixTranslatefEXT",
|
|
"glMaxShaderCompilerThreadsARB",
|
|
"glMaxShaderCompilerThreadsKHR",
|
|
"glMemoryBarrier",
|
|
"glMemoryBarrierByRegion",
|
|
"glMinSampleShading",
|
|
"glMinSampleShadingARB",
|
|
"glMultiDrawArrays",
|
|
"glMultiDrawArraysIndirect",
|
|
"glMultiDrawArraysIndirectBindlessCountNV",
|
|
"glMultiDrawArraysIndirectBindlessNV",
|
|
"glMultiDrawArraysIndirectCount",
|
|
"glMultiDrawArraysIndirectCountARB",
|
|
"glMultiDrawElements",
|
|
"glMultiDrawElementsBaseVertex",
|
|
"glMultiDrawElementsIndirect",
|
|
"glMultiDrawElementsIndirectBindlessCountNV",
|
|
"glMultiDrawElementsIndirectBindlessNV",
|
|
"glMultiDrawElementsIndirectCount",
|
|
"glMultiDrawElementsIndirectCountARB",
|
|
"glMultiDrawMeshTasksIndirectCountNV",
|
|
"glMultiDrawMeshTasksIndirectNV",
|
|
"glMultiTexBufferEXT",
|
|
"glMultiTexCoordPointerEXT",
|
|
"glMultiTexEnvfEXT",
|
|
"glMultiTexEnvfvEXT",
|
|
"glMultiTexEnviEXT",
|
|
"glMultiTexEnvivEXT",
|
|
"glMultiTexGendEXT",
|
|
"glMultiTexGendvEXT",
|
|
"glMultiTexGenfEXT",
|
|
"glMultiTexGenfvEXT",
|
|
"glMultiTexGeniEXT",
|
|
"glMultiTexGenivEXT",
|
|
"glMultiTexImage1DEXT",
|
|
"glMultiTexImage2DEXT",
|
|
"glMultiTexImage3DEXT",
|
|
"glMultiTexParameterIivEXT",
|
|
"glMultiTexParameterIuivEXT",
|
|
"glMultiTexParameterfEXT",
|
|
"glMultiTexParameterfvEXT",
|
|
"glMultiTexParameteriEXT",
|
|
"glMultiTexParameterivEXT",
|
|
"glMultiTexRenderbufferEXT",
|
|
"glMultiTexSubImage1DEXT",
|
|
"glMultiTexSubImage2DEXT",
|
|
"glMultiTexSubImage3DEXT",
|
|
"glNamedBufferAttachMemoryNV",
|
|
"glNamedBufferData",
|
|
"glNamedBufferDataEXT",
|
|
"glNamedBufferPageCommitmentARB",
|
|
"glNamedBufferPageCommitmentEXT",
|
|
"glNamedBufferPageCommitmentMemNV",
|
|
"glNamedBufferStorage",
|
|
"glNamedBufferStorageEXT",
|
|
"glNamedBufferSubData",
|
|
"glNamedBufferSubDataEXT",
|
|
"glNamedCopyBufferSubDataEXT",
|
|
"glNamedFramebufferDrawBuffer",
|
|
"glNamedFramebufferDrawBuffers",
|
|
"glNamedFramebufferParameteri",
|
|
"glNamedFramebufferParameteriEXT",
|
|
"glNamedFramebufferReadBuffer",
|
|
"glNamedFramebufferRenderbuffer",
|
|
"glNamedFramebufferRenderbufferEXT",
|
|
"glNamedFramebufferSampleLocationsfvARB",
|
|
"glNamedFramebufferSampleLocationsfvNV",
|
|
"glNamedFramebufferTexture",
|
|
"glNamedFramebufferTexture1DEXT",
|
|
"glNamedFramebufferTexture2DEXT",
|
|
"glNamedFramebufferTexture3DEXT",
|
|
"glNamedFramebufferTextureEXT",
|
|
"glNamedFramebufferTextureFaceEXT",
|
|
"glNamedFramebufferTextureLayer",
|
|
"glNamedFramebufferTextureLayerEXT",
|
|
"glNamedProgramLocalParameter4dEXT",
|
|
"glNamedProgramLocalParameter4dvEXT",
|
|
"glNamedProgramLocalParameter4fEXT",
|
|
"glNamedProgramLocalParameter4fvEXT",
|
|
"glNamedProgramLocalParameterI4iEXT",
|
|
"glNamedProgramLocalParameterI4ivEXT",
|
|
"glNamedProgramLocalParameterI4uiEXT",
|
|
"glNamedProgramLocalParameterI4uivEXT",
|
|
"glNamedProgramLocalParameters4fvEXT",
|
|
"glNamedProgramLocalParametersI4ivEXT",
|
|
"glNamedProgramLocalParametersI4uivEXT",
|
|
"glNamedProgramStringEXT",
|
|
"glNamedRenderbufferStorage",
|
|
"glNamedRenderbufferStorageEXT",
|
|
"glNamedRenderbufferStorageMultisample",
|
|
"glNamedRenderbufferStorageMultisampleAdvancedAMD",
|
|
"glNamedRenderbufferStorageMultisampleCoverageEXT",
|
|
"glNamedRenderbufferStorageMultisampleEXT",
|
|
"glNamedStringARB",
|
|
"glNormalFormatNV",
|
|
"glObjectLabel",
|
|
"glObjectPtrLabel",
|
|
"glPatchParameterfv",
|
|
"glPatchParameteri",
|
|
"glPathCommandsNV",
|
|
"glPathCoordsNV",
|
|
"glPathCoverDepthFuncNV",
|
|
"glPathDashArrayNV",
|
|
"glPathGlyphIndexArrayNV",
|
|
"glPathGlyphIndexRangeNV",
|
|
"glPathGlyphRangeNV",
|
|
"glPathGlyphsNV",
|
|
"glPathMemoryGlyphIndexArrayNV",
|
|
"glPathParameterfNV",
|
|
"glPathParameterfvNV",
|
|
"glPathParameteriNV",
|
|
"glPathParameterivNV",
|
|
"glPathStencilDepthOffsetNV",
|
|
"glPathStencilFuncNV",
|
|
"glPathStringNV",
|
|
"glPathSubCommandsNV",
|
|
"glPathSubCoordsNV",
|
|
"glPauseTransformFeedback",
|
|
"glPixelStoref",
|
|
"glPixelStorei",
|
|
"glPointAlongPathNV",
|
|
"glPointParameterf",
|
|
"glPointParameterfv",
|
|
"glPointParameteri",
|
|
"glPointParameteriv",
|
|
"glPointSize",
|
|
"glPolygonMode",
|
|
"glPolygonOffset",
|
|
"glPolygonOffsetClamp",
|
|
"glPolygonOffsetClampEXT",
|
|
"glPopDebugGroup",
|
|
"glPopGroupMarkerEXT",
|
|
"glPrimitiveBoundingBoxARB",
|
|
"glPrimitiveRestartIndex",
|
|
"glProgramBinary",
|
|
"glProgramParameteri",
|
|
"glProgramParameteriARB",
|
|
"glProgramPathFragmentInputGenNV",
|
|
"glProgramUniform1d",
|
|
"glProgramUniform1dEXT",
|
|
"glProgramUniform1dv",
|
|
"glProgramUniform1dvEXT",
|
|
"glProgramUniform1f",
|
|
"glProgramUniform1fEXT",
|
|
"glProgramUniform1fv",
|
|
"glProgramUniform1fvEXT",
|
|
"glProgramUniform1i",
|
|
"glProgramUniform1i64ARB",
|
|
"glProgramUniform1i64NV",
|
|
"glProgramUniform1i64vARB",
|
|
"glProgramUniform1i64vNV",
|
|
"glProgramUniform1iEXT",
|
|
"glProgramUniform1iv",
|
|
"glProgramUniform1ivEXT",
|
|
"glProgramUniform1ui",
|
|
"glProgramUniform1ui64ARB",
|
|
"glProgramUniform1ui64NV",
|
|
"glProgramUniform1ui64vARB",
|
|
"glProgramUniform1ui64vNV",
|
|
"glProgramUniform1uiEXT",
|
|
"glProgramUniform1uiv",
|
|
"glProgramUniform1uivEXT",
|
|
"glProgramUniform2d",
|
|
"glProgramUniform2dEXT",
|
|
"glProgramUniform2dv",
|
|
"glProgramUniform2dvEXT",
|
|
"glProgramUniform2f",
|
|
"glProgramUniform2fEXT",
|
|
"glProgramUniform2fv",
|
|
"glProgramUniform2fvEXT",
|
|
"glProgramUniform2i",
|
|
"glProgramUniform2i64ARB",
|
|
"glProgramUniform2i64NV",
|
|
"glProgramUniform2i64vARB",
|
|
"glProgramUniform2i64vNV",
|
|
"glProgramUniform2iEXT",
|
|
"glProgramUniform2iv",
|
|
"glProgramUniform2ivEXT",
|
|
"glProgramUniform2ui",
|
|
"glProgramUniform2ui64ARB",
|
|
"glProgramUniform2ui64NV",
|
|
"glProgramUniform2ui64vARB",
|
|
"glProgramUniform2ui64vNV",
|
|
"glProgramUniform2uiEXT",
|
|
"glProgramUniform2uiv",
|
|
"glProgramUniform2uivEXT",
|
|
"glProgramUniform3d",
|
|
"glProgramUniform3dEXT",
|
|
"glProgramUniform3dv",
|
|
"glProgramUniform3dvEXT",
|
|
"glProgramUniform3f",
|
|
"glProgramUniform3fEXT",
|
|
"glProgramUniform3fv",
|
|
"glProgramUniform3fvEXT",
|
|
"glProgramUniform3i",
|
|
"glProgramUniform3i64ARB",
|
|
"glProgramUniform3i64NV",
|
|
"glProgramUniform3i64vARB",
|
|
"glProgramUniform3i64vNV",
|
|
"glProgramUniform3iEXT",
|
|
"glProgramUniform3iv",
|
|
"glProgramUniform3ivEXT",
|
|
"glProgramUniform3ui",
|
|
"glProgramUniform3ui64ARB",
|
|
"glProgramUniform3ui64NV",
|
|
"glProgramUniform3ui64vARB",
|
|
"glProgramUniform3ui64vNV",
|
|
"glProgramUniform3uiEXT",
|
|
"glProgramUniform3uiv",
|
|
"glProgramUniform3uivEXT",
|
|
"glProgramUniform4d",
|
|
"glProgramUniform4dEXT",
|
|
"glProgramUniform4dv",
|
|
"glProgramUniform4dvEXT",
|
|
"glProgramUniform4f",
|
|
"glProgramUniform4fEXT",
|
|
"glProgramUniform4fv",
|
|
"glProgramUniform4fvEXT",
|
|
"glProgramUniform4i",
|
|
"glProgramUniform4i64ARB",
|
|
"glProgramUniform4i64NV",
|
|
"glProgramUniform4i64vARB",
|
|
"glProgramUniform4i64vNV",
|
|
"glProgramUniform4iEXT",
|
|
"glProgramUniform4iv",
|
|
"glProgramUniform4ivEXT",
|
|
"glProgramUniform4ui",
|
|
"glProgramUniform4ui64ARB",
|
|
"glProgramUniform4ui64NV",
|
|
"glProgramUniform4ui64vARB",
|
|
"glProgramUniform4ui64vNV",
|
|
"glProgramUniform4uiEXT",
|
|
"glProgramUniform4uiv",
|
|
"glProgramUniform4uivEXT",
|
|
"glProgramUniformHandleui64ARB",
|
|
"glProgramUniformHandleui64NV",
|
|
"glProgramUniformHandleui64vARB",
|
|
"glProgramUniformHandleui64vNV",
|
|
"glProgramUniformMatrix2dv",
|
|
"glProgramUniformMatrix2dvEXT",
|
|
"glProgramUniformMatrix2fv",
|
|
"glProgramUniformMatrix2fvEXT",
|
|
"glProgramUniformMatrix2x3dv",
|
|
"glProgramUniformMatrix2x3dvEXT",
|
|
"glProgramUniformMatrix2x3fv",
|
|
"glProgramUniformMatrix2x3fvEXT",
|
|
"glProgramUniformMatrix2x4dv",
|
|
"glProgramUniformMatrix2x4dvEXT",
|
|
"glProgramUniformMatrix2x4fv",
|
|
"glProgramUniformMatrix2x4fvEXT",
|
|
"glProgramUniformMatrix3dv",
|
|
"glProgramUniformMatrix3dvEXT",
|
|
"glProgramUniformMatrix3fv",
|
|
"glProgramUniformMatrix3fvEXT",
|
|
"glProgramUniformMatrix3x2dv",
|
|
"glProgramUniformMatrix3x2dvEXT",
|
|
"glProgramUniformMatrix3x2fv",
|
|
"glProgramUniformMatrix3x2fvEXT",
|
|
"glProgramUniformMatrix3x4dv",
|
|
"glProgramUniformMatrix3x4dvEXT",
|
|
"glProgramUniformMatrix3x4fv",
|
|
"glProgramUniformMatrix3x4fvEXT",
|
|
"glProgramUniformMatrix4dv",
|
|
"glProgramUniformMatrix4dvEXT",
|
|
"glProgramUniformMatrix4fv",
|
|
"glProgramUniformMatrix4fvEXT",
|
|
"glProgramUniformMatrix4x2dv",
|
|
"glProgramUniformMatrix4x2dvEXT",
|
|
"glProgramUniformMatrix4x2fv",
|
|
"glProgramUniformMatrix4x2fvEXT",
|
|
"glProgramUniformMatrix4x3dv",
|
|
"glProgramUniformMatrix4x3dvEXT",
|
|
"glProgramUniformMatrix4x3fv",
|
|
"glProgramUniformMatrix4x3fvEXT",
|
|
"glProgramUniformui64NV",
|
|
"glProgramUniformui64vNV",
|
|
"glProvokingVertex",
|
|
"glPushClientAttribDefaultEXT",
|
|
"glPushDebugGroup",
|
|
"glPushGroupMarkerEXT",
|
|
"glQueryCounter",
|
|
"glRasterSamplesEXT",
|
|
"glReadBuffer",
|
|
"glReadPixels",
|
|
"glReadnPixels",
|
|
"glReadnPixelsARB",
|
|
"glReleaseShaderCompiler",
|
|
"glRenderbufferStorage",
|
|
"glRenderbufferStorageMultisample",
|
|
"glRenderbufferStorageMultisampleAdvancedAMD",
|
|
"glRenderbufferStorageMultisampleCoverageNV",
|
|
"glResetMemoryObjectParameterNV",
|
|
"glResolveDepthValuesNV",
|
|
"glResumeTransformFeedback",
|
|
"glSampleCoverage",
|
|
"glSampleMaski",
|
|
"glSamplerParameterIiv",
|
|
"glSamplerParameterIuiv",
|
|
"glSamplerParameterf",
|
|
"glSamplerParameterfv",
|
|
"glSamplerParameteri",
|
|
"glSamplerParameteriv",
|
|
"glScissor",
|
|
"glScissorArrayv",
|
|
"glScissorExclusiveArrayvNV",
|
|
"glScissorExclusiveNV",
|
|
"glScissorIndexed",
|
|
"glScissorIndexedv",
|
|
"glSecondaryColorFormatNV",
|
|
"glSelectPerfMonitorCountersAMD",
|
|
"glShaderBinary",
|
|
"glShaderSource",
|
|
"glShaderStorageBlockBinding",
|
|
"glShadingRateImageBarrierNV",
|
|
"glShadingRateImagePaletteNV",
|
|
"glShadingRateSampleOrderCustomNV",
|
|
"glShadingRateSampleOrderNV",
|
|
"glSignalVkFenceNV",
|
|
"glSignalVkSemaphoreNV",
|
|
"glSpecializeShader",
|
|
"glSpecializeShaderARB",
|
|
"glStateCaptureNV",
|
|
"glStencilFillPathInstancedNV",
|
|
"glStencilFillPathNV",
|
|
"glStencilFunc",
|
|
"glStencilFuncSeparate",
|
|
"glStencilMask",
|
|
"glStencilMaskSeparate",
|
|
"glStencilOp",
|
|
"glStencilOpSeparate",
|
|
"glStencilStrokePathInstancedNV",
|
|
"glStencilStrokePathNV",
|
|
"glStencilThenCoverFillPathInstancedNV",
|
|
"glStencilThenCoverFillPathNV",
|
|
"glStencilThenCoverStrokePathInstancedNV",
|
|
"glStencilThenCoverStrokePathNV",
|
|
"glSubpixelPrecisionBiasNV",
|
|
"glTexAttachMemoryNV",
|
|
"glTexBuffer",
|
|
"glTexBufferARB",
|
|
"glTexBufferRange",
|
|
"glTexCoordFormatNV",
|
|
"glTexImage1D",
|
|
"glTexImage2D",
|
|
"glTexImage2DMultisample",
|
|
"glTexImage3D",
|
|
"glTexImage3DMultisample",
|
|
"glTexPageCommitmentARB",
|
|
"glTexPageCommitmentMemNV",
|
|
"glTexParameterIiv",
|
|
"glTexParameterIuiv",
|
|
"glTexParameterf",
|
|
"glTexParameterfv",
|
|
"glTexParameteri",
|
|
"glTexParameteriv",
|
|
"glTexStorage1D",
|
|
"glTexStorage1DEXT",
|
|
"glTexStorage2D",
|
|
"glTexStorage2DEXT",
|
|
"glTexStorage2DMultisample",
|
|
"glTexStorage3D",
|
|
"glTexStorage3DEXT",
|
|
"glTexStorage3DMultisample",
|
|
"glTexSubImage1D",
|
|
"glTexSubImage2D",
|
|
"glTexSubImage3D",
|
|
"glTextureAttachMemoryNV",
|
|
"glTextureBarrier",
|
|
"glTextureBarrierNV",
|
|
"glTextureBuffer",
|
|
"glTextureBufferEXT",
|
|
"glTextureBufferRange",
|
|
"glTextureBufferRangeEXT",
|
|
"glTextureImage1DEXT",
|
|
"glTextureImage2DEXT",
|
|
"glTextureImage3DEXT",
|
|
"glTexturePageCommitmentEXT",
|
|
"glTexturePageCommitmentMemNV",
|
|
"glTextureParameterIiv",
|
|
"glTextureParameterIivEXT",
|
|
"glTextureParameterIuiv",
|
|
"glTextureParameterIuivEXT",
|
|
"glTextureParameterf",
|
|
"glTextureParameterfEXT",
|
|
"glTextureParameterfv",
|
|
"glTextureParameterfvEXT",
|
|
"glTextureParameteri",
|
|
"glTextureParameteriEXT",
|
|
"glTextureParameteriv",
|
|
"glTextureParameterivEXT",
|
|
"glTextureRenderbufferEXT",
|
|
"glTextureStorage1D",
|
|
"glTextureStorage1DEXT",
|
|
"glTextureStorage2D",
|
|
"glTextureStorage2DEXT",
|
|
"glTextureStorage2DMultisample",
|
|
"glTextureStorage2DMultisampleEXT",
|
|
"glTextureStorage3D",
|
|
"glTextureStorage3DEXT",
|
|
"glTextureStorage3DMultisample",
|
|
"glTextureStorage3DMultisampleEXT",
|
|
"glTextureSubImage1D",
|
|
"glTextureSubImage1DEXT",
|
|
"glTextureSubImage2D",
|
|
"glTextureSubImage2DEXT",
|
|
"glTextureSubImage3D",
|
|
"glTextureSubImage3DEXT",
|
|
"glTextureView",
|
|
"glTransformFeedbackBufferBase",
|
|
"glTransformFeedbackBufferRange",
|
|
"glTransformFeedbackVaryings",
|
|
"glTransformPathNV",
|
|
"glUniform1d",
|
|
"glUniform1dv",
|
|
"glUniform1f",
|
|
"glUniform1fv",
|
|
"glUniform1i",
|
|
"glUniform1i64ARB",
|
|
"glUniform1i64NV",
|
|
"glUniform1i64vARB",
|
|
"glUniform1i64vNV",
|
|
"glUniform1iv",
|
|
"glUniform1ui",
|
|
"glUniform1ui64ARB",
|
|
"glUniform1ui64NV",
|
|
"glUniform1ui64vARB",
|
|
"glUniform1ui64vNV",
|
|
"glUniform1uiv",
|
|
"glUniform2d",
|
|
"glUniform2dv",
|
|
"glUniform2f",
|
|
"glUniform2fv",
|
|
"glUniform2i",
|
|
"glUniform2i64ARB",
|
|
"glUniform2i64NV",
|
|
"glUniform2i64vARB",
|
|
"glUniform2i64vNV",
|
|
"glUniform2iv",
|
|
"glUniform2ui",
|
|
"glUniform2ui64ARB",
|
|
"glUniform2ui64NV",
|
|
"glUniform2ui64vARB",
|
|
"glUniform2ui64vNV",
|
|
"glUniform2uiv",
|
|
"glUniform3d",
|
|
"glUniform3dv",
|
|
"glUniform3f",
|
|
"glUniform3fv",
|
|
"glUniform3i",
|
|
"glUniform3i64ARB",
|
|
"glUniform3i64NV",
|
|
"glUniform3i64vARB",
|
|
"glUniform3i64vNV",
|
|
"glUniform3iv",
|
|
"glUniform3ui",
|
|
"glUniform3ui64ARB",
|
|
"glUniform3ui64NV",
|
|
"glUniform3ui64vARB",
|
|
"glUniform3ui64vNV",
|
|
"glUniform3uiv",
|
|
"glUniform4d",
|
|
"glUniform4dv",
|
|
"glUniform4f",
|
|
"glUniform4fv",
|
|
"glUniform4i",
|
|
"glUniform4i64ARB",
|
|
"glUniform4i64NV",
|
|
"glUniform4i64vARB",
|
|
"glUniform4i64vNV",
|
|
"glUniform4iv",
|
|
"glUniform4ui",
|
|
"glUniform4ui64ARB",
|
|
"glUniform4ui64NV",
|
|
"glUniform4ui64vARB",
|
|
"glUniform4ui64vNV",
|
|
"glUniform4uiv",
|
|
"glUniformBlockBinding",
|
|
"glUniformHandleui64ARB",
|
|
"glUniformHandleui64NV",
|
|
"glUniformHandleui64vARB",
|
|
"glUniformHandleui64vNV",
|
|
"glUniformMatrix2dv",
|
|
"glUniformMatrix2fv",
|
|
"glUniformMatrix2x3dv",
|
|
"glUniformMatrix2x3fv",
|
|
"glUniformMatrix2x4dv",
|
|
"glUniformMatrix2x4fv",
|
|
"glUniformMatrix3dv",
|
|
"glUniformMatrix3fv",
|
|
"glUniformMatrix3x2dv",
|
|
"glUniformMatrix3x2fv",
|
|
"glUniformMatrix3x4dv",
|
|
"glUniformMatrix3x4fv",
|
|
"glUniformMatrix4dv",
|
|
"glUniformMatrix4fv",
|
|
"glUniformMatrix4x2dv",
|
|
"glUniformMatrix4x2fv",
|
|
"glUniformMatrix4x3dv",
|
|
"glUniformMatrix4x3fv",
|
|
"glUniformSubroutinesuiv",
|
|
"glUniformui64NV",
|
|
"glUniformui64vNV",
|
|
"glUnmapBuffer",
|
|
"glUnmapNamedBuffer",
|
|
"glUnmapNamedBufferEXT",
|
|
"glUseProgram",
|
|
"glUseProgramStages",
|
|
"glUseShaderProgramEXT",
|
|
"glValidateProgram",
|
|
"glValidateProgramPipeline",
|
|
"glVertexArrayAttribBinding",
|
|
"glVertexArrayAttribFormat",
|
|
"glVertexArrayAttribIFormat",
|
|
"glVertexArrayAttribLFormat",
|
|
"glVertexArrayBindVertexBufferEXT",
|
|
"glVertexArrayBindingDivisor",
|
|
"glVertexArrayColorOffsetEXT",
|
|
"glVertexArrayEdgeFlagOffsetEXT",
|
|
"glVertexArrayElementBuffer",
|
|
"glVertexArrayFogCoordOffsetEXT",
|
|
"glVertexArrayIndexOffsetEXT",
|
|
"glVertexArrayMultiTexCoordOffsetEXT",
|
|
"glVertexArrayNormalOffsetEXT",
|
|
"glVertexArraySecondaryColorOffsetEXT",
|
|
"glVertexArrayTexCoordOffsetEXT",
|
|
"glVertexArrayVertexAttribBindingEXT",
|
|
"glVertexArrayVertexAttribDivisorEXT",
|
|
"glVertexArrayVertexAttribFormatEXT",
|
|
"glVertexArrayVertexAttribIFormatEXT",
|
|
"glVertexArrayVertexAttribIOffsetEXT",
|
|
"glVertexArrayVertexAttribLFormatEXT",
|
|
"glVertexArrayVertexAttribLOffsetEXT",
|
|
"glVertexArrayVertexAttribOffsetEXT",
|
|
"glVertexArrayVertexBindingDivisorEXT",
|
|
"glVertexArrayVertexBuffer",
|
|
"glVertexArrayVertexBuffers",
|
|
"glVertexArrayVertexOffsetEXT",
|
|
"glVertexAttrib1d",
|
|
"glVertexAttrib1dv",
|
|
"glVertexAttrib1f",
|
|
"glVertexAttrib1fv",
|
|
"glVertexAttrib1s",
|
|
"glVertexAttrib1sv",
|
|
"glVertexAttrib2d",
|
|
"glVertexAttrib2dv",
|
|
"glVertexAttrib2f",
|
|
"glVertexAttrib2fv",
|
|
"glVertexAttrib2s",
|
|
"glVertexAttrib2sv",
|
|
"glVertexAttrib3d",
|
|
"glVertexAttrib3dv",
|
|
"glVertexAttrib3f",
|
|
"glVertexAttrib3fv",
|
|
"glVertexAttrib3s",
|
|
"glVertexAttrib3sv",
|
|
"glVertexAttrib4Nbv",
|
|
"glVertexAttrib4Niv",
|
|
"glVertexAttrib4Nsv",
|
|
"glVertexAttrib4Nub",
|
|
"glVertexAttrib4Nubv",
|
|
"glVertexAttrib4Nuiv",
|
|
"glVertexAttrib4Nusv",
|
|
"glVertexAttrib4bv",
|
|
"glVertexAttrib4d",
|
|
"glVertexAttrib4dv",
|
|
"glVertexAttrib4f",
|
|
"glVertexAttrib4fv",
|
|
"glVertexAttrib4iv",
|
|
"glVertexAttrib4s",
|
|
"glVertexAttrib4sv",
|
|
"glVertexAttrib4ubv",
|
|
"glVertexAttrib4uiv",
|
|
"glVertexAttrib4usv",
|
|
"glVertexAttribBinding",
|
|
"glVertexAttribDivisor",
|
|
"glVertexAttribDivisorARB",
|
|
"glVertexAttribFormat",
|
|
"glVertexAttribFormatNV",
|
|
"glVertexAttribI1i",
|
|
"glVertexAttribI1iv",
|
|
"glVertexAttribI1ui",
|
|
"glVertexAttribI1uiv",
|
|
"glVertexAttribI2i",
|
|
"glVertexAttribI2iv",
|
|
"glVertexAttribI2ui",
|
|
"glVertexAttribI2uiv",
|
|
"glVertexAttribI3i",
|
|
"glVertexAttribI3iv",
|
|
"glVertexAttribI3ui",
|
|
"glVertexAttribI3uiv",
|
|
"glVertexAttribI4bv",
|
|
"glVertexAttribI4i",
|
|
"glVertexAttribI4iv",
|
|
"glVertexAttribI4sv",
|
|
"glVertexAttribI4ubv",
|
|
"glVertexAttribI4ui",
|
|
"glVertexAttribI4uiv",
|
|
"glVertexAttribI4usv",
|
|
"glVertexAttribIFormat",
|
|
"glVertexAttribIFormatNV",
|
|
"glVertexAttribIPointer",
|
|
"glVertexAttribL1d",
|
|
"glVertexAttribL1dv",
|
|
"glVertexAttribL1i64NV",
|
|
"glVertexAttribL1i64vNV",
|
|
"glVertexAttribL1ui64ARB",
|
|
"glVertexAttribL1ui64NV",
|
|
"glVertexAttribL1ui64vARB",
|
|
"glVertexAttribL1ui64vNV",
|
|
"glVertexAttribL2d",
|
|
"glVertexAttribL2dv",
|
|
"glVertexAttribL2i64NV",
|
|
"glVertexAttribL2i64vNV",
|
|
"glVertexAttribL2ui64NV",
|
|
"glVertexAttribL2ui64vNV",
|
|
"glVertexAttribL3d",
|
|
"glVertexAttribL3dv",
|
|
"glVertexAttribL3i64NV",
|
|
"glVertexAttribL3i64vNV",
|
|
"glVertexAttribL3ui64NV",
|
|
"glVertexAttribL3ui64vNV",
|
|
"glVertexAttribL4d",
|
|
"glVertexAttribL4dv",
|
|
"glVertexAttribL4i64NV",
|
|
"glVertexAttribL4i64vNV",
|
|
"glVertexAttribL4ui64NV",
|
|
"glVertexAttribL4ui64vNV",
|
|
"glVertexAttribLFormat",
|
|
"glVertexAttribLFormatNV",
|
|
"glVertexAttribLPointer",
|
|
"glVertexAttribP1ui",
|
|
"glVertexAttribP1uiv",
|
|
"glVertexAttribP2ui",
|
|
"glVertexAttribP2uiv",
|
|
"glVertexAttribP3ui",
|
|
"glVertexAttribP3uiv",
|
|
"glVertexAttribP4ui",
|
|
"glVertexAttribP4uiv",
|
|
"glVertexAttribPointer",
|
|
"glVertexBindingDivisor",
|
|
"glVertexFormatNV",
|
|
"glViewport",
|
|
"glViewportArrayv",
|
|
"glViewportIndexedf",
|
|
"glViewportIndexedfv",
|
|
"glViewportPositionWScaleNV",
|
|
"glViewportSwizzleNV",
|
|
"glWaitSync",
|
|
"glWaitVkSemaphoreNV",
|
|
"glWeightPathsNV",
|
|
"glWindowRectanglesEXT",
|
|
};
|
|
GL3W_API union GL3WProcs gl3wProcs;
|
|
static void load_procs(GL3WGetProcAddressProc proc)
|
|
{
|
|
size_t i;
|
|
for (i = 0; i < ARRAY_SIZE(proc_names); i++)
|
|
gl3wProcs.ptr[i] = proc(proc_names[i]);
|
|
}
|