Scrape off some GLEW.
ClosedPublic

Authored by abrahams on Aug 6 2015, 11:24 PM.

Details

Reviewers
dkazakov
rempt
Maniphest Tasks
Restricted Maniphest Task
Commits
R37:acab41107ffb: Remove some GLEW code
R8:88d7c2429ef4: Remove some GLEW code
Summary

This replaces a big chunk of 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.
abrahams updated this revision to Diff 524.Aug 6 2015, 11:24 PM
abrahams added a task: Restricted Maniphest Task.
abrahams retitled this revision from to Remove GLEW from OpenGL code.
abrahams updated this object.
abrahams edited the test plan for this revision. (Show Details)
abrahams added reviewers: dkazakov, rempt.
abrahams retitled this revision from Remove GLEW from OpenGL code to Remove some uses of GLEW..Aug 6 2015, 11:33 PM
abrahams updated this object.
rempt edited edge metadata.Aug 7 2015, 8:24 AM

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();
rempt added a comment.Aug 7 2015, 8:24 AM

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();
rempt added a comment.Aug 7 2015, 8:28 AM

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.

abrahams updated this revision to Diff 527.Aug 7 2015, 3:29 PM
abrahams edited edge metadata.

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.

abrahams retitled this revision from Remove some uses of GLEW. to Scrape off some GLEW..Aug 7 2015, 3:31 PM
rempt added a comment.Aug 8 2015, 6:55 AM

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.

This revision was automatically updated to reflect the committed changes.