Skip to content

drm_hwcomposer: Introduce YAGI bufferinfo supplier

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 by Roman Stratiienko

Merge request reports