Flattening a scene in order to reduce memory consumption it's an idea which had been floating around on irc and mailing list several times, this patchset adds support for flattening a scene using a writeback connector, the latest version of the kernel patches could be found here [1]. v1 for this patch series could be found here [2]. Changes since v1: - Add support to use either the same crtc or a dedicated one, this had been discussed on irc here [3]. - Add support for parsing more than one drm node, this is triggered by the fact the on Mali DP each device has it's own driver, so it's needed in order to use a dedicate crtc for flattening. - Parse encoder possible_clones to detect if writeback could function simultaneously with the display connector. - Fixes for some bugs discovered while working on this. - Split changes in multiple patches. The patches could be classified in: [1-3]: Bug fixes that could be independently merged drm_hwcomposer: vsyncworker: Fix uninitialized enabled_ field drm_hwcomposer: vsyncworker: Fix deadlock on exit path drm_hwcomposer: drmeventlistener: Set nl_pid to 0 [4-5]: Support for multiple drm devices: drm_hwcomposer: Add resource manager class drm_hwcomposer: Enable resource manager support [6-18]: Scene flattening support drm_hwcomposer: Add writeback connector support drm_hwcomposer: Add display field to Drmencoder drm_hwcomposer: Parse and store possible_clones information drm_hwcomposer: Handle writeback connectors drm_hwcomposer: hwcutils: Add function for cloning a DrmHwcLayer drm_hwcomposer: Add utility functions to copy displaycomposition internals drm_hwcomposer: Add utility function to create an initialized composition drm_hwcomposer: Pass buffer sizes to Prepareframebuffer drm_hwcomposer: Fix race in ApplyFrame drm_hwcomposer: Add worker to trigger scene flattenning drm_hwcomposer: Find writeback connector for scene flattening drm_hwcomposer: Flatten scene synchronously drm_hwcomposer: Flatten scene asynchronously Tested both code paths on Mali DP with some hacks that disable the GLCompositor. [1] https://lists.freedesktop.org/archives/dri-devel/2018-February/167703.html [2] https://www.spinics.net/lists/dri-devel/msg169046.html [3] https://people.freedesktop.org/~cbrill/dri-log/?channel=dri-devel&date=2018-03-21 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel