Update ANGLE for Fx112
Categories
(Core :: Graphics: CanvasWebGL, task)
Tracking
()
People
(Reporter: jgilbert, Assigned: ErichDonGubler, Mentored)
References
(Blocks 1 open bug, Regressed 2 open bugs)
Details
Attachments
(10 files, 3 obsolete files)
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details | |
(deleted),
text/x-phabricator-request
|
Details |
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 1•3 years ago
|
||
Comment 2•3 years ago
|
||
There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:jgilbert, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit auto_nag documentation.
Updated•3 years ago
|
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 3•3 years ago
|
||
[task 2022-03-29T00:36:44.381Z] 00:36:44 INFO - GECKO(6252) | [GFX1]: Failed to create Pbuffer of back buffer error: 0x3004 Size : Size(160,234)
[task 2022-03-29T00:36:44.381Z] 00:36:44 INFO - GECKO(6252) | Assertion failure: [GFX1]: Failed to create Pbuffer of back buffer error: 0x3004 Size : Size(160,234), at /builds/worker/workspace/obj-build/dist/include/mozilla/gfx/Logging.h:754
[task 2022-03-29T00:36:44.487Z] 00:36:44 INFO - Initializing stack-fixing for the first stack frame, this may take a while...
[task 2022-03-29T00:36:48.287Z] 00:36:48 INFO - runtests.py | Waiting for browser...
[task 2022-03-29T00:36:56.194Z] 00:36:56 INFO - GECKO(6252) | #01: mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const&) [gfx/2d/Logging.h:755]
[task 2022-03-29T00:36:56.194Z] 00:36:56 INFO - GECKO(6252) | #02: mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::Flush() [gfx/2d/Logging.h:279]
[task 2022-03-29T00:36:56.195Z] 00:36:56 INFO - GECKO(6252) | #03: mozilla::wr::RenderCompositorANGLE::CreateEGLSurface() [gfx/webrender_bindings/RenderCompositorANGLE.cpp:671]
[task 2022-03-29T00:36:56.195Z] 00:36:56 INFO - GECKO(6252) | #04: mozilla::wr::RenderCompositorANGLE::ResizeBufferIfNeeded() [gfx/webrender_bindings/RenderCompositorANGLE.cpp:601]
[task 2022-03-29T00:36:56.196Z] 00:36:56 INFO - GECKO(6252) | #05: mozilla::wr::RenderCompositorANGLE::CreateSwapChain(nsTSubstring<char>&) [gfx/webrender_bindings/RenderCompositorANGLE.cpp:320]
[task 2022-03-29T00:36:56.196Z] 00:36:56 INFO - GECKO(6252) | #06: mozilla::wr::RenderCompositorANGLE::Initialize(nsTSubstring<char>&) [gfx/webrender_bindings/RenderCompositorANGLE.cpp:166]
[task 2022-03-29T00:36:56.197Z] 00:36:56 INFO - GECKO(6252) | #07: static mozilla::wr::RenderCompositorANGLE::Create(RefPtr<mozilla::widget::CompositorWidget> const&, nsTSubstring<char>&) [gfx/webrender_bindings/RenderCompositorANGLE.cpp:62]
[task 2022-03-29T00:36:56.197Z] 00:36:56 INFO - GECKO(6252) | #08: static mozilla::wr::RenderCompositor::Create(RefPtr<mozilla::widget::CompositorWidget> const&, nsTSubstring<char>&) [gfx/webrender_bindings/RenderCompositor.cpp:191]
[task 2022-03-29T00:36:56.198Z] 00:36:56 INFO - GECKO(6252) | #09: mozilla::wr::NewRenderer::Run(mozilla::wr::RenderThread&, mozilla::wr::WrWindowId) [gfx/webrender_bindings/WebRenderAPI.cpp:96]
[task 2022-03-29T00:36:56.198Z] 00:36:56 INFO - GECKO(6252) | #10: mozilla::wr::RenderThread::RunEvent(mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent,mozilla::DefaultDelete<mozilla::wr::RendererEvent> >) [gfx/webrender_bindings/RenderThread.cpp:458]
[task 2022-03-29T00:36:56.199Z] 00:36:56 INFO - GECKO(6252) | #11: mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread *,void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent,mozilla::DefaultDelete<mozilla::wr::RendererEvent> >),1,mozilla::RunnableKind::Standard,mozilla::wr::WrWindowId,mozilla::UniquePtr<mozilla::wr::RendererEvent,mozilla::DefaultDelete<mozilla::wr::RendererEvent> > &&>::Run() [xpcom/threads/nsThreadUtils.h:1203]
[task 2022-03-29T00:36:56.200Z] 00:36:56 INFO - GECKO(6252) | #12: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1167]
const EGLint pbuffer_attribs[]{
LOCAL_EGL_WIDTH,
size.width,
LOCAL_EGL_HEIGHT,
size.height,
LOCAL_EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE,
LOCAL_EGL_TRUE,
LOCAL_EGL_NONE};
jgilbert@osiris : /c/dev/mozilla/gecko7 071acaf6c08c angle-99
$ git grep -nrE EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED gfx/angle
[17:48:33] $? -> 1
jgilbert@osiris : /c/dev/mozilla/gecko7 071acaf6c08c angle-99
$
jgilbert@osiris : /c/dev/angle b4b5b64f0 firefox-99
$ git log src/libANGLE/Surface.cpp
[...]
commit ad8e4d99a977073074a36fe231477398843f1501
Author: Geoff Lang <geofflang@google.com>
Date: Tue Sep 28 11:48:46 2021 -0400
Remove EGL_ANGLE_flexible_surface_compatibility
This extension has been superseded by EGL_KHR_no_config_context.
Bug: chromium:1253930
Change-Id: Ie299c34baa84e9f47c73ddb5a0636536bf510d72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3190612
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
[...]
So we need to switch from the now-removed EGL_ANGLE_flexible_surface_compatibility to EGL_KHR_no_config_context.
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Reporter | ||
Updated•2 years ago
|
Assignee | ||
Comment 4•2 years ago
|
||
Assignee | ||
Comment 5•2 years ago
|
||
Depends on D162632
Assignee | ||
Comment 6•2 years ago
|
||
Reporter | ||
Updated•2 years ago
|
Assignee | ||
Comment 7•2 years ago
|
||
Assignee | ||
Comment 8•2 years ago
|
||
Depends on D164253
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 9•2 years ago
|
||
This lets us omit implementation details in a header, and avoid needing to pass some arguments when
only the decision to try using GLES changes.
Split out from @jgilbert's D164308.
Assignee | ||
Comment 10•2 years ago
|
||
This is basically an implementation detail that the only existing caller doesn't really need to
know. Factor it out.
Split out from @jgilbert's D164308.
Depends on D166706
Assignee | ||
Comment 11•2 years ago
|
||
When available, we should use the EGL_KHR_no_config_context
extension inside of
GLContextEGL::CreateEGLPBufferOffscreenContext
. The usage of this extension will be necessary to
accommodate incoming upstream changes in ANGLE, which have migrated away from
our usage of EGL_FLEXIBLE_SURFACE_COMPATIBILITY_SUPPORTED_ANGLE
in
gfx/webrender_bindings/RenderCompositorANGLE.cpp
in favor of this standard
extension. Luckily it's forwards-compatible to start consuming it now!
This revision changes a few things that are linked:
- Separate assignment and usage of a surface context from that of a context.
- Rename
GLContextEGL::mConfig
tomSurfaceConfig
to better reflect its usage; it's only ever
used to create surfaces, not contexts.
Split out from @jgilbert's D164308 and D164309.
Depends on D166707
Assignee | ||
Comment 12•2 years ago
|
||
This was interesting enough that @jgilbert wanted this, so I'm including this for completeness in
the current patch stack.
Split out from @jgilbert's D164308.
Depends on D166708
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 13•2 years ago
|
||
Depends on D164253
Assignee | ||
Comment 14•2 years ago
|
||
Now that we're using EGL_KHR_no_config_context
from a previous change, this attribute request is
no longer necessary. Even worse, support for it already been removed by upstream ANGLE. So, let's
nip this in the bud before we try to upgrade ANGLE.
Depends on D167037
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Comment 15•2 years ago
|
||
Comment 16•2 years ago
|
||
Backed out for multiple PoolAlloc.cpp related failures on Linux 18.04 x64 WebRender asan opt.
- Backout link
- Push with failures - this is to show the problem is from here and this is the push with all PoolAlloc.cpp failures related.
- Failure Log
- Failure line: SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /builds/worker/checkouts/gecko/gfx/angle/checkout/src/common/PoolAlloc.cpp:348:71 in
Comment 17•2 years ago
|
||
Comment 18•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4381cb30198b
https://hg.mozilla.org/mozilla-central/rev/1e30feb6482b
https://hg.mozilla.org/mozilla-central/rev/1c9aa0d7be69
https://hg.mozilla.org/mozilla-central/rev/0a5945b7de6a
https://hg.mozilla.org/mozilla-central/rev/70cfe77de2aa
https://hg.mozilla.org/mozilla-central/rev/632e0acf23f3
https://hg.mozilla.org/mozilla-central/rev/96f30dc79ae6
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 19•2 years ago
|
||
The last two patches in the patch stack resolving this haven't landed yet, due to regressions detected in autoland
builds. Currently working on getting these two; for now, I've merged the first 7 of 9, which should work independently of the actual ANGLE vendoring update.
Assignee | ||
Updated•2 years ago
|
Comment 20•2 years ago
|
||
Comment 21•2 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/06d250c819ee
https://hg.mozilla.org/mozilla-central/rev/94699211d97b
Comment 22•2 years ago
|
||
Just FTR, after rebasing to latest m-c today, I started hitting a build failure locally:
18:01.79 make[4]: *** No rule to make target `/Users/jkew/mozdev/mozilla-unified/gfx/angle/checkout/src/compiler/translator/tree_ops/gl/RecordConstantPrecision.cpp', needed by `RecordConstantPrecision.o'. Stop.
I've clobbered my build, and expect it to complete OK now, but it looks like it would've been good to touch the CLOBBER file to deal with the fact that the update here moved some files around within the ANGLE tree, meaning it's necessary to at least re-run configure.
Assignee | ||
Comment 23•2 years ago
|
||
Assignee | ||
Comment 24•2 years ago
|
||
:jfkthame, requested to land a touch of the CLOBBER
file (see previous comment). Sorry about that! Thanks for the heads-up.
Comment 25•2 years ago
|
||
Comment 26•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Updated•2 years ago
|
Comment 27•2 years ago
|
||
This appears to have removed the changes made for snap in bug 1727087 so snap builds are failing again.
/root/parts/firefox/build/gfx/angle/checkout/src/compiler/translator/SymbolTable_ESSL_autogen.cpp:4337:50: error: no member named 'isnan' in namespace 'sh::BuiltInName'
BuiltInName::isnan,
Can we upstream the snap changes?
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 30•2 years ago
|
||
This was reverted from Fx111 during the Beta cycle over in bug 1817240. It's planned to ride the Fx112 train to release.
Comment 31•2 years ago
|
||
This was backed out of 111 beta. See bug 1817240 comment 17
Description
•