123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848 |
- /*
- * 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 <GL/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;
- static GL3WglProc (*glx_get_proc_address)(const GLubyte *);
- static int open_libgl(void)
- {
- libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_LOCAL);
- if (!libgl)
- return GL3W_ERROR_LIBRARY_OPEN;
- *(void **)(&glx_get_proc_address) = dlsym(libgl, "glXGetProcAddressARB");
- return GL3W_OK;
- }
- static void close_libgl(void)
- {
- dlclose(libgl);
- }
- static GL3WglProc get_proc(const char *proc)
- {
- GL3WglProc res;
- res = glx_get_proc_address((const GLubyte *)proc);
- if (!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[] = {
- "glActiveShaderProgram",
- "glActiveTexture",
- "glAttachShader",
- "glBeginConditionalRender",
- "glBeginQuery",
- "glBeginQueryIndexed",
- "glBeginTransformFeedback",
- "glBindAttribLocation",
- "glBindBuffer",
- "glBindBufferBase",
- "glBindBufferRange",
- "glBindBuffersBase",
- "glBindBuffersRange",
- "glBindFragDataLocation",
- "glBindFragDataLocationIndexed",
- "glBindFramebuffer",
- "glBindImageTexture",
- "glBindImageTextures",
- "glBindProgramPipeline",
- "glBindRenderbuffer",
- "glBindSampler",
- "glBindSamplers",
- "glBindTexture",
- "glBindTextureUnit",
- "glBindTextures",
- "glBindTransformFeedback",
- "glBindVertexArray",
- "glBindVertexBuffer",
- "glBindVertexBuffers",
- "glBlendColor",
- "glBlendEquation",
- "glBlendEquationSeparate",
- "glBlendEquationSeparatei",
- "glBlendEquationi",
- "glBlendFunc",
- "glBlendFuncSeparate",
- "glBlendFuncSeparatei",
- "glBlendFunci",
- "glBlitFramebuffer",
- "glBlitNamedFramebuffer",
- "glBufferData",
- "glBufferStorage",
- "glBufferSubData",
- "glCheckFramebufferStatus",
- "glCheckNamedFramebufferStatus",
- "glClampColor",
- "glClear",
- "glClearBufferData",
- "glClearBufferSubData",
- "glClearBufferfi",
- "glClearBufferfv",
- "glClearBufferiv",
- "glClearBufferuiv",
- "glClearColor",
- "glClearDepth",
- "glClearDepthf",
- "glClearNamedBufferData",
- "glClearNamedBufferSubData",
- "glClearNamedFramebufferfi",
- "glClearNamedFramebufferfv",
- "glClearNamedFramebufferiv",
- "glClearNamedFramebufferuiv",
- "glClearStencil",
- "glClearTexImage",
- "glClearTexSubImage",
- "glClientWaitSync",
- "glClipControl",
- "glColorMask",
- "glColorMaski",
- "glCompileShader",
- "glCompressedTexImage1D",
- "glCompressedTexImage2D",
- "glCompressedTexImage3D",
- "glCompressedTexSubImage1D",
- "glCompressedTexSubImage2D",
- "glCompressedTexSubImage3D",
- "glCompressedTextureSubImage1D",
- "glCompressedTextureSubImage2D",
- "glCompressedTextureSubImage3D",
- "glCopyBufferSubData",
- "glCopyImageSubData",
- "glCopyNamedBufferSubData",
- "glCopyTexImage1D",
- "glCopyTexImage2D",
- "glCopyTexSubImage1D",
- "glCopyTexSubImage2D",
- "glCopyTexSubImage3D",
- "glCopyTextureSubImage1D",
- "glCopyTextureSubImage2D",
- "glCopyTextureSubImage3D",
- "glCreateBuffers",
- "glCreateFramebuffers",
- "glCreateProgram",
- "glCreateProgramPipelines",
- "glCreateQueries",
- "glCreateRenderbuffers",
- "glCreateSamplers",
- "glCreateShader",
- "glCreateShaderProgramv",
- "glCreateTextures",
- "glCreateTransformFeedbacks",
- "glCreateVertexArrays",
- "glCullFace",
- "glDebugMessageCallback",
- "glDebugMessageControl",
- "glDebugMessageInsert",
- "glDeleteBuffers",
- "glDeleteFramebuffers",
- "glDeleteProgram",
- "glDeleteProgramPipelines",
- "glDeleteQueries",
- "glDeleteRenderbuffers",
- "glDeleteSamplers",
- "glDeleteShader",
- "glDeleteSync",
- "glDeleteTextures",
- "glDeleteTransformFeedbacks",
- "glDeleteVertexArrays",
- "glDepthFunc",
- "glDepthMask",
- "glDepthRange",
- "glDepthRangeArrayv",
- "glDepthRangeIndexed",
- "glDepthRangef",
- "glDetachShader",
- "glDisable",
- "glDisableVertexArrayAttrib",
- "glDisableVertexAttribArray",
- "glDisablei",
- "glDispatchCompute",
- "glDispatchComputeIndirect",
- "glDrawArrays",
- "glDrawArraysIndirect",
- "glDrawArraysInstanced",
- "glDrawArraysInstancedBaseInstance",
- "glDrawBuffer",
- "glDrawBuffers",
- "glDrawElements",
- "glDrawElementsBaseVertex",
- "glDrawElementsIndirect",
- "glDrawElementsInstanced",
- "glDrawElementsInstancedBaseInstance",
- "glDrawElementsInstancedBaseVertex",
- "glDrawElementsInstancedBaseVertexBaseInstance",
- "glDrawRangeElements",
- "glDrawRangeElementsBaseVertex",
- "glDrawTransformFeedback",
- "glDrawTransformFeedbackInstanced",
- "glDrawTransformFeedbackStream",
- "glDrawTransformFeedbackStreamInstanced",
- "glEnable",
- "glEnableVertexArrayAttrib",
- "glEnableVertexAttribArray",
- "glEnablei",
- "glEndConditionalRender",
- "glEndQuery",
- "glEndQueryIndexed",
- "glEndTransformFeedback",
- "glFenceSync",
- "glFinish",
- "glFlush",
- "glFlushMappedBufferRange",
- "glFlushMappedNamedBufferRange",
- "glFramebufferParameteri",
- "glFramebufferParameteriMESA",
- "glFramebufferRenderbuffer",
- "glFramebufferTexture",
- "glFramebufferTexture1D",
- "glFramebufferTexture2D",
- "glFramebufferTexture3D",
- "glFramebufferTextureLayer",
- "glFrontFace",
- "glGenBuffers",
- "glGenFramebuffers",
- "glGenProgramPipelines",
- "glGenQueries",
- "glGenRenderbuffers",
- "glGenSamplers",
- "glGenTextures",
- "glGenTransformFeedbacks",
- "glGenVertexArrays",
- "glGenerateMipmap",
- "glGenerateTextureMipmap",
- "glGetActiveAtomicCounterBufferiv",
- "glGetActiveAttrib",
- "glGetActiveSubroutineName",
- "glGetActiveSubroutineUniformName",
- "glGetActiveSubroutineUniformiv",
- "glGetActiveUniform",
- "glGetActiveUniformBlockName",
- "glGetActiveUniformBlockiv",
- "glGetActiveUniformName",
- "glGetActiveUniformsiv",
- "glGetAttachedShaders",
- "glGetAttribLocation",
- "glGetBooleani_v",
- "glGetBooleanv",
- "glGetBufferParameteri64v",
- "glGetBufferParameteriv",
- "glGetBufferPointerv",
- "glGetBufferSubData",
- "glGetCompressedTexImage",
- "glGetCompressedTextureImage",
- "glGetCompressedTextureSubImage",
- "glGetDebugMessageLog",
- "glGetDoublei_v",
- "glGetDoublev",
- "glGetError",
- "glGetFloati_v",
- "glGetFloatv",
- "glGetFragDataIndex",
- "glGetFragDataLocation",
- "glGetFramebufferAttachmentParameteriv",
- "glGetFramebufferParameteriv",
- "glGetFramebufferParameterivMESA",
- "glGetGraphicsResetStatus",
- "glGetInteger64i_v",
- "glGetInteger64v",
- "glGetIntegeri_v",
- "glGetIntegerv",
- "glGetInternalformati64v",
- "glGetInternalformativ",
- "glGetMultisamplefv",
- "glGetNamedBufferParameteri64v",
- "glGetNamedBufferParameteriv",
- "glGetNamedBufferPointerv",
- "glGetNamedBufferSubData",
- "glGetNamedFramebufferAttachmentParameteriv",
- "glGetNamedFramebufferParameteriv",
- "glGetNamedRenderbufferParameteriv",
- "glGetObjectLabel",
- "glGetObjectPtrLabel",
- "glGetPointerv",
- "glGetProgramBinary",
- "glGetProgramInfoLog",
- "glGetProgramInterfaceiv",
- "glGetProgramPipelineInfoLog",
- "glGetProgramPipelineiv",
- "glGetProgramResourceIndex",
- "glGetProgramResourceLocation",
- "glGetProgramResourceLocationIndex",
- "glGetProgramResourceName",
- "glGetProgramResourceiv",
- "glGetProgramStageiv",
- "glGetProgramiv",
- "glGetQueryBufferObjecti64v",
- "glGetQueryBufferObjectiv",
- "glGetQueryBufferObjectui64v",
- "glGetQueryBufferObjectuiv",
- "glGetQueryIndexediv",
- "glGetQueryObjecti64v",
- "glGetQueryObjectiv",
- "glGetQueryObjectui64v",
- "glGetQueryObjectuiv",
- "glGetQueryiv",
- "glGetRenderbufferParameteriv",
- "glGetSamplerParameterIiv",
- "glGetSamplerParameterIuiv",
- "glGetSamplerParameterfv",
- "glGetSamplerParameteriv",
- "glGetShaderInfoLog",
- "glGetShaderPrecisionFormat",
- "glGetShaderSource",
- "glGetShaderiv",
- "glGetString",
- "glGetStringi",
- "glGetSubroutineIndex",
- "glGetSubroutineUniformLocation",
- "glGetSynciv",
- "glGetTexImage",
- "glGetTexLevelParameterfv",
- "glGetTexLevelParameteriv",
- "glGetTexParameterIiv",
- "glGetTexParameterIuiv",
- "glGetTexParameterfv",
- "glGetTexParameteriv",
- "glGetTextureImage",
- "glGetTextureLevelParameterfv",
- "glGetTextureLevelParameteriv",
- "glGetTextureParameterIiv",
- "glGetTextureParameterIuiv",
- "glGetTextureParameterfv",
- "glGetTextureParameteriv",
- "glGetTextureSubImage",
- "glGetTransformFeedbackVarying",
- "glGetTransformFeedbacki64_v",
- "glGetTransformFeedbacki_v",
- "glGetTransformFeedbackiv",
- "glGetUniformBlockIndex",
- "glGetUniformIndices",
- "glGetUniformLocation",
- "glGetUniformSubroutineuiv",
- "glGetUniformdv",
- "glGetUniformfv",
- "glGetUniformiv",
- "glGetUniformuiv",
- "glGetVertexArrayIndexed64iv",
- "glGetVertexArrayIndexediv",
- "glGetVertexArrayiv",
- "glGetVertexAttribIiv",
- "glGetVertexAttribIuiv",
- "glGetVertexAttribLdv",
- "glGetVertexAttribPointerv",
- "glGetVertexAttribdv",
- "glGetVertexAttribfv",
- "glGetVertexAttribiv",
- "glGetnCompressedTexImage",
- "glGetnTexImage",
- "glGetnUniformdv",
- "glGetnUniformfv",
- "glGetnUniformiv",
- "glGetnUniformuiv",
- "glHint",
- "glInvalidateBufferData",
- "glInvalidateBufferSubData",
- "glInvalidateFramebuffer",
- "glInvalidateNamedFramebufferData",
- "glInvalidateNamedFramebufferSubData",
- "glInvalidateSubFramebuffer",
- "glInvalidateTexImage",
- "glInvalidateTexSubImage",
- "glIsBuffer",
- "glIsEnabled",
- "glIsEnabledi",
- "glIsFramebuffer",
- "glIsProgram",
- "glIsProgramPipeline",
- "glIsQuery",
- "glIsRenderbuffer",
- "glIsSampler",
- "glIsShader",
- "glIsSync",
- "glIsTexture",
- "glIsTransformFeedback",
- "glIsVertexArray",
- "glLineWidth",
- "glLinkProgram",
- "glLogicOp",
- "glMapBuffer",
- "glMapBufferRange",
- "glMapNamedBuffer",
- "glMapNamedBufferRange",
- "glMemoryBarrier",
- "glMemoryBarrierByRegion",
- "glMinSampleShading",
- "glMultiDrawArrays",
- "glMultiDrawArraysIndirect",
- "glMultiDrawArraysIndirectCount",
- "glMultiDrawElements",
- "glMultiDrawElementsBaseVertex",
- "glMultiDrawElementsIndirect",
- "glMultiDrawElementsIndirectCount",
- "glNamedBufferData",
- "glNamedBufferStorage",
- "glNamedBufferSubData",
- "glNamedFramebufferDrawBuffer",
- "glNamedFramebufferDrawBuffers",
- "glNamedFramebufferParameteri",
- "glNamedFramebufferReadBuffer",
- "glNamedFramebufferRenderbuffer",
- "glNamedFramebufferTexture",
- "glNamedFramebufferTextureLayer",
- "glNamedRenderbufferStorage",
- "glNamedRenderbufferStorageMultisample",
- "glObjectLabel",
- "glObjectPtrLabel",
- "glPatchParameterfv",
- "glPatchParameteri",
- "glPauseTransformFeedback",
- "glPixelStoref",
- "glPixelStorei",
- "glPointParameterf",
- "glPointParameterfv",
- "glPointParameteri",
- "glPointParameteriv",
- "glPointSize",
- "glPolygonMode",
- "glPolygonOffset",
- "glPolygonOffsetClamp",
- "glPopDebugGroup",
- "glPrimitiveRestartIndex",
- "glProgramBinary",
- "glProgramParameteri",
- "glProgramUniform1d",
- "glProgramUniform1dv",
- "glProgramUniform1f",
- "glProgramUniform1fv",
- "glProgramUniform1i",
- "glProgramUniform1iv",
- "glProgramUniform1ui",
- "glProgramUniform1uiv",
- "glProgramUniform2d",
- "glProgramUniform2dv",
- "glProgramUniform2f",
- "glProgramUniform2fv",
- "glProgramUniform2i",
- "glProgramUniform2iv",
- "glProgramUniform2ui",
- "glProgramUniform2uiv",
- "glProgramUniform3d",
- "glProgramUniform3dv",
- "glProgramUniform3f",
- "glProgramUniform3fv",
- "glProgramUniform3i",
- "glProgramUniform3iv",
- "glProgramUniform3ui",
- "glProgramUniform3uiv",
- "glProgramUniform4d",
- "glProgramUniform4dv",
- "glProgramUniform4f",
- "glProgramUniform4fv",
- "glProgramUniform4i",
- "glProgramUniform4iv",
- "glProgramUniform4ui",
- "glProgramUniform4uiv",
- "glProgramUniformMatrix2dv",
- "glProgramUniformMatrix2fv",
- "glProgramUniformMatrix2x3dv",
- "glProgramUniformMatrix2x3fv",
- "glProgramUniformMatrix2x4dv",
- "glProgramUniformMatrix2x4fv",
- "glProgramUniformMatrix3dv",
- "glProgramUniformMatrix3fv",
- "glProgramUniformMatrix3x2dv",
- "glProgramUniformMatrix3x2fv",
- "glProgramUniformMatrix3x4dv",
- "glProgramUniformMatrix3x4fv",
- "glProgramUniformMatrix4dv",
- "glProgramUniformMatrix4fv",
- "glProgramUniformMatrix4x2dv",
- "glProgramUniformMatrix4x2fv",
- "glProgramUniformMatrix4x3dv",
- "glProgramUniformMatrix4x3fv",
- "glProvokingVertex",
- "glPushDebugGroup",
- "glQueryCounter",
- "glReadBuffer",
- "glReadPixels",
- "glReadnPixels",
- "glReleaseShaderCompiler",
- "glRenderbufferStorage",
- "glRenderbufferStorageMultisample",
- "glResumeTransformFeedback",
- "glSampleCoverage",
- "glSampleMaski",
- "glSamplerParameterIiv",
- "glSamplerParameterIuiv",
- "glSamplerParameterf",
- "glSamplerParameterfv",
- "glSamplerParameteri",
- "glSamplerParameteriv",
- "glScissor",
- "glScissorArrayv",
- "glScissorIndexed",
- "glScissorIndexedv",
- "glShaderBinary",
- "glShaderSource",
- "glShaderStorageBlockBinding",
- "glSpecializeShader",
- "glStencilFunc",
- "glStencilFuncSeparate",
- "glStencilMask",
- "glStencilMaskSeparate",
- "glStencilOp",
- "glStencilOpSeparate",
- "glTexBuffer",
- "glTexBufferRange",
- "glTexImage1D",
- "glTexImage2D",
- "glTexImage2DMultisample",
- "glTexImage3D",
- "glTexImage3DMultisample",
- "glTexParameterIiv",
- "glTexParameterIuiv",
- "glTexParameterf",
- "glTexParameterfv",
- "glTexParameteri",
- "glTexParameteriv",
- "glTexStorage1D",
- "glTexStorage2D",
- "glTexStorage2DMultisample",
- "glTexStorage3D",
- "glTexStorage3DMultisample",
- "glTexSubImage1D",
- "glTexSubImage2D",
- "glTexSubImage3D",
- "glTextureBarrier",
- "glTextureBuffer",
- "glTextureBufferRange",
- "glTextureParameterIiv",
- "glTextureParameterIuiv",
- "glTextureParameterf",
- "glTextureParameterfv",
- "glTextureParameteri",
- "glTextureParameteriv",
- "glTextureStorage1D",
- "glTextureStorage2D",
- "glTextureStorage2DMultisample",
- "glTextureStorage3D",
- "glTextureStorage3DMultisample",
- "glTextureSubImage1D",
- "glTextureSubImage2D",
- "glTextureSubImage3D",
- "glTextureView",
- "glTransformFeedbackBufferBase",
- "glTransformFeedbackBufferRange",
- "glTransformFeedbackVaryings",
- "glUniform1d",
- "glUniform1dv",
- "glUniform1f",
- "glUniform1fv",
- "glUniform1i",
- "glUniform1iv",
- "glUniform1ui",
- "glUniform1uiv",
- "glUniform2d",
- "glUniform2dv",
- "glUniform2f",
- "glUniform2fv",
- "glUniform2i",
- "glUniform2iv",
- "glUniform2ui",
- "glUniform2uiv",
- "glUniform3d",
- "glUniform3dv",
- "glUniform3f",
- "glUniform3fv",
- "glUniform3i",
- "glUniform3iv",
- "glUniform3ui",
- "glUniform3uiv",
- "glUniform4d",
- "glUniform4dv",
- "glUniform4f",
- "glUniform4fv",
- "glUniform4i",
- "glUniform4iv",
- "glUniform4ui",
- "glUniform4uiv",
- "glUniformBlockBinding",
- "glUniformMatrix2dv",
- "glUniformMatrix2fv",
- "glUniformMatrix2x3dv",
- "glUniformMatrix2x3fv",
- "glUniformMatrix2x4dv",
- "glUniformMatrix2x4fv",
- "glUniformMatrix3dv",
- "glUniformMatrix3fv",
- "glUniformMatrix3x2dv",
- "glUniformMatrix3x2fv",
- "glUniformMatrix3x4dv",
- "glUniformMatrix3x4fv",
- "glUniformMatrix4dv",
- "glUniformMatrix4fv",
- "glUniformMatrix4x2dv",
- "glUniformMatrix4x2fv",
- "glUniformMatrix4x3dv",
- "glUniformMatrix4x3fv",
- "glUniformSubroutinesuiv",
- "glUnmapBuffer",
- "glUnmapNamedBuffer",
- "glUseProgram",
- "glUseProgramStages",
- "glValidateProgram",
- "glValidateProgramPipeline",
- "glVertexArrayAttribBinding",
- "glVertexArrayAttribFormat",
- "glVertexArrayAttribIFormat",
- "glVertexArrayAttribLFormat",
- "glVertexArrayBindingDivisor",
- "glVertexArrayElementBuffer",
- "glVertexArrayVertexBuffer",
- "glVertexArrayVertexBuffers",
- "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",
- "glVertexAttribFormat",
- "glVertexAttribI1i",
- "glVertexAttribI1iv",
- "glVertexAttribI1ui",
- "glVertexAttribI1uiv",
- "glVertexAttribI2i",
- "glVertexAttribI2iv",
- "glVertexAttribI2ui",
- "glVertexAttribI2uiv",
- "glVertexAttribI3i",
- "glVertexAttribI3iv",
- "glVertexAttribI3ui",
- "glVertexAttribI3uiv",
- "glVertexAttribI4bv",
- "glVertexAttribI4i",
- "glVertexAttribI4iv",
- "glVertexAttribI4sv",
- "glVertexAttribI4ubv",
- "glVertexAttribI4ui",
- "glVertexAttribI4uiv",
- "glVertexAttribI4usv",
- "glVertexAttribIFormat",
- "glVertexAttribIPointer",
- "glVertexAttribL1d",
- "glVertexAttribL1dv",
- "glVertexAttribL2d",
- "glVertexAttribL2dv",
- "glVertexAttribL3d",
- "glVertexAttribL3dv",
- "glVertexAttribL4d",
- "glVertexAttribL4dv",
- "glVertexAttribLFormat",
- "glVertexAttribLPointer",
- "glVertexAttribP1ui",
- "glVertexAttribP1uiv",
- "glVertexAttribP2ui",
- "glVertexAttribP2uiv",
- "glVertexAttribP3ui",
- "glVertexAttribP3uiv",
- "glVertexAttribP4ui",
- "glVertexAttribP4uiv",
- "glVertexAttribPointer",
- "glVertexBindingDivisor",
- "glViewport",
- "glViewportArrayv",
- "glViewportIndexedf",
- "glViewportIndexedfv",
- "glWaitSync",
- };
- 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]);
- }
|