This replaces a big chunk of GLEW code.
Details
- Reviewers
dkazakov rempt - Maniphest Tasks
- Restricted Maniphest Task
- Commits
- R37:acab41107ffb: Remove some GLEW code
R8:88d7c2429ef4: Remove some GLEW code
Diff Detail
- Repository
- R8 Calligra
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
Hm, I'm getting a build failure on Linux:
In file included from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:20:0:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:71:57: error: ‘QOpenGLFunctions’ has not been declared
bool useBuffer, int numMipmapLevels, QOpenGLFunctions *f); ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:131:5: error: ‘QOpenGLFunctions’ does not name a type
QOpenGLFunctions *f; ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h: In member function ‘void KisTextureTile::setTextureParameters()’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:98:12: error: ‘f’ was not declared in this scope
if(f) { ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: At global scope:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:43:1: error: prototype for ‘KisTextureTile::KisTextureTile(QRect, const KisGLTexturesInfo*, const QByteArray&, KisTextureTile::FilterMode, bool, int, QOpenGLFunctions*)’ does not match any in class ‘KisTextureTile’
KisTextureTile::KisTextureTile(QRect imageRect, const KisGLTexturesInfo *texturesInfo,
^
In file included from /home/boud/qt5/include/QtCore/QtGlobal:1:0,
from /home/boud/kde/src/calligra/krita/ui/opengl/kis_opengl.h:29, from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:21, from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:20:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:132:20: error: candidates are: KisTextureTile::KisTextureTile(const KisTextureTile&)
Q_DISABLE_COPY(KisTextureTile) ^
In file included from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:20:0:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:69:5: error: KisTextureTile::KisTextureTile(QRect, const KisGLTexturesInfo*, const QByteArray&, KisTextureTile::FilterMode, bool, int, int*)
KisTextureTile(QRect imageRect, const KisGLTexturesInfo *texturesInfo, ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: In destructor ‘KisTextureTile::~KisTextureTile()’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:102:5: error: ‘f’ was not declared in this scope
f->glDeleteTextures(1, &m_textureId); ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: In member function ‘void KisTextureTile::bindToActiveTexture()’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:107:5: error: ‘f’ was not declared in this scope
f->glBindTexture(GL_TEXTURE_2D, m_textureId); ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: In member function ‘void KisTextureTile::update(const KisTextureTileUpdateInfo&)’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:126:5: error: ‘f’ was not declared in this scope
f->initializeOpenGLFunctions();
Hm, I'm getting a build failure on Linux:
In file included from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:20:0:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:71:57: error: ‘QOpenGLFunctions’ has not been declared
bool useBuffer, int numMipmapLevels, QOpenGLFunctions *f); ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:131:5: error: ‘QOpenGLFunctions’ does not name a type
QOpenGLFunctions *f; ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h: In member function ‘void KisTextureTile::setTextureParameters()’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:98:12: error: ‘f’ was not declared in this scope
if(f) { ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: At global scope:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:43:1: error: prototype for ‘KisTextureTile::KisTextureTile(QRect, const KisGLTexturesInfo*, const QByteArray&, KisTextureTile::FilterMode, bool, int, QOpenGLFunctions*)’ does not match any in class ‘KisTextureTile’
KisTextureTile::KisTextureTile(QRect imageRect, const KisGLTexturesInfo *texturesInfo,
^
In file included from /home/boud/qt5/include/QtCore/QtGlobal:1:0,
from /home/boud/kde/src/calligra/krita/ui/opengl/kis_opengl.h:29, from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:21, from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:20:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:132:20: error: candidates are: KisTextureTile::KisTextureTile(const KisTextureTile&)
Q_DISABLE_COPY(KisTextureTile) ^
In file included from /home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:20:0:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.h:69:5: error: KisTextureTile::KisTextureTile(QRect, const KisGLTexturesInfo*, const QByteArray&, KisTextureTile::FilterMode, bool, int, int*)
KisTextureTile(QRect imageRect, const KisGLTexturesInfo *texturesInfo, ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: In destructor ‘KisTextureTile::~KisTextureTile()’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:102:5: error: ‘f’ was not declared in this scope
f->glDeleteTextures(1, &m_textureId); ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: In member function ‘void KisTextureTile::bindToActiveTexture()’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:107:5: error: ‘f’ was not declared in this scope
f->glBindTexture(GL_TEXTURE_2D, m_textureId); ^
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp: In member function ‘void KisTextureTile::update(const KisTextureTileUpdateInfo&)’:
/home/boud/kde/src/calligra/krita/ui/opengl/kis_texture_tile.cpp:126:5: error: ‘f’ was not declared in this scope
f->initializeOpenGLFunctions();
The reason for the build failure is the module prefix: QtGui/QtOpenGLFunctions -- we really shouldn't use those prefixes anywhere. They don't really serve a purpose and make cross-platform development harder.
Apologies for the faulty code. I think these includes were included in one of the previous patches I submitted. KDevelop on seemed to prefer I write it that way, I didn't realize it was unsafe.
Yes, please push. I wonder if the problems I had compiling the xcftools with this patch applied are relevant, I had to remove two typedefs in xcftools.h. But that's not so important. If you've pushed this patch, I agree it's time to look at how KisIOpenGLImageTextures is used. I actually do already have a patch somewhere that delays instantiation to the initilalizeGL.