1
0
Fork 0
Commit graph

12 commits

Author SHA1 Message Date
Sean Paul
dffca95b7b drm_hwcomposer: Ignore NULL display_contents
surfaceflinger will send in NULL display_contents in prepare/set,
make sure we don't blow up.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: Ia5085d4bd5e5928b52d81d14d027d0a162995946
2015-02-04 14:46:27 -08:00
Sean Paul
a4283c5cc8 drm_hwcomposer: Don't try to get configs for a disconnected connector
Short circuit getting the configs for connectors which are disconnected.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: Ieabbf08f4d4a6c8b03f948399113e3ad04a2d93a
2015-02-04 14:46:27 -08:00
Sean Paul
fa406a10d4 drm_hwcomposer: Store active mode instead of config index
Since the config indices can change out from under us, store the
actual mode instead of an index. This avoids having to
reset active_config when we get a new list from the driver.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I09a1ffbdde16c44ccc8a1d2865f09a5da22c2e26
2015-02-04 14:46:27 -08:00
Sean Paul
efb20cb773 drm_hwcomposer: Always perform a setcrtc initially
Always do a setcrtc on the first set(), this ensures things
are set up the way we expect them to be.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I4279d4de64339e72f0e7f9b315b2b9695704c78c
2015-02-04 14:46:27 -08:00
Sean Paul
eb9e75c1bf drm_hwcomposer: Implement eventControl with vsync worker
Adds a new worker to handle events requested by eventControl.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I6d63bb43b5f112e2efb0c426e7fd59910fc98953
2015-02-04 14:46:27 -08:00
Sean Paul
f1dc191419 drm_hwcomposer: Implement release and retire fences using sw_sync
Once drm supports passing sync through, we'll move onto that.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I78bd5d380212b4aaec4b41dcba6cc882f1e5cc20
2015-02-04 14:46:27 -08:00
Sean Paul
3bc48e852d drm_hwcomposer: Reduce time spent in display_lock
This reduces the amount of time set will block on the
worker.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: If5d110ce78e98642265ffa7dcc25710bc227330b
2015-02-04 14:46:27 -08:00
Sean Paul
9b1bb8466e drm_hwcomposer: Use queue buffer for pending sets
Instead of just using a front and back buffer, use a queue buffer
to allow more than one pending set.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I451acbcb08fac5191b76ec2e372fe612d227167c
2015-02-04 14:46:27 -08:00
Sean Paul
cd36a9e386 drm_hwcomposer: Split gralloc out into an importer
Add the concept of an importer so we can plug in different
sources of bo.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I4f741ef4fa7c44e9cb31db61a146aed273854a69
2015-02-04 14:46:27 -08:00
Sean Paul
9aa5ad3e2e drm_hwcomposer: Add a new set thread to post bo's
Adds a new set thread to wait on acquire fence, flip the bo,
and wait for it to be presented on screen.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: Ia931a7cbe287f4c744068fc80e476f81880bf608
2015-02-04 14:46:27 -08:00
Sean Paul
e0c4c3d719 drm_hwcomposer: Initial implementation
This adds a very basic hwcomposer implementation on top of
libdrm.

Signed-off-by: Sean Paul <seanpaul@chromium.org>
Change-Id: I472feb9bc08a4c4cd9849370c849d266ea58da9c
2015-02-04 14:46:27 -08:00
Geoff Mendal
e0268cbb6c Initial empty repository 2015-01-16 10:46:20 -08:00