[platforms/drm] Fix hardware cursor initialization
Needs ReviewPublic

Authored by ezequielg on Oct 11 2019, 11:32 AM.


Group Reviewers

We can't connect cursor until drmOutput::initCursor
is called, which is done by drmBackend::updateOutputs.

Fix this by splitting the connect part into its own
drmBackend::connectCursor private function.

This allows to use the DRM legacy cursor API.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>

[platforms/drm] Allow to specify to dumb buffers' format

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>

[platforms/drm] RFC/PoC: Support hardware cursors using DRM atomic API

This needs the new DRM AMEND uAPI in order to make sure
the cursor is committed on the same vblank as content.

Currently, the legacy cursor API is the best choice. Once the
AMEND uAPI is merged upstream, it'll be possible to switch to it.

Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>

Diff Detail

R108 KWin
atomic-cursors (branched from master)
Lint OK
No Unit Test Coverage
Build Status
Buildable 17561
Build 17579: arc lint + arc unit
ezequielg created this revision.Oct 11 2019, 11:32 AM
Restricted Application added a project: KWin. · View Herald TranscriptOct 11 2019, 11:32 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
ezequielg requested review of this revision.Oct 11 2019, 11:32 AM
garg added a reviewer: KWin.Oct 11 2019, 2:45 PM
garg added a subscriber: garg.

Given you have it as 3 commits locally, can you upload it as 3 phab requests.
Phabricator always squashes them. It's a bit tricky to review a bug fix and a POC in one.