#pragma once #include #include #include #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 { namespace extension { class ProgramBinary { public: template ProgramBinary(const Fn& loadExtension) : getProgramBinary(loadExtension({ { "GL_OES_get_program_binary", "glGetProgramBinaryOES" }, { "GL_ARB_get_program_binary", "glGetProgramBinary" }, })), programBinary(loadExtension({ { "GL_OES_get_program_binary", "glProgramBinaryOES" }, { "GL_ARB_get_program_binary", "glProgramBinary" }, })) { } const ExtensionFunction getProgramBinary; const ExtensionFunction programBinary; }; } // namespace extension } // namespace gl } // namespace mbgl #endif