diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-02-05 15:18:01 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-02-08 20:04:31 +0200 |
commit | 710e760cad9b10c0426e2d17d807dece3b80bf46 (patch) | |
tree | bffbd7320de9dc3818ef51cde3f2ab9e5b091bd0 | |
parent | c9056ded897ad81fed4f2d7c486242019f8437a6 (diff) | |
download | qtlocation-mapboxgl-710e760cad9b10c0426e2d17d807dece3b80bf46.tar.gz |
[android,linux,darwin,qt] Load OpenGL for the platform
These loaders will provide pointers to the platform implementation
of OpenGL. On Android, Linux and Darwin, we simply link with the
OpenGL implementation that is expected to exist on the platform.
Qt has its own GL loader, so we just connect the dots.
-rw-r--r-- | platform/android/src/gl.cpp | 155 | ||||
-rw-r--r-- | platform/darwin/src/gl.cpp | 187 | ||||
-rw-r--r-- | platform/linux/src/gl.cpp | 169 | ||||
-rw-r--r-- | platform/qt/src/gl.cpp | 159 |
4 files changed, 670 insertions, 0 deletions
diff --git a/platform/android/src/gl.cpp b/platform/android/src/gl.cpp new file mode 100644 index 0000000000..904bbb19a3 --- /dev/null +++ b/platform/android/src/gl.cpp @@ -0,0 +1,155 @@ +#include <mbgl/platform/gl.hpp> + +#define GL_GLEXT_PROTOTYPES +#include <GLES2/gl2.h> +#include <GLES2/gl2ext.h> + +namespace mbgl { +namespace platform { + +gl::GLFunctionPointers getGLFunctionPointers() { + return { + glActiveTexture, + glAttachShader, + glBindAttribLocation, + glBindBuffer, + glBindFramebuffer, + glBindRenderbuffer, + glBindTexture, + glBlendColor, + glBlendEquation, + glBlendEquationSeparate, + glBlendFunc, + glBlendFuncSeparate, + glBufferData, + glBufferSubData, + glCheckFramebufferStatus, + glClear, + glClearColor, + glClearDepthf, + glClearStencil, + glColorMask, + glCompileShader, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCreateProgram, + glCreateShader, + glCullFace, + glDeleteBuffers, + glDeleteFramebuffers, + glDeleteProgram, + glDeleteRenderbuffers, + glDeleteShader, + glDeleteTextures, + glDepthFunc, + glDepthMask, + glDepthRangef, + glDetachShader, + glDisable, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glEnable, + glEnableVertexAttribArray, + glFinish, + glFlush, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFrontFace, + glGenBuffers, + glGenerateMipmap, + glGenFramebuffers, + glGenRenderbuffers, + glGenTextures, + glGetActiveAttrib, + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBooleanv, + glGetBufferParameteriv, + glGetError, + glGetFloatv, + glGetFramebufferAttachmentParameteriv, + glGetIntegerv, + glGetProgramInfoLog, + glGetProgramiv, + glGetRenderbufferParameteriv, + glGetShaderInfoLog, + glGetShaderiv, + glGetShaderSource, + glGetString, + glGetTexParameterfv, + glGetTexParameteriv, + glGetUniformfv, + glGetUniformiv, + glGetUniformLocation, + glGetVertexAttribfv, + glGetVertexAttribiv, + glGetVertexAttribPointerv, + glHint, + glIsBuffer, + glIsEnabled, + glIsFramebuffer, + glIsProgram, + glIsRenderbuffer, + glIsShader, + glIsTexture, + glLineWidth, + glLinkProgram, + glPixelStorei, + glPolygonOffset, + glReadPixels, + glRenderbufferStorage, + glSampleCoverage, + glScissor, + glShaderSource, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate, + glTexImage2D, + glTexParameterf, + glTexParameterfv, + glTexParameteri, + glTexParameteriv, + glTexSubImage2D, + glUniform1f, + glUniform1fv, + glUniform1i, + glUniform1iv, + glUniform2f, + glUniform2fv, + glUniform2i, + glUniform2iv, + glUniform3f, + glUniform3fv, + glUniform3i, + glUniform3iv, + glUniform4f, + glUniform4fv, + glUniform4i, + glUniform4iv, + glUniformMatrix2fv, + glUniformMatrix3fv, + glUniformMatrix4fv, + glUseProgram, + glValidateProgram, + glVertexAttrib1f, + glVertexAttrib1fv, + glVertexAttrib2f, + glVertexAttrib2fv, + glVertexAttrib3f, + glVertexAttrib3fv, + glVertexAttrib4f, + glVertexAttrib4fv, + glVertexAttribPointer, + glViewport, + }; +} + +} // platform +} // mbgl
\ No newline at end of file diff --git a/platform/darwin/src/gl.cpp b/platform/darwin/src/gl.cpp new file mode 100644 index 0000000000..b82bd69ee4 --- /dev/null +++ b/platform/darwin/src/gl.cpp @@ -0,0 +1,187 @@ +#include <mbgl/platform/gl.hpp> + +#include "TargetConditionals.h" + +#if TARGET_OS_IPHONE + #include <OpenGLES/ES2/gl.h> + #include <OpenGLES/ES2/glext.h> +#elif TARGET_OS_SIMULATOR + #include <OpenGLES/ES2/gl.h> + #include <OpenGLES/ES2/glext.h> +#elif TARGET_OS_MAC + #include <OpenGL/OpenGL.h> + #include <OpenGL/gl.h> + #include <OpenGL/glext.h> +#else + #error Unsupported Apple platform +#endif + +namespace mbgl { +namespace platform { + +gl::GLFunctionPointers getGLFunctionPointers() { + return { + glActiveTexture, + glAttachShader, + glBindAttribLocation, + glBindBuffer, + glBindFramebuffer, + glBindRenderbuffer, + glBindTexture, + glBlendColor, + glBlendEquation, + glBlendEquationSeparate, + glBlendFunc, + glBlendFuncSeparate, + glBufferData, + glBufferSubData, + glCheckFramebufferStatus, + glClear, + glClearColor, +#if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR && TARGET_OS_MAC + [](GLfloat depth) { + return glClearDepth(depth); + }, +#else + glClearDepthf, +#endif + glClearStencil, + glColorMask, + glCompileShader, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCreateProgram, + glCreateShader, + glCullFace, + glDeleteBuffers, + glDeleteFramebuffers, + glDeleteProgram, + glDeleteRenderbuffers, + glDeleteShader, + glDeleteTextures, + glDepthFunc, + glDepthMask, +#if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR && TARGET_OS_MAC + [](GLfloat nearVal, GLfloat farVal) { + return glDepthRange(nearVal, farVal); + }, +#else + glDepthRangef, +#endif + glDetachShader, + glDisable, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glEnable, + glEnableVertexAttribArray, + glFinish, + glFlush, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFrontFace, + glGenBuffers, + glGenerateMipmap, + glGenFramebuffers, + glGenRenderbuffers, + glGenTextures, + glGetActiveAttrib, + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBooleanv, + glGetBufferParameteriv, + glGetError, + glGetFloatv, + glGetFramebufferAttachmentParameteriv, + glGetIntegerv, + glGetProgramInfoLog, + glGetProgramiv, + glGetRenderbufferParameteriv, + glGetShaderInfoLog, + glGetShaderiv, + glGetShaderSource, + glGetString, + glGetTexParameterfv, + glGetTexParameteriv, + glGetUniformfv, + glGetUniformiv, + glGetUniformLocation, + glGetVertexAttribfv, + glGetVertexAttribiv, + glGetVertexAttribPointerv, + glHint, + glIsBuffer, + glIsEnabled, + glIsFramebuffer, + glIsProgram, + glIsRenderbuffer, + glIsShader, + glIsTexture, + glLineWidth, + glLinkProgram, + glPixelStorei, + glPolygonOffset, + glReadPixels, + glRenderbufferStorage, + glSampleCoverage, + glScissor, + glShaderSource, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate, + glTexImage2D, + glTexParameterf, + glTexParameterfv, + glTexParameteri, + glTexParameteriv, + glTexSubImage2D, + glUniform1f, + glUniform1fv, + glUniform1i, + glUniform1iv, + glUniform2f, + glUniform2fv, + glUniform2i, + glUniform2iv, + glUniform3f, + glUniform3fv, + glUniform3i, + glUniform3iv, + glUniform4f, + glUniform4fv, + glUniform4i, + glUniform4iv, + glUniformMatrix2fv, + glUniformMatrix3fv, + glUniformMatrix4fv, + glUseProgram, + glValidateProgram, + glVertexAttrib1f, + glVertexAttrib1fv, + glVertexAttrib2f, + glVertexAttrib2fv, + glVertexAttrib3f, + glVertexAttrib3fv, + glVertexAttrib4f, + glVertexAttrib4fv, + glVertexAttribPointer, + glViewport, +#ifndef MBGL_USE_GLES2 + glDrawPixels, + glGetDoublev, + glPixelTransferf, + glPixelZoom, + glPointSize, + glRasterPos4d, +#endif + }; +} + +} // platform +} // mbgl
\ No newline at end of file diff --git a/platform/linux/src/gl.cpp b/platform/linux/src/gl.cpp new file mode 100644 index 0000000000..026a16cb31 --- /dev/null +++ b/platform/linux/src/gl.cpp @@ -0,0 +1,169 @@ +#include <mbgl/platform/gl.hpp> + +#define GL_GLEXT_PROTOTYPES + +#ifndef MBGL_USE_GLES2 +#include <GL/gl.h> +#include <GL/glext.h> +#else +#include <GLES2/gl2.h> +#include <GLES2/gl2ext.h> +#endif + +namespace mbgl { +namespace platform { + +gl::GLFunctionPointers getGLFunctionPointers() { + return { + glActiveTexture, + glAttachShader, + glBindAttribLocation, + glBindBuffer, + glBindFramebuffer, + glBindRenderbuffer, + glBindTexture, + glBlendColor, + glBlendEquation, + glBlendEquationSeparate, + glBlendFunc, + glBlendFuncSeparate, + glBufferData, + glBufferSubData, + glCheckFramebufferStatus, + glClear, + glClearColor, + glClearDepthf, + glClearStencil, + glColorMask, + glCompileShader, + glCompressedTexImage2D, + glCompressedTexSubImage2D, + glCopyTexImage2D, + glCopyTexSubImage2D, + glCreateProgram, + glCreateShader, + glCullFace, + glDeleteBuffers, + glDeleteFramebuffers, + glDeleteProgram, + glDeleteRenderbuffers, + glDeleteShader, + glDeleteTextures, + glDepthFunc, + glDepthMask, + glDepthRangef, + glDetachShader, + glDisable, + glDisableVertexAttribArray, + glDrawArrays, + glDrawElements, + glEnable, + glEnableVertexAttribArray, + glFinish, + glFlush, + glFramebufferRenderbuffer, + glFramebufferTexture2D, + glFrontFace, + glGenBuffers, + glGenerateMipmap, + glGenFramebuffers, + glGenRenderbuffers, + glGenTextures, + glGetActiveAttrib, + glGetActiveUniform, + glGetAttachedShaders, + glGetAttribLocation, + glGetBooleanv, + glGetBufferParameteriv, + glGetError, + glGetFloatv, + glGetFramebufferAttachmentParameteriv, + glGetIntegerv, + glGetProgramInfoLog, + glGetProgramiv, + glGetRenderbufferParameteriv, + glGetShaderInfoLog, + glGetShaderiv, + glGetShaderSource, + glGetString, + glGetTexParameterfv, + glGetTexParameteriv, + glGetUniformfv, + glGetUniformiv, + glGetUniformLocation, + glGetVertexAttribfv, + glGetVertexAttribiv, + glGetVertexAttribPointerv, + glHint, + glIsBuffer, + glIsEnabled, + glIsFramebuffer, + glIsProgram, + glIsRenderbuffer, + glIsShader, + glIsTexture, + glLineWidth, + glLinkProgram, + glPixelStorei, + glPolygonOffset, + glReadPixels, + glRenderbufferStorage, + glSampleCoverage, + glScissor, + glShaderSource, + glStencilFunc, + glStencilFuncSeparate, + glStencilMask, + glStencilMaskSeparate, + glStencilOp, + glStencilOpSeparate, + glTexImage2D, + glTexParameterf, + glTexParameterfv, + glTexParameteri, + glTexParameteriv, + glTexSubImage2D, + glUniform1f, + glUniform1fv, + glUniform1i, + glUniform1iv, + glUniform2f, + glUniform2fv, + glUniform2i, + glUniform2iv, + glUniform3f, + glUniform3fv, + glUniform3i, + glUniform3iv, + glUniform4f, + glUniform4fv, + glUniform4i, + glUniform4iv, + glUniformMatrix2fv, + glUniformMatrix3fv, + glUniformMatrix4fv, + glUseProgram, + glValidateProgram, + glVertexAttrib1f, + glVertexAttrib1fv, + glVertexAttrib2f, + glVertexAttrib2fv, + glVertexAttrib3f, + glVertexAttrib3fv, + glVertexAttrib4f, + glVertexAttrib4fv, + glVertexAttribPointer, + glViewport, +#ifndef MBGL_USE_GLES2 + glDrawPixels, + glGetDoublev, + glPixelTransferf, + glPixelZoom, + glPointSize, + glRasterPos4d, +#endif + }; +} + +} // platform +} // mbgl
\ No newline at end of file diff --git a/platform/qt/src/gl.cpp b/platform/qt/src/gl.cpp new file mode 100644 index 0000000000..9f50d8ef0b --- /dev/null +++ b/platform/qt/src/gl.cpp @@ -0,0 +1,159 @@ +#include <mbgl/platform/gl.hpp> + +#include <QOpenGLContext> +#include <QOpenGLFunctions> + +namespace mbgl { +namespace platform { + +gl::GLFunctionPointers getGLFunctionPointers() { + return { + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glActiveTexture(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glAttachShader(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBindAttribLocation(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBindBuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBindFramebuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBindRenderbuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBindTexture(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBlendColor(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBlendEquation(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBlendEquationSeparate(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBlendFunc(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBlendFuncSeparate(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBufferData(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glBufferSubData(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCheckFramebufferStatus(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glClear(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glClearColor(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glClearDepthf(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glClearStencil(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glColorMask(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCompileShader(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCompressedTexImage2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCompressedTexSubImage2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCopyTexImage2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCopyTexSubImage2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCreateProgram(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCreateShader(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glCullFace(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDeleteBuffers(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDeleteFramebuffers(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDeleteProgram(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDeleteRenderbuffers(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDeleteShader(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDeleteTextures(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDepthFunc(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDepthMask(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDepthRangef(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDetachShader(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDisable(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDisableVertexAttribArray(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDrawArrays(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glDrawElements(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glEnable(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glEnableVertexAttribArray(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glFinish(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glFlush(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glFramebufferRenderbuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glFramebufferTexture2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glFrontFace(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGenBuffers(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGenerateMipmap(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGenFramebuffers(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGenRenderbuffers(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGenTextures(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetActiveAttrib(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetActiveUniform(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetAttachedShaders(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetAttribLocation(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetBooleanv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetBufferParameteriv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetError(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetFloatv(args...); }, + [](auto... args) { + return QOpenGLContext::currentContext()->functions()->glGetFramebufferAttachmentParameteriv(args...); + }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetIntegerv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetProgramInfoLog(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetProgramiv(args...); }, + [](auto... args) { + return QOpenGLContext::currentContext()->functions()->glGetRenderbufferParameteriv(args...); + }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetShaderInfoLog(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetShaderiv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetShaderSource(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetString(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetTexParameterfv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetTexParameteriv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetUniformfv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetUniformiv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetUniformLocation(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetVertexAttribfv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetVertexAttribiv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glGetVertexAttribPointerv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glHint(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsBuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsEnabled(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsFramebuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsProgram(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsRenderbuffer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsShader(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glIsTexture(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glLineWidth(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glLinkProgram(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glPixelStorei(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glPolygonOffset(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glReadPixels(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glRenderbufferStorage(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glSampleCoverage(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glScissor(args...); }, + [](GLuint shader, GLsizei count, const GLchar * const * string, const GLint *length) { + return QOpenGLContext::currentContext()->functions()->glShaderSource(shader, count, const_cast<const GLchar **>(string), length); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glStencilFunc(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glStencilFuncSeparate(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glStencilMask(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glStencilMaskSeparate(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glStencilOp(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glStencilOpSeparate(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glTexImage2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glTexParameterf(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glTexParameterfv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glTexParameteri(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glTexParameteriv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glTexSubImage2D(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform1f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform1fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform1i(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform1iv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform2f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform2fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform2i(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform2iv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform3f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform3fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform3i(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform3iv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform4f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform4fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform4i(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniform4iv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniformMatrix2fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniformMatrix3fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUniformMatrix4fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glUseProgram(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glValidateProgram(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib1f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib1fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib2f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib2fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib3f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib3fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib4f(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttrib4fv(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glVertexAttribPointer(args...); }, + [](auto... args) { return QOpenGLContext::currentContext()->functions()->glViewport(args...); }, + }; +} + +} // platform +} // mbgl
\ No newline at end of file |