Open Bug 1421693 Opened 6 years ago Updated 2 years ago

Hangs with surfacetexture tiles after minimising/restoring

Categories

(Core :: Graphics: Layers, defect, P3)

defect

Tracking

()

People

(Reporter: jnicol, Assigned: jnicol)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

I cannot reproduce this, but it seems ReleaseTexImage in SurfaceTextureHost::NotifyNotUsed is failing due to an invalid context, which means that ANativeWindow_lock in AndroidNativeWindowTextureData::Lock will hang.
Comment on attachment 8932982 [details]
Bug 1421693 - Do not reuse SurfaceTexture TextureClients if ReleaseTexImage failed.

https://reviewboard.mozilla.org/r/203978/#review209468

::: gfx/layers/opengl/TextureHostOGL.cpp:548
(Diff revision 1)
> +  bool deferReadUnlock = false;
> +
>    if (mSurfTex && mSurfTex->IsSingleBuffer()) {
> -    mSurfTex->ReleaseTexImage();
> +    nsresult res = mSurfTex->ReleaseTexImage();
> +
> +    if (NS_FAILED(res)) {

I wonder if we should just put a release assert in here until we can figure out why ReleaseTexImage() fails?
Attachment #8932982 - Flags: review?(snorp) → review+
Comment on attachment 8932982 [details]
Bug 1421693 - Do not reuse SurfaceTexture TextureClients if ReleaseTexImage failed.

https://reviewboard.mozilla.org/r/203978/#review209470

Whoops, hit 'publish' too soon...

Will we just accumulate "broken" SurfaceTextures if ReleaseTexImage() fails?
Comment on attachment 8932982 [details]
Bug 1421693 - Do not reuse SurfaceTexture TextureClients if ReleaseTexImage failed.

https://reviewboard.mozilla.org/r/203978/#review209470

No, the TiledContentClient will not be able to lock the TextureClient, so will discard it.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: