Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* view-backend-exportable-private: some cleanups and renaming around frame callbacks. * view-backend-exportable-private: improve frame callback wl_resource management Use a destroy listener on frame callback resources in order to be able to properly clean up in case the underlying client disappears. Internal management of these resources in ViewBackend now uses wl_list. * view-backend-exportable-fdo: improve buffer wl_resource management Use a destroy handle on the buffer wl_resource in order to properly track the resource's lifetime. In case the resource was destroyed while corresponding wl_resource was exported to the client, the subsequent release should avoid dispatching buffer release notification on the already-destroyed resource. To achieve this, buffer resources are tracked inside the ClientBundleBuffer implementation in a wl_list, with entries added to that list upon export and removed from it upon release or destruction. * view-backend-exportable-fdo-egl: improve buffer wl_resource management in the deprecated implementation Use a destroy handler on the buffer wl_resource in order to properly track resource's lifetime. In case the resource was destroyed while corresponding wl_resource was exported to the client, the subsequent release should avoid dispatching buffer release notification on the already-destroyed resource. ClientBundleEGLDeprecated tracks the exported resources (on which EGLImage objects are based) in a wl_list. Upon resource destruction, the tracked resource is removed. When the buffer resource is returned, it is released if it is still tracked and was not yet destroyed. The corresponding EGLImage is destroyed unconditionally. * view-backend-exportable-fdo-egl: clean up management of buffer resources in the wpe_fdo_egl_exported_image implementation The ClientBundleEGL implementat that operates with wpe_fdo_egl_exported_image objects already relies on destroy listeners to properly track wl_resource lifetime, so these changes only polish things. The basics remain the same: if the wl_resource is destroyed, the wpe_fdo_egl_exported_image object is destroyed immediately if it's not currently exported, otherwise it's destroyed when the client returns it.
- Loading branch information
Showing
4 changed files
with
182 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters