OpenGl_GlCore42.hxx
OpenGl_GlCore43.hxx
OpenGl_GlCore44.hxx
+OpenGl_GlCore45.hxx
OpenGl_LayerList.cxx
OpenGl_LayerList.hxx
OpenGl_LayerFilter.hxx
#include <OpenGl_ExtGS.hxx>
#include <OpenGl_ArbSamplerObject.hxx>
#include <OpenGl_ArbTexBindless.hxx>
-#include <OpenGl_GlCore44.hxx>
+#include <OpenGl_GlCore45.hxx>
#include <OpenGl_FrameBuffer.hxx>
#include <OpenGl_FrameStats.hxx>
#include <OpenGl_Sampler.hxx>
core43back (NULL),
core44 (NULL),
core44back (NULL),
+ core45 (NULL),
+ core45back (NULL),
caps (!theCaps.IsNull() ? theCaps : new OpenGl_Caps()),
#if defined(GL_ES_VERSION_2_0)
hasHighp (Standard_False),
core43back = NULL;
core44 = NULL;
core44back = NULL;
+ core45 = NULL;
+ core45back = NULL;
arbTBO = NULL;
arbTboRGB32 = Standard_False;
arbIns = NULL;
bool has42 = false;
bool has43 = false;
bool has44 = false;
+ bool has45 = false;
// retrieve platform-dependent extensions
#if defined(HAVE_EGL)
&& FindProcShort (glBindImageTextures)
&& FindProcShort (glBindVertexBuffers);
+ has45 = IsGlGreaterEqual (4, 5)
+ && FindProcShort (glBindVertexBuffers)
+ && FindProcShort (glClipControl)
+ && FindProcShort (glCreateTransformFeedbacks)
+ && FindProcShort (glTransformFeedbackBufferBase)
+ && FindProcShort (glTransformFeedbackBufferRange)
+ && FindProcShort (glGetTransformFeedbackiv)
+ && FindProcShort (glGetTransformFeedbacki_v)
+ && FindProcShort (glGetTransformFeedbacki64_v)
+ && FindProcShort (glCreateBuffers)
+ && FindProcShort (glNamedBufferStorage)
+ && FindProcShort (glNamedBufferData)
+ && FindProcShort (glNamedBufferSubData)
+ && FindProcShort (glCopyNamedBufferSubData)
+ && FindProcShort (glClearNamedBufferData)
+ && FindProcShort (glClearNamedBufferSubData)
+ && FindProcShort (glMapNamedBuffer)
+ && FindProcShort (glMapNamedBufferRange)
+ && FindProcShort (glUnmapNamedBuffer)
+ && FindProcShort (glFlushMappedNamedBufferRange)
+ && FindProcShort (glGetNamedBufferParameteriv)
+ && FindProcShort (glGetNamedBufferParameteri64v)
+ && FindProcShort (glGetNamedBufferPointerv)
+ && FindProcShort (glGetNamedBufferSubData)
+ && FindProcShort (glCreateFramebuffers)
+ && FindProcShort (glNamedFramebufferRenderbuffer)
+ && FindProcShort (glNamedFramebufferParameteri)
+ && FindProcShort (glNamedFramebufferTexture)
+ && FindProcShort (glNamedFramebufferTextureLayer)
+ && FindProcShort (glNamedFramebufferDrawBuffer)
+ && FindProcShort (glNamedFramebufferDrawBuffers)
+ && FindProcShort (glNamedFramebufferReadBuffer)
+ && FindProcShort (glInvalidateNamedFramebufferData)
+ && FindProcShort (glInvalidateNamedFramebufferSubData)
+ && FindProcShort (glClearNamedFramebufferiv)
+ && FindProcShort (glClearNamedFramebufferuiv)
+ && FindProcShort (glClearNamedFramebufferfv)
+ && FindProcShort (glClearNamedFramebufferfi)
+ && FindProcShort (glBlitNamedFramebuffer)
+ && FindProcShort (glCheckNamedFramebufferStatus)
+ && FindProcShort (glGetNamedFramebufferParameteriv)
+ && FindProcShort (glGetNamedFramebufferAttachmentParameteriv)
+ && FindProcShort (glCreateRenderbuffers)
+ && FindProcShort (glNamedRenderbufferStorage)
+ && FindProcShort (glNamedRenderbufferStorageMultisample)
+ && FindProcShort (glGetNamedRenderbufferParameteriv)
+ && FindProcShort (glCreateTextures)
+ && FindProcShort (glTextureBuffer)
+ && FindProcShort (glTextureBufferRange)
+ && FindProcShort (glTextureStorage1D)
+ && FindProcShort (glTextureStorage2D)
+ && FindProcShort (glTextureStorage3D)
+ && FindProcShort (glTextureStorage2DMultisample)
+ && FindProcShort (glTextureStorage3DMultisample)
+ && FindProcShort (glTextureSubImage1D)
+ && FindProcShort (glTextureSubImage2D)
+ && FindProcShort (glTextureSubImage3D)
+ && FindProcShort (glCompressedTextureSubImage1D)
+ && FindProcShort (glCompressedTextureSubImage2D)
+ && FindProcShort (glCompressedTextureSubImage3D)
+ && FindProcShort (glCopyTextureSubImage1D)
+ && FindProcShort (glCopyTextureSubImage2D)
+ && FindProcShort (glCopyTextureSubImage3D)
+ && FindProcShort (glTextureParameterf)
+ && FindProcShort (glTextureParameterfv)
+ && FindProcShort (glTextureParameteri)
+ && FindProcShort (glTextureParameterIiv)
+ && FindProcShort (glTextureParameterIuiv)
+ && FindProcShort (glTextureParameteriv)
+ && FindProcShort (glGenerateTextureMipmap)
+ && FindProcShort (glBindTextureUnit)
+ && FindProcShort (glGetTextureImage)
+ && FindProcShort (glGetCompressedTextureImage)
+ && FindProcShort (glGetTextureLevelParameterfv)
+ && FindProcShort (glGetTextureLevelParameteriv)
+ && FindProcShort (glGetTextureParameterfv)
+ && FindProcShort (glGetTextureParameterIiv)
+ && FindProcShort (glGetTextureParameterIuiv)
+ && FindProcShort (glGetTextureParameteriv)
+ && FindProcShort (glCreateVertexArrays)
+ && FindProcShort (glDisableVertexArrayAttrib)
+ && FindProcShort (glEnableVertexArrayAttrib)
+ && FindProcShort (glVertexArrayElementBuffer)
+ && FindProcShort (glVertexArrayVertexBuffer)
+ && FindProcShort (glVertexArrayVertexBuffers)
+ && FindProcShort (glVertexArrayAttribBinding)
+ && FindProcShort (glVertexArrayAttribFormat)
+ && FindProcShort (glVertexArrayAttribIFormat)
+ && FindProcShort (glVertexArrayAttribLFormat)
+ && FindProcShort (glVertexArrayBindingDivisor)
+ && FindProcShort (glGetVertexArrayiv)
+ && FindProcShort (glGetVertexArrayIndexediv)
+ && FindProcShort (glGetVertexArrayIndexed64iv)
+ && FindProcShort (glCreateSamplers)
+ && FindProcShort (glCreateProgramPipelines)
+ && FindProcShort (glCreateQueries)
+ && FindProcShort (glGetQueryBufferObjecti64v)
+ && FindProcShort (glGetQueryBufferObjectiv)
+ && FindProcShort (glGetQueryBufferObjectui64v)
+ && FindProcShort (glGetQueryBufferObjectuiv)
+ && FindProcShort (glMemoryBarrierByRegion)
+ && FindProcShort (glGetTextureSubImage)
+ && FindProcShort (glGetCompressedTextureSubImage)
+ && FindProcShort (glGetGraphicsResetStatus)
+ && FindProcShort (glGetnCompressedTexImage)
+ && FindProcShort (glGetnTexImage)
+ && FindProcShort (glGetnUniformdv)
+ && FindProcShort (glGetnUniformfv)
+ && FindProcShort (glGetnUniformiv)
+ && FindProcShort (glGetnUniformuiv)
+ && FindProcShort (glReadnPixels)
+ && FindProcShort (glGetnMapdv)
+ && FindProcShort (glGetnMapfv)
+ && FindProcShort (glGetnMapiv)
+ && FindProcShort (glGetnPixelMapfv)
+ && FindProcShort (glGetnPixelMapuiv)
+ && FindProcShort (glGetnPixelMapusv)
+ && FindProcShort (glGetnPolygonStipple)
+ && FindProcShort (glGetnColorTable)
+ && FindProcShort (glGetnConvolutionFilter)
+ && FindProcShort (glGetnSeparableFilter)
+ && FindProcShort (glGetnHistogram)
+ && FindProcShort (glGetnMinmax)
+ && FindProcShort (glTextureBarrier);
+
// initialize debug context extension
if (CheckExtension ("GL_ARB_debug_output"))
{
{
core44back = (OpenGl_GlCore44Back* )(&(*myFuncs));
}
+
+ if (!has45)
+ {
+ checkWrongVersion (4, 5);
+ myGlVerMajor = 4;
+ myGlVerMinor = 4;
+ return;
+ }
+ core45 = (OpenGl_GlCore45* )(&(*myFuncs));
+ if (!isCoreProfile)
+ {
+ core45back = (OpenGl_GlCore45Back* )(&(*myFuncs));
+ }
#endif
}
typedef OpenGl_TmplCore44<OpenGl_GlCore43Back> OpenGl_GlCore44Back;
typedef OpenGl_TmplCore44<OpenGl_GlCore43> OpenGl_GlCore44;
+template<typename theBaseClass_t> struct OpenGl_TmplCore45;
+typedef OpenGl_TmplCore45<OpenGl_GlCore44Back> OpenGl_GlCore45Back;
+typedef OpenGl_TmplCore45<OpenGl_GlCore44> OpenGl_GlCore45;
+
class Graphic3d_PresentationAttributes;
class OpenGl_Aspects;
class OpenGl_FrameBuffer;
OpenGl_GlCore43Back* core43back; //!< OpenGL 4.3 backward compatibility profile
OpenGl_GlCore44* core44; //!< OpenGL 4.4 core profile
OpenGl_GlCore44Back* core44back; //!< OpenGL 4.4 backward compatibility profile
+ OpenGl_GlCore45* core45; //!< OpenGL 4.5 core profile
+ OpenGl_GlCore45Back* core45back; //!< OpenGL 4.5 backward compatibility profile
Handle(OpenGl_Caps) caps; //!< context options
--- /dev/null
+// Copyright (c) 2019 OPEN CASCADE SAS
+//
+// This file is part of Open CASCADE Technology software library.
+//
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
+//
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
+
+#ifndef _OpenGl_GlCore45_Header
+#define _OpenGl_GlCore45_Header
+
+#include <OpenGl_GlCore44.hxx>
+
+//! OpenGL 4.5 definition.
+template<typename theBaseClass_t>
+struct OpenGl_TmplCore45 : public theBaseClass_t
+{
+
+public: //! @name OpenGL 4.5 additives to 4.4
+
+#if !defined(GL_ES_VERSION_2_0)
+ using theBaseClass_t::glClipControl;
+ using theBaseClass_t::glCreateTransformFeedbacks;
+ using theBaseClass_t::glTransformFeedbackBufferBase;
+ using theBaseClass_t::glTransformFeedbackBufferRange;
+ using theBaseClass_t::glGetTransformFeedbackiv;
+ using theBaseClass_t::glGetTransformFeedbacki_v;
+ using theBaseClass_t::glGetTransformFeedbacki64_v;
+ using theBaseClass_t::glCreateBuffers;
+ using theBaseClass_t::glNamedBufferStorage;
+ using theBaseClass_t::glNamedBufferData;
+ using theBaseClass_t::glNamedBufferSubData;
+ using theBaseClass_t::glCopyNamedBufferSubData;
+ using theBaseClass_t::glClearNamedBufferData;
+ using theBaseClass_t::glClearNamedBufferSubData;
+ using theBaseClass_t::glMapNamedBuffer;
+ using theBaseClass_t::glMapNamedBufferRange;
+ using theBaseClass_t::glUnmapNamedBuffer;
+ using theBaseClass_t::glFlushMappedNamedBufferRange;
+ using theBaseClass_t::glGetNamedBufferParameteriv;
+ using theBaseClass_t::glGetNamedBufferParameteri64v;
+ using theBaseClass_t::glGetNamedBufferPointerv;
+ using theBaseClass_t::glGetNamedBufferSubData;
+ using theBaseClass_t::glCreateFramebuffers;
+ using theBaseClass_t::glNamedFramebufferRenderbuffer;
+ using theBaseClass_t::glNamedFramebufferParameteri;
+ using theBaseClass_t::glNamedFramebufferTexture;
+ using theBaseClass_t::glNamedFramebufferTextureLayer;
+ using theBaseClass_t::glNamedFramebufferDrawBuffer;
+ using theBaseClass_t::glNamedFramebufferDrawBuffers;
+ using theBaseClass_t::glNamedFramebufferReadBuffer;
+ using theBaseClass_t::glInvalidateNamedFramebufferData;
+ using theBaseClass_t::glInvalidateNamedFramebufferSubData;
+ using theBaseClass_t::glClearNamedFramebufferiv;
+ using theBaseClass_t::glClearNamedFramebufferuiv;
+ using theBaseClass_t::glClearNamedFramebufferfv;
+ using theBaseClass_t::glClearNamedFramebufferfi;
+ using theBaseClass_t::glBlitNamedFramebuffer;
+ using theBaseClass_t::glCheckNamedFramebufferStatus;
+ using theBaseClass_t::glGetNamedFramebufferParameteriv;
+ using theBaseClass_t::glGetNamedFramebufferAttachmentParameteriv;
+ using theBaseClass_t::glCreateRenderbuffers;
+ using theBaseClass_t::glNamedRenderbufferStorage;
+ using theBaseClass_t::glNamedRenderbufferStorageMultisample;
+ using theBaseClass_t::glGetNamedRenderbufferParameteriv;
+ using theBaseClass_t::glCreateTextures;
+ using theBaseClass_t::glTextureBuffer;
+ using theBaseClass_t::glTextureBufferRange;
+ using theBaseClass_t::glTextureStorage1D;
+ using theBaseClass_t::glTextureStorage2D;
+ using theBaseClass_t::glTextureStorage3D;
+ using theBaseClass_t::glTextureStorage2DMultisample;
+ using theBaseClass_t::glTextureStorage3DMultisample;
+ using theBaseClass_t::glTextureSubImage1D;
+ using theBaseClass_t::glTextureSubImage2D;
+ using theBaseClass_t::glTextureSubImage3D;
+ using theBaseClass_t::glCompressedTextureSubImage1D;
+ using theBaseClass_t::glCompressedTextureSubImage2D;
+ using theBaseClass_t::glCompressedTextureSubImage3D;
+ using theBaseClass_t::glCopyTextureSubImage1D;
+ using theBaseClass_t::glCopyTextureSubImage2D;
+ using theBaseClass_t::glCopyTextureSubImage3D;
+ using theBaseClass_t::glTextureParameterf;
+ using theBaseClass_t::glTextureParameterfv;
+ using theBaseClass_t::glTextureParameteri;
+ using theBaseClass_t::glTextureParameterIiv;
+ using theBaseClass_t::glTextureParameterIuiv;
+ using theBaseClass_t::glTextureParameteriv;
+ using theBaseClass_t::glGenerateTextureMipmap;
+ using theBaseClass_t::glBindTextureUnit;
+ using theBaseClass_t::glGetTextureImage;
+ using theBaseClass_t::glGetCompressedTextureImage;
+ using theBaseClass_t::glGetTextureLevelParameterfv;
+ using theBaseClass_t::glGetTextureLevelParameteriv;
+ using theBaseClass_t::glGetTextureParameterfv;
+ using theBaseClass_t::glGetTextureParameterIiv;
+ using theBaseClass_t::glGetTextureParameterIuiv;
+ using theBaseClass_t::glGetTextureParameteriv;
+ using theBaseClass_t::glCreateVertexArrays;
+ using theBaseClass_t::glDisableVertexArrayAttrib;
+ using theBaseClass_t::glEnableVertexArrayAttrib;
+ using theBaseClass_t::glVertexArrayElementBuffer;
+ using theBaseClass_t::glVertexArrayVertexBuffer;
+ using theBaseClass_t::glVertexArrayVertexBuffers;
+ using theBaseClass_t::glVertexArrayAttribBinding;
+ using theBaseClass_t::glVertexArrayAttribFormat;
+ using theBaseClass_t::glVertexArrayAttribIFormat;
+ using theBaseClass_t::glVertexArrayAttribLFormat;
+ using theBaseClass_t::glVertexArrayBindingDivisor;
+ using theBaseClass_t::glGetVertexArrayiv;
+ using theBaseClass_t::glGetVertexArrayIndexediv;
+ using theBaseClass_t::glGetVertexArrayIndexed64iv;
+ using theBaseClass_t::glCreateSamplers;
+ using theBaseClass_t::glCreateProgramPipelines;
+ using theBaseClass_t::glCreateQueries;
+ using theBaseClass_t::glGetQueryBufferObjecti64v;
+ using theBaseClass_t::glGetQueryBufferObjectiv;
+ using theBaseClass_t::glGetQueryBufferObjectui64v;
+ using theBaseClass_t::glGetQueryBufferObjectuiv;
+ using theBaseClass_t::glMemoryBarrierByRegion;
+ using theBaseClass_t::glGetTextureSubImage;
+ using theBaseClass_t::glGetCompressedTextureSubImage;
+ using theBaseClass_t::glGetGraphicsResetStatus;
+ using theBaseClass_t::glGetnCompressedTexImage;
+ using theBaseClass_t::glGetnTexImage;
+ using theBaseClass_t::glGetnUniformdv;
+ using theBaseClass_t::glGetnUniformfv;
+ using theBaseClass_t::glGetnUniformiv;
+ using theBaseClass_t::glGetnUniformuiv;
+ using theBaseClass_t::glReadnPixels;
+ using theBaseClass_t::glGetnMapdv;
+ using theBaseClass_t::glGetnMapfv;
+ using theBaseClass_t::glGetnMapiv;
+ using theBaseClass_t::glGetnPixelMapfv;
+ using theBaseClass_t::glGetnPixelMapuiv;
+ using theBaseClass_t::glGetnPixelMapusv;
+ using theBaseClass_t::glGetnPolygonStipple;
+ using theBaseClass_t::glGetnColorTable;
+ using theBaseClass_t::glGetnConvolutionFilter;
+ using theBaseClass_t::glGetnSeparableFilter;
+ using theBaseClass_t::glGetnHistogram;
+ using theBaseClass_t::glGetnMinmax;
+ using theBaseClass_t::glTextureBarrier;
+#endif
+
+};
+
+//! OpenGL 4.5 compatibility profile.
+typedef OpenGl_TmplCore45<OpenGl_GlCore44Back> OpenGl_GlCore45Back;
+
+//! OpenGL 4.5 core profile.
+typedef OpenGl_TmplCore45<OpenGl_GlCore44> OpenGl_GlCore45;
+
+#endif // _OpenGl_GlCore45_Header
PFNGLBINDIMAGETEXTURESPROC glBindImageTextures;
PFNGLBINDVERTEXBUFFERSPROC glBindVertexBuffers;
+public: //! @name OpenGL 4.5
+
+ PFNGLCLIPCONTROLPROC glClipControl;
+ PFNGLCREATETRANSFORMFEEDBACKSPROC glCreateTransformFeedbacks;
+ PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC glTransformFeedbackBufferBase;
+ PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC glTransformFeedbackBufferRange;
+ PFNGLGETTRANSFORMFEEDBACKIVPROC glGetTransformFeedbackiv;
+ PFNGLGETTRANSFORMFEEDBACKI_VPROC glGetTransformFeedbacki_v;
+ PFNGLGETTRANSFORMFEEDBACKI64_VPROC glGetTransformFeedbacki64_v;
+ PFNGLCREATEBUFFERSPROC glCreateBuffers;
+ PFNGLNAMEDBUFFERSTORAGEPROC glNamedBufferStorage;
+ PFNGLNAMEDBUFFERDATAPROC glNamedBufferData;
+ PFNGLNAMEDBUFFERSUBDATAPROC glNamedBufferSubData;
+ PFNGLCOPYNAMEDBUFFERSUBDATAPROC glCopyNamedBufferSubData;
+ PFNGLCLEARNAMEDBUFFERDATAPROC glClearNamedBufferData;
+ PFNGLCLEARNAMEDBUFFERSUBDATAPROC glClearNamedBufferSubData;
+ PFNGLMAPNAMEDBUFFERPROC glMapNamedBuffer;
+ PFNGLMAPNAMEDBUFFERRANGEPROC glMapNamedBufferRange;
+ PFNGLUNMAPNAMEDBUFFERPROC glUnmapNamedBuffer;
+ PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC glFlushMappedNamedBufferRange;
+ PFNGLGETNAMEDBUFFERPARAMETERIVPROC glGetNamedBufferParameteriv;
+ PFNGLGETNAMEDBUFFERPARAMETERI64VPROC glGetNamedBufferParameteri64v;
+ PFNGLGETNAMEDBUFFERPOINTERVPROC glGetNamedBufferPointerv;
+ PFNGLGETNAMEDBUFFERSUBDATAPROC glGetNamedBufferSubData;
+ PFNGLCREATEFRAMEBUFFERSPROC glCreateFramebuffers;
+ PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC glNamedFramebufferRenderbuffer;
+ PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC glNamedFramebufferParameteri;
+ PFNGLNAMEDFRAMEBUFFERTEXTUREPROC glNamedFramebufferTexture;
+ PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC glNamedFramebufferTextureLayer;
+ PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC glNamedFramebufferDrawBuffer;
+ PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC glNamedFramebufferDrawBuffers;
+ PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC glNamedFramebufferReadBuffer;
+ PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC glInvalidateNamedFramebufferData;
+ PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC glInvalidateNamedFramebufferSubData;
+ PFNGLCLEARNAMEDFRAMEBUFFERIVPROC glClearNamedFramebufferiv;
+ PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC glClearNamedFramebufferuiv;
+ PFNGLCLEARNAMEDFRAMEBUFFERFVPROC glClearNamedFramebufferfv;
+ PFNGLCLEARNAMEDFRAMEBUFFERFIPROC glClearNamedFramebufferfi;
+ PFNGLBLITNAMEDFRAMEBUFFERPROC glBlitNamedFramebuffer;
+ PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC glCheckNamedFramebufferStatus;
+ PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC glGetNamedFramebufferParameteriv;
+ PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC glGetNamedFramebufferAttachmentParameteriv;
+ PFNGLCREATERENDERBUFFERSPROC glCreateRenderbuffers;
+ PFNGLNAMEDRENDERBUFFERSTORAGEPROC glNamedRenderbufferStorage;
+ PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC glNamedRenderbufferStorageMultisample;
+ PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC glGetNamedRenderbufferParameteriv;
+ PFNGLCREATETEXTURESPROC glCreateTextures;
+ PFNGLTEXTUREBUFFERPROC glTextureBuffer;
+ PFNGLTEXTUREBUFFERRANGEPROC glTextureBufferRange;
+ PFNGLTEXTURESTORAGE1DPROC glTextureStorage1D;
+ PFNGLTEXTURESTORAGE2DPROC glTextureStorage2D;
+ PFNGLTEXTURESTORAGE3DPROC glTextureStorage3D;
+ PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC glTextureStorage2DMultisample;
+ PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC glTextureStorage3DMultisample;
+ PFNGLTEXTURESUBIMAGE1DPROC glTextureSubImage1D;
+ PFNGLTEXTURESUBIMAGE2DPROC glTextureSubImage2D;
+ PFNGLTEXTURESUBIMAGE3DPROC glTextureSubImage3D;
+ PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC glCompressedTextureSubImage1D;
+ PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC glCompressedTextureSubImage2D;
+ PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC glCompressedTextureSubImage3D;
+ PFNGLCOPYTEXTURESUBIMAGE1DPROC glCopyTextureSubImage1D;
+ PFNGLCOPYTEXTURESUBIMAGE2DPROC glCopyTextureSubImage2D;
+ PFNGLCOPYTEXTURESUBIMAGE3DPROC glCopyTextureSubImage3D;
+ PFNGLTEXTUREPARAMETERFPROC glTextureParameterf;
+ PFNGLTEXTUREPARAMETERFVPROC glTextureParameterfv;
+ PFNGLTEXTUREPARAMETERIPROC glTextureParameteri;
+ PFNGLTEXTUREPARAMETERIIVPROC glTextureParameterIiv;
+ PFNGLTEXTUREPARAMETERIUIVPROC glTextureParameterIuiv;
+ PFNGLTEXTUREPARAMETERIVPROC glTextureParameteriv;
+ PFNGLGENERATETEXTUREMIPMAPPROC glGenerateTextureMipmap;
+ PFNGLBINDTEXTUREUNITPROC glBindTextureUnit;
+ PFNGLGETTEXTUREIMAGEPROC glGetTextureImage;
+ PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC glGetCompressedTextureImage;
+ PFNGLGETTEXTURELEVELPARAMETERFVPROC glGetTextureLevelParameterfv;
+ PFNGLGETTEXTURELEVELPARAMETERIVPROC glGetTextureLevelParameteriv;
+ PFNGLGETTEXTUREPARAMETERFVPROC glGetTextureParameterfv;
+ PFNGLGETTEXTUREPARAMETERIIVPROC glGetTextureParameterIiv;
+ PFNGLGETTEXTUREPARAMETERIUIVPROC glGetTextureParameterIuiv;
+ PFNGLGETTEXTUREPARAMETERIVPROC glGetTextureParameteriv;
+ PFNGLCREATEVERTEXARRAYSPROC glCreateVertexArrays;
+ PFNGLDISABLEVERTEXARRAYATTRIBPROC glDisableVertexArrayAttrib;
+ PFNGLENABLEVERTEXARRAYATTRIBPROC glEnableVertexArrayAttrib;
+ PFNGLVERTEXARRAYELEMENTBUFFERPROC glVertexArrayElementBuffer;
+ PFNGLVERTEXARRAYVERTEXBUFFERPROC glVertexArrayVertexBuffer;
+ PFNGLVERTEXARRAYVERTEXBUFFERSPROC glVertexArrayVertexBuffers;
+ PFNGLVERTEXARRAYATTRIBBINDINGPROC glVertexArrayAttribBinding;
+ PFNGLVERTEXARRAYATTRIBFORMATPROC glVertexArrayAttribFormat;
+ PFNGLVERTEXARRAYATTRIBIFORMATPROC glVertexArrayAttribIFormat;
+ PFNGLVERTEXARRAYATTRIBLFORMATPROC glVertexArrayAttribLFormat;
+ PFNGLVERTEXARRAYBINDINGDIVISORPROC glVertexArrayBindingDivisor;
+ PFNGLGETVERTEXARRAYIVPROC glGetVertexArrayiv;
+ PFNGLGETVERTEXARRAYINDEXEDIVPROC glGetVertexArrayIndexediv;
+ PFNGLGETVERTEXARRAYINDEXED64IVPROC glGetVertexArrayIndexed64iv;
+ PFNGLCREATESAMPLERSPROC glCreateSamplers;
+ PFNGLCREATEPROGRAMPIPELINESPROC glCreateProgramPipelines;
+ PFNGLCREATEQUERIESPROC glCreateQueries;
+ PFNGLGETQUERYBUFFEROBJECTI64VPROC glGetQueryBufferObjecti64v;
+ PFNGLGETQUERYBUFFEROBJECTIVPROC glGetQueryBufferObjectiv;
+ PFNGLGETQUERYBUFFEROBJECTUI64VPROC glGetQueryBufferObjectui64v;
+ PFNGLGETQUERYBUFFEROBJECTUIVPROC glGetQueryBufferObjectuiv;
+ PFNGLMEMORYBARRIERBYREGIONPROC glMemoryBarrierByRegion;
+ PFNGLGETTEXTURESUBIMAGEPROC glGetTextureSubImage;
+ PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC glGetCompressedTextureSubImage;
+ PFNGLGETGRAPHICSRESETSTATUSPROC glGetGraphicsResetStatus;
+ PFNGLGETNCOMPRESSEDTEXIMAGEPROC glGetnCompressedTexImage;
+ PFNGLGETNTEXIMAGEPROC glGetnTexImage;
+ PFNGLGETNUNIFORMDVPROC glGetnUniformdv;
+ PFNGLGETNUNIFORMFVPROC glGetnUniformfv;
+ PFNGLGETNUNIFORMIVPROC glGetnUniformiv;
+ PFNGLGETNUNIFORMUIVPROC glGetnUniformuiv;
+ PFNGLREADNPIXELSPROC glReadnPixels;
+ PFNGLGETNMAPDVPROC glGetnMapdv;
+ PFNGLGETNMAPFVPROC glGetnMapfv;
+ PFNGLGETNMAPIVPROC glGetnMapiv;
+ PFNGLGETNPIXELMAPFVPROC glGetnPixelMapfv;
+ PFNGLGETNPIXELMAPUIVPROC glGetnPixelMapuiv;
+ PFNGLGETNPIXELMAPUSVPROC glGetnPixelMapusv;
+ PFNGLGETNPOLYGONSTIPPLEPROC glGetnPolygonStipple;
+ PFNGLGETNCOLORTABLEPROC glGetnColorTable;
+ PFNGLGETNCONVOLUTIONFILTERPROC glGetnConvolutionFilter;
+ PFNGLGETNSEPARABLEFILTERPROC glGetnSeparableFilter;
+ PFNGLGETNHISTOGRAMPROC glGetnHistogram;
+ PFNGLGETNMINMAXPROC glGetnMinmax;
+ PFNGLTEXTUREBARRIERPROC glTextureBarrier;
+
public: //! @name GL_EXT_geometry_shader4
PFNGLPROGRAMPARAMETERIEXTPROC glProgramParameteriEXT;