Android-x86
Fork
Donation

  • R/O
  • HTTP
  • SSH
  • HTTPS

external-drm_hwcomposer: List of commits

external/drm_hwcomposer


RSS
Rev. Tiempo Autor
1a5b8dc marshmallow-x86 android-x86-6.0-r1 android-x86-6.0-r2 android-x86-6.0-r3 2016-05-02 11:16:22 Rob Herring

Force framebuffer target

GL compositing doesn't want to work, so force disable it.

Signed-off-by: Rob Herring <robh@kernel.org>

07a2d39 2016-05-02 11:16:22 Rob Herring

HACK: Add HDMI connector as built-in

Signed-off-by: Rob Herring <robh@kernel.org>

3f7746e 2016-05-02 11:16:22 Rob Herring

HACK: disable gralloc buffer usage call

No signs of any gralloc implementation supporting this.

Signed-off-by: Rob Herring <robh@kernel.org>

b403635 2016-05-02 11:16:22 Rob Herring

HACK: add rotation defines

These should come from kernel headers

8a628b9 2016-04-19 04:56:28 Sean Paul

drm_hwcomposer: Don't composite over protected layers

This patch changes two things with respect to protected layers:

1- It provisions the HW plane in the correct position. ie: if
the background layer is slated for a HW plane, it will be
placed on the primary layer and the protected layer will be
placed on top of it.
2- It punches a hole through the precomposite and squash layers
such that when they are placed on top of the protected layer,
they do not obstruct it.

BUG=b/27502957
TEST=Tested on smaug with multi-window with a variety of different
layouts and visible layers

Change-Id: Ie30939f2bb750dbe3faa558ddb094b677f41f45e
Signed-off-by: Sean Paul <seanpaul@chromium.org>

1a0eb7e 2016-04-02 05:32:09 Sean Paul

Merge "drm_hwcomposer: remove unnecessary gralloc_drm_bo_t dependency"

99c55b0 2016-04-02 00:12:59 Rob Herring

drm_hwcomposer: remove unnecessary gralloc_drm_bo_t dependency

gralloc_bo is not used anywhere and depending on it pulls in unnecessary
dependencies from drm_gralloc, so remove it.

Change-Id: I81b9dc88124ea6a0e66e188656d44215e735d177
Signed-off-by: Rob Herring <robh@kernel.org>

5325e10 2016-03-30 02:56:13 Sean Paul

drm_hwcomposer: Fix build warnings

A cleanup patch to fix the build warnings that have surfaced
from the new build system.

BUG=None
TEST=Builds without warnings

Change-Id: I2ad898e627d451f87705d2bdf06a315b8e1c7a1c
Signed-off-by: Sean Paul <seanpaul@chromium.org>

3a69f73 2016-03-30 02:56:13 Sean Paul

drm_hwcomposer: Add hotplug event handler

Add a hotplug event handler to handle hotplug events. Upon
hotplug, the handler is responsible for finding and setting
the preferred mode of the new display.

BUG=chrome-os-partner:41682
TEST=Tested on ryu with DP

Change-Id: Ide57382624c7839ed81a712bc29ea2e1cc19dcae
Signed-off-by: Sean Paul <seanpaul@chromium.org>

55584b5 2016-03-29 23:51:38 Sean Paul

drm_hwcomposer: Set DPMS ON when setting active config

Ensure we turn the connector on after we set the active mode.

BUG=chrome-os-partner:41682
TEST=Tested on smaug with DP

Change-Id: I3410a1ac261fb0848d668c5baef2d77eb860017b
Signed-off-by: Sean Paul <seanpaul@chromium.org>

047b9b2 2016-03-25 05:36:44 Sean Paul

drm_hwcomposer: Add DrmEventListener worker

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>

538a375 2016-03-25 03:52:25 Sean Paul

drm_hwcomposer: Protect autofd.h with #ifdef/#define

So we don't end up redeclaring its classes.

BUG=None
TEST=Compiles

Change-Id: Ic15ba4412f11bad8ef7ec4f68af6ad87e0d674cc
Signed-off-by: Sean Paul <seanpaul@chromium.org>

0921649 2016-03-25 01:05:49 Sean Paul

drm_hwcomposer: Add connection state to DrmConnector

So we can determine if it's connected or not.

BUG=chrome-os-partner:41682
TEST=Tested on ryu with DP

Change-Id: Ie0dadb2737d3a98257fb6e4fa02f17d7dae44f6c
Signed-off-by: Sean Paul <seanpaul@chromium.org>

bc9305e 2016-02-11 08:12:50 Rob Herring

drm_hwcomposer: Convert to upstream DRM atomic interfaces

drm_hwcomposer is currently using preliminary version of the atomic API.
The final version merged upstream is slightly different. Convert it to the
upstream API.

The most significant change is positive return values for
drmModeAtomicAddProperty are not a failure, so we need to test for
negative return values instead of non-zero.

BUG=none
TEST=Tested with 4.4 kernel on virtio-gpu and freedreno

Change-Id: I0b1f4bcd7766a3053a484f55e01c8b2ba56d716d
Signed-off-by: Rob Herring <robh@kernel.org>

3934c39 2016-02-11 07:35:25 Sean Paul

Merge "drm_hwcomposer: Add support for virtual connectors"

9b10c5f 2016-02-05 05:46:09 Rob Herring

drm_hwcomposer: Add support for virtual connectors

Allow virtual connector type in order to support virtio-gpu.

BUG=none
TEST=Tested with virtio-gpu on QEMU

Change-Id: I7ae5091d3587bcae75da6bff23d7bc85aa6164f1
Signed-off-by: Rob Herring <robh@kernel.org>

