WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
95965
[Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
https://bugs.webkit.org/show_bug.cgi?id=95965
Summary
[Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
Simon Hausmann
Reported
2012-09-06 03:11:42 PDT
[Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
Attachments
Patch
(28.60 KB, patch)
2012-09-06 03:24 PDT
,
Simon Hausmann
vestbo
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Simon Hausmann
Comment 1
2012-09-06 03:19:29 PDT
For the Qt port we need only the shader compiler from ANGLE, for validation of shader rewriting. We do not need the EGL/GLESv2 API it provides on any platform. The shader "API" we need is declared in include/GLSLANG/ShaderLang.h and the EGL/GLESV2 API is declared in include/EGL and include/GLES2. For building ANGLE itself we need to have the EGL/GLES2 directories in the include path. For the use of ANGLE in WebCore we need include/GLSLANG in the include search path. The problem at hand is that we build ANGLE as part of WebCore and therefore need two sets of include paths at the same time. That means when building WebCore we do have directories in the include search path that declare EGL and GLESv2 APIs. At the same time there is code in WebCore that _uses_ EGL and GLESv2 (GraphicsContext3D for example), and we do want _that_ code to use the _system_ EGL/GLESv2 implementation. The presence of those ANGLE include paths result in a conflict and cause build issues in environments where EGL and GLESv2 are part of the platform. The solution is to build ANGLE as a separate static library, with its own EGL/GLES2 include search paths present. There is no risk of conflict with system components as we do not end up using that code at run-time anyway. Then in WebCore we can just add the include/GLSLANG path into the include search path and be sure that any usage of EGL and GLESv2 will hit the system header files. As an extra bonus the build of ANGLE as a separate static library simplifies the current approach of having different compile flags for some of the ANGLE sources.
Simon Hausmann
Comment 2
2012-09-06 03:24:24 PDT
Created
attachment 162465
[details]
Patch
Tor Arne Vestbø
Comment 3
2012-09-06 03:28:15 PDT
Comment on
attachment 162465
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=162465&action=review
awesome!
> Source/WebCore/Target.pri:3930 > + WEBKIT += ANGLE
nitpick, but WEBKIT += angle We take care of the casing in default_post
> Source/WebKit/WebKit1.pro:155 > +contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += ANGLE
Ditto
> Source/api.pri:88 > +contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += ANGLE
Ditto
Simon Hausmann
Comment 4
2012-09-06 03:55:33 PDT
Committed
r127724
: <
http://trac.webkit.org/changeset/127724
>
Simon Hausmann
Comment 5
2012-09-06 22:46:04 PDT
***
Bug 95560
has been marked as a duplicate of this 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