diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mbgl/gl/program_binary.cpp | 24 | ||||
-rw-r--r-- | src/mbgl/gl/program_binary.hpp | 27 |
2 files changed, 51 insertions, 0 deletions
diff --git a/src/mbgl/gl/program_binary.cpp b/src/mbgl/gl/program_binary.cpp new file mode 100644 index 0000000000..ad147c819f --- /dev/null +++ b/src/mbgl/gl/program_binary.cpp @@ -0,0 +1,24 @@ +#include <mbgl/gl/program_binary.hpp> + +#if MBGL_HAS_BINARY_PROGRAMS + +namespace mbgl { +namespace gl { + +ExtensionFunction< + void(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)> + GetProgramBinary({ + { "GL_OES_get_program_binary", "glGetProgramBinaryOES" }, + { "GL_ARB_get_program_binary", "glGetProgramBinary" }, + }); + +ExtensionFunction<void(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLint length)> + ProgramBinary({ + { "GL_OES_get_program_binary", "glProgramBinaryOES" }, + { "GL_ARB_get_program_binary", "glProgramBinary" }, + }); + +} // namespace gl +} // namespace mbgl + +#endif diff --git a/src/mbgl/gl/program_binary.hpp b/src/mbgl/gl/program_binary.hpp new file mode 100644 index 0000000000..e888ed3d4a --- /dev/null +++ b/src/mbgl/gl/program_binary.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include <mbgl/gl/features.hpp> +#include <mbgl/gl/extension.hpp> +#include <mbgl/gl/gl.hpp> + +#if MBGL_HAS_BINARY_PROGRAMS + +#define GL_PROGRAM_BINARY_LENGTH 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE +#define GL_PROGRAM_BINARY_FORMATS 0x87FF + +namespace mbgl { +namespace gl { + +extern ExtensionFunction<void( + GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)> + GetProgramBinary; + +extern ExtensionFunction<void( + GLuint program, GLenum binaryFormat, const GLvoid* binary, GLint length)> + ProgramBinary; + +} // namespace gl +} // namespace mbgl + +#endif |