forked from mirrors/gecko-dev
Bug 1555544 - Remove calling TextureClient::CancelWaitForNotifyNotUsed() r=jgilbert
Flickering happened when SharedSurface_ANGLEShareHandle is destroyed before RenderDXGITextureHostOGL::EnsureLockable() is called on Render thread. RenderDXGITextureHostOGL failed at device->OpenSharedResource() . In this case, SharedSurface_ANGLEShareHandle failed to render. Then black was rendered. If TextureClient::CancelWaitForNotifyNotUsed() is not called, the refcount is kept until the host side ends its usage. The refcount is removed by CompositorBridgeChild::NotifyNotUsed(). Depends on D33265 Differential Revision: https://phabricator.services.mozilla.com/D33143 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
16ce9c4a30
commit
e9e8848ea1
2 changed files with 0 additions and 4 deletions
|
|
@ -276,7 +276,6 @@ SurfaceFactory::~SurfaceFactory() {
|
|||
while (!mRecycleTotalPool.empty()) {
|
||||
RefPtr<layers::SharedSurfaceTextureClient> tex = *mRecycleTotalPool.begin();
|
||||
StopRecycling(tex);
|
||||
tex->CancelWaitForNotifyNotUsed();
|
||||
}
|
||||
|
||||
MOZ_RELEASE_ASSERT(mRecycleTotalPool.empty(),
|
||||
|
|
|
|||
|
|
@ -498,9 +498,6 @@ void CanvasClientSharedSurface::Updated(wr::RenderRoot aRenderRoot) {
|
|||
void CanvasClientSharedSurface::OnDetach() { ClearSurfaces(); }
|
||||
|
||||
void CanvasClientSharedSurface::ClearSurfaces() {
|
||||
if (mFront) {
|
||||
mFront->CancelWaitForNotifyNotUsed();
|
||||
}
|
||||
mFront = nullptr;
|
||||
mNewFront = nullptr;
|
||||
mShSurfClient = nullptr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue