Ensure Surfaces get reallocated after GPU process crash on Android
Categories
(GeckoView Graveyard :: Sandboxing, task, P3)
Tracking
(firefox98 fixed)
Tracking | Status | |
---|---|---|
firefox98 | --- | fixed |
People
(Reporter: jnicol, Assigned: jnicol)
References
Details
Attachments
(1 file)
Spin off from bug 1742569. That one landed basic support for the SurfaceAllocator to exist in the GPU process, allowing video and webgl to work on Android with the GPU process enabled.
This bug will add support for handling a GPU process crash. We need the SurfaceAllocator to reconnect to the new process, and video and webgl to gracefully reallocate their surfaces
Assignee | ||
Comment 1•3 years ago
|
||
Make the SurfaceAllocator save a reference to all Surfaces it has
allocated. When the connection to the remote allocator dies, mark all
of those surfaces as released.
Make GLScreenBuffer (webgl) and RemoteVideoDecoder (video) detect when
the Surfaces they are outputting into have been released, and allocate
new ones. For video decoding on Android Marshmallow and later, we can
use MediaCodec.setOutputSurface to swap the output surface
dynamically. On older Android versions we must reconfigure the codec.
Updated•3 years ago
|
Comment 3•3 years ago
|
||
bugherder |
Comment 4•2 years ago
|
||
Moving GPU process bugs to the new GeckoView::Sandboxing component.
Updated•4 months ago
|
Description
•