Android-x86
Fork
Faire un don

  • R/O
  • HTTP
  • SSH
  • HTTPS

external-drm_hwcomposer: Listed des commits

external/drm_hwcomposer


RSS
Révision l'heure Auteur
c1281ea nougat-x86 oreo-x86 android-x86-7.1-r4 android-x86-7.1-r5 android-x86-8.1-r1 android-x86-8.1-r2 android-x86-8.1-r3 android-x86-8.1-r4 android-x86-8.1-r5 android-x86-8.1-r6 2018-11-02 16:58:42 Chih-Wei Huang

Merge remote-tracking branch 'origin/master' into oreo-x86

Conflicts:
Android.mk
drmconnector.cpp
drmeventlistener.cpp

792fa3e 2018-11-02 16:06:15 Chih-Wei Huang

drm_hwcomposer: allow to force mode by a property

The desired resolution could be set by property debug.drm.mode.force.
The other modes are ignored.

2c0e2c3 2018-11-02 16:06:13 Mauro Rossi

Take Connection state into account. (v2)

(v2) porting of original commit 76fb87e675 of android-ia master
with additional external connector types and removal of redundant HDMIA internal

(v1) There are various places where we should be really taking connection
state into account before querying the properties or assuming it
as primary. This patch fixes them.

BUG=None.
TEST=System boots up and shows UI.

(v1) Signed-off-by: Jim Bish <jim.bish@intel.com>

30ee913 2018-11-02 15:45:27 Chih-Wei Huang

Merge remote-tracking branch 'origin/master' into oreo-x86

f268ccf 2018-05-03 23:49:22 Alistair Strachan

drm_hwcomposer: Remove NVIDIA importer header

Commit 0f7487f drm_hwcomposer: remove NVIDIA importer removed most of
the implementation, but not the platformnv.h header file. Remove this
header now.

Cc: John Stultz <john.stultz@linaro.org>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Robert Foss <robert.foss@collabora.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

71edaca 2018-05-03 23:48:56 Alistair Strachan

drm_hwcomposer: Add platform backend for minigbm

This adds support for the chromiumos (not AOSP) version of minigbm. Like
hisi, the gralloc handle is not the same as the common libdrm handle
(just yet), so we do need a separate backend for now.

Tested with a pending change to the 'cuttlefish' android virtual device
in AOSP with its custom gralloc switched to minigbm.

Cc: John Stultz <john.stultz@linaro.org>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Sean Paul <seanpaul@google.com>
Cc: Greg Hartman <ghartman@google.com>
Tested-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

af0ff9c 2018-05-03 22:44:31 Alistair Strachan

drm_hwcomposer: Drop obsolete drm_gralloc include path

In commit d12274d, "drm_hwcomposer: Rework platformdrmgeneric.cpp
to use libdrm's gralloc handle", the use of drm_gralloc was removed.

Cc: John Stultz <john.stultz@linaro.org>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Sean Paul <seanpaul@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Stefan Schake <stschake@gmail.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

104748d 2018-05-03 22:43:33 Alistair Strachan

drm_hwcomposer: Mark tests as vendor, fix build

After commit 94bb596, the tests for drm_hwcomposer no longer build,
because the build system detects that they are linking other vendor
modules (but installing themselves elsewhere).

This change also adds the libhardware include path explicitly, as the
implicit include of hardware/libhardware/include is going away.

Cc: John Stultz <john.stultz@linaro.org>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Sean Paul <seanpaul@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Alistair Strachan <astrachan@google.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

acc4dcf 2018-04-27 21:22:23 John Stultz

drm_hwcomposer: Fall back to client compositon if the gl precompostior fails

If the gl precompositor isn't being used, we cannot accept
every layer as a device composited layer.

Thus this patch adds some extra logic in the validate function
to fall back to client side compositing if the gl precompositor
did not initialize properly.

This does force everything to a single plane even if we have
a few available, but a deeper rework of the validate step
planning is needed before we can reliably make use of them.

Credit to Rob Herring, who's single plane patch was what this
was originally based on.

Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dmitry Shmidt <dimitrysh@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Matt Szczesiak <matt.szczesiak@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: David Hanna <david.hanna11@gmail.com>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Cc: Alistair Strachan <astrachan@google.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>

3b0c69d 2018-04-27 21:22:09 John Stultz

drm_hwcomposer: Cleanup gl precompositor init and provide uses_GL flag

