OSDN Git Service

drm_hwcomposer: Introduce Planner interface
authorSean Paul <seanpaul@chromium.org>
Tue, 10 May 2016 08:19:24 +0000 (04:19 -0400)
committerSean Paul <seanpaul@chromium.org>
Mon, 16 May 2016 21:04:44 +0000 (17:04 -0400)
commit4c4646e7b8a5cffdc8a2d53374b5340c07d14012
tree51d19599c6bba8326ed6d30069e842dd87edcef5
parent4f4ef69e539c8f0c7352f12247b7551936736d04
drm_hwcomposer: Introduce Planner interface

This patch introduces a new Planner interface to the platform specific
code. This new interface will allow for platform-specific plane provisioning
decisions to cover various hardware quirks.

Each platform must provide a Planner with one or more PlanStage steps. These
stages are run in order and are used to move the given layers onto composition
planes.

There are two generic stages provided by the platform:
- Protected: Places layers on dedicated planes
- Greedy: Provisions as many layers to planes and sticks the rest in precomp

There is also one platform-specific stage included:
- ProtectedRotated: Places any protected & rotated layer on the primary plane

BUG=b/28117135
TEST=Tested on ryu with a variety of window layouts

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: Ib6062ab4779166753afaf122450bb63126bf9161
Android.mk
drmdisplaycomposition.h
platform.cpp [new file with mode: 0644]
platform.h
platformdrmgeneric.cpp
platformnv.cpp
platformnv.h