49d657d 2016-01-21 05:31:50 David Ung

drm_hwcomposer: Increase fence timeout upto 5x

Increase the fence wait value each time by a factor of 2.

Bug: chrome-os-partner:48289
Test: Run apps and see no frame drops

Change-Id: I9b7b910e5a8c9d287ea69b13dca0d4c1194ac86c
Signed-off-by: David Ung <davidu@nvidia.com>

20dde29 2016-01-15 03:39:55 Sean Paul

drm_hwcomposer: Add OWNERS file

So people know who to bug for reviews.

BUG=None
TEST=None

Change-Id: I20bb80929a7fac59ca2137b415c9d0e000d79c54
Signed-off-by: Sean Paul <seanpaul@chromium.org>

e3141c6 2015-12-01 06:03:54 Sean Paul

drm_hwcomposer: Always call PrepareFrame() for compositions

Previously this was not called for compositions which were known to
fail the atomic test. Unfortunately this left the composition in a
state which could not be processed by SquashFrame (only one layer and
source_layer was still set to kSourceSquash).

So call PrepareFrame() on every composition so SquashFrame stays happy.

Change-Id: I976e344ce4970370d9ca4307c2f2c45025199b64
Signed-off-by: Sean Paul <seanpaul@chromium.org>

6c18b3b 2015-11-26 01:04:25 Sean Paul

drm_hwcomposer: Save the atomic_test result between tests

Previously, we would only test the first frame when the geometry
changed. However, if SF sent us the same composition with different
FBs, we could end up sending invalid frames to the kernel.

This change saves the result of the atomic_test between geometry
changes so we avoid using hw composition for all invalid frames.

Bug: 25866352
Test: Tested on smaug, observed squashes between geometry changes

Change-Id: I3b5d9e83a870481bf2e6869900eafaf0ca66a0d5
Signed-off-by: Sean Paul <seanpaul@chromium.org>

6afbb6a 2015-11-25 05:42:45 Haixia Shi

drm_hwcomposer: only check the composition after a geometry change

Do not check the composition with kernel for every frame. We are currently
using synchronous atomic ioctl calls, so all test-only calls are serialized
with the actual commits.

BUG=25866352
TEST=same test procedure as crosbug.com/p/47206

Change-Id: Ia423243c279fc677ff6213115a8f20efa40c235e

d0cff78 2015-11-25 03:13:42 Sean Paul

Merge "drm_hwcomposer: Skip layers which aren't on-screen" into mnc-dr-dev

b100837 2015-11-25 03:09:26 Sean Paul

drm_hwcomposer: Skip layers which aren't on-screen

Don't composite layers whose bounds are entirely off screen, or
which have width or height of 0.

Bug: chrome-os-partner:47938
Test: Swipe between videos in Google Photos

Change-Id: I29671db6763caf3cb764b06d1ff955276ebecd80
Signed-off-by: Sean Paul <seanpaul@chromium.org>

0c7da1e 2015-11-24 04:42:26 Haixia Shi

drm_hwcomposer: set blending mode to kPreMult for GL output

The correct blending mode for the GL output is actually premult, because
regardless of the original layer blending mode, the result RGB components
are always pre-multiplied with alpha already.

This prevents the result of a SquashAll() from getting multiplied by
alpha twice.

BUG=25838542
TEST=verify the blinking is fixed on the status bar icons

Change-Id: Ie5bbc53110c342576b81818da6069cba201db609

4fdafe6 2015-11-21 07:24:09 David Riley

Merge "drm_hwcomposer: Check the composition before sending to frame worker" into mnc-dr-dev

d4bd44d 2015-11-21 06:42:15 Sean Paul

Merge "drm_hwcomposer: Allow for multiple transforms at once" into mnc-dr-dev

04b47ea 2015-11-21 05:01:18 Sean Paul

drm_hwcomposer: Allow for multiple transforms at once

Because sometimes one just ain't enough, allow more than
one transform at a time.

Bug: chrome-os-partner:46710
Test: Tested with the CTS Verifier "Camera Orientation" test

Change-Id: Ie5f9bbbc7c89964feafc78150e18512861c85b69
Signed-off-by: Sean Paul <seanpaul@chromium.org>

647beb2 2015-11-21 03:09:18 Sean Paul

drm_hwcomposer: Check the composition before sending to frame worker

Before we send a composition to the frame worker and display, run it
through the kernel to test whether it can be put on hardware. If the
kernel rejects the composition, use the squashing code to flatten it
on one layer and send the result to the frame worker.

Bug: 25379136
Test: Tested on smaug, frames were squashed, fun was had

Change-Id: Icac3c034d0eb4c0becbdc0f8ace1de75ab8ae2b8
Signed-off-by: Sean Paul <seanpaul@chromium.org>

d51c761 2015-11-21 03:09:18 Sean Paul

drm_hwcomposer: Split DrmDisplayCompositor::SquashAll()

Split the SquashAll function into SquashAll and SquashFrame. This
will allow us to squash arbitrary compositions without using the
active composition or applying it to the screen.

Bug: 25379136
Test: Tested on smaug

Change-Id: I1767f731e14f36540151556ce07373848b604030
Signed-off-by: Sean Paul <seanpaul@chromium.org>

c07b211 2015-11-20 04:42:27 Sean Paul

drm_hwcomposer: Add test_only mode to CommitFrame

Allow the caller of CommitFrame to run the commit in "test only" mode
which will send the frame to the kernel, but won't actually change any
registers.

Bug: 25379136
Test: Tested on smaug

Change-Id: I831b5f17d433bc60d9f107689feb1d7672c100a9
Signed-off-by: Sean Paul <seanpaul@chromium.org>

Show on old repository browser