Confirmed users
137
edits
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= What is Hardware Composer? = | = What is Hardware Composer? = | ||
Android Hardware composer HAL([https://github.com/android/platform_hardware_libhardware/blob/master/include/hardware/hwcomposer.h 1]) is an abstract 2D composer library that can help to offload GPU resource for screen composition. Based on HWC HAL, chipset vendor(like Qcom, nVidia) can implement their own 2D composer library to integrate with platform's 2D HW composer. | |||
Think of hardware composer as a fast-path for the compositor, that is limited but provides better performance and battery consumption characteristics. | Think of hardware composer as a fast-path for the compositor, that is limited but provides better performance and battery consumption characteristics. | ||
* Different chipset vendor could have different 2D HW componment | |||
**Qcom supports copybit and overlay, nVidia support overlay, Mali(reuse 2D core from GPU TODO) | |||
**B2G ICS on leo/hamachi use copybit by default | |||
**B2G JB on Nexus 4 use overlay by default (will support partial HWC composition bug 915729) | |||
* HWComposer Requirement | * HWComposer Requirement: | ||
** Scaling: HWC does not support scaling (at least in its current form) | ** Scaling: HWC does not support scaling (at least in its current form) | ||
** Axis Aligned Rotate (0, 90, 180, 270) | ** Axis Aligned Rotate (0, 90, 180, 270) |