Assertion failure: !(aFlags & TextureFlags::DEALLOCATE_CLIENT) when running webgl on android with webrender enabled
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox79 | --- | fixed |
People
(Reporter: jnicol, Assigned: jnicol)
References
Details
Attachments
(1 file)
When running any webgl page (such as https://get.webgl.org/) with a debug geckoview build and webrender enabled, we hit this assertion.
We set the DEALLOCATE_CLIENT
flag here.
The flag is definitely required for SharedSurface_EGLImage
, because we need to ensure the data is destroyed on the client side, after the host has forgotten it. (That was bug 1210444).
But for SharedSurface_SurfaceTexture
I don't think that is necessary - when the client side is destroyed we will call SurfaceAllocator::DisposeSurface()
, which will simply release a reference to the GeckoSurfaceTexture
. The remaining reference held by the host side will keep it alive until it is no longer needed by the host.
Bugzilla has also helpfully suggested bug 1251523 as relevant, in which we removed the flag from AndroidSurfaceTextureData
.
Assignee | ||
Comment 1•4 years ago
|
||
The flag is not required for SharedSurface_SurfaceTexture, as
GeckoSurfaceTexture is reference counted. When the GeckoSurface is
disposed on the client side it simply decrements the refcount of the
GeckoSurfaceTexture on the host side, which will remain alive until
the TextureHost's reference is also dropped.
Pushed by jnicol@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/15beac7ebecb Don't set DEALLOCATE_CLIENT flag for SharedSurface_SurfaceTextures. r=sotaro
Comment 3•4 years ago
|
||
bugherder |
Description
•