Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • D drm-hwcomposer
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 12
    • Issues 12
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 4
    • Merge requests 4
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • drm-hwcomposer
  • drm-hwcomposer
  • Merge requests
  • !216

drm_hwcomposer: Introduce YAGI bufferinfo supplier

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Roman Stratiienko requested to merge roman.stratiienko/drm-hwcomposer:introduce-yagi into main Dec 14, 2022
  • Overview 5
  • Commits 2
  • Pipelines 7
  • Changes 13

Depends on !214 (merged)

YAGI stands for Yet Another Gralloc Interface.

Despite gralloc4 API became standard interface requird by VTS, some of existing grallocs in AOSP still does not provide it, and probably won't.

YAGI should help to both keep drm_hwc codebase clean and allow AOSP maintainers to advance their bufferinfo supplier independently. Also current legacy getters aren't covering all grallocs variant, which will be possible with YAGI.

YAGI represents a shared library with 3 symbols:

  • yagi_init
  • yagi_destroy
  • yagi_perform

Selecting YAGI require setting sysprop in device.mk file, e.g.:

PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.drm.yagi.lib=libyagi_abc.so

YAGI smooth transition is planned to be accomplished in 4 steps:

  1. Merge YAGI support into drm_hwcomposer.
  2. Merge drm_hwcomposer into AOSP.
  3. Replace all AOSP drm_hwc variants with YAGI library.
  4. Remove legacy bufferinfo getters from drm_hwc.

YAGI libraries can be also used with more android graphics components, e.g.: mesa3d, codecs, camera HAL, wayland_hwc, etc.

Edited Dec 19, 2022 by Roman Stratiienko
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: introduce-yagi