aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-20[automerger skipped] Mark ab/7061308 as merged in stage. am: aaaaca8aaa -s ↵android-mainline-12.0.0_r4android-mainline-12.0.0_r36android-12.0.0_r32android-12.0.0_r29android-12.0.0_r28android-12.0.0_r27android-12.0.0_r26android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android-12.0.0_r16android12-qpr1-releaseandroid12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseandroid12-devandroid12--mainline-releaseXin Li
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
2021-02-20[automerger skipped] Mark ab/7061308 as merged in stage. am: aaaaca8aaa -s oursXin Li
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
2021-02-20Mark ab/7061308 as merged in stage.android-s-beta-2android-s-beta-1Xin Li
Bug: 180401296 Merged-In: Ia13ce2304a0527f626ceeb9fee3331b0b3178661 Change-Id: Id847c813c51f4d578dea4e497303a4520c0309e3
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to external/drm_hwcomposer am: 86bdae7316 am: ↵Bob Badour
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
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to external/drm_hwcomposer am: 86bdae7316 am: ↵Bob Badour
c0b3c58483 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1588980 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I5fbcee7adf7d2cca7c0f2e931d3f12f2f10da748
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to external/drm_hwcomposer am: 86bdae7316Bob Badour
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1588980 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Idd88cbf3d6c2e22fac5939f1bca966fc7d6461bf
2021-02-12[LSC] Add LOCAL_LICENSE_KINDS to external/drm_hwcomposerandroid-s-preview-1Bob Badour
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
2020-11-24Mark ab/6881855 as merged am: b7cd811394 am: d92b471251Xin Li
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/13112091 Change-Id: I5d1ae65684e91de0d6d8050fcee3df7bbcfead47
2020-11-24Mark ab/6881855 as merged am: b7cd811394Xin Li
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/13112091 Change-Id: Ia13ce2304a0527f626ceeb9fee3331b0b3178661
2020-11-23Mark ab/6881855 as mergedXin Li
Bug: 172690556 Change-Id: I7a028056acffedf0b2435139744439986cfa6a1b
2020-11-05Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: c707da598c ↵John Stultz
am: 713247a272 am: b13b51996b am: 42ac17f8bf Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140 Change-Id: Id8cc6673022e9a990dd6aa46d4117ab7032f93a9
2020-11-05Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: c707da598c ↵John Stultz
am: 713247a272 am: b13b51996b Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140 Change-Id: I694eb364b23f66832d32ffd43a509f0a7b4f5624
2020-11-05Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: c707da598c ↵John Stultz
am: 713247a272 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140 Change-Id: I5a29c530aecb3eaa908e7d43e1ef6b2a6e0f5aba
2020-11-05Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: c707da598cJohn Stultz
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1485140 Change-Id: Ie6cff7b500fe023f0543bde86d4f3ffec9954727
2020-11-03Merge remote-tracking branch 'aosp/upstream-main' into HEADJohn Stultz
* 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
2020-11-02drm_hwcomposer: check ConvertBoInfo errors before importingJason Macnak
Signed-off-by: Jason Macnak <natsu@google.com>
2020-11-02drm_hwcomposer: implement Gralloc 4 BufferInfoMapperMetadataDennis Tsiang
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>
2020-10-31drm_hwcomposer: stop using pixel_strideRoman Stratiienko
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>
2020-10-22drm_hwcomposer: Set correct source crop for the client layerRoman Stratiienko
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>
2020-10-20drm_hwcomposer: refactor platform directoryRoman Stratiienko
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>
2020-10-09Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 8e7afb9d2e ↵John Stultz
am: 30a066b586 am: 709de7f5f7 am: 69da7879e9 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444 Change-Id: I739296a922f2fba873d833fa9fb3dc59bc53db3b
2020-10-09Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 8e7afb9d2e ↵John Stultz
am: 30a066b586 am: 709de7f5f7 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444 Change-Id: Ic5cb22dc78c3ad757e78ba531b0fab77da500839
2020-10-09Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 8e7afb9d2e ↵John Stultz
am: 30a066b586 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444 Change-Id: I33f5a283c3a5f2a3c22326a7c7e4b91f80b936f5
2020-10-09Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 8e7afb9d2eJohn Stultz
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1443444 Change-Id: Ic994bd8c102ab9694cc255949d79ad21aad4e832
2020-10-09[automerger skipped] Skip ab/6749736 in stage. am: e3d29b6be5 -s ours am: ↵Xin Li
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
2020-10-09[automerger skipped] Skip ab/6749736 in stage. am: e3d29b6be5 -s ours am: ↵Xin Li
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
2020-10-09[automerger skipped] Skip ab/6749736 in stage. am: e3d29b6be5 -s oursXin Li
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
2020-10-08Skip ab/6749736 in stage.Xin Li
Merged-In: Id01b079cef39ede789f1f8931a699af8940055da Change-Id: Ib056c8b98046ba781d81ef8518feb9a6e28b8389
2020-10-07drm_hwcomposer: extract platform-libdrm code from platform-genericRoman Stratiienko
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
2020-10-05drm_hwcomposer: Check parameter range in SetColorMode()Roman Stratiienko
Fix GraphicsComposerHidlTest#SetColorModeBadParameter VTS test. Fixes: 27d2ed670bb34 ("drm_hwcomposer: Fix SetColorMode() and SetColorModeWithIntent()") Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
2020-10-03drm_hwcomposer: Fix SetColorMode() and SetColorModeWithIntent()Roman Stratiienko
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>
2020-09-30Merge remote-tracking branch 'aosp/upstream-main' into HEADJohn Stultz
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
2020-09-28drm_hwcomposer: Fix RegisterCallback() functionRoman Stratiienko
- 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>
2020-09-26drm_hwcomposer: Return error from GetEdidBlob if blob is nullMarijn Suijten
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>
2020-09-25drm_hwcomposer: fix build error after fbf5c0ca45b3Roman Stratiienko
'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>
2020-09-25drm_hwcomposer: Add check for format support during plane validationRoman Kovalivskyi
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>
2020-09-25drm_hwcomposer: Add supported formats list to DrmPlaneRoman Kovalivskyi
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>
2020-09-24drm_hwcomposer: add drm-mediatek to client-backend listMattijs Korpershoek
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>
2020-09-23drm_hwcomposer: Add MediaTek platform supportMattijs Korpershoek
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>
2020-09-12drm_hwcomposer: remove vendor.hwc.drm.exclude_non_hwfb_imports propertyRoman Stratiienko
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
2020-09-12drm_hwcomposer: always use PlanStageGreedyRoman Stratiienko
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
2020-09-11drm_hwcomposer: Fix EDID fetch from DRMAndrii Chepurnyi
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>
2020-09-08drm_hwcomposer: use CamelCase in source/header files related to classRoman Stratiienko
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
2020-09-08drm_hwcomposer: move header files into source directoryRoman Stratiienko
... to improve navigation between source/header file. Unnecessary dependencies also removed. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: I2c3bf993b8c5f356490433fd94e90011487a1276
2020-09-08Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 42de64e56d ↵Jason Macnak
am: 58a4d1f46b am: 2b534bc255 am: 3598c2e2a2 am: 9d9a3bf320 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1419031 Change-Id: I4e5f81bad63c6fd6e9a355f316192f8e927af10a
2020-09-08Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 42de64e56d ↵Jason Macnak
am: 58a4d1f46b am: 2b534bc255 am: 3598c2e2a2 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1419031 Change-Id: Iffe2041c77afb5e90616df3030b17ee09c5e8c78
2020-09-08Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 42de64e56d ↵Jason Macnak
am: 58a4d1f46b am: 2b534bc255 Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1419031 Change-Id: I00b9e1562443f949e6f7ca285c5d3dc0f0239be4
2020-09-08Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 42de64e56d ↵Jason Macnak
am: 58a4d1f46b Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1419031 Change-Id: I12140201d5ed3e06c90e4c843db76b3d81d6f948
2020-09-08Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 42de64e56dJason Macnak
Original change: https://android-review.googlesource.com/c/platform/external/drm_hwcomposer/+/1419031 Change-Id: I58fc9d75d585df599afa92847fb6eae7d88bb9f3
2020-09-02Merge remote-tracking branch 'aosp/upstream-main' into HEADJason Macnak
... to update drm_hwcomposer for Cuttlefish. Specifically, updates sysprops to have the 'vendor' namespace and partially fixes VtsTrebleSysProp#testVendorPropertyNames. Bug: b/157958356 Test: m && launch_cvd --gpu_mode=gfxstream Test: m && launch_cvd --gpu_mode=drm_virgl Test: vts -m vts_treble_sys_prop_test Change-Id: I5c6137cea7914b0e198be3956083cf6d8ce42eba