diff --git a/graphics/graphics.pro b/graphics/graphics.pro index 1e986b619b..f6e36fc716 100644 --- a/graphics/graphics.pro +++ b/graphics/graphics.pro @@ -152,5 +152,9 @@ win32* { SOURCES += opengl/opengl_es2.cpp } else { HEADERS += - SOURCES += opengl/opengl_ext.cpp + if CONFIG(OMIM_OS_MAEMO) { + SOURCES += opengl/opengl_es2.cpp + } else { + SOURCES += opengl/opengl_ext.cpp + } } diff --git a/graphics/opengl/opengl.hpp b/graphics/opengl/opengl.hpp index 2f9901155e..7c1c780f4a 100644 --- a/graphics/opengl/opengl.hpp +++ b/graphics/opengl/opengl.hpp @@ -34,10 +34,17 @@ #define OMIM_GL_ES +#elif defined(OMIM_OS_MAEMO) + #define USE_OPENGLES20_IF_AVAILABLE 1 + #include + #include + #define OMIM_GL_ES + #else #define GL_GLEXT_PROTOTYPES #include #include + #endif diff --git a/graphics/opengl/opengl_es2.cpp b/graphics/opengl/opengl_es2.cpp index 4af442328d..9490e0eb87 100644 --- a/graphics/opengl/opengl_es2.cpp +++ b/graphics/opengl/opengl_es2.cpp @@ -1,6 +1,11 @@ #include "opengl.hpp" #include "opengl_glsl_impl.hpp" +#ifdef OMIM_OS_MAEMO + #define GL_GLEXT_PROTOTYPES + #include +#endif + #ifdef OMIM_OS_ANDROID #define GL_GLEXT_PROTOTYPES #include @@ -47,8 +52,13 @@ namespace graphics g_isMapBufferSupported = HasExtension("GL_OES_mapbuffer"); +#ifdef OMIM_OS_MAEMO + glMapBufferFn = 0; + glUnmapBufferFn = 0; +#else glMapBufferFn = &glMapBufferOES; glUnmapBufferFn = &glUnmapBufferOES; +#endif g_isFramebufferSupported = true; @@ -59,7 +69,7 @@ namespace graphics glDeleteFramebuffersFn = &glDeleteFramebuffers; glCheckFramebufferStatusFn = &glCheckFramebufferStatus; // this extension is defined in headers but absent in library on Android ARM platform -#if defined(OMIM_OS_ANDROID) && defined(__arm__) +#if (defined(OMIM_OS_ANDROID) && defined(__arm__)) || defined(OMIM_OS_MAEMO) glDiscardFramebufferFn = 0; #else glDiscardFramebufferFn = &glDiscardFramebufferEXT;