WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
96937
OpenGL building issue when compiling for Harmattan
https://bugs.webkit.org/show_bug.cgi?id=96937
Summary
OpenGL building issue when compiling for Harmattan
Laszlo Papp
Reported
2012-09-17 11:56:41 PDT
There are two issues: 1) PFNGL* 2) GLchar not typedef'd for Harmattan so a workaround needs to be added in here, just like it was done for the QtBase project. In file included from platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:37: platform/graphics/opengl/Extensions3DOpenGLES.h:110: error: 'PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG' does not name a type platform/graphics/opengl/Extensions3DOpenGLES.h:111: error: 'PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG' does not name a type platform/graphics/opengl/Extensions3DOpenGLES.h:112: error: 'PFNGLBINDVERTEXARRAYOESPROC' does not name a type platform/graphics/opengl/Extensions3DOpenGLES.h:113: error: 'PFNGLDELETEVERTEXARRAYSOESPROC' does not name a type platform/graphics/opengl/Extensions3DOpenGLES.h:114: error: 'PFNGLGENVERTEXARRAYSOESPROC' does not name a type platform/graphics/opengl/Extensions3DOpenGLES.h:115: error: 'PFNGLISVERTEXARRAYOESPROC' does not name a type platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: In member function 'void WebCore::GraphicsContext3D::compileShader(Platform3DObject)': platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:479: error: 'GLchar' was not declared in this scope platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:479: error: template argument 1 is invalid platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:479: error: invalid type in declaration before '=' token platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:479: error: expected type-specifier before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:479: error: expected ')' before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:479: error: cannot convert 'WTF::PassOwnArrayPtr<int>' to 'int' in initialization platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:480: error: request for member 'get' in 'info', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:482: error: request for member 'get' in 'info', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: In member function 'bool WebCore::GraphicsContext3D::getActiveAttrib(Platform3DObject, GC3Duint, WebCore::ActiveInfo&)': platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:632: error: 'GLchar' was not declared in this scope platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:632: error: template argument 1 is invalid platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:632: error: invalid type in declaration before '=' token platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:632: error: expected type-specifier before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:632: error: expected ')' before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:632: error: cannot convert 'WTF::PassOwnArrayPtr<int>' to 'int' in initialization platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:636: error: request for member 'get' in 'name', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:639: error: request for member 'get' in 'name', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: In member function 'bool WebCore::GraphicsContext3D::getActiveUniform(Platform3DObject, GC3Duint, WebCore::ActiveInfo&)': platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:656: error: 'GLchar' was not declared in this scope platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:656: error: template argument 1 is invalid platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:656: error: invalid type in declaration before '=' token platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:656: error: expected type-specifier before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:656: error: expected ')' before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:656: error: cannot convert 'WTF::PassOwnArrayPtr<int>' to 'int' in initialization platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:660: error: request for member 'get' in 'name', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:664: error: request for member 'get' in 'name', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: In member function 'WTF::String WebCore::GraphicsContext3D::getProgramInfoLog(Platform3DObject)': platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1118: error: 'GLchar' was not declared in this scope platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1118: error: template argument 1 is invalid platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1118: error: invalid type in declaration before '=' token platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1118: error: expected type-specifier before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1118: error: expected ')' before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1118: error: cannot convert 'WTF::PassOwnArrayPtr<int>' to 'int' in initialization platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1119: error: request for member 'get' in 'info', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1121: error: request for member 'get' in 'info', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: In member function 'WTF::String WebCore::GraphicsContext3D::getShaderInfoLog(Platform3DObject)': platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1185: error: 'GLchar' was not declared in this scope platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1185: error: template argument 1 is invalid platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1185: error: invalid type in declaration before '=' token platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1185: error: expected type-specifier before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1185: error: expected ')' before 'GLchar' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1185: error: cannot convert 'WTF::PassOwnArrayPtr<int>' to 'int' in initialization platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1186: error: request for member 'get' in 'info', which is of non-class type 'int' platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1188: error: request for member 'get' in 'info', which is of non-class type 'int' make[3]: *** [obj/release/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.o] Error 1 make[3]: Leaving directory `/home/lpapp/qt5-beta1/qt5-webkit/qt5-webkit/Source/WebCore' make[2]: *** [sub-Target-pri-make_first-ordered] Error 2 make[2]: Leaving directory `/home/lpapp/qt5-beta1/qt5-webkit/qt5-webkit/Source/WebCore' make[1]: *** [sub-Source-WebCore-WebCore-pro-make_first-ordered] Error 2 make[1]: Leaving directory `/home/lpapp/qt5-beta1/qt5-webkit/qt5-webkit' dh_auto_build: make -j1 returned exit code 2 make: *** [build] Error 9
Attachments
Initial fixes
(1.68 KB, patch)
2012-09-17 16:38 PDT
,
Lauro Moura Maranhao Neto
no flags
Details
Formatted Diff
Diff
Patch
(1.93 KB, patch)
2012-09-18 04:42 PDT
,
Simon Hausmann
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Lauro Moura Maranhao Neto
Comment 1
2012-09-17 16:38:54 PDT
Created
attachment 164474
[details]
Initial fixes
Lauro Moura Maranhao Neto
Comment 2
2012-09-17 16:41:47 PDT
As suggested by Simon over IRC, including qopengles2ext.h from Extensions3DOpenGLES.h helped solve the issue, but just including it causes the build to fail like in
https://bugs.webkit.org/show_bug.cgi?id=91030
. This is due to qopengles2ext.h defining two of the PFN* extension functions with a PROC suffix (like Khrono's version) while WebKit's own ANGLE copy does not. So, in the first patch are the initial changes to make it past this problem.
Laszlo Papp
Comment 3
2012-09-18 01:37:31 PDT
Wouldn't a qopengl.h include be enough? That would already have the typedef for the GLchar, and would also include the qopengles2ext.h header.
Simon Hausmann
Comment 4
2012-09-18 04:27:14 PDT
Part of the problem is that the qopengles2ext.h header has what I believe is a bug. See also
https://codereview.qt-project.org/#change,35004
This can be worked around though by avoiding the inclusion of gl2ext.h.
Simon Hausmann
Comment 5
2012-09-18 04:42:02 PDT
Created
attachment 164532
[details]
Patch
WebKit Review Bot
Comment 6
2012-09-18 05:24:23 PDT
Comment on
attachment 164532
[details]
Patch Clearing flags on attachment: 164532 Committed
r128877
: <
http://trac.webkit.org/changeset/128877
>
WebKit Review Bot
Comment 7
2012-09-18 05:24:27 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug