573554106db499d323bea12ff00363b1816f8c8a |
|
19-Sep-2015 |
Sean Paul <seanpaul@chromium.org> |
drm_hwcomposer: Process modesets via compositor 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>
/external/drm_hwcomposer/drmresources.cpp
|
098070590ae648ede5f2ef846298de178ccd3637 |
|
13-Aug-2015 |
Zach Reizner <zachr@google.com> |
drm_hwcomposer: enhance stability using various wrapper classes This commit contains a lot of churn because it changes code to use automatic resource lifetimes as much as possible. As more things get changed, this is essential to maintaining stability. In addition, this change changes how layers are passed through the compositor API. Before each layer was passed down one at a time. Now they are passed in all at once. This is simpler for the implementation because it makes errors more atomic and makes decisions easier for the compositors. Change-Id: Ic3e6b5d0089fb1631ea256adcce9910ed8f38366
/external/drm_hwcomposer/drmresources.cpp
|
459a5a9ccd014224882e5522d2957aba10413691 |
|
01-Aug-2015 |
Zach Reizner <zachr@google.com> |
Revert "Revert "drm_hwcomposer: remove compositor interface"" This reverts commit 1c5e55680d9165d8f9bb2bc6e2c4261574b5d41d.
/external/drm_hwcomposer/drmresources.cpp
|
1c5e55680d9165d8f9bb2bc6e2c4261574b5d41d |
|
30-Jul-2015 |
Puneet Kumar <puneetster@google.com> |
Revert "drm_hwcomposer: remove compositor interface" This reverts commit 7912438911de042dc035cf1ea39daaf4e56bf9f3. For now until we can get back to a stable SF/compositor. Change-Id: I2ba7cab4f1cccfe44b3d35fb18c7784125e88fd6
/external/drm_hwcomposer/drmresources.cpp
|
7912438911de042dc035cf1ea39daaf4e56bf9f3 |
|
23-Jul-2015 |
Zach Reizner <zachr@google.com> |
drm_hwcomposer: remove compositor interface The compositor interface had only one implementation and one user. The compositor interface also needs to change to accomodate some changes for fences to work optimally. Change-Id: I02d21b0a0e86fa21b3c5f4ad84ff571611643994
/external/drm_hwcomposer/drmresources.cpp
|
db7a17d28ca48f81be3091e99564e47fa0503e9e |
|
25-Jun-2015 |
Sean Paul <seanpaul@chromium.org> |
drm_hwcomposer: Process DPMS requests through compositor This patch changes the behavior of DPMS in hwcomposer from applying asynchronously/immediately, to queuing in the compositor and being processed in order. This is desirable for a couple of reasons: 1- It ensures all frames set before set_power_mode are shown on the screen before it turns off 2- We make sure we don't rmfb a framebuffer that is currently applied to a disabled crtc. The second reason above can cause the display to turn back off once it's on since the fb will dereference to zero in the kernel and it will disable the pipe without notifying us. Change-Id: I2aab9ee0353b12fecced46766ed2dbb64f0aef4b Signed-off-by: Sean Paul <seanpaul@chromium.org>
/external/drm_hwcomposer/drmresources.cpp
|
877be974a2d4fc518700be8ffe803a50cb716ead |
|
03-Jun-2015 |
Sean Paul <seanpaul@chromium.org> |
drm_hwcomposer: Use atomic modeset to set crtc timing 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>
/external/drm_hwcomposer/drmresources.cpp
|
b386f1b1b3716c06831d82493e9ba5a156094701 |
|
13-May-2015 |
Sean Paul <seanpaul@chromium.org> |
drm_hwcomposer: Use hw planes + drm atomic interface 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>
/external/drm_hwcomposer/drmresources.cpp
|
6a55e9fb8e16c63c2e42bde31814f963205f722d |
|
30-Apr-2015 |
Sean Paul <seanpaul@chromium.org> |
drm_hwcomposer: Wrap libdrm ops (minus modeset/flip) in C++ classes 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
/external/drm_hwcomposer/drmresources.cpp
|