summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mbgl/gl/gl.hpp33
-rw-r--r--src/mbgl/gl/gl.cpp21
2 files changed, 29 insertions, 25 deletions
diff --git a/include/mbgl/gl/gl.hpp b/include/mbgl/gl/gl.hpp
index 2d9b3f7a71..5ef76cf1da 100644
--- a/include/mbgl/gl/gl.hpp
+++ b/include/mbgl/gl/gl.hpp
@@ -110,31 +110,14 @@ public:
using glProc = void (*)();
void InitializeExtensions(glProc (*getProcAddress)(const char *));
-static gl::ExtensionFunction<
- void (GLuint array)>
- BindVertexArray({
- {"GL_ARB_vertex_array_object", "glBindVertexArray"},
- {"GL_OES_vertex_array_object", "glBindVertexArrayOES"},
- {"GL_APPLE_vertex_array_object", "glBindVertexArrayAPPLE"}
- });
-
-static gl::ExtensionFunction<
- void (GLsizei n,
- const GLuint* arrays)>
- DeleteVertexArrays({
- {"GL_ARB_vertex_array_object", "glDeleteVertexArrays"},
- {"GL_OES_vertex_array_object", "glDeleteVertexArraysOES"},
- {"GL_APPLE_vertex_array_object", "glDeleteVertexArraysAPPLE"}
- });
-
-static gl::ExtensionFunction<
- void (GLsizei n,
- GLuint* arrays)>
- GenVertexArrays({
- {"GL_ARB_vertex_array_object", "glGenVertexArrays"},
- {"GL_OES_vertex_array_object", "glGenVertexArraysOES"},
- {"GL_APPLE_vertex_array_object", "glGenVertexArraysAPPLE"}
- });
+extern ExtensionFunction<void (GLuint array)>
+ BindVertexArray;
+
+extern ExtensionFunction<void (GLsizei n, const GLuint* arrays)>
+ DeleteVertexArrays;
+
+extern ExtensionFunction<void (GLsizei n, GLuint* arrays)>
+ GenVertexArrays;
} // namespace gl
} // namespace mbgl
diff --git a/src/mbgl/gl/gl.cpp b/src/mbgl/gl/gl.cpp
index c57717aa87..48f00ec177 100644
--- a/src/mbgl/gl/gl.cpp
+++ b/src/mbgl/gl/gl.cpp
@@ -10,6 +10,27 @@
namespace mbgl {
namespace gl {
+ExtensionFunction<void (GLuint array)>
+ BindVertexArray({
+ {"GL_ARB_vertex_array_object", "glBindVertexArray"},
+ {"GL_OES_vertex_array_object", "glBindVertexArrayOES"},
+ {"GL_APPLE_vertex_array_object", "glBindVertexArrayAPPLE"}
+ });
+
+ExtensionFunction<void (GLsizei n, const GLuint* arrays)>
+ DeleteVertexArrays({
+ {"GL_ARB_vertex_array_object", "glDeleteVertexArrays"},
+ {"GL_OES_vertex_array_object", "glDeleteVertexArraysOES"},
+ {"GL_APPLE_vertex_array_object", "glDeleteVertexArraysAPPLE"}
+ });
+
+ExtensionFunction<void (GLsizei n, GLuint* arrays)>
+ GenVertexArrays({
+ {"GL_ARB_vertex_array_object", "glGenVertexArrays"},
+ {"GL_OES_vertex_array_object", "glGenVertexArraysOES"},
+ {"GL_APPLE_vertex_array_object", "glGenVertexArraysAPPLE"}
+ });
+
std::vector<ExtensionFunctionBase*>& ExtensionFunctionBase::functions() {
static std::vector<ExtensionFunctionBase*> functions;
return functions;