[PATCH hwc v2 00/18] Add scene flattening support

Alexandru Gheorghe alexandru-cosmin.gheorghe at arm.com
Wed Apr 11 15:22:11 UTC 2018


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





More information about the dri-devel mailing list