/src/cinder/linux/gl_es_load.cpp
C++ | 1487 lines | 1344 code | 75 blank | 68 comment | 54 complexity | 52d0b583a85f295c89b196286435a071 MD5 | raw file
Possible License(s): GPL-3.0
Large files files are truncated, but you can click here to view the full file
- /*
- Copyright (c) 2015, The Cinder Project, All rights reserved.
- This code is intended for use with the Cinder C++ library: http://libcinder.org
- Redistribution and use in source and binary forms, with or without modification, are permitted provided that
- the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this list of conditions and
- the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
- the following disclaimer in the documentation and/or other materials provided with the distribution.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
- #include "cinder/gl/platform.h"
- #include "cinder/linux/gl_es_load.h"
- #include <algorithm>
- #include <cctype>
- #include <iostream>
- #include <sstream>
- #include <string>
- #if defined( CINDER_ANDROID )
- #include <android/log.h>
- #endif
- // -----------------------------------------------------------------------------
- // iOS
- // -----------------------------------------------------------------------------
- #if defined( CINDER_COCOA_TOUCH )
- // Nothing for now
- // -----------------------------------------------------------------------------
- // Android and Linux
- // -----------------------------------------------------------------------------
- #elif defined( CINDER_ANDROID ) || defined( CINDER_LINUX )
- static bool hasExtension( const std::string& extName );
- static void* loadEglProc( const std::string& procName ) ;
- static void clearLoadCount();
- static uint32_t getLoadCount();
- #define _GL_ES_LOAD_DEBUG_
- static void _dbg_out( const std::string& s )
- {
- #if defined( _GL_ES_LOAD_DEBUG_ )
- #if defined( CINDER_ANDROID )
- __android_log_print( ANDROID_LOG_INFO, "cinder:gl_es_load", s.c_str() );
- #elif defined( CINDER_LINUX )
- std::cout << s << std::endl;
- #endif
- #endif
- }
- #define DEBUG( STRM ) \
- { \
- std::stringstream tmpss; \
- tmpss << STRM; \
- _dbg_out( tmpss.str() ); \
- }
- #define EXT_QUOTE_STR( STR ) \
- #STR
- // ----------------------------------------------------------------------------
- // OpenGL ES 3.0
- // ----------------------------------------------------------------------------
- #if defined( CINDER_LINUX ) && ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_3 )
- PFNGLREADBUFFERPROC fnptr_ci_glReadBuffer = nullptr;
- PFNGLDRAWRANGEELEMENTSPROC fnptr_ci_glDrawRangeElements = nullptr;
- PFNGLTEXIMAGE3DPROC fnptr_ci_glTexImage3D = nullptr;
- PFNGLTEXSUBIMAGE3DPROC fnptr_ci_glTexSubImage3D = nullptr;
- PFNGLCOPYTEXSUBIMAGE3DPROC fnptr_ci_glCopyTexSubImage3D = nullptr;
- PFNGLCOMPRESSEDTEXIMAGE3DPROC fnptr_ci_glCompressedTexImage3D = nullptr;
- PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC fnptr_ci_glCompressedTexSubImage3D = nullptr;
- PFNGLGENQUERIESPROC fnptr_ci_glGenQueries = nullptr;
- PFNGLDELETEQUERIESPROC fnptr_ci_glDeleteQueries = nullptr;
- PFNGLISQUERYPROC fnptr_ci_glIsQuery = nullptr;
- PFNGLBEGINQUERYPROC fnptr_ci_glBeginQuery = nullptr;
- PFNGLENDQUERYPROC fnptr_ci_glEndQuery = nullptr;
- PFNGLGETQUERYIVPROC fnptr_ci_glGetQueryiv = nullptr;
- PFNGLGETQUERYOBJECTUIVPROC fnptr_ci_glGetQueryObjectuiv = nullptr;
- PFNGLUNMAPBUFFERPROC fnptr_ci_glUnmapBuffer = nullptr;
- PFNGLGETBUFFERPOINTERVPROC fnptr_ci_glGetBufferPointerv = nullptr;
- PFNGLDRAWBUFFERSPROC fnptr_ci_glDrawBuffers = nullptr;
- PFNGLUNIFORMMATRIX2X3FVPROC fnptr_ci_glUniformMatrix2x3fv = nullptr;
- PFNGLUNIFORMMATRIX3X2FVPROC fnptr_ci_glUniformMatrix3x2fv = nullptr;
- PFNGLUNIFORMMATRIX2X4FVPROC fnptr_ci_glUniformMatrix2x4fv = nullptr;
- PFNGLUNIFORMMATRIX4X2FVPROC fnptr_ci_glUniformMatrix4x2fv = nullptr;
- PFNGLUNIFORMMATRIX3X4FVPROC fnptr_ci_glUniformMatrix3x4fv = nullptr;
- PFNGLUNIFORMMATRIX4X3FVPROC fnptr_ci_glUniformMatrix4x3fv = nullptr;
- PFNGLBLITFRAMEBUFFERPROC fnptr_ci_glBlitFramebuffer = nullptr;
- PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC fnptr_ci_glRenderbufferStorageMultisample = nullptr;
- PFNGLFRAMEBUFFERTEXTURELAYERPROC fnptr_ci_glFramebufferTextureLayer = nullptr;
- PFNGLMAPBUFFERRANGEPROC fnptr_ci_glMapBufferRange = nullptr;
- PFNGLFLUSHMAPPEDBUFFERRANGEPROC fnptr_ci_glFlushMappedBufferRange = nullptr;
- PFNGLBINDVERTEXARRAYPROC fnptr_ci_glBindVertexArray = nullptr;
- PFNGLDELETEVERTEXARRAYSPROC fnptr_ci_glDeleteVertexArrays = nullptr;
- PFNGLGENVERTEXARRAYSPROC fnptr_ci_glGenVertexArrays = nullptr;
- PFNGLISVERTEXARRAYPROC fnptr_ci_glIsVertexArray = nullptr;
- PFNGLGETINTEGERI_VPROC fnptr_ci_glGetIntegeri_v = nullptr;
- PFNGLBEGINTRANSFORMFEEDBACKPROC fnptr_ci_glBeginTransformFeedback = nullptr;
- PFNGLENDTRANSFORMFEEDBACKPROC fnptr_ci_glEndTransformFeedback = nullptr;
- PFNGLBINDBUFFERRANGEPROC fnptr_ci_glBindBufferRange = nullptr;
- PFNGLBINDBUFFERBASEPROC fnptr_ci_glBindBufferBase = nullptr;
- PFNGLTRANSFORMFEEDBACKVARYINGSPROC fnptr_ci_glTransformFeedbackVaryings = nullptr;
- PFNGLGETTRANSFORMFEEDBACKVARYINGPROC fnptr_ci_glGetTransformFeedbackVarying = nullptr;
- PFNGLVERTEXATTRIBIPOINTERPROC fnptr_ci_glVertexAttribIPointer = nullptr;
- PFNGLGETVERTEXATTRIBIIVPROC fnptr_ci_glGetVertexAttribIiv = nullptr;
- PFNGLGETVERTEXATTRIBIUIVPROC fnptr_ci_glGetVertexAttribIuiv = nullptr;
- PFNGLVERTEXATTRIBI4IPROC fnptr_ci_glVertexAttribI4i = nullptr;
- PFNGLVERTEXATTRIBI4UIPROC fnptr_ci_glVertexAttribI4ui = nullptr;
- PFNGLVERTEXATTRIBI4IVPROC fnptr_ci_glVertexAttribI4iv = nullptr;
- PFNGLVERTEXATTRIBI4UIVPROC fnptr_ci_glVertexAttribI4uiv = nullptr;
- PFNGLGETUNIFORMUIVPROC fnptr_ci_glGetUniformuiv = nullptr;
- PFNGLGETFRAGDATALOCATIONPROC fnptr_ci_glGetFragDataLocation = nullptr;
- PFNGLUNIFORM1UIPROC fnptr_ci_glUniform1ui = nullptr;
- PFNGLUNIFORM2UIPROC fnptr_ci_glUniform2ui = nullptr;
- PFNGLUNIFORM3UIPROC fnptr_ci_glUniform3ui = nullptr;
- PFNGLUNIFORM4UIPROC fnptr_ci_glUniform4ui = nullptr;
- PFNGLUNIFORM1UIVPROC fnptr_ci_glUniform1uiv = nullptr;
- PFNGLUNIFORM2UIVPROC fnptr_ci_glUniform2uiv = nullptr;
- PFNGLUNIFORM3UIVPROC fnptr_ci_glUniform3uiv = nullptr;
- PFNGLUNIFORM4UIVPROC fnptr_ci_glUniform4uiv = nullptr;
- PFNGLCLEARBUFFERIVPROC fnptr_ci_glClearBufferiv = nullptr;
- PFNGLCLEARBUFFERUIVPROC fnptr_ci_glClearBufferuiv = nullptr;
- PFNGLCLEARBUFFERFVPROC fnptr_ci_glClearBufferfv = nullptr;
- PFNGLCLEARBUFFERFIPROC fnptr_ci_glClearBufferfi = nullptr;
- PFNGLGETSTRINGIPROC fnptr_ci_glGetStringi = nullptr;
- PFNGLCOPYBUFFERSUBDATAPROC fnptr_ci_glCopyBufferSubData = nullptr;
- PFNGLGETUNIFORMINDICESPROC fnptr_ci_glGetUniformIndices = nullptr;
- PFNGLGETACTIVEUNIFORMSIVPROC fnptr_ci_glGetActiveUniformsiv = nullptr;
- PFNGLGETUNIFORMBLOCKINDEXPROC fnptr_ci_glGetUniformBlockIndex = nullptr;
- PFNGLGETACTIVEUNIFORMBLOCKIVPROC fnptr_ci_glGetActiveUniformBlockiv = nullptr;
- PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC fnptr_ci_glGetActiveUniformBlockName = nullptr;
- PFNGLUNIFORMBLOCKBINDINGPROC fnptr_ci_glUniformBlockBinding = nullptr;
- PFNGLDRAWARRAYSINSTANCEDPROC fnptr_ci_glDrawArraysInstanced = nullptr;
- PFNGLDRAWELEMENTSINSTANCEDPROC fnptr_ci_glDrawElementsInstanced = nullptr;
- PFNGLFENCESYNCPROC fnptr_ci_glFenceSync = nullptr;
- PFNGLISSYNCPROC fnptr_ci_glIsSync = nullptr;
- PFNGLDELETESYNCPROC fnptr_ci_glDeleteSync = nullptr;
- PFNGLCLIENTWAITSYNCPROC fnptr_ci_glClientWaitSync = nullptr;
- PFNGLWAITSYNCPROC fnptr_ci_glWaitSync = nullptr;
- PFNGLGETINTEGER64VPROC fnptr_ci_glGetInteger64v = nullptr;
- PFNGLGETSYNCIVPROC fnptr_ci_glGetSynciv = nullptr;
- PFNGLGETINTEGER64I_VPROC fnptr_ci_glGetInteger64i_v = nullptr;
- PFNGLGETBUFFERPARAMETERI64VPROC fnptr_ci_glGetBufferParameteri64v = nullptr;
- PFNGLGENSAMPLERSPROC fnptr_ci_glGenSamplers = nullptr;
- PFNGLDELETESAMPLERSPROC fnptr_ci_glDeleteSamplers = nullptr;
- PFNGLISSAMPLERPROC fnptr_ci_glIsSampler = nullptr;
- PFNGLBINDSAMPLERPROC fnptr_ci_glBindSampler = nullptr;
- PFNGLSAMPLERPARAMETERIPROC fnptr_ci_glSamplerParameteri = nullptr;
- PFNGLSAMPLERPARAMETERIVPROC fnptr_ci_glSamplerParameteriv = nullptr;
- PFNGLSAMPLERPARAMETERFPROC fnptr_ci_glSamplerParameterf = nullptr;
- PFNGLSAMPLERPARAMETERFVPROC fnptr_ci_glSamplerParameterfv = nullptr;
- PFNGLGETSAMPLERPARAMETERIVPROC fnptr_ci_glGetSamplerParameteriv = nullptr;
- PFNGLGETSAMPLERPARAMETERFVPROC fnptr_ci_glGetSamplerParameterfv = nullptr;
- PFNGLVERTEXATTRIBDIVISORPROC fnptr_ci_glVertexAttribDivisor = nullptr;
- PFNGLBINDTRANSFORMFEEDBACKPROC fnptr_ci_glBindTransformFeedback = nullptr;
- PFNGLDELETETRANSFORMFEEDBACKSPROC fnptr_ci_glDeleteTransformFeedbacks = nullptr;
- PFNGLGENTRANSFORMFEEDBACKSPROC fnptr_ci_glGenTransformFeedbacks = nullptr;
- PFNGLISTRANSFORMFEEDBACKPROC fnptr_ci_glIsTransformFeedback = nullptr;
- PFNGLPAUSETRANSFORMFEEDBACKPROC fnptr_ci_glPauseTransformFeedback = nullptr;
- PFNGLRESUMETRANSFORMFEEDBACKPROC fnptr_ci_glResumeTransformFeedback = nullptr;
- PFNGLGETPROGRAMBINARYPROC fnptr_ci_glGetProgramBinary = nullptr;
- PFNGLPROGRAMBINARYPROC fnptr_ci_glProgramBinary = nullptr;
- PFNGLPROGRAMPARAMETERIPROC fnptr_ci_glProgramParameteri = nullptr;
- PFNGLINVALIDATEFRAMEBUFFERPROC fnptr_ci_glInvalidateFramebuffer = nullptr;
- PFNGLINVALIDATESUBFRAMEBUFFERPROC fnptr_ci_glInvalidateSubFramebuffer = nullptr;
- PFNGLTEXSTORAGE2DPROC fnptr_ci_glTexStorage2D = nullptr;
- PFNGLTEXSTORAGE3DPROC fnptr_ci_glTexStorage3D = nullptr;
- PFNGLGETINTERNALFORMATIVPROC fnptr_ci_glGetInternalformativ = nullptr;
- void gl_es_3_0_load()
- {
- //DEBUG( "gl_es_3_0_load entered..." );
- clearLoadCount();
- fnptr_ci_glReadBuffer = (PFNGLREADBUFFERPROC)loadEglProc("glReadBuffer");
- fnptr_ci_glDrawRangeElements = (PFNGLDRAWRANGEELEMENTSPROC)loadEglProc("glDrawRangeElements");
- fnptr_ci_glTexImage3D = (PFNGLTEXIMAGE3DPROC)loadEglProc("glTexImage3D");
- fnptr_ci_glTexSubImage3D = (PFNGLTEXSUBIMAGE3DPROC)loadEglProc("glTexSubImage3D");
- fnptr_ci_glCopyTexSubImage3D = (PFNGLCOPYTEXSUBIMAGE3DPROC)loadEglProc("glCopyTexSubImage3D");
- fnptr_ci_glCompressedTexImage3D = (PFNGLCOMPRESSEDTEXIMAGE3DPROC)loadEglProc("glCompressedTexImage3D");
- fnptr_ci_glCompressedTexSubImage3D = (PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)loadEglProc("glCompressedTexSubImage3D");
- fnptr_ci_glGenQueries = (PFNGLGENQUERIESPROC)loadEglProc("glGenQueries");
- fnptr_ci_glDeleteQueries = (PFNGLDELETEQUERIESPROC)loadEglProc("glDeleteQueries");
- fnptr_ci_glIsQuery = (PFNGLISQUERYPROC)loadEglProc("glIsQuery");
- fnptr_ci_glBeginQuery = (PFNGLBEGINQUERYPROC)loadEglProc("glBeginQuery");
- fnptr_ci_glEndQuery = (PFNGLENDQUERYPROC)loadEglProc("glEndQuery");
- fnptr_ci_glGetQueryiv = (PFNGLGETQUERYIVPROC)loadEglProc("glGetQueryiv");
- fnptr_ci_glGetQueryObjectuiv = (PFNGLGETQUERYOBJECTUIVPROC)loadEglProc("glGetQueryObjectuiv");
- fnptr_ci_glUnmapBuffer = (PFNGLUNMAPBUFFERPROC)loadEglProc("glUnmapBuffer");
- fnptr_ci_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)loadEglProc("glGetBufferPointerv");
- fnptr_ci_glDrawBuffers = (PFNGLDRAWBUFFERSPROC)loadEglProc("glDrawBuffers");
- fnptr_ci_glUniformMatrix2x3fv = (PFNGLUNIFORMMATRIX2X3FVPROC)loadEglProc("glUniformMatrix2x3fv");
- fnptr_ci_glUniformMatrix3x2fv = (PFNGLUNIFORMMATRIX3X2FVPROC)loadEglProc("glUniformMatrix3x2fv");
- fnptr_ci_glUniformMatrix2x4fv = (PFNGLUNIFORMMATRIX2X4FVPROC)loadEglProc("glUniformMatrix2x4fv");
- fnptr_ci_glUniformMatrix4x2fv = (PFNGLUNIFORMMATRIX4X2FVPROC)loadEglProc("glUniformMatrix4x2fv");
- fnptr_ci_glUniformMatrix3x4fv = (PFNGLUNIFORMMATRIX3X4FVPROC)loadEglProc("glUniformMatrix3x4fv");
- fnptr_ci_glUniformMatrix4x3fv = (PFNGLUNIFORMMATRIX4X3FVPROC)loadEglProc("glUniformMatrix4x3fv");
- fnptr_ci_glBlitFramebuffer = (PFNGLBLITFRAMEBUFFERPROC)loadEglProc("glBlitFramebuffer");
- fnptr_ci_glRenderbufferStorageMultisample = (PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)loadEglProc("glRenderbufferStorageMultisample");
- fnptr_ci_glFramebufferTextureLayer = (PFNGLFRAMEBUFFERTEXTURELAYERPROC)loadEglProc("glFramebufferTextureLayer");
- fnptr_ci_glMapBufferRange = (PFNGLMAPBUFFERRANGEPROC)loadEglProc("glMapBufferRange");
- fnptr_ci_glFlushMappedBufferRange = (PFNGLFLUSHMAPPEDBUFFERRANGEPROC)loadEglProc("glFlushMappedBufferRange");
- fnptr_ci_glBindVertexArray = (PFNGLBINDVERTEXARRAYPROC)loadEglProc("glBindVertexArray");
- fnptr_ci_glDeleteVertexArrays = (PFNGLDELETEVERTEXARRAYSPROC)loadEglProc("glDeleteVertexArrays");
- fnptr_ci_glGenVertexArrays = (PFNGLGENVERTEXARRAYSPROC)loadEglProc("glGenVertexArrays");
- fnptr_ci_glIsVertexArray = (PFNGLISVERTEXARRAYPROC)loadEglProc("glIsVertexArray");
- fnptr_ci_glGetIntegeri_v = (PFNGLGETINTEGERI_VPROC)loadEglProc("glGetIntegeri_v");
- fnptr_ci_glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC)loadEglProc("glBeginTransformFeedback");
- fnptr_ci_glEndTransformFeedback = (PFNGLENDTRANSFORMFEEDBACKPROC)loadEglProc("glEndTransformFeedback");
- fnptr_ci_glBindBufferRange = (PFNGLBINDBUFFERRANGEPROC)loadEglProc("glBindBufferRange");
- fnptr_ci_glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)loadEglProc("glBindBufferBase");
- fnptr_ci_glTransformFeedbackVaryings = (PFNGLTRANSFORMFEEDBACKVARYINGSPROC)loadEglProc("glTransformFeedbackVaryings");
- fnptr_ci_glGetTransformFeedbackVarying = (PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)loadEglProc("glGetTransformFeedbackVarying");
- fnptr_ci_glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)loadEglProc("glVertexAttribIPointer");
- fnptr_ci_glGetVertexAttribIiv = (PFNGLGETVERTEXATTRIBIIVPROC)loadEglProc("glGetVertexAttribIiv");
- fnptr_ci_glGetVertexAttribIuiv = (PFNGLGETVERTEXATTRIBIUIVPROC)loadEglProc("glGetVertexAttribIuiv");
- fnptr_ci_glVertexAttribI4i = (PFNGLVERTEXATTRIBI4IPROC)loadEglProc("glVertexAttribI4i");
- fnptr_ci_glVertexAttribI4ui = (PFNGLVERTEXATTRIBI4UIPROC)loadEglProc("glVertexAttribI4ui");
- fnptr_ci_glVertexAttribI4iv = (PFNGLVERTEXATTRIBI4IVPROC)loadEglProc("glVertexAttribI4iv");
- fnptr_ci_glVertexAttribI4uiv = (PFNGLVERTEXATTRIBI4UIVPROC)loadEglProc("glVertexAttribI4uiv");
- fnptr_ci_glGetUniformuiv = (PFNGLGETUNIFORMUIVPROC)loadEglProc("glGetUniformuiv");
- fnptr_ci_glGetFragDataLocation = (PFNGLGETFRAGDATALOCATIONPROC)loadEglProc("glGetFragDataLocation");
- fnptr_ci_glUniform1ui = (PFNGLUNIFORM1UIPROC)loadEglProc("glUniform1ui");
- fnptr_ci_glUniform2ui = (PFNGLUNIFORM2UIPROC)loadEglProc("glUniform2ui");
- fnptr_ci_glUniform3ui = (PFNGLUNIFORM3UIPROC)loadEglProc("glUniform3ui");
- fnptr_ci_glUniform4ui = (PFNGLUNIFORM4UIPROC)loadEglProc("glUniform4ui");
- fnptr_ci_glUniform1uiv = (PFNGLUNIFORM1UIVPROC)loadEglProc("glUniform1uiv");
- fnptr_ci_glUniform2uiv = (PFNGLUNIFORM2UIVPROC)loadEglProc("glUniform2uiv");
- fnptr_ci_glUniform3uiv = (PFNGLUNIFORM3UIVPROC)loadEglProc("glUniform3uiv");
- fnptr_ci_glUniform4uiv = (PFNGLUNIFORM4UIVPROC)loadEglProc("glUniform4uiv");
- fnptr_ci_glClearBufferiv = (PFNGLCLEARBUFFERIVPROC)loadEglProc("glClearBufferiv");
- fnptr_ci_glClearBufferuiv = (PFNGLCLEARBUFFERUIVPROC)loadEglProc("glClearBufferuiv");
- fnptr_ci_glClearBufferfv = (PFNGLCLEARBUFFERFVPROC)loadEglProc("glClearBufferfv");
- fnptr_ci_glClearBufferfi = (PFNGLCLEARBUFFERFIPROC)loadEglProc("glClearBufferfi");
- fnptr_ci_glGetStringi = (PFNGLGETSTRINGIPROC)loadEglProc("glGetStringi");
- fnptr_ci_glCopyBufferSubData = (PFNGLCOPYBUFFERSUBDATAPROC)loadEglProc("glCopyBufferSubData");
- fnptr_ci_glGetUniformIndices = (PFNGLGETUNIFORMINDICESPROC)loadEglProc("glGetUniformIndices");
- fnptr_ci_glGetActiveUniformsiv = (PFNGLGETACTIVEUNIFORMSIVPROC)loadEglProc("glGetActiveUniformsiv");
- fnptr_ci_glGetUniformBlockIndex = (PFNGLGETUNIFORMBLOCKINDEXPROC)loadEglProc("glGetUniformBlockIndex");
- fnptr_ci_glGetActiveUniformBlockiv = (PFNGLGETACTIVEUNIFORMBLOCKIVPROC)loadEglProc("glGetActiveUniformBlockiv");
- fnptr_ci_glGetActiveUniformBlockName = (PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)loadEglProc("glGetActiveUniformBlockName");
- fnptr_ci_glUniformBlockBinding = (PFNGLUNIFORMBLOCKBINDINGPROC)loadEglProc("glUniformBlockBinding");
- fnptr_ci_glDrawArraysInstanced = (PFNGLDRAWARRAYSINSTANCEDPROC)loadEglProc("glDrawArraysInstanced");
- fnptr_ci_glDrawElementsInstanced = (PFNGLDRAWELEMENTSINSTANCEDPROC)loadEglProc("glDrawElementsInstanced");
- fnptr_ci_glFenceSync = (PFNGLFENCESYNCPROC)loadEglProc("glFenceSync");
- fnptr_ci_glIsSync = (PFNGLISSYNCPROC)loadEglProc("glIsSync");
- fnptr_ci_glDeleteSync = (PFNGLDELETESYNCPROC)loadEglProc("glDeleteSync");
- fnptr_ci_glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)loadEglProc("glClientWaitSync");
- fnptr_ci_glWaitSync = (PFNGLWAITSYNCPROC)loadEglProc("glWaitSync");
- fnptr_ci_glGetInteger64v = (PFNGLGETINTEGER64VPROC)loadEglProc("glGetInteger64v");
- fnptr_ci_glGetSynciv = (PFNGLGETSYNCIVPROC)loadEglProc("glGetSynciv");
- fnptr_ci_glGetInteger64i_v = (PFNGLGETINTEGER64I_VPROC)loadEglProc("glGetInteger64i_v");
- fnptr_ci_glGetBufferParameteri64v = (PFNGLGETBUFFERPARAMETERI64VPROC)loadEglProc("glGetBufferParameteri64v");
- fnptr_ci_glGenSamplers = (PFNGLGENSAMPLERSPROC)loadEglProc("glGenSamplers");
- fnptr_ci_glDeleteSamplers = (PFNGLDELETESAMPLERSPROC)loadEglProc("glDeleteSamplers");
- fnptr_ci_glIsSampler = (PFNGLISSAMPLERPROC)loadEglProc("glIsSampler");
- fnptr_ci_glBindSampler = (PFNGLBINDSAMPLERPROC)loadEglProc("glBindSampler");
- fnptr_ci_glSamplerParameteri = (PFNGLSAMPLERPARAMETERIPROC)loadEglProc("glSamplerParameteri");
- fnptr_ci_glSamplerParameteriv = (PFNGLSAMPLERPARAMETERIVPROC)loadEglProc("glSamplerParameteriv");
- fnptr_ci_glSamplerParameterf = (PFNGLSAMPLERPARAMETERFPROC)loadEglProc("glSamplerParameterf");
- fnptr_ci_glSamplerParameterfv = (PFNGLSAMPLERPARAMETERFVPROC)loadEglProc("glSamplerParameterfv");
- fnptr_ci_glGetSamplerParameteriv = (PFNGLGETSAMPLERPARAMETERIVPROC)loadEglProc("glGetSamplerParameteriv");
- fnptr_ci_glGetSamplerParameterfv = (PFNGLGETSAMPLERPARAMETERFVPROC)loadEglProc("glGetSamplerParameterfv");
- fnptr_ci_glVertexAttribDivisor = (PFNGLVERTEXATTRIBDIVISORPROC)loadEglProc("glVertexAttribDivisor");
- fnptr_ci_glBindTransformFeedback = (PFNGLBINDTRANSFORMFEEDBACKPROC)loadEglProc("glBindTransformFeedback");
- fnptr_ci_glDeleteTransformFeedbacks = (PFNGLDELETETRANSFORMFEEDBACKSPROC)loadEglProc("glDeleteTransformFeedbacks");
- fnptr_ci_glGenTransformFeedbacks = (PFNGLGENTRANSFORMFEEDBACKSPROC)loadEglProc("glGenTransformFeedbacks");
- fnptr_ci_glIsTransformFeedback = (PFNGLISTRANSFORMFEEDBACKPROC)loadEglProc("glIsTransformFeedback");
- fnptr_ci_glPauseTransformFeedback = (PFNGLPAUSETRANSFORMFEEDBACKPROC)loadEglProc("glPauseTransformFeedback");
- fnptr_ci_glResumeTransformFeedback = (PFNGLRESUMETRANSFORMFEEDBACKPROC)loadEglProc("glResumeTransformFeedback");
- fnptr_ci_glGetProgramBinary = (PFNGLGETPROGRAMBINARYPROC)loadEglProc("glGetProgramBinary");
- fnptr_ci_glProgramBinary = (PFNGLPROGRAMBINARYPROC)loadEglProc("glProgramBinary");
- fnptr_ci_glProgramParameteri = (PFNGLPROGRAMPARAMETERIPROC)loadEglProc("glProgramParameteri");
- fnptr_ci_glInvalidateFramebuffer = (PFNGLINVALIDATEFRAMEBUFFERPROC)loadEglProc("glInvalidateFramebuffer");
- fnptr_ci_glInvalidateSubFramebuffer = (PFNGLINVALIDATESUBFRAMEBUFFERPROC)loadEglProc("glInvalidateSubFramebuffer");
- fnptr_ci_glTexStorage2D = (PFNGLTEXSTORAGE2DPROC)loadEglProc("glTexStorage2D");
- fnptr_ci_glTexStorage3D = (PFNGLTEXSTORAGE3DPROC)loadEglProc("glTexStorage3D");
- fnptr_ci_glGetInternalformativ = (PFNGLGETINTERNALFORMATIVPROC)loadEglProc("glGetInternalformativ");
- DEBUG( "gl_es_3_0_load: SUCCESSFUL! | " << getLoadCount() << " procs loaded");
- }
- #endif // defined( CINDER_LINUX ) && ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_3 )
- // ----------------------------------------------------------------------------
- // OpenGL ES 3.1
- // ----------------------------------------------------------------------------
- #if defined( CINDER_LINUX ) && ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_3_1 )
- PFNGLDISPATCHCOMPUTEPROC fnptr_ci_glDispatchCompute = nullptr;
- PFNGLDISPATCHCOMPUTEINDIRECTPROC fnptr_ci_glDispatchComputeIndirect = nullptr;
- PFNGLDRAWARRAYSINDIRECTPROC fnptr_ci_glDrawArraysIndirect = nullptr;
- PFNGLDRAWELEMENTSINDIRECTPROC fnptr_ci_glDrawElementsIndirect = nullptr;
- PFNGLFRAMEBUFFERPARAMETERIPROC fnptr_ci_glFramebufferParameteri = nullptr;
- PFNGLGETFRAMEBUFFERPARAMETERIVPROC fnptr_ci_glGetFramebufferParameteriv = nullptr;
- PFNGLGETPROGRAMINTERFACEIVPROC fnptr_ci_glGetProgramInterfaceiv = nullptr;
- PFNGLGETPROGRAMRESOURCEINDEXPROC fnptr_ci_glGetProgramResourceIndex = nullptr;
- PFNGLGETPROGRAMRESOURCENAMEPROC fnptr_ci_glGetProgramResourceName = nullptr;
- PFNGLGETPROGRAMRESOURCEIVPROC fnptr_ci_glGetProgramResourceiv = nullptr;
- PFNGLGETPROGRAMRESOURCELOCATIONPROC fnptr_ci_glGetProgramResourceLocation = nullptr;
- PFNGLUSEPROGRAMSTAGESPROC fnptr_ci_glUseProgramStages = nullptr;
- PFNGLACTIVESHADERPROGRAMPROC fnptr_ci_glActiveShaderProgram = nullptr;
- PFNGLCREATESHADERPROGRAMVPROC fnptr_ci_glCreateShaderProgramv = nullptr;
- PFNGLBINDPROGRAMPIPELINEPROC fnptr_ci_glBindProgramPipeline = nullptr;
- PFNGLDELETEPROGRAMPIPELINESPROC fnptr_ci_glDeleteProgramPipelines = nullptr;
- PFNGLGENPROGRAMPIPELINESPROC fnptr_ci_glGenProgramPipelines = nullptr;
- PFNGLISPROGRAMPIPELINEPROC fnptr_ci_glIsProgramPipeline = nullptr;
- PFNGLGETPROGRAMPIPELINEIVPROC fnptr_ci_glGetProgramPipelineiv = nullptr;
- PFNGLPROGRAMUNIFORM1IPROC fnptr_ci_glProgramUniform1i = nullptr;
- PFNGLPROGRAMUNIFORM2IPROC fnptr_ci_glProgramUniform2i = nullptr;
- PFNGLPROGRAMUNIFORM3IPROC fnptr_ci_glProgramUniform3i = nullptr;
- PFNGLPROGRAMUNIFORM4IPROC fnptr_ci_glProgramUniform4i = nullptr;
- PFNGLPROGRAMUNIFORM1UIPROC fnptr_ci_glProgramUniform1ui = nullptr;
- PFNGLPROGRAMUNIFORM2UIPROC fnptr_ci_glProgramUniform2ui = nullptr;
- PFNGLPROGRAMUNIFORM3UIPROC fnptr_ci_glProgramUniform3ui = nullptr;
- PFNGLPROGRAMUNIFORM4UIPROC fnptr_ci_glProgramUniform4ui = nullptr;
- PFNGLPROGRAMUNIFORM1FPROC fnptr_ci_glProgramUniform1f = nullptr;
- PFNGLPROGRAMUNIFORM2FPROC fnptr_ci_glProgramUniform2f = nullptr;
- PFNGLPROGRAMUNIFORM3FPROC fnptr_ci_glProgramUniform3f = nullptr;
- PFNGLPROGRAMUNIFORM4FPROC fnptr_ci_glProgramUniform4f = nullptr;
- PFNGLPROGRAMUNIFORM1IVPROC fnptr_ci_glProgramUniform1iv = nullptr;
- PFNGLPROGRAMUNIFORM2IVPROC fnptr_ci_glProgramUniform2iv = nullptr;
- PFNGLPROGRAMUNIFORM3IVPROC fnptr_ci_glProgramUniform3iv = nullptr;
- PFNGLPROGRAMUNIFORM4IVPROC fnptr_ci_glProgramUniform4iv = nullptr;
- PFNGLPROGRAMUNIFORM1UIVPROC fnptr_ci_glProgramUniform1uiv = nullptr;
- PFNGLPROGRAMUNIFORM2UIVPROC fnptr_ci_glProgramUniform2uiv = nullptr;
- PFNGLPROGRAMUNIFORM3UIVPROC fnptr_ci_glProgramUniform3uiv = nullptr;
- PFNGLPROGRAMUNIFORM4UIVPROC fnptr_ci_glProgramUniform4uiv = nullptr;
- PFNGLPROGRAMUNIFORM1FVPROC fnptr_ci_glProgramUniform1fv = nullptr;
- PFNGLPROGRAMUNIFORM2FVPROC fnptr_ci_glProgramUniform2fv = nullptr;
- PFNGLPROGRAMUNIFORM3FVPROC fnptr_ci_glProgramUniform3fv = nullptr;
- PFNGLPROGRAMUNIFORM4FVPROC fnptr_ci_glProgramUniform4fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX2FVPROC fnptr_ci_glProgramUniformMatrix2fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX3FVPROC fnptr_ci_glProgramUniformMatrix3fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX4FVPROC fnptr_ci_glProgramUniformMatrix4fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC fnptr_ci_glProgramUniformMatrix2x3fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC fnptr_ci_glProgramUniformMatrix3x2fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC fnptr_ci_glProgramUniformMatrix2x4fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC fnptr_ci_glProgramUniformMatrix4x2fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC fnptr_ci_glProgramUniformMatrix3x4fv = nullptr;
- PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC fnptr_ci_glProgramUniformMatrix4x3fv = nullptr;
- PFNGLVALIDATEPROGRAMPIPELINEPROC fnptr_ci_glValidateProgramPipeline = nullptr;
- PFNGLGETPROGRAMPIPELINEINFOLOGPROC fnptr_ci_glGetProgramPipelineInfoLog = nullptr;
- PFNGLBINDIMAGETEXTUREPROC fnptr_ci_glBindImageTexture = nullptr;
- PFNGLGETBOOLEANI_VPROC fnptr_ci_glGetBooleani_v = nullptr;
- PFNGLMEMORYBARRIERPROC fnptr_ci_glMemoryBarrier = nullptr;
- PFNGLMEMORYBARRIERBYREGIONPROC fnptr_ci_glMemoryBarrierByRegion = nullptr;
- PFNGLTEXSTORAGE2DMULTISAMPLEPROC fnptr_ci_glTexStorage2DMultisample = nullptr;
- PFNGLGETMULTISAMPLEFVPROC fnptr_ci_glGetMultisamplefv = nullptr;
- PFNGLSAMPLEMASKIPROC fnptr_ci_glSampleMaski = nullptr;
- PFNGLGETTEXLEVELPARAMETERIVPROC fnptr_ci_glGetTexLevelParameteriv = nullptr;
- PFNGLGETTEXLEVELPARAMETERFVPROC fnptr_ci_glGetTexLevelParameterfv = nullptr;
- PFNGLBINDVERTEXBUFFERPROC fnptr_ci_glBindVertexBuffer = nullptr;
- PFNGLVERTEXATTRIBFORMATPROC fnptr_ci_glVertexAttribFormat = nullptr;
- PFNGLVERTEXATTRIBIFORMATPROC fnptr_ci_glVertexAttribIFormat = nullptr;
- PFNGLVERTEXATTRIBBINDINGPROC fnptr_ci_glVertexAttribBinding = nullptr;
- PFNGLVERTEXBINDINGDIVISORPROC fnptr_ci_glVertexBindingDivisor = nullptr;
- void gl_es_3_1_load()
- {
- //DEBUG( "gl_es_3_1_load entered..." );
- clearLoadCount();
- fnptr_ci_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)loadEglProc("glDispatchCompute");
- fnptr_ci_glDispatchComputeIndirect = (PFNGLDISPATCHCOMPUTEINDIRECTPROC)loadEglProc("glDispatchComputeIndirect");
- fnptr_ci_glDrawArraysIndirect = (PFNGLDRAWARRAYSINDIRECTPROC)loadEglProc("glDrawArraysIndirect");
- fnptr_ci_glDrawElementsIndirect = (PFNGLDRAWELEMENTSINDIRECTPROC)loadEglProc("glDrawElementsIndirect");
- fnptr_ci_glFramebufferParameteri = (PFNGLFRAMEBUFFERPARAMETERIPROC)loadEglProc("glFramebufferParameteri");
- fnptr_ci_glGetFramebufferParameteriv = (PFNGLGETFRAMEBUFFERPARAMETERIVPROC)loadEglProc("glGetFramebufferParameteriv");
- fnptr_ci_glGetProgramInterfaceiv = (PFNGLGETPROGRAMINTERFACEIVPROC)loadEglProc("glGetProgramInterfaceiv");
- fnptr_ci_glGetProgramResourceIndex = (PFNGLGETPROGRAMRESOURCEINDEXPROC)loadEglProc("glGetProgramResourceIndex");
- fnptr_ci_glGetProgramResourceName = (PFNGLGETPROGRAMRESOURCENAMEPROC)loadEglProc("glGetProgramResourceName");
- fnptr_ci_glGetProgramResourceiv = (PFNGLGETPROGRAMRESOURCEIVPROC)loadEglProc("glGetProgramResourceiv");
- fnptr_ci_glGetProgramResourceLocation = (PFNGLGETPROGRAMRESOURCELOCATIONPROC)loadEglProc("glGetProgramResourceLocation");
- fnptr_ci_glUseProgramStages = (PFNGLUSEPROGRAMSTAGESPROC)loadEglProc("glUseProgramStages");
- fnptr_ci_glActiveShaderProgram = (PFNGLACTIVESHADERPROGRAMPROC)loadEglProc("glActiveShaderProgram");
- fnptr_ci_glCreateShaderProgramv = (PFNGLCREATESHADERPROGRAMVPROC)loadEglProc("glCreateShaderProgramv");
- fnptr_ci_glBindProgramPipeline = (PFNGLBINDPROGRAMPIPELINEPROC)loadEglProc("glBindProgramPipeline");
- fnptr_ci_glDeleteProgramPipelines = (PFNGLDELETEPROGRAMPIPELINESPROC)loadEglProc("glDeleteProgramPipelines");
- fnptr_ci_glGenProgramPipelines = (PFNGLGENPROGRAMPIPELINESPROC)loadEglProc("glGenProgramPipelines");
- fnptr_ci_glIsProgramPipeline = (PFNGLISPROGRAMPIPELINEPROC)loadEglProc("glIsProgramPipeline");
- fnptr_ci_glGetProgramPipelineiv = (PFNGLGETPROGRAMPIPELINEIVPROC)loadEglProc("glGetProgramPipelineiv");
- fnptr_ci_glProgramUniform1i = (PFNGLPROGRAMUNIFORM1IPROC)loadEglProc("glProgramUniform1i");
- fnptr_ci_glProgramUniform2i = (PFNGLPROGRAMUNIFORM2IPROC)loadEglProc("glProgramUniform2i");
- fnptr_ci_glProgramUniform3i = (PFNGLPROGRAMUNIFORM3IPROC)loadEglProc("glProgramUniform3i");
- fnptr_ci_glProgramUniform4i = (PFNGLPROGRAMUNIFORM4IPROC)loadEglProc("glProgramUniform4i");
- fnptr_ci_glProgramUniform1ui = (PFNGLPROGRAMUNIFORM1UIPROC)loadEglProc("glProgramUniform1ui");
- fnptr_ci_glProgramUniform2ui = (PFNGLPROGRAMUNIFORM2UIPROC)loadEglProc("glProgramUniform2ui");
- fnptr_ci_glProgramUniform3ui = (PFNGLPROGRAMUNIFORM3UIPROC)loadEglProc("glProgramUniform3ui");
- fnptr_ci_glProgramUniform4ui = (PFNGLPROGRAMUNIFORM4UIPROC)loadEglProc("glProgramUniform4ui");
- fnptr_ci_glProgramUniform1f = (PFNGLPROGRAMUNIFORM1FPROC)loadEglProc("glProgramUniform1f");
- fnptr_ci_glProgramUniform2f = (PFNGLPROGRAMUNIFORM2FPROC)loadEglProc("glProgramUniform2f");
- fnptr_ci_glProgramUniform3f = (PFNGLPROGRAMUNIFORM3FPROC)loadEglProc("glProgramUniform3f");
- fnptr_ci_glProgramUniform4f = (PFNGLPROGRAMUNIFORM4FPROC)loadEglProc("glProgramUniform4f");
- fnptr_ci_glProgramUniform1iv = (PFNGLPROGRAMUNIFORM1IVPROC)loadEglProc("glProgramUniform1iv");
- fnptr_ci_glProgramUniform2iv = (PFNGLPROGRAMUNIFORM2IVPROC)loadEglProc("glProgramUniform2iv");
- fnptr_ci_glProgramUniform3iv = (PFNGLPROGRAMUNIFORM3IVPROC)loadEglProc("glProgramUniform3iv");
- fnptr_ci_glProgramUniform4iv = (PFNGLPROGRAMUNIFORM4IVPROC)loadEglProc("glProgramUniform4iv");
- fnptr_ci_glProgramUniform1uiv = (PFNGLPROGRAMUNIFORM1UIVPROC)loadEglProc("glProgramUniform1uiv");
- fnptr_ci_glProgramUniform2uiv = (PFNGLPROGRAMUNIFORM2UIVPROC)loadEglProc("glProgramUniform2uiv");
- fnptr_ci_glProgramUniform3uiv = (PFNGLPROGRAMUNIFORM3UIVPROC)loadEglProc("glProgramUniform3uiv");
- fnptr_ci_glProgramUniform4uiv = (PFNGLPROGRAMUNIFORM4UIVPROC)loadEglProc("glProgramUniform4uiv");
- fnptr_ci_glProgramUniform1fv = (PFNGLPROGRAMUNIFORM1FVPROC)loadEglProc("glProgramUniform1fv");
- fnptr_ci_glProgramUniform2fv = (PFNGLPROGRAMUNIFORM2FVPROC)loadEglProc("glProgramUniform2fv");
- fnptr_ci_glProgramUniform3fv = (PFNGLPROGRAMUNIFORM3FVPROC)loadEglProc("glProgramUniform3fv");
- fnptr_ci_glProgramUniform4fv = (PFNGLPROGRAMUNIFORM4FVPROC)loadEglProc("glProgramUniform4fv");
- fnptr_ci_glProgramUniformMatrix2fv = (PFNGLPROGRAMUNIFORMMATRIX2FVPROC)loadEglProc("glProgramUniformMatrix2fv");
- fnptr_ci_glProgramUniformMatrix3fv = (PFNGLPROGRAMUNIFORMMATRIX3FVPROC)loadEglProc("glProgramUniformMatrix3fv");
- fnptr_ci_glProgramUniformMatrix4fv = (PFNGLPROGRAMUNIFORMMATRIX4FVPROC)loadEglProc("glProgramUniformMatrix4fv");
- fnptr_ci_glProgramUniformMatrix2x3fv = (PFNGLPROGRAMUNIFORMMATRIX2X3FVPROC)loadEglProc("glProgramUniformMatrix2x3fv");
- fnptr_ci_glProgramUniformMatrix3x2fv = (PFNGLPROGRAMUNIFORMMATRIX3X2FVPROC)loadEglProc("glProgramUniformMatrix3x2fv");
- fnptr_ci_glProgramUniformMatrix2x4fv = (PFNGLPROGRAMUNIFORMMATRIX2X4FVPROC)loadEglProc("glProgramUniformMatrix2x4fv");
- fnptr_ci_glProgramUniformMatrix4x2fv = (PFNGLPROGRAMUNIFORMMATRIX4X2FVPROC)loadEglProc("glProgramUniformMatrix4x2fv");
- fnptr_ci_glProgramUniformMatrix3x4fv = (PFNGLPROGRAMUNIFORMMATRIX3X4FVPROC)loadEglProc("glProgramUniformMatrix3x4fv");
- fnptr_ci_glProgramUniformMatrix4x3fv = (PFNGLPROGRAMUNIFORMMATRIX4X3FVPROC)loadEglProc("glProgramUniformMatrix4x3fv");
- fnptr_ci_glValidateProgramPipeline = (PFNGLVALIDATEPROGRAMPIPELINEPROC)loadEglProc("glValidateProgramPipeline");
- fnptr_ci_glGetProgramPipelineInfoLog = (PFNGLGETPROGRAMPIPELINEINFOLOGPROC)loadEglProc("glGetProgramPipelineInfoLog");
- fnptr_ci_glBindImageTexture = (PFNGLBINDIMAGETEXTUREPROC)loadEglProc("glBindImageTexture");
- fnptr_ci_glGetBooleani_v = (PFNGLGETBOOLEANI_VPROC)loadEglProc("glGetBooleani_v");
- fnptr_ci_glMemoryBarrier = (PFNGLMEMORYBARRIERPROC)loadEglProc("glMemoryBarrier");
- fnptr_ci_glMemoryBarrierByRegion = (PFNGLMEMORYBARRIERBYREGIONPROC)loadEglProc("glMemoryBarrierByRegion");
- fnptr_ci_glTexStorage2DMultisample = (PFNGLTEXSTORAGE2DMULTISAMPLEPROC)loadEglProc("glTexStorage2DMultisample");
- fnptr_ci_glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC)loadEglProc("glGetMultisamplefv");
- fnptr_ci_glSampleMaski = (PFNGLSAMPLEMASKIPROC)loadEglProc("glSampleMaski");
- fnptr_ci_glGetTexLevelParameteriv = (PFNGLGETTEXLEVELPARAMETERIVPROC)loadEglProc("glGetTexLevelParameteriv");
- fnptr_ci_glGetTexLevelParameterfv = (PFNGLGETTEXLEVELPARAMETERFVPROC)loadEglProc("glGetTexLevelParameterfv");
- fnptr_ci_glBindVertexBuffer = (PFNGLBINDVERTEXBUFFERPROC)loadEglProc("glBindVertexBuffer");
- fnptr_ci_glVertexAttribFormat = (PFNGLVERTEXATTRIBFORMATPROC)loadEglProc("glVertexAttribFormat");
- fnptr_ci_glVertexAttribIFormat = (PFNGLVERTEXATTRIBIFORMATPROC)loadEglProc("glVertexAttribIFormat");
- fnptr_ci_glVertexAttribBinding = (PFNGLVERTEXATTRIBBINDINGPROC)loadEglProc("glVertexAttribBinding");
- fnptr_ci_glVertexBindingDivisor = (PFNGLVERTEXBINDINGDIVISORPROC)loadEglProc("glVertexBindingDivisor");
- DEBUG( "gl_es_3_1_load: SUCCESSFUL! | " << getLoadCount() << " procs loaded");
- }
- #endif // defined( CINDER_LINUX ) && ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_3_1 )
- // ----------------------------------------------------------------------------
- // OpenGL ES 3.2
- // ----------------------------------------------------------------------------
- #if defined( CINDER_LINUX ) && ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_3_2 )
- PFNGLBLENDBARRIERPROC fnptr_ci_glBlendBarrier = nullptr;
- PFNGLCOPYIMAGESUBDATAPROC fnptr_ci_glCopyImageSubData = nullptr;
- PFNGLDEBUGMESSAGECONTROLPROC fnptr_ci_glDebugMessageControl = nullptr;
- PFNGLDEBUGMESSAGEINSERTPROC fnptr_ci_glDebugMessageInsert = nullptr;
- PFNGLDEBUGMESSAGECALLBACKPROC fnptr_ci_glDebugMessageCallback = nullptr;
- PFNGLGETDEBUGMESSAGELOGPROC fnptr_ci_glGetDebugMessageLog = nullptr;
- PFNGLPUSHDEBUGGROUPPROC fnptr_ci_glPushDebugGroup = nullptr;
- PFNGLPOPDEBUGGROUPPROC fnptr_ci_glPopDebugGroup = nullptr;
- PFNGLOBJECTLABELPROC fnptr_ci_glObjectLabel = nullptr;
- PFNGLGETOBJECTLABELPROC fnptr_ci_glGetObjectLabel = nullptr;
- PFNGLOBJECTPTRLABELPROC fnptr_ci_glObjectPtrLabel = nullptr;
- PFNGLGETOBJECTPTRLABELPROC fnptr_ci_glGetObjectPtrLabel = nullptr;
- PFNGLGETPOINTERVPROC fnptr_ci_glGetPointerv = nullptr;
- PFNGLENABLEIPROC fnptr_ci_glEnablei = nullptr;
- PFNGLDISABLEIPROC fnptr_ci_glDisablei = nullptr;
- PFNGLBLENDEQUATIONIPROC fnptr_ci_glBlendEquationi = nullptr;
- PFNGLBLENDEQUATIONSEPARATEIPROC fnptr_ci_glBlendEquationSeparatei = nullptr;
- PFNGLBLENDFUNCIPROC fnptr_ci_glBlendFunci = nullptr;
- PFNGLBLENDFUNCSEPARATEIPROC fnptr_ci_glBlendFuncSeparatei = nullptr;
- PFNGLCOLORMASKIPROC fnptr_ci_glColorMaski = nullptr;
- PFNGLISENABLEDIPROC fnptr_ci_glIsEnabledi = nullptr;
- PFNGLDRAWELEMENTSBASEVERTEXPROC fnptr_ci_glDrawElementsBaseVertex = nullptr;
- PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC fnptr_ci_glDrawRangeElementsBaseVertex = nullptr;
- PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC fnptr_ci_glDrawElementsInstancedBaseVertex = nullptr;
- PFNGLFRAMEBUFFERTEXTUREPROC fnptr_ci_glFramebufferTexture = nullptr;
- PFNGLPRIMITIVEBOUNDINGBOXPROC fnptr_ci_glPrimitiveBoundingBox = nullptr;
- PFNGLGETGRAPHICSRESETSTATUSPROC fnptr_ci_glGetGraphicsResetStatus = nullptr;
- PFNGLREADNPIXELSPROC fnptr_ci_glReadnPixels = nullptr;
- PFNGLGETNUNIFORMFVPROC fnptr_ci_glGetnUniformfv = nullptr;
- PFNGLGETNUNIFORMIVPROC fnptr_ci_glGetnUniformiv = nullptr;
- PFNGLGETNUNIFORMUIVPROC fnptr_ci_glGetnUniformuiv = nullptr;
- PFNGLMINSAMPLESHADINGPROC fnptr_ci_glMinSampleShading = nullptr;
- PFNGLPATCHPARAMETERIPROC fnptr_ci_glPatchParameteri = nullptr;
- PFNGLTEXPARAMETERIIVPROC fnptr_ci_glTexParameterIiv = nullptr;
- PFNGLTEXPARAMETERIUIVPROC fnptr_ci_glTexParameterIuiv = nullptr;
- PFNGLGETTEXPARAMETERIIVPROC fnptr_ci_glGetTexParameterIiv = nullptr;
- PFNGLGETTEXPARAMETERIUIVPROC fnptr_ci_glGetTexParameterIuiv = nullptr;
- PFNGLSAMPLERPARAMETERIIVPROC fnptr_ci_glSamplerParameterIiv = nullptr;
- PFNGLSAMPLERPARAMETERIUIVPROC fnptr_ci_glSamplerParameterIuiv = nullptr;
- PFNGLGETSAMPLERPARAMETERIIVPROC fnptr_ci_glGetSamplerParameterIiv = nullptr;
- PFNGLGETSAMPLERPARAMETERIUIVPROC fnptr_ci_glGetSamplerParameterIuiv = nullptr;
- PFNGLTEXBUFFERPROC fnptr_ci_glTexBuffer = nullptr;
- PFNGLTEXBUFFERRANGEPROC fnptr_ci_glTexBufferRange = nullptr;
- PFNGLTEXSTORAGE3DMULTISAMPLEPROC fnptr_ci_glTexStorage3DMultisample = nullptr;
- void gl_es_3_2_load()
- {
- //DEBUG( "gl_es_3_2_load entered..." );
- clearLoadCount();
- fnptr_ci_glBlendBarrier = (PFNGLBLENDBARRIERPROC)loadEglProc("glBlendBarrier");
- fnptr_ci_glCopyImageSubData = (PFNGLCOPYIMAGESUBDATAPROC)loadEglProc("glCopyImageSubData");
- fnptr_ci_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)loadEglProc("glDebugMessageControl");
- fnptr_ci_glDebugMessageInsert = (PFNGLDEBUGMESSAGEINSERTPROC)loadEglProc("glDebugMessageInsert");
- fnptr_ci_glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKPROC)loadEglProc("glDebugMessageCallback");
- fnptr_ci_glGetDebugMessageLog = (PFNGLGETDEBUGMESSAGELOGPROC)loadEglProc("glGetDebugMessageLog");
- fnptr_ci_glPushDebugGroup = (PFNGLPUSHDEBUGGROUPPROC)loadEglProc("glPushDebugGroup");
- fnptr_ci_glPopDebugGroup = (PFNGLPOPDEBUGGROUPPROC)loadEglProc("glPopDebugGroup");
- fnptr_ci_glObjectLabel = (PFNGLOBJECTLABELPROC)loadEglProc("glObjectLabel");
- fnptr_ci_glGetObjectLabel = (PFNGLGETOBJECTLABELPROC)loadEglProc("glGetObjectLabel");
- fnptr_ci_glObjectPtrLabel = (PFNGLOBJECTPTRLABELPROC)loadEglProc("glObjectPtrLabel");
- fnptr_ci_glGetObjectPtrLabel = (PFNGLGETOBJECTPTRLABELPROC)loadEglProc("glGetObjectPtrLabel");
- fnptr_ci_glGetPointerv = (PFNGLGETPOINTERVPROC)loadEglProc("glGetPointerv");
- fnptr_ci_glEnablei = (PFNGLENABLEIPROC)loadEglProc("glEnablei");
- fnptr_ci_glDisablei = (PFNGLDISABLEIPROC)loadEglProc("glDisablei");
- fnptr_ci_glBlendEquationi = (PFNGLBLENDEQUATIONIPROC)loadEglProc("glBlendEquationi");
- fnptr_ci_glBlendEquationSeparatei = (PFNGLBLENDEQUATIONSEPARATEIPROC)loadEglProc("glBlendEquationSeparatei");
- fnptr_ci_glBlendFunci = (PFNGLBLENDFUNCIPROC)loadEglProc("glBlendFunci");
- fnptr_ci_glBlendFuncSeparatei = (PFNGLBLENDFUNCSEPARATEIPROC)loadEglProc("glBlendFuncSeparatei");
- fnptr_ci_glColorMaski = (PFNGLCOLORMASKIPROC)loadEglProc("glColorMaski");
- fnptr_ci_glIsEnabledi = (PFNGLISENABLEDIPROC)loadEglProc("glIsEnabledi");
- fnptr_ci_glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXPROC)loadEglProc("glDrawElementsBaseVertex");
- fnptr_ci_glDrawRangeElementsBaseVertex = (PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)loadEglProc("glDrawRangeElementsBaseVertex");
- fnptr_ci_glDrawElementsInstancedBaseVertex = (PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)loadEglProc("glDrawElementsInstancedBaseVertex");
- fnptr_ci_glFramebufferTexture = (PFNGLFRAMEBUFFERTEXTUREPROC)loadEglProc("glFramebufferTexture");
- fnptr_ci_glPrimitiveBoundingBox = (PFNGLPRIMITIVEBOUNDINGBOXPROC)loadEglProc("glPrimitiveBoundingBox");
- fnptr_ci_glGetGraphicsResetStatus = (PFNGLGETGRAPHICSRESETSTATUSPROC)loadEglProc("glGetGraphicsResetStatus");
- fnptr_ci_glReadnPixels = (PFNGLREADNPIXELSPROC)loadEglProc("glReadnPixels");
- fnptr_ci_glGetnUniformfv = (PFNGLGETNUNIFORMFVPROC)loadEglProc("glGetnUniformfv");
- fnptr_ci_glGetnUniformiv = (PFNGLGETNUNIFORMIVPROC)loadEglProc("glGetnUniformiv");
- fnptr_ci_glGetnUniformuiv = (PFNGLGETNUNIFORMUIVPROC)loadEglProc("glGetnUniformuiv");
- fnptr_ci_glMinSampleShading = (PFNGLMINSAMPLESHADINGPROC)loadEglProc("glMinSampleShading");
- fnptr_ci_glPatchParameteri = (PFNGLPATCHPARAMETERIPROC)loadEglProc("glPatchParameteri");
- fnptr_ci_glTexParameterIiv = (PFNGLTEXPARAMETERIIVPROC)loadEglProc("glTexParameterIiv");
- fnptr_ci_glTexParameterIuiv = (PFNGLTEXPARAMETERIUIVPROC)loadEglProc("glTexParameterIuiv");
- fnptr_ci_glGetTexParameterIiv = (PFNGLGETTEXPARAMETERIIVPROC)loadEglProc("glGetTexParameterIiv");
- fnptr_ci_glGetTexParameterIuiv = (PFNGLGETTEXPARAMETERIUIVPROC)loadEglProc("glGetTexParameterIuiv");
- fnptr_ci_glSamplerParameterIiv = (PFNGLSAMPLERPARAMETERIIVPROC)loadEglProc("glSamplerParameterIiv");
- fnptr_ci_glSamplerParameterIuiv = (PFNGLSAMPLERPARAMETERIUIVPROC)loadEglProc("glSamplerParameterIuiv");
- fnptr_ci_glGetSamplerParameterIiv = (PFNGLGETSAMPLERPARAMETERIIVPROC)loadEglProc("glGetSamplerParameterIiv");
- fnptr_ci_glGetSamplerParameterIuiv = (PFNGLGETSAMPLERPARAMETERIUIVPROC)loadEglProc("glGetSamplerParameterIuiv");
- fnptr_ci_glTexBuffer = (PFNGLTEXBUFFERPROC)loadEglProc("glTexBuffer");
- fnptr_ci_glTexBufferRange = (PFNGLTEXBUFFERRANGEPROC)loadEglProc("glTexBufferRange");
- fnptr_ci_glTexStorage3DMultisample = (PFNGLTEXSTORAGE3DMULTISAMPLEPROC)loadEglProc("glTexStorage3DMultisample");
- DEBUG( "gl_es_3_2_load: SUCCESSFUL! | " << getLoadCount() << " procs loaded");
- }
- #endif // defined( CINDER_LINUX ) && ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_3_2 )
- // ----------------------------------------------------------------------------
- // OpenGL ES 2.0 Extensions
- // ----------------------------------------------------------------------------
- #if ( CINDER_GL_ES_VERSION >= CINDER_GL_ES_VERSION_2 )
- #define extstr_GL_NV_read_buffer EXT_QUOTE_STR(GL_NV_read_buffer)
- #define extstr_GL_OES_vertex_array_object EXT_QUOTE_STR(GL_OES_vertex_array_object)
- #define extstr_GL_ARB_vertex_array_object EXT_QUOTE_STR(GL_ARB_vertex_array_object)
- PFNGLBLENDBARRIERKHRPROC fnptr_ci_glBlendBarrierKHR = nullptr;
- PFNGLDEBUGMESSAGECONTROLKHRPROC fnptr_ci_glDebugMessageControlKHR = nullptr;
- PFNGLDEBUGMESSAGEINSERTKHRPROC fnptr_ci_glDebugMessageInsertKHR = nullptr;
- PFNGLDEBUGMESSAGECALLBACKKHRPROC fnptr_ci_glDebugMessageCallbackKHR = nullptr;
- PFNGLGETDEBUGMESSAGELOGKHRPROC fnptr_ci_glGetDebugMessageLogKHR = nullptr;
- PFNGLPUSHDEBUGGROUPKHRPROC fnptr_ci_glPushDebugGroupKHR = nullptr;
- PFNGLPOPDEBUGGROUPKHRPROC fnptr_ci_glPopDebugGroupKHR = nullptr;
- PFNGLOBJECTLABELKHRPROC fnptr_ci_glObjectLabelKHR = nullptr;
- PFNGLGETOBJECTLABELKHRPROC fnptr_ci_glGetObjectLabelKHR = nullptr;
- PFNGLOBJECTPTRLABELKHRPROC fnptr_ci_glObjectPtrLabelKHR = nullptr;
- PFNGLGETOBJECTPTRLABELKHRPROC fnptr_ci_glGetObjectPtrLabelKHR = nullptr;
- PFNGLGETPOINTERVKHRPROC fnptr_ci_glGetPointervKHR = nullptr;
- PFNGLGETGRAPHICSRESETSTATUSKHRPROC fnptr_ci_glGetGraphicsResetStatusKHR = nullptr;
- PFNGLREADNPIXELSKHRPROC fnptr_ci_glReadnPixelsKHR = nullptr;
- PFNGLGETNUNIFORMFVKHRPROC fnptr_ci_glGetnUniformfvKHR = nullptr;
- PFNGLGETNUNIFORMIVKHRPROC fnptr_ci_glGetnUniformivKHR = nullptr;
- PFNGLGETNUNIFORMUIVKHRPROC fnptr_ci_glGetnUniformuivKHR = nullptr;
- PFNGLEGLIMAGETARGETTEXTURE2DOESPROC fnptr_ci_glEGLImageTargetTexture2DOES = nullptr;
- PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC fnptr_ci_glEGLImageTargetRenderbufferStorageOES = nullptr;
- PFNGLCOPYIMAGESUBDATAOESPROC fnptr_ci_glCopyImageSubDataOES = nullptr;
- PFNGLENABLEIOESPROC fnptr_ci_glEnableiOES = nullptr;
- PFNGLDISABLEIOESPROC fnptr_ci_glDisableiOES = nullptr;
- PFNGLBLENDEQUATIONIOESPROC fnptr_ci_glBlendEquationiOES = nullptr;
- PFNGLBLENDEQUATIONSEPARATEIOESPROC fnptr_ci_glBlendEquationSeparateiOES = nullptr;
- PFNGLBLENDFUNCIOESPROC fnptr_ci_glBlendFunciOES = nullptr;
- PFNGLBLENDFUNCSEPARATEIOESPROC fnptr_ci_glBlendFuncSeparateiOES = nullptr;
- PFNGLCOLORMASKIOESPROC fnptr_ci_glColorMaskiOES = nullptr;
- PFNGLISENABLEDIOESPROC fnptr_ci_glIsEnablediOES = nullptr;
- PFNGLDRAWELEMENTSBASEVERTEXOESPROC fnptr_ci_glDrawElementsBaseVertexOES = nullptr;
- PFNGLDRAWRANGEELEMENTSBASEVERTEXOESPROC fnptr_ci_glDrawRangeElementsBaseVertexOES = nullptr;
- PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESPROC fnptr_ci_glDrawElementsInstancedBaseVertexOES = nullptr;
- PFNGLMULTIDRAWELEMENTSBASEVERTEXOESPROC fnptr_ci_glMultiDrawElementsBaseVertexOES = nullptr;
- PFNGLFRAMEBUFFERTEXTUREOESPROC fnptr_ci_glFramebufferTextureOES = nullptr;
- PFNGLGETPROGRAMBINARYOESPROC fnptr_ci_glGetProgramBinaryOES = nullptr;
- PFNGLPROGRAMBINARYOESPROC fnptr_ci_glProgramBinaryOES = nullptr;
- PFNGLGETBUFFERPOINTERVOESPROC fnptr_ci_glGetBufferPointervOES = nullptr;
- PFNGLPRIMITIVEBOUNDINGBOXOESPROC fnptr_ci_glPrimitiveBoundingBoxOES = nullptr;
- PFNGLMINSAMPLESHADINGOESPROC fnptr_ci_glMinSampleShadingOES = nullptr;
- PFNGLTEXIMAGE3DOESPROC fnptr_ci_glTexImage3DOES = nullptr;
- PFNGLTEXSUBIMAGE3DOESPROC fnptr_ci_glTexSubImage3DOES = nullptr;
- PFNGLCOPYTEXSUBIMAGE3DOESPROC fnptr_ci_glCopyTexSubImage3DOES = nullptr;
- PFNGLCOMPRESSEDTEXIMAGE3DOESPROC fnptr_ci_glCompressedTexImage3DOES = nullptr;
- PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC fnptr_ci_glCompressedTexSubImage3DOES = nullptr;
- PFNGLFRAMEBUFFERTEXTURE3DOESPROC fnptr_ci_glFramebufferTexture3DOES = nullptr;
- PFNGLTEXPARAMETERIIVOESPROC fnptr_ci_glTexParameterIivOES = nullptr;
- PFNGLTEXPARAMETERIUIVOESPROC fnptr_ci_glTexParameterIuivOES = nullptr;
- PFNGLGETTEXPARAMETERIIVOESPROC fnptr_ci_glGetTexParameterIivOES = nullptr;
- PFNGLGETTEXPARAMETERIUIVOESPROC fnptr_ci_glGetTexParameterIuivOES = nullptr;
- PFNGLSAMPLERPARAMETERIIVOESPROC fnptr_ci_glSamplerParameterIivOES = nullptr;
- PFNGLSAMPLERPARAMETERIUIVOESPROC fnptr_ci_glSamplerParameterIuivOES = nullptr;
- PFNGLGETSAMPLERPARAMETERIIVOESPROC fnptr_ci_glGetSamplerParameterIivOES = nullptr;
- PFNGLGETSAMPLERPARAMETERIUIVOESPROC fnptr_ci_glGetSamplerParameterIuivOES = nullptr;
- PFNGLTEXBUFFEROESPROC fnptr_ci_glTexBufferOES = nullptr;
- PFNGLTEXBUFFERRANGEOESPROC fnptr_ci_glTexBufferRangeOES = nullptr;
- PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC fnptr_ci_glTexStorage3DMultisampleOES = nullptr;
- PFNGLTEXTUREVIEWOESPROC fnptr_ci_glTextureViewOES = nullptr;
- PFNGLGETPERFMONITORGROUPSAMDPROC fnptr_ci_glGetPerfMonitorGroupsAMD = nullptr;
- PFNGLGETPERFMONITORCOUNTERSAMDPROC fnptr_ci_glGetPerfMonitorCountersAMD = nullptr;
- PFNGLGETPERFMONITORGROUPSTRINGAMDPROC fnptr_ci_glGetPerfMonitorGroupStringAMD = nullptr;
- PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC fnptr_ci_glGetPerfMonitorCounterStringAMD = nullptr;
- PFNGLGETPERFMONITORCOUNTERINFOAMDPROC fnptr_ci_glGetPerfMonitorCounterInfoAMD = nullptr;
- PFNGLGENPERFMONITORSAMDPROC fnptr_ci_glGenPerfMonitorsAMD = nullptr;
- PFNGLDELETEPERFMONITORSAMDPROC fnptr_ci_glDeletePerfMonitorsAMD = nullptr;
- PFNGLSELECTPERFMONITORCOUNTERSAMDPROC fnptr_ci_glSelectPerfMonitorCountersAMD = nullptr;
- PFNGLBEGINPERFMONITORAMDPROC fnptr_ci_glBeginPerfMonitorAMD = nullptr;
- PFNGLENDPERFMONITORAMDPROC fnptr_ci_glEndPerfMonitorAMD = nullptr;
- PFNGLGETPERFMONITORCOUNTERDATAAMDPROC fnptr_ci_glGetPerfMonitorCounterDataAMD = nullptr;
- PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC fnptr_ci_glGetTranslatedShaderSourceANGLE = nullptr;
- PFNGLCOPYTEXTURELEVELSAPPLEPROC fnptr_ci_glCopyTextureLevelsAPPLE = nullptr;
- PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC fnptr_ci_glResolveMultisampleFramebufferAPPLE = nullptr;
- PFNGLFENCESYNCAPPLEPROC fnptr_ci_glFenceSyncAPPLE = nullptr;
- PFNGLISSYNCAPPLEPROC fnptr_ci_glIsSyncAPPLE = nullptr;
- PFNGLDELETESYNCAPPLEPROC fnptr_ci_glDeleteSyncAPPLE = nullptr;
- PFNGLCLIENTWAITSYNCAPPLEPROC fnptr_ci_glClientWaitSyncAPPLE = nullptr;
- PFNGLWAITSYNCAPPLEPROC fnptr_ci_glWaitSyncAPPLE = nullptr;
- PFNGLGETINTEGER64VAPPLEPROC fnptr_ci_glGetInteger64vAPPLE = nullptr;
- PFNGLGETSYNCIVAPPLEPROC fnptr_ci_glGetSyncivAPPLE = nullptr;
- PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC fnptr_ci_glDrawArraysInstancedBaseInstanceEXT = nullptr;
- PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC fnptr_ci_glDrawElementsInstancedBaseInstanceEXT = nullptr;
- PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC fnptr_ci_glDrawElementsInstancedBaseVertexBaseInstanceEXT = nullptr;
- PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC fnptr_ci_glBindFragDataLocationIndexedEXT = nullptr;
- PFNGLBINDFRAGDATALOCATIONEXTPROC fnptr_ci_glBindFragDataLocationEXT = nullptr;
- PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC fnptr_ci_glGetProgramResourceLocationIndexEXT = nullptr;
- PFNGLGETFRAGDATAINDEXEXTPROC fnptr_ci_glGetFragDataIndexEXT = nullptr;
- PFNGLCOPYIMAGESUBDATAEXTPROC fnptr_ci_glCopyImageSubDataEXT = nullptr;
- PFNGLLABELOBJECTEXTPROC fnptr_ci_glLabelObjectEXT = nullptr;
- PFNGLGETOBJECTLABELEXTPROC fnptr_ci_glGetObjectLabelEXT = nullptr;
- PFNGLINSERTEVENTMARKEREXTPROC fnptr_ci_glInsertEventMarkerEXT = nullptr;
- PFNGLPUSHGROUPMARKEREXTPROC fnptr_ci_glPushGroupMarkerEXT = nullptr;
- PFNGLPOPGROUPMARKEREXTPROC fnptr_ci_glPopGroupMarkerEXT = nullptr;
- PFNGLDISCARDFRAMEBUFFEREXTPROC fnptr_ci_glDiscardFramebufferEXT = nullptr;
- PFNGLGENQUERIESEXTPROC fnptr_ci_glGenQueriesEXT = nullptr;
- PFNGLDELETEQUERIESEXTPROC fnptr_ci_glDeleteQueriesEXT = nullptr;
- PFNGLISQUERYEXTPROC fnptr_ci_glIsQueryEXT = nullptr;
- PFNGLBEGINQUERYEXTPROC fnptr_ci_glBeginQueryEXT = nullptr;
- PFNGLENDQUERYEXTPROC fnptr_ci_glEndQueryEXT = nullptr;
- PFNGLQUERYCOUNTEREXTPROC fnptr_ci_glQueryCounterEXT = nullptr;
- PFNGLGETQUERYIVEXTPROC fnptr_ci_glGetQueryivEXT = nullptr;
- PFNGLGETQUERYOBJECTIVEXTPROC fnptr_ci_glGetQueryObjectivEXT = nullptr;
- PFNGLGETQUERYOBJECTUIVEXTPROC fnptr_ci_glGetQueryObjectuivEXT = nullptr;
- PFNGLGETQUERYOBJECTI64VEXTPROC fnptr_ci_glGetQueryObjecti64vEXT = nullptr;
- PFNGLGETQUERYOBJECTUI64VEXTPROC fnptr_ci_glGetQueryObjectui64vEXT = nullptr;
- PFNGLDRAWBUFFERSEXTPROC fnptr_ci_glDrawBuffersEXT = nullptr;
- PFNGLENABLEIEXTPROC fnptr_ci_glEnableiEXT = nullptr;
- PFNGLDISABLEIEXTPROC fnptr_ci_glDisableiEXT = nullptr;
- PFNGLBLENDEQUATIONIEXTPROC fnptr_ci_glBlendEquationiEXT = nullptr;
- PFNGLBLENDEQUATIONSEPARATEIEXTPROC fnptr_ci_glBlendEquationSeparateiEXT = nullptr;
- PFNGLBLENDFUNCIEXTPROC fnptr_ci_glBlendFunciEXT = nullptr;
- PFNGLBLENDFUNCSEPARATEIEXTPROC fnptr_ci_glBlendFuncSeparateiEXT = nullptr;
- PFNGLCOLORMASKIEXTPROC fnptr_ci_glColorMaskiEXT = nullptr;
- PFNGLISENABLEDIEXTPROC fnptr_ci_glIsEnablediEXT = nullptr;
- PFNGLDRAWELEMENTSBASEVERTEXEXTPROC fnptr_ci_glDrawElementsBaseVertexEXT = nullptr;
- PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC fnptr_ci_glDrawRangeElementsBaseVertexEXT = nullptr;
- PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC fnptr_ci_glDrawElementsInstancedBaseVertexEXT = nullptr;
- PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC fnptr_ci_glMultiDrawElementsBaseVertexEXT = nullptr;
- PFNGLMULTIDRAWARRAYSEXTPROC fnptr_ci_glMultiDrawArraysEXT = nullptr;
- PFNGLMULTIDRAWELEMENTSEXTPROC fnptr_ci_glMultiDrawElementsEXT = nullptr;
- PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC fnptr_ci_glMultiDrawArraysIndirectEXT = nullptr;
- PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC fnptr_ci_glMultiDrawElementsIndirectEXT = nullptr;
- PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC fnptr_ci_glFramebufferTexture2DMultisampleEXT = nullptr;
- PFNGLREADBUFFERINDEXEDEXTPROC fnptr_ci_glReadBufferIndexedEXT = nullptr;
- PFNGLDRAWBUFFERSINDEXEDEXTPROC fnptr_ci_glDrawBuffersIndexedEXT = nullptr;
- PFNGLGETINTEGERI_VEXTPROC fnptr_ci_glGetIntegeri_vEXT = nullptr;
- PFNGLPRIMITIVEBOUNDINGBOXEXTPROC fnptr_ci_glPrimitiveBoundingBoxEXT = nullptr;
- PFNGLRASTERSAMPLESEXTPROC fnptr_ci_glRasterSamplesEXT = nullptr;
- PFNGLGETGRAPHICSRESETSTATUSEXTPROC fnptr_ci_glGetGraphicsResetStatusEXT = nullptr;
- PFNGLREADNPIXELSEXTPROC fnptr_ci_glReadnPixelsEXT = nullptr;
- PFNGLGETNUNIFORMFVEXTPROC fnptr_ci_glGetnUniformfvEXT = nullptr;
- PFNGLGETNUNIFORMIVEXTPROC fnptr_ci_glGetnUniformivEXT = nullptr;
- PFNGLACTIVESHADERPROGRAMEXTPROC fnptr_ci_glActiveShaderProgramEXT = nullptr;
- PFNGLBI…
Large files files are truncated, but you can click here to view the full file