Open Bug 972444 Opened 6 years ago Updated 4 years ago
_DEALLOCATE _CLIENT be async most of the time
synchronous messages to the compositor are full of sadness because they force the sender to wait for a potentially long time. Right now TextureClient/Host pairs with the TEXTURE_DEALLOCATE_CLIENT flag are destroyed synchronously to ensure that the compositor doesn't use the texture when the client destroys it. After we fix the potential for race conditions between PLayerTransaction/PTexture shutdown and messages coming from the compositor to the client, we can have the texture be deallocated on the client after an async response from the compositor, which would avoid the necessity of issuing a synchronous call most of the time. Most of the time, but not always, because at least in the case of the end of an hardware decoded video stream on b2g, we may need to retrieve synchronously the buffers, so we'll still need to be able to express a synchronous texture shutdown for this rare (compared to async) case. It looks like SkiaGL canvas may need this (ask snorp).
You need to log in before you can comment on or make changes to this bug.