drm_hwcomposer: Merge 'aosp/upstream-main' into HEAD

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
tree: 66d926040799ad9aad9fdaa6cc4d235aa8285a4b
  1. .ci/
  2. backend/
  3. bufferinfo/
  4. compositor/
  5. drm/
  6. hwc2_device/
  7. tests/
  8. utils/
  9. .clang-format
  10. .clang-tidy
  11. .gitlab-ci.yml
  12. Android.bp
  13. build_deploy.sh
  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-14 -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!