WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
224888
[CMake] Support USE_ANGLE_EGL on additional platforms
https://bugs.webkit.org/show_bug.cgi?id=224888
Summary
[CMake] Support USE_ANGLE_EGL on additional platforms
Don Olmstead
Reported
2021-04-21 12:54:24 PDT
...
Attachments
WIP Patch
(22.46 KB, patch)
2021-04-21 12:57 PDT
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
WIP Patch
(23.82 KB, patch)
2021-04-21 19:10 PDT
,
Don Olmstead
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
WIP Patch
(32.71 KB, patch)
2021-04-23 14:51 PDT
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
Patch
(35.60 KB, patch)
2021-05-12 13:37 PDT
,
Don Olmstead
kbr
: review+
Details
Formatted Diff
Diff
WIP Patch
(34.79 KB, patch)
2021-05-26 11:25 PDT
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
WIP Patch
(35.48 KB, patch)
2021-05-26 12:18 PDT
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
WIP Patch
(36.06 KB, patch)
2021-05-26 12:37 PDT
,
Don Olmstead
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
WIP Patch
(37.04 KB, patch)
2021-05-26 13:03 PDT
,
Don Olmstead
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(38.80 KB, patch)
2021-05-26 13:58 PDT
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
Patch for Igalia to get started
(2.29 KB, patch)
2021-05-26 14:06 PDT
,
Don Olmstead
no flags
Details
Formatted Diff
Diff
Show Obsolete
(8)
View All
Add attachment
proposed patch, testcase, etc.
Don Olmstead
Comment 1
2021-04-21 12:57:58 PDT
Comment hidden (obsolete)
Created
attachment 426733
[details]
WIP Patch
Don Olmstead
Comment 2
2021-04-21 19:10:12 PDT
Comment hidden (obsolete)
Created
attachment 426763
[details]
WIP Patch
EWS Watchlist
Comment 3
2021-04-21 19:11:49 PDT
Comment hidden (obsolete)
Note that there are important steps to take when updating ANGLE. See
https://trac.webkit.org/wiki/UpdatingANGLE
Don Olmstead
Comment 4
2021-04-23 14:51:29 PDT
Created
attachment 426951
[details]
WIP Patch
Radar WebKit Bug Importer
Comment 5
2021-04-28 12:55:19 PDT
<
rdar://problem/77280211
>
Don Olmstead
Comment 6
2021-05-12 13:37:00 PDT
Created
attachment 428411
[details]
Patch
Kenneth Russell
Comment 7
2021-05-12 15:17:18 PDT
Comment on
attachment 428411
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=428411&action=review
Looks good to me overall - a few small comments. The real proof is whether things build with these changes. r+
> Source/ThirdParty/ANGLE/PlatformGTK.cmake:49 > + list(APPEND ANGLE_DEFINITIONS WL_EGL_PLATFORM)
Understanding the comment above, still, won't some Wayland definitions be lost with this if/elseif construction if both X11 and Wayland are defined? Should that be fixed?
> Source/ThirdParty/ANGLE/PlatformGTK.cmake:50 > + else ()
Wondering whether this should be something like if (!ENABLE_X11_TARGET && !ENABLE_WAYLAND_TARGET), and detached from this if/else chain.
> Source/WebKit/CMakeLists.txt:320 > + # Prepend to make sure the ANGLE headers are found before system headers
This kind of search path manipulation seemed fragile, which is why the code elsewhere in WebKit that calls into ANGLE on macOS uses more explicitly-scoped include paths, and processing is/was done when publishing these headers to the outside world. Not 100% sure if this is exactly the same issue, but something to think about.
> Tools/Scripts/update-angle:169 > +./gni-to-cmake.py src/libANGLE/renderer/metal/BUILD.gn Metal.cmake --prepend 'src/libANGLE/renderer/metal/'
Great to see these updates.
Michael Catanzaro
Comment 8
2021-05-13 11:31:36 PDT
Comment on
attachment 428411
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=428411&action=review
>> Source/WebKit/CMakeLists.txt:320 >> + # Prepend to make sure the ANGLE headers are found before system headers > > This kind of search path manipulation seemed fragile, which is why the code elsewhere in WebKit that calls into ANGLE on macOS uses more explicitly-scoped include paths, and processing is/was done when publishing these headers to the outside world. Not 100% sure if this is exactly the same issue, but something to think about.
Won't this cause the UI process to link to ANGLE? I think the UI process should not be allowed to link to ANGLE? This could cause weird issues in applications that don't expect to wind up using WebKit's special private OpenGL rather than mesa, right? I wonder what Adrian thinks.
Don Olmstead
Comment 9
2021-05-26 11:25:28 PDT
Comment hidden (obsolete)
Created
attachment 429774
[details]
WIP Patch Igalia has hikiko working on ANGLE. Updating the patch to hopefully get her closer to a full build.
Don Olmstead
Comment 10
2021-05-26 12:18:29 PDT
Comment hidden (obsolete)
Created
attachment 429780
[details]
WIP Patch
Don Olmstead
Comment 11
2021-05-26 12:37:56 PDT
Comment hidden (obsolete)
Created
attachment 429783
[details]
WIP Patch
Don Olmstead
Comment 12
2021-05-26 13:03:43 PDT
Comment hidden (obsolete)
Created
attachment 429785
[details]
WIP Patch
Don Olmstead
Comment 13
2021-05-26 13:58:02 PDT
Created
attachment 429791
[details]
Patch
Don Olmstead
Comment 14
2021-05-26 14:01:18 PDT
Comment on
attachment 428411
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=428411&action=review
>> Source/ThirdParty/ANGLE/PlatformGTK.cmake:50 >> + else () > > Wondering whether this should be something like if (!ENABLE_X11_TARGET && !ENABLE_WAYLAND_TARGET), and detached from this if/else chain.
This should be fixed in the patch for landing
>>> Source/WebKit/CMakeLists.txt:320 >>> + # Prepend to make sure the ANGLE headers are found before system headers >> >> This kind of search path manipulation seemed fragile, which is why the code elsewhere in WebKit that calls into ANGLE on macOS uses more explicitly-scoped include paths, and processing is/was done when publishing these headers to the outside world. Not 100% sure if this is exactly the same issue, but something to think about. > > Won't this cause the UI process to link to ANGLE? I think the UI process should not be allowed to link to ANGLE? This could cause weird issues in applications that don't expect to wind up using WebKit's special private OpenGL rather than mesa, right? I wonder what Adrian thinks.
This is potentially fragile BUT this shouldn't be a problem for GTK Michael. USE_ANGLE_EGL means use ANGLE as the OpenGL ES implementation for everything. So GTK won't hit that because it compiles with USE_ANGLE_WEBGL which just means use ANGLE for WebGL support and that's it.
Don Olmstead
Comment 15
2021-05-26 14:04:59 PDT
Ok so I believe I have addressed all concerns with this patch. The GTK EWS for the last patch ran successfully with USE_ANGLE_WEBGL enabled. It had some local changes that aren't for upstream but were just to get a green build. I'm sure there's probably more changes for GTK but I feel this patch is good to go and anything else with getting GTK working should be done in a follow up.
Don Olmstead
Comment 16
2021-05-26 14:06:25 PDT
Created
attachment 429792
[details]
Patch for Igalia to get started This contains the local changes to get EWS to complete successfully to continue investigation of turning on ANGLE for WebGL 2 on GTK.
Kenneth Russell
Comment 17
2021-05-26 14:25:28 PDT
Comment on
attachment 429791
[details]
Patch Latest patch still looks good to me.
Michael Catanzaro
Comment 18
2021-05-26 14:32:59 PDT
(In reply to Don Olmstead from
comment #14
)
> This is potentially fragile BUT this shouldn't be a problem for GTK Michael. > > USE_ANGLE_EGL means use ANGLE as the OpenGL ES implementation for > everything. So GTK won't hit that because it compiles with USE_ANGLE_WEBGL > which just means use ANGLE for WebGL support and that's it.
OK, I agree this would only be a problem if USE_ANGLE_EGL were to be turned on.
EWS
Comment 19
2021-05-26 15:49:22 PDT
Committed
r278130
(
238180@main
): <
https://commits.webkit.org/238180@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 429791
[details]
.
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