Age | Commit message (Collapse) | Author |
|
Change-Id: I815eb5aa2bcef13458967f2b12616a1dc666f2ba
|
|
ours am: 1b4a72f29e -s ours
am skip reason: Change-Id Ia13ce2304a0527f626ceeb9fee3331b0b3178661 with SHA-1 d92b471251 is in history
Original change: undetermined
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I454fb72e5d01ee217c012f7ba803f89c88fd299b
|
|
am skip reason: Change-Id Ia13ce2304a0527f626ceeb9fee3331b0b3178661 with SHA-1 d92b471251 is in history
Original change: undetermined
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I534bef112deb4e48b33a8c22fdc25ddebf0dd92e
|
|
Bug: 180401296
Merged-In: Ia13ce2304a0527f626ceeb9fee3331b0b3178661
Change-Id: Id847c813c51f4d578dea4e497303a4520c0309e3
|
|
Change-Id: Ieb525bf825d3ca49e58c7bbbf497361f2b3c4d0e
|
|
c0b3c58483 am: 3eb07de446
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1588980
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib3c0ed9fe2be3ad979fc95b572100fbaf0ec664b
|
|
c0b3c58483
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1588980
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I5fbcee7adf7d2cca7c0f2e931d3f12f2f10da748
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1588980
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Idd88cbf3d6c2e22fac5939f1bca966fc7d6461bf
|
|
Added SPDX-license-identifier-Apache-2.0 to:
Android.bp
tests/Android.bp
Bug: 68860345
Bug: 151177513
Bug: 151953481
Test: m all
Exempt-From-Owner-Approval: janitorial work
Change-Id: I8cb8b6c2801023740185cdebdc52914b0c50e1e6
|
|
Change-Id: Idd8fce28259487ea0adfb94feeeccab8d8b42f2d
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/13112091
Change-Id: I5d1ae65684e91de0d6d8050fcee3df7bbcfead47
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/13112091
Change-Id: Ia13ce2304a0527f626ceeb9fee3331b0b3178661
|
|
Bug: 172690556
Change-Id: I7a028056acffedf0b2435139744439986cfa6a1b
|
|
Change-Id: If98024edaabe16b093008dc528e577ad26f7bfa3
|
|
am: 713247a272 am: b13b51996b am: 42ac17f8bf
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140
Change-Id: Id8cc6673022e9a990dd6aa46d4117ab7032f93a9
|
|
am: 713247a272 am: b13b51996b
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140
Change-Id: I694eb364b23f66832d32ffd43a509f0a7b4f5624
|
|
am: 713247a272
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140
Change-Id: I5a29c530aecb3eaa908e7d43e1ef6b2a6e0f5aba
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140
Change-Id: Ie6cff7b500fe023f0543bde86d4f3ffec9954727
|
|
* aosp/upstream-main:
drm_hwcomposer: check ConvertBoInfo errors before importing
drm_hwcomposer: implement Gralloc 4 BufferInfoMapperMetadata
drm_hwcomposer: stop using pixel_stride
drm_hwcomposer: Set correct source crop for the client layer
drm_hwcomposer: refactor platform directory
drm_hwcomposer: extract platform-libdrm code from platform-generic
drm_hwcomposer: Check parameter range in SetColorMode()
drm_hwcomposer: Fix SetColorMode() and SetColorModeWithIntent()
drm_hwcomposer: Fix RegisterCallback() function
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Ic900dfdfb16e3d5c849a3d21949ed69124ecbbac
|
|
Signed-off-by: Jason Macnak <natsu@google.com>
|
|
Implements the BufferInfoMapperMetadata that uses the
GraphicBufferMapper to set the fields of the hwc_drm_bo_t struct.
New class function GetFds created to obtain the file descriptors from
the native_handle_t. Function is marked weak so that vendors can
override it to match their system if required.
Change-Id: I74445487dec6bda2915b21f4b63804832bfead23
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
pixel_stride is used only to validate buffer when importing using
GraphicBufferMapper::importBuffer() method.
The problem is we can't always get this value from buffer_handle_t.
Libdrm and MapperMetadata getters can only calculate this value based
on byte stride and buffer format. But this calculation isn't always
possible, which causes importBuffer() to fail.
Instead we can use GrallocMapper::importBuffer() method,
which doesn't require to validate the buffer.
This commit is not compatible with Android-P.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Android supports limiting client buffer size using system properties:
"ro.surface_flinger.max_graphics_width"
"ro.surface_flinger.max_graphics_height"
If properties are set, client layer buffer size can no longer be equal to the
display size, which causes composition with CLIENT buffer to fail.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Motivation:
Platform term meaning used in drm_hwcomposer does not correspond to the
content of the platform directory. Platform directory consists of:
1. Buffer information getters for different gralloc (currently called platform).
2. Composition planner logic (which has flaws and should be reworked into
layer->plane mapping during validation stage logic).
3. DrmGenericImpoter with reference counting logic.
Android-11 IMapper@4 metadata API offers a generic way to access buffer
information which makes other gralloc buffer information getters obsolete.
Legacy getters should be maintained for some time until all known users
will migrate to Mapper@4 API.
Implementation:
1. Split 'PlatformImporter' logic to 'Importer' only and 'Buffer Getter' logic.
a. Remove buffer_handle_t parameter from ImportBuffer(). Instead user should
get BufferInfo using ConvertBoInfo to struct hwc_drm_bo_t, then use it for
ImportBuffer().
b. Move DrmGenericImporter.{cpp/h} into the drm directory.
2. Isolate planner code in single file and move it to compositor directory as
compositor/Planner.{cpp/h}
3. Rename platform definition
a. Rename platform directory to bufferinfo.
b. Rename/move bufferinfo/platorm*.{cpp,h} getters to
bufferinfo/legacy/BufferInfo*.{cpp,h}. Align class names/includes.
4. Split legacy/metadata getters logic.
a. Apply existing bufferinfogetter base class only for legacy getters.
b. Combine legacy/generic gettera under new base class.
c. Create a placeholder for generic(metadata) getter.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Change-Id: I258ec806173a5efa38755406b4e2b7a216fb19fd
|
|
am: 30a066b586 am: 709de7f5f7 am: 69da7879e9
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444
Change-Id: I739296a922f2fba873d833fa9fb3dc59bc53db3b
|
|
am: 30a066b586 am: 709de7f5f7
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444
Change-Id: Ic5cb22dc78c3ad757e78ba531b0fab77da500839
|
|
am: 30a066b586
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444
Change-Id: I33f5a283c3a5f2a3c22326a7c7e4b91f80b936f5
|
|
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444
Change-Id: Ic994bd8c102ab9694cc255949d79ad21aad4e832
|
|
9f1115d2f6 -s ours am: 5435cde9c4 -s ours
am skip reason: Change-Id Id01b079cef39ede789f1f8931a699af8940055da with SHA-1 c7ecb443d4 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/12796944
Change-Id: I20bab95c39226e50b4b58ab962080edc6da48f7d
|
|
9f1115d2f6 -s ours
am skip reason: Change-Id Id01b079cef39ede789f1f8931a699af8940055da with SHA-1 c7ecb443d4 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/12796944
Change-Id: I3de0137b898d1a30e915b31c2459e2894dd5b8de
|
|
am skip reason: Change-Id Id01b079cef39ede789f1f8931a699af8940055da with SHA-1 c7ecb443d4 is in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/12796944
Change-Id: Ia8bbfcf4fd501bcb3fd2c2e51a91f722f8121714
|
|
Merged-In: Id01b079cef39ede789f1f8931a699af8940055da
Change-Id: Ib056c8b98046ba781d81ef8518feb9a6e28b8389
|
|
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Fix GraphicsComposerHidlTest#SetColorModeBadParameter VTS test.
Fixes: 27d2ed670bb34 ("drm_hwcomposer: Fix SetColorMode() and SetColorModeWithIntent()")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
SetColorMode() should return HWC2_ERROR_UNSUPPORTED [1]
SetColorModeWithIntent() should return HWC2_ERROR_UNSUPPORTED [2]
Parameters range shoud be also checked to pass VTS.
Fixes VtsHalGraphicsComposerV2_2TargetTest:
- PerInstance/GraphicsComposerHidlTest#SetColorMode_2_2*
============================================
================= Results ==================
arm64-v8a VtsHalGraphicsComposerV2_2TargetTest: 39s
armeabi-v7a VtsHalGraphicsComposerV2_2TargetTest: 36s
=============== Summary ===============
2/2 modules completed
Total Tests : 78
PASSED : 78
FAILED : 0
============================================
[1] - https://cs.android.com/android/platform/superproject/+/master:hardware/libhardware/include/hardware/hwcomposer2.h;l=1925;drc=d5f2f67cd2ae63abeccabd0d5339dacd469569cd
[2] - https://cs.android.com/android/platform/superproject/+/master:hardware/libhardware/include/hardware/hwcomposer2.h;l=1952;drc=d5f2f67cd2ae63abeccabd0d5339dacd469569cd
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Update to the current upstream tree
* aosp/upstream-main:
drm_hwcomposer: Return error from GetEdidBlob if blob is null
drm_hwcomposer: fix build error after fbf5c0ca45b3
drm_hwcomposer: Add check for format support during plane validation
drm_hwcomposer: Add supported formats list to DrmPlane
drm_hwcomposer: add drm-mediatek to client-backend list
drm_hwcomposer: Add MediaTek platform support
drm_hwcomposer: remove vendor.hwc.drm.exclude_non_hwfb_imports property
drm_hwcomposer: always use PlanStageGreedy
drm_hwcomposer: Fix EDID fetch from DRM
drm_hwcomposer: use CamelCase in source/header files related to class
drm_hwcomposer: move header files into source directory
drm_hwcomposer: libdrm gralloc_handle: modifiers and YUV support
drm_hwcomposer: fix incorrect layer_count usage
drm_hwcomposer: Add rcar-du display backend
drm_hwcomposer: Add composition skipping backend
drm_hwcomposer: Add backend-dependent validation for HwcDisplay class
drm_hwcomposer: Expand access to HwcDisplay class members
drm_hwcomposer: Move DrmHwcTwo internal classes outside private section
drm_hwcomposer: Add include guard into drmhwctwo.h
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I3b1e1710f14b458bb3501dc7c77f6c52394fff42
|
|
- Fixes segfault during client switch.
- Allows to run VTS on Android-11.
VTS Results:
============================================
arm64-v8a VtsHalGraphicsComposerV2_1TargetTest: [53 tests / 42808 msec]
armeabi-v7a VtsHalGraphicsComposerV2_1TargetTest: [53 tests / 33353 msec]
=============== Summary ===============
2/2 modules completed
Total Tests : 106
PASSED : 106
FAILED : 0
============================================
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
drmModeGetPropertyBlob can return NULL blobs resulting in a segfault in
GetDisplayIdentificationData which expects blob to be set to a valid
pointer when GetEdidBlob returns 0.
Fixes: adc5d8229b9ce25f1bf0e4d02bb838eae62b89fc
Signed-off-by: Marijn Suijten <marijns95@gmail.com>
|
|
'warning' preprocessor directive is interpreted as build error.
Replace it with ALOGW.
Fixes: fbf5c0ca45b3 ("drm_hwcomposer: libdrm gralloc_handle: modifiers and YUV support")
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
|
|
Some layers have pixel format that aren't supported by a hardware. In
such case it is better to reject plane that doesn't supports such
format, so we could handle it in future, rather than accepting it,
passing to the kernel side and failing whole composition.
Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
|
|
There are some use-cases for checking formats supported by given
plane. drmModePlane already contains reqired data, so it simply could
be saved into DrmPlane, no need to query any additional stuff.
Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
|
|
Since mediatek-drm has no support for premultiplied alpha buffers, we
can have issues with transparency.
Disable off-loading by adding "mediatek-drm" to the
client-backend list.
Change-Id: I12b034ecd5ae961264d01b6effaa4f4010036ac9
Suggested-by: Roman Stratiienko <r.stratiienko@gmail.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
|
|
This platform handler is dedicated for the i500 MediaTek SoC [1].
i500 has a Mali-G72 MP3 GPU.
OpenGL/Mali integration is based on ARM Gralloc module, version
BX304L01B-SW-99005-r20p0-01rel0, without additional patches.
This platformmediatek is based on platformmeson, without the additional
usage flag in the private_handle_t.
AFBC support has also been removed as it's unsupported.
External Android.bp file should be created in order to build this
module:
```
cc_library_shared {
name: "hwcomposer.drm_mediatek",
defaults: ["hwcomposer.drm_defaults"],
srcs: [":drm_hwcomposer_platformmediatek"],
whole_static_libs: ["drm_hwcomposer"],
}
```
[1] https://www.mediatek.com/products/AIoT/i500
Change-Id: I3ea7a980d76ba5c5ff583b5d4f21e1989875bafb
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
|
|
This property was used to force composition on 'client' side.
After adding Backends support, it can be replaced with more straightforward
property definition: 'vendor.hwc.backend_override=client'.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I896da41abe8b777166a485c06a11c163ceaeb3f0
|
|
Only PlatformHisi has custom planner. It doesn't makes much sense since
for HISI all composition is done on client side and planner should never
get buffers with usage flag other than GRALLOC_USAGE_HW_FB.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I3db3f96165f4c3aacb8bc43c8ee3ebc877163e1b
|
|
EDID fetch procedure consist of two steps:
1) get appropriate blob_id
2) fetch EDID blob using blob_id
Those steps should be done sequentially, in
other case drivers can update EDID and blob_id
won't be actual.
Signed-off-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
|
|
Change-Id: I40000ab95cf8b0573a0cb9e7b5be1540abe37b00
|
|
Main goal is to increase readability of file names.
AOSP uses camelcase for files in many projects.
Lets do the same for drm_hwcomposer.
Keep platform/ directory as is, since class names is different from file names.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I7e992357851c2a86711f4da1241c4d507359e56b
|
|
... to improve navigation between source/header file.
Unnecessary dependencies also removed.
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I2c3bf993b8c5f356490433fd94e90011487a1276
|