The drm_hwcomposer has its own GL pre-compositor which is used
to squish layers when there are more layers then planes on the
display hardware. In many ways this duplicates the client-side
GL compositing that is done in SurfaceFlinger, but in theory can
be more highly optimized for the hardware.

Unfortunately, due to these optimizations, the drm_hwcomposer's
pre-compositor becomes somewhat hardware specific (originally
targeting nvidia hardware, I believe).

So on some hardware, the gl precompositor may not actually
initialize due to hardware missing features, or the hardware
supporting different shader APIs.

Rather then try to rework the drm_hwcomposers precompositor
to be more generic, I instead suggest that when the
precompositor fails to initialize, we simply fall back to the
already more widely compatible client compositor in
SurfaceFlinger.

Thus, this patch cleans up some of the precompositor
initialization, which didn't handle failures well.

Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dmitry Shmidt <dimitrysh@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Matt Szczesiak <matt.szczesiak@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: David Hanna <david.hanna11@gmail.com>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Cc: Alistair Strachan <astrachan@google.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>

9057a6f 2018-04-27 21:21:57 John Stultz

drm_hwcomposer: Use log/log.h instead of cutils/log.h

When enabling Treble, Android builds are complaining about using
cutils/log.h so instead use log/log.h

Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dmitry Shmidt <dimitrysh@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Matt Szczesiak <matt.szczesiak@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: David Hanna <david.hanna11@gmail.com>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Cc: Alistair Strachan <astrachan@google.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>

94bb596 2018-04-27 21:21:51 Sumit Semwal

drm_hwcomposer: Andorid.mk : Mark libdrmhwc_utils as vendor module

To allow drm_hwcomposer to build with Treble, set
the libdrmhwc_utils library as a vendor module.

Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dmitry Shmidt <dimitrysh@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Matt Szczesiak <matt.szczesiak@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: David Hanna <david.hanna11@gmail.com>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Cc: Alistair Strachan <astrachan@google.com>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
[jstultz: commit message tweaks]
Signed-off-by: John Stultz <john.stultz@linaro.org>

a145024 2018-04-17 22:43:28 Alexandru Gheorghe

drm_hwcomposer: drmeventlistener: Set nl_pid to 0

By setting nl_pid to 0, we let the kernel to assign a port for us.
In the current implementation there is no way we could create more
than one instance for drmeventlistener.

Acked-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

976f69a 2018-04-17 22:43:28 Alexandru Gheorghe

drm_hwcomposer: vsyncworker: Fix uninitialized enabled_ field

Acked-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

d12274d 2018-04-04 18:22:54 John Stultz

drm_hwcomposer: Rework platformdrmgeneric.cpp to use libdrm's gralloc handle

Rework the platformdrmgeneric buffer importer to use the libdrm
generic gralloc handle definition.

This is just to get the drm_hwcomposer project building in AOSP
along with the libdrm freedesktop/master branch. Similar changes
may also be needed to gbm_gralloc and other projects not used
in AOSP.

Mostly just sending this out for review feedback.

Cc: Robert Foss <robert.foss@collabora.com>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Sean Paul <seanpaul@google.com>
Cc: Stefan Schake <stschake@gmail.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Robert Foss <robert.foss@collabora.com>

791cd51 2018-03-23 03:22:57 Sean Paul

Delete CONTRIBUTING, migrated information to the gitlab wiki

499db60 2018-03-15 03:54:43 John Stultz

drm_hwcomposer: Add platformhisi buffer importer for hikey and hikey960

This allows for importing buffers allocated from the
hikey and hikey960 gralloc implementations.

Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dmitry Shmidt <dimitrysh@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Matt Szczesiak <matt.szczesiak@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: David Hanna <david.hanna11@gmail.com>
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Cc: Alistair Strachan <astrachan@google.com>
Acked-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>

f667f80 2018-02-28 20:09:11 Rhys Kidd

drm_hwcomposer: Enable and refactor Separate Rects test

Plumb through the existing test based on known sample data for the
Separate Rect algorithm via Android's NATIVE_TEST harness.

Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Signed-off-by: Robert Foss <robert.foss@collabora.com>

c7a6d27 2018-02-28 19:58:17 Rhys Kidd

drm_hwcomposer: Fix comment on worker_test

Reflect the boolean logic of the accompanying code, which is run after
Worker.InitWorker() has completed in test setup.

