/******************************************************************** KWin - the KDE window manager This file is part of the KDE project. Copyright (C) 2007 Rivo Laks This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ #ifndef KWIN_GLUTILS_FUNCS_H #define KWIN_GLUTILS_FUNCS_H #include #include #include #include #include #include // qopengl.h declares GLdouble as a typedef of float when Qt is built // with GLES support. This conflicts with the epoxy/gl_generated.h // declaration, so we have to prevent the Qt header from being #included. #define QOPENGL_H #ifndef QOPENGLF_APIENTRY #define QOPENGLF_APIENTRY GLAPIENTRY #endif #ifndef QOPENGLF_APIENTRYP #define QOPENGLF_APIENTRYP GLAPIENTRYP #endif namespace KWin { void KWINGLUTILS_EXPORT glxResolveFunctions(); void KWINGLUTILS_EXPORT eglResolveFunctions(); void KWINGLUTILS_EXPORT glResolveFunctions(OpenGLPlatformInterface platformInterface); // GLX_MESA_swap_interval using glXSwapIntervalMESA_func = int (*)(unsigned int interval); extern KWINGLUTILS_EXPORT glXSwapIntervalMESA_func glXSwapIntervalMESA; // GL_ARB_robustness / GL_EXT_robustness using kwinGlGetGraphicsResetStatus_func = GLenum (*)(); using kwinGlReadnPixels_func = void (*)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data); using kwinGlGetnUniformfv_func = void (*)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params); extern KWINGLUTILS_EXPORT kwinGlGetGraphicsResetStatus_func kwinGlGetGraphicsResetStatus; extern KWINGLUTILS_EXPORT kwinGlReadnPixels_func kwinGlReadnPixels; extern KWINGLUTILS_EXPORT kwinGlGetnUniformfv_func kwinGlGetnUniformfv; } // namespace #endif // KWIN_GLUTILS_FUNCS_H