summaryrefslogtreecommitdiff
path: root/drmresources.h
AgeCommit message (Collapse)Author
2017-09-28drm_hwcomposer: Remove threadingSean Paul
Since HWC2 doesn't require the use of threads to implement correct synchronization, remove some of these threads. Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Robert Foss <robert.foss@collabora.com>
2017-09-28drm_hwcomposer: Add crtc() fetcher to DrmResourcesRobert Foss
This is a fetcher for getting the vector of DrmCrtc objects in DrmResources. Signed-off-by: Robert Foss <robert.foss@collabora.com> Reviewed-by: Sean Paul <seanpaul@chromium.org>
2017-02-28drm_hwcomposer: Harvest min/max resolutions from drmSean Paul
Store the minimum and maximum resolutions from drm in DrmResources BUG=None TEST=None Change-Id: I21b9a3fc5f220585295733cc754fe0f6df0abae9 Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Robert Foss <robert.foss@collabora.com>
2016-03-24drm_hwcomposer: Add DrmEventListener workerSean Paul
This patch adds a worker which listens to drm events. If the drm event has a handler associated with it, the listener will call the handler. BUG=chrome-os-partner:41682 TEST=Tested on ryu with DP Change-Id: I5d691d191425604766a00be3e72111095d025d06 Signed-off-by: Sean Paul <seanpaul@chromium.org>
2015-10-29drm_hwcomposer: polish for old DRM wrapper codeZach Reizner
- deleted private copy constructors - replace delete with unique_ptr - use in-class assignment - remove default constructors/destructors when no longer needed - remove most iterators used in for loops - move UniqueFd to its own header so drmresources can use it Change-Id: Ib20cc0949cf4d381a58548b8156c5cb368ca3efe
2015-10-01drm_hwcomposer: Process modesets via compositorSean Paul
This patch queues modeset in the compositor for application on the next frame. This allows us to perform the modeset atomically with the first frame that comes in after the mode is changed. Change-Id: I6bb9edd17bbdd6dbee5c0474f2e43599781cc7a7 Signed-off-by: Sean Paul <seanpaul@chromium.org>
2015-06-15drm_hwcomposer: Use atomic modeset to set crtc timingSean Paul
Use the new drm blob ioctl and atomic modeset properties to do atomic modesetting, as opposed to the old setCrtc call. This allows us to set timing as soon as the system layer requests a new active config, as opposed to delaying it until we have an fb. Aside from reducing complexity, this should help with event control requests as we'll be able to service them with hw vblanks instead of synthesized sleeps. Change-Id: I9c80d44f52f52881a3a25b2ae518973d468bc110 Signed-off-by: Sean Paul <seanpaul@chromium.org>
2015-06-04drm_hwcomposer: Use hw planes + drm atomic interfaceSean Paul
Replace the basic, single overlay, modeset/flip implementation with a new Compositor instantiation for drm. The new compositor uses the drm atomic interface to composite layers to multiple hardware planes. This change also introduces an importer argument in Compositor::CreateComposition. By specifying the importer, Compositor instances are responsible for cleaning up buffer objects submitted via Composition::AddLayer. Change-Id: Ic292829cd93475d754294b00428de132301092b2 Signed-off-by: Sean Paul <seanpaul@chromium.org>
2015-05-11drm_hwcomposer: Wrap libdrm ops (minus modeset/flip) in C++ classesSean Paul
This allows us to compartmentalize a bunch of code/logic from hwcomposer.cpp into drm classes. Signed-off-by: Sean Paul <seanpaul@chromium.org> Change-Id: Id3f912126f1fdcd44d32c3eb4fba646f77590278