Signed-off-by: Rhys Kidd <rhyskidd@gmail.com>
Signed-off-by: Robert Foss <robert.foss@collabora.com>

8428e6a 2018-02-15 01:26:46 Rob Herring

drm_hwcomposer: fix check for valid fence fd for in fences

The check for a valid fence fd is inverted, so we're failing to pass
IN_FENCE_FD's to the kernel when we have a valid fence.

Reported-by: Alexandru-Cosmin Gheorghe <Alexandru-Cosmin.Gheorghe@arm.com>
Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>

b365b79 2018-01-25 00:27:17 John Stultz

drm_hwcomposer: Make sure we set the active state when doing modesets

In trying to use drm_hwcomposer with HiKey/HiKey960 boards, I
found that the crtc wouldn't intitalize and the atomic commit
calls were failing.

I initially chased this down to following check in the kernel
drm_atomic_crtc_check() function failing:

if (state->event && !state->active && !crtc->state->active) {
DRM_DEBUG_ATOMIC("[CRTC:%d:%s] requesting event but off\n",
crtc->base.id, crtc->name);
return -EINVAL;
}

Where because a fence was submitted state->event was set, but
the crtc state was not active. This results in the atomic commit
to fail and no mode to be set.

After hacking around this in the kernel, Sean Paul helped me
understand that it was the kernel complaining about the crtc
state being provided in the atomic commit which did not have the
active flag set.

Thus, the proper fix is to make sure when we do the modesetting
that we also set the crtc state active flag in property set.

With this change, the kernel no longer rejects the atomic commit
and the crtc initializes properly.

Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dmitry Shmidt <dimitrysh@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Matt Szczesiak <matt.szczesiak@arm.com>
Cc: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: David Hanna <david.hanna11@gmail.com>
Cc: Rob Herring <rob.herring@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>

556bedf 2018-01-10 00:05:22 Mauro Rossi

drm_hwcomposer: Update external connectors list

DVID, DVII and VGA are required by discrete and integrated GPUs.

Signed-off-by: Mauro Rossi <issor.oruam@gmail.com>

1b2685c 2017-11-30 23:46:45 Rob Herring

drm_hwcomposer: fix warnings on unused variables and parameters

AOSP master now builds by default with -Werror, so fix all the warnings.
All the warnings are related to unused variables and parameters.

Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>

96b4dd7 2017-11-03 13:39:37 Chih-Wei Huang

Android: add CleanSpec.mk

The file contains rules that are executed on incremental builds.
Since commit 4f7dc9b6 the library was moved to /vendor so
the old file must be removed.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>

f6d14a6 2017-11-02 16:16:31 Chih-Wei Huang

Revert "drm_hwcomposer: Remove threading"

This reverts commit ed45a8eb01d5927e36e34acd7bac46abbbecb304.

9d29d90 2017-11-02 16:16:12 Chih-Wei Huang

Merge remote-tracking branch 'origin/master' into oreo-x86

Conflicts:
Android.mk
drmdisplaycompositor.cpp
hwcutils.cpp

610d989 2017-11-02 03:05:45 Robert Foss

drm_hwcomposer: Add HDMI connector as a valid type

Accept DRM_MODE_CONNECTOR_HDMIA connector type.

Look for primary DrmConnector amongst external connectors
after looking for primary amongst internal ones first.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>

bd03b99 2017-11-02 02:46:54 Rob Herring

drm_hwcomposer: correct handling of DRM_MODE_ROTATE_0

If the rotation property is supported for a plane, then the rotation
value must be non-zero. For the case of 0 degree rotation,
DRM_MODE_ROTATE_0 needs to be set.

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

60d1d4f 2017-10-25 16:27:59 Rob Herring

drm_hwcomposer: remove unnecessary external includes

Linking to libraries will add necessary include paths, so we don't need to
list them explicitly.

Still need libsync for sw_sync.h until this dependency is removed.

Tested-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Signed-off-by: Rob Herring <robh@kernel.org>

17561b0 2017-10-18 02:17:37 Adrian Salido

drm_hwcomposer: make sure primary plane is allocated for squash

There are instances where the primary plane may have been disabled, look
through disabled planes as well to find primary plane to use for squash.

Signed-off-by: Adrian Salido <salidoa@google.com>
Reviewed-by: Robert Foss <robert.foss@collabora.com>

Afficher sur ancien navigateur de dépôt.