drm_hwcomposer: Merge remote-tracking branch 'aosp/upstream-main' into HEAD

This pulls in upstream-main branch for drm_hwcomposer.

Particularly important in this update are fixes that resolve
regressions seen on HiKey and HiKey960 that I merged before the
holiday break, causing some minor havoc.

Tons of credit to Roman Stratiienko for quickly resolving the
issues I missed. Also credit to Yongqin Liu for catching and
reporting these issues.

* aosp/upstream-main:
  drm_hwcomposer: Use DPMS property to configure display pipeline
  drm_hwcomposer: Move HwcDisplayConfigs out of HwcDisplay class
  drm_hwcomposer: Move DrmHwcTwo.{cpp|h} to hwc2_device/ directory
  drm_hwcomposer: Move HwcDisplay out of DrmHwcTwo class
  drm_hwcomposer: Move HwcLayer out of DrmHwcTwo class
  drm_hwcomposer: Move hw_module related code out of DrmHwcTwo.* files
  drm_hwcomposer: CI: Remove -readability-use-anyofallof from COARSE list
  drm_hwcomposer: CI: Remove duplicate tidy checks
  drm_hwcomposer: CI: Move tidy FINE checklist to Makefile
  drm_hwcomposer: Raise clang-tidy level of some files to NORMAL
  drm_hwcomposer: Fix float to 16.16 fixed point conversion
  drm_hwcomposer: CI: Find all source files instead of hardcoding them.
  drm_hwcomposer: Make Planner class fully static
  drm_hwcomposer: CI: Set clang-tidy level to NORMAL for some files
  drm_hwcomposer: CI: Raise clang-tidy level from NONE to COARSE for *.h
  drm_hwcomposer: CI: Process every file with clang-tidy.
  drm_hwcomposer: CI: Fix Makefile dependencies
  drm_hwcomposer: Update readability-identifier-naming rules
  drm_hwcomposer: Free resources in HookDevClose()
  drm_hwcomposer: Send crtc.active and crtc.mode together with the frame
  drm_hwcomposer: Remove supported()/unsupported() functions
  drm_hwcomposer: Modify source_layers_ to be integer instead of array
  drm_hwcomposer: Cleanup Planner class
  drm_hwcomposer: Handle unused planes by DrmDisplayCompositor
  drm_hwcomposer: Rework KMS state tracking
  drm_hwcomposer: CI: Replace shell scripts with Makefile
  drm_hwcomposer: CI: Tune clang-tidy coarse checks
  drm_hwcomposer: Tidy-up the CI scripts
  drm_hwcomposer: support more connector types

Validated on db845c, hikey960 and hikey

Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: If4a17a763c758c8b05e6057cb0a81146603ab31a
tree: 460a342852ad7865714bc0d112ecc5963739c187
  1. .ci/
  2. backend/
  3. bufferinfo/
  4. compositor/
  5. drm/
  6. hwc2_device/
  7. include/
  8. tests/
  9. utils/
  10. .clang-format
  11. .clang-tidy
  12. .gitlab-ci.yml
  13. Android.bp
  14. METADATA
  15. MODULE_LICENSE_APACHE2
  16. NOTICE
  17. OWNERS
  18. presubmit.sh
  19. README.md
README.md

drm_hwcomposer

Patches to drm_hwcomposer are very much welcome, we really want this to be the universal HW composer implementation for Android and similar platforms. So please bring on porting patches, bugfixes, improvements for documentation and new features.

A short list of contribution guidelines:

  • Submit changes via gitlab merge requests on gitlab.freedesktop.org.

  • drm_hwcomposer is Apache 2.0 Licensed and we require contributions to follow the developer's certificate of origin: http://developercertificate.org/.

  • When submitting new code please follow the naming conventions documented in the generated documentation. Also please make full use of all the helpers and convenience macros provided by drm_hwcomposer. The below command can help you with formatting of your patches:

    git diff | clang-format-diff-12 -p 1 -style=file
    
  • Hardware specific changes should be tested on relevant platforms before committing.

If you need inspiration, please checkout our TODO issues.

Happy hacking!