Age | Commit message (Collapse) | Author |
|
mainline-tzdata5-release" into mainline-tzdata5-release
|
|
mainline-tzdata5-release
Change-Id: Ia10bf9122b800a713ba73875b6db646bb7d61e5b
|
|
mainline-tzdata5-release
Change-Id: Ib1d5887794efa0f59e55056d33ea9d555d41c9e9
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2247694
Change-Id: I5b2714e1962e441dabcd7ee396d28a5ebde85730
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2247694
Change-Id: I89d87ebb9337b91f0a84380811d94a43cc662bff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2247694
Change-Id: I44448d49e48d75ba162f9c375e5fc55a790b575b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
|
|
Upstream source still have some clang-tidy warnings.
We do not want to stop Android builds on clang-tidy warnings.
Bug: 252877310
Test: TIDY_EXTERNAL_VENDOR=1 make tidy-external_subset
Change-Id: Ibb076b7c9dbb3c935a9b108681a9ab459bff42ef
|
|
cdc4ed6c83 am: a3553966d4
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2238060
Change-Id: I4cfe66e37159f47fb2e6850f8b96d8a925934f2c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
cdc4ed6c83
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2238060
Change-Id: Ia04a958d5b828e86080125b8d378bf618e71be5d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2238060
Change-Id: Ibfb3376003cc553d7074de65f00d41f5fb3d2fe4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Sync with upstream
* aosp/upstream-main:
drm_hwcomposer: Basic support for shared primary planes
drm_hwcomposer: check if the primary plane is being used by any crtc
drm_hwcomposer: fix BufferInfoImagination build
Change-Id: Id558c88c0f3b64e8c8bd33cb8d20f778ba610d85
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
|
|
For now just bind the first suitable primary plane to the pipeline
on creation.
Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/68
Change-Id: Idc4a7a5ac9d768d2614e1cd8a460d742f406a1cc
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Some DRM driver such as omap_drm allow sharing primary plane between CRTCs.
drm_hwcomposer isn't ready for such a scenarios and fails with an error:
Found more than 1 primary plane for CRTC
Don't report multiple primary planes for single CRTC to satisfy the drm_hwc.
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
|
|
Commit e9fbd8d626a2 ("drm_hwcomposer: Set return type to std::optional for
BufferInfoGetters") changed the BufferInfo variable name, but missed the case
defined under HAL_PIXEL_FORMAT_BGRX_8888. This results in build failures.
This patch fixes the build issue by completing the variable renaming.
Fixes: e9fbd8d626a2 ("drm_hwcomposer: Set return type to std::optional for BufferInfoGetters")
Signed-off-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
|
|
5944fd14ed am: 9a34e46f1b am: 48181a034b am: c98eee1cd4
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143433
Change-Id: I0af938325727d7221e08fdc26455e41920d6f4ad
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
5944fd14ed am: 9a34e46f1b am: 48181a034b
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143433
Change-Id: Ia416801b136cd54da6beffbf5292843cb688436c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
5944fd14ed am: 9a34e46f1b
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143433
Change-Id: I9246d1971f422a42e4695ec5b8d54a78c38cc5a2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
5944fd14ed
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143433
Change-Id: I34cd18905dd2916b8894c90fff312b439f4c478a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143433
Change-Id: I2861712124a6e8cfa91eeb7103fa8569607d05d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Sync with upstream
* aosp/upstream-main:
drm_hwcomposer: Fix BufferInfoMaliMeson
drm_hwcomposer: Workaround for screen de-activating causing db845c regression
drm_hwcomposer: Split the composition cleanup and display's deactivation
drm_hwcomposer: Fix EINTR handling in clock_nanosleep
drm_hwcomposer: Don't try to import client layer in headless mode
drm_hwcomposer: Implement BI and FB caching
drm_hwcomposer: Add unique handle ID getter into buffergetter class
drm_hwcomposer: Reorganize struct DrmHwcLayer
drm_hwcomposer: Set return type to std::optional for BufferInfoGetters
drm_hwcomposer: Move include/drmhwcgralloc.h to bufferinfo/BufferInfo.h
drm_hwcomposer: Use atrace for framebuffer's import/remove events
drm_hwcomposer: Add non-blocking commit support
drm_hwcomposer: Fix HwcLayer::GetReleaseFences()
drm_hwcomposer: Allow accessing ResourceManager from DrmDevce
drm_hwcomposer: CI: Bump clang toolchain version to v14
drm_hwcomposer: Fix HwcDisplay::GetDisplayIdentificationData()
drm_hwcomposer: Fix SetPowerMode() VTS tests for headless mode
drm_hwcomposer: Fixes for display hotplug / headless mode
Signed-off-by: John Stultz <jstultz@google.com>
Change-Id: I629e0274bb5ce7371d0437aff985fa76e69510ba
|
|
am: 080c9b2aab am: 6ac06cd307 am: 4b2e3cfc85 am: 59dae02a5d
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143434
Change-Id: Ieac101c2c9948d2677090a289bd789455330828c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
am: 080c9b2aab am: 6ac06cd307 am: 4b2e3cfc85
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143434
Change-Id: I8370ffd7ea26ddb8e52ffe806f9d224bfaa3744d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
am: 080c9b2aab am: 6ac06cd307
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143434
Change-Id: I437e6ebf92ed3fb9dfa40e1f6ab42bc81a380f8f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
am: 080c9b2aab
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143434
Change-Id: I2d2cbb8fcf9149ebae4528ff9595c4fbceaba9bf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/2143434
Change-Id: I1d6438901e4382d397d3e8ea27a3e50cf03ddef2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
In commit e9fbd8d626a2 ("drm_hwcomposer: Set return type to
std::optional for BufferInfoGetters") the final return for
BufferInfoMaliMeson::GetBoInfo() erroneously was changed to
return {} instead of the calculated BufferInfo object.
This simply fixes the issue, returning the BufferInfo.
Change-Id: I03789b48dc4a0df64432f7ff31661746163a96b8
Signed-off-by: John Stultz <jstultz@google.com>
|
|
Update my email address
Signed-off-by: John Stultz <jstultz@google.com>
Change-Id: I5378ce40c2f96cf5bca252592ebc2b722ffd2edf
|
|
Since commit d0494d9b8097 ("drm_hwcomposer: Fixes for display
hotplug / headless mode"), which introduced an extra call to
de-active the display on de-init, we've seen regressions on db845c
with the VtsHalGraphicsComposerV2_3TargetTest test set.
This seems to be due to an issue on db845c, where after putting the
lt9611 bridge to sleep, the connection detection stops working even
after the chip is reset.
However, on changing the kernel driver to avoid putting the bridge
to sleep so connect detection works, we start to see SIGSEGV crashes
in drm_hwcomposer, due to the service expecting the hwmodule to
finish registercallback during client detaching within 1 second.
Exceeding this values causes VTS to crash. And msm driver introduces
delay enough to exceed the limit.
So this patch is a workaround to restore previous behavior to avoid
the regression until we can sort out a proper fixes to db845c and
drm_hwcomposer.
Signed-off-by: John Stultz <jstultz@google.com>
Change-Id: Iff5d3cf3f7fa2f1f2acb68a5a629677137e51188
|
|
When drm_hwcomposer is used with drm/sun4i driver,
'adb shell stop && adb shell start' sequence causes noise on the
unused planes during the bootanimation.
It looks like some bug in the drivers or DRM frontend itself, which
keeps the plane assigned to the CRTC if the atomic commit contains CRTC
deactivation.
We need more time to investigate it. For now we can split disposal
into 2 atomic commits, which fixes the noise issue.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
027140997d -s ours am: c6bdf92184 -s ours am: 98bbab7f44 -s ours am: f6653afa4b -s ours
am skip reason: Merged-In Ie962b5ff821f166d79323474bc6fad66d930e8fa with SHA-1 0ce3610105 is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/19092901
Change-Id: I2bbca81d426ef968a3688854c8ae8e23e2e63d6f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
027140997d -s ours am: c6bdf92184 -s ours am: 98bbab7f44 -s ours
am skip reason: Merged-In Ie962b5ff821f166d79323474bc6fad66d930e8fa with SHA-1 0ce3610105 is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/19092901
Change-Id: I4c3a9c2afb2534d2d9d984d56694b8293c01b7c8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
027140997d -s ours am: c6bdf92184 -s ours
am skip reason: Merged-In Ie962b5ff821f166d79323474bc6fad66d930e8fa with SHA-1 0ce3610105 is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/19092901
Change-Id: I1325b3ab5db810efe347d066bb4e2c850d179389
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
027140997d -s ours
am skip reason: Merged-In Ie962b5ff821f166d79323474bc6fad66d930e8fa with SHA-1 0ce3610105 is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/19092901
Change-Id: Ie973d284da2b237e43207ec57d2f34f1dee199cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Bug: 236760014
Merged-In: Ie962b5ff821f166d79323474bc6fad66d930e8fa
Change-Id: If6a2b297523fde8d1556ccbca7f854a0398509d3
|
|
clock_nanosleep return errno directly
instead of -1 with errno set
Signed-off-by: Keith Mok <keithmok@google.com>
[jstultz: Fixed minor style issues]
Signed-off-by: John Stultz <jstultz@google.com>
Change-Id: I779f2a8234b3dae46d64efee2210b7a2c5a92043
|
|
Pipeline is null in the headless mode, therefore any attempt to
import the buffer causes a null-pointer dereference crash.
Fixes: 4b2cc484f9af ("drm_hwcomposer: Reorganize struct DrmHwcLayer")
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
This allows saving for about 2-6% of frame time spending in the HWC API
thread (value depends on CPU maturity).
Framework does not create a new buffer for every frame. Instead in 98%
of cases it sends the same buffers over and over (doing circular
shifting of the swapchain).
We can avoid redundant BufferInfo getting and FrameBuffer importing for
the whole layer.
To do this properly first we have to ensure we're having a deal with the
swapchain, not a set of unique buffers. This procedure internally called
the swap chain reassembling.
After we ensure CLIENT is using swapchain, we can safely store BI and
FB for every chain element and reuse it.
Example for single layer:
Frame # | Buffer Unique ID | State
-- | -- | --
1 | 301 | Reassembling...
2 | 302 | Reassembling...
3 | 303 | Reassembling...
4 | 301 | Caching... (Chain reassembled!)
5 | 302 | Caching...
6 | 303 | Caching...
7 | 301 | Reusing cached data
8 | 302 | Reusing cached data
9 | 303 | Reusing cached data
... | ... | ...................
999 | 304 | Not in cache, purge the cache.
1000 | 305 | Reassembling...
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
dmabuf stats inode field can be used as unique buffer id.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
1. Move BlendMode, ColorSpace, SampleRange fields to the struct BufferInfo,
allowing extraction of the data from native_handle using Metadata@4 API.
Use it when data from HWC2 API can't be used (Currently it's a BlendMode
case for CLIENT layer)
2. Rename DrmHwcLayer to LayerData and move it to compositor/ directory.
(I was confused in the past because of similarity of names DrmHwcLayer
vs HwcLayer, so this step should meke it easier for newcomers to
understand the code)
3. Allow clonning of the LayerData to propagate it through the composition
pipeline. Thus LayerData can be used by both HwcLayer to track state
and by the compositor.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
This is a bit of code modernization. Further changes will require indication
that buffer_info is valid, and using std::optional is the most correct
approach to do that.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
... to emphasize its purpose.
- Rename struct HwcDrmBo -> struct BufferInfo
- Remove unused BufferInfo::acquire_fence, BufferInfo::hal_format and
BufferInfo::usage fields
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
This metrics are useful to check time the FB cache saves for HWC.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
This change fixes FPS drop on multidisplay devices.
Also in some cases it gives graphics pipeline more free time to draw
in advance.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
GetReleaseFences() should return release fence for the prior buffer
(not for the one assigned to layer at the moment of GetReleaseFences call).
Once not provided, old front buffer can be damaged before new buffer
presented. (Such issues start to appear once we started using
non-blocking DRM/KMS commits).
Using present (out) fence is a perfect solution, since it is
signaled once old buffer replaced with the new one.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
This is useful for accessing the main lock from drm / compositor
related code blocks.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
Additionally:
1. Fix new clang-tidy findings
2. Disable readability-identifier-length check for all tidy levels
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
Return Error::Unsupported in headless mode and if no EDID blob returned
by the kernel.
With this change GraphicsComposerHidlTest#GetDisplayIdentificationData
VTS no longer fails.
Also fix outPort assignment to avoid setting negative values
(handle_ is 0 for primary display).
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
Test: atest VtsHalGraphicsComposerV2_1TargetTest
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|
|
Further testing showed that several issues is still present:
1. Boot without display doesn't work.
2. Unplug/plug primary display has some flaws due to incomplete
HwcDisplay disposal.
3. In case creation of the pipeline fails, hwcomposer crashes.
This commit aims to address them.
Fixes: bb594baa1c68 ("drm_hwcomposer: Rework HwcDisplay disposal to avoid races")
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
|