Commit message (Collapse)AuthorAgeFilesLines
* libhwcomposer: Remove reliance on shared header for stride alignmentd-pie-core-released-android10-core-releaseAndrew F. Davis2019-06-281-1/+1
| | | | | | | | | | | | | The allocated stride of graphics buffers is determined by many factors in a given system including requirements by various components that work with them. Because of this the buffer stride produced by gralloc may change even for single system given it's build time settings. Due to this, relying on a definition in a shared header file can be fragile. Luckily our Gralloc implementation has a way to share a given buffer's stride in the attached header information. Use this value instead of calculating it ourselves. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Rework error paths in DRMFramebufferAndrew F. Davis2019-06-281-15/+14
| | | | | | | | | | | | | | Returning early in a constructor does not signal to the instantiator an issue has happened and this can lead to problems like leaked resources and running into errors later when this object is used. To fix this we should throw exceptions that can be caught by higher layers. While we are here add error code reporting to the error messages. The passed in handle can not be null at this point, remove this extra check. Also failing to close a handle should not stop us from trying to close the rest, print a warning and continue. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Remove unneeded is_overlay parameter from DRMFramebufferAndrew F. Davis2019-06-283-18/+16
| | | | | | | | Checking the image buffer for extra planes should always be done and all callers of this constructor set this parameter to true. Remove the check for is_overlay and always take the true path. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Let C++ style zero value initialization clear hwc_device_tAndrew F. Davis2019-06-281-2/+1
| | | | Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Check length of uevent description not HDMI uevent pathAndrew F. Davis2019-06-281-1/+1
| | | | | | | The HDMI uevent path does not change, what we want to check here is that the next uevent_desc has a valid length. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Catch thread creation warnings and print the exceptionAndrew F. Davis2019-06-281-3/+7
| | | | | | | | Thread creation can fail which is not always fatal, catch the exception and print out the exceptions information for both the DRM and the HDMI event listening thread. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Fix possible lock condition in adding external displayAndrew F. Davis2019-06-281-2/+7
| | | | | | | | | If the external display is unplugged before the EDID information is read out then we may get locked waiting for the information to become available. Check for a connection inside this loop to break out if the display we are waiting for is no longer attached. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Move plane store to after printing informationAndrew F. Davis2019-06-281-3/+2
| | | | | | | | Store the plane info in "planeProps" after printing the info so that count can be incremented as part of the assignment, this makes it more clear what we are doing. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Drop redundant HDMIA commentAndrew F. Davis2019-06-281-2/+0
| | | | | | | This is already described in detail above this comment, remove this extra line. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Move display configuration selection to common functionMykhailo Sopiha2019-06-281-27/+40
| | | | | | | | | | | | | | | This patch was originally designed to fix an issue with corrupted icons, it now only moves the configuration selection to match how we do this in AM57x HWC. Also dummy display setting were changed from LCD low resolution to HDMI high resolution. It was done to prevent Android from trying to fit incorrect dummy low-res setting to be applied for external high-res surface (sometimes Android does not search external displays - it only takes the primary display configs, even if it is dummy). Signed-off-by: Mykhailo Sopiha <> Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Move away from <cutils/log.h>Alistair Strachan2019-06-284-4/+4
| | | | | | | | Fixes warning: "Deprecated: don't include cutils/log.h, use either android/log.h or log/log.h" [-W#warnings] Change-Id: I3e91968a21d4b384237b9c7866e7efe137e4c834 Signed-off-by: Alistair Strachan <>
* libhwcomposer: change stride alignment to 8Mykhailo Sopiha2019-06-181-1/+1
| | | | | | | | | | | | The UM GPU driver assumes that pixel alignment is 8. The HWV and Gralloc should report the same value of alignment, so it was changed from 16 to 8. The issue can be reproduced by observation of corrupted images with pixel width that is multiple to 8, but not multiple to 16 (example: 56x56 pixel icons). Signed-off-by: Mykhailo Sopiha <>
* libhwcomposer: Do not reassign first plane pitch for NV12 layerd-oreo-mr1-core-releaseAndrew F. Davis2018-09-261-3/+0
| | | | | | | NV12 uses 8bit pixels, this means the plane pitch is already correct and does not need reassigned. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Remove use of properties not available with tidssAndrew F. Davis2018-09-263-18/+2
| | | | | | | | The current DSS does not have multiple overlays and so blending and layering are not supported or needed in tidss. Remove use of these properties. Signed-off-by: Andrew F. Davis <>
* libhwcomposer: Add HWComposer HAL for AM65x family based devicesAndrew F. Davis2018-09-1214-0/+2231
| | | | Signed-off-by: Andrew F. Davis <>
* Add initial AM65x makefile that includes related projectsAndrew F. Davis2018-09-121-0/+17
| | | | | | | This makefile can be included by any device using an AM65x family SoC. Signed-off-by: Andrew F. Davis <>
* Add top level makefile to direct build into sub-directoriesAndrew F. Davis2018-09-121-0/+9
| | | | Signed-off-by: Andrew F. Davis <>
* Initial empty commitAndrew F. Davis2018-09-120-0/+0