Android HW composer on KMS for ST-Ericsson platform

Registered by Marcus Lorentzon on 2012-12-05

Implementation of the HW Composer 1.1 API for Android JB MR1.
It should be based on standard kernel interfaces like DRM/KMS/GEM/dmabuf.

Blueprint information

Status:
Started
Approver:
Jesse Barker
Priority:
High
Drafter:
Marcus Lorentzon
Direction:
Approved
Assignee:
Marcus Lorentzon
Definition:
New
Series goal:
Accepted for trunk
Implementation:
Good progress
Milestone target:
milestone icon wip
Started by
Marcus Lorentzon on 2012-12-05

Related branches

Sprints

Whiteboard

[marcus-lorentzon, 2012-12-04] Added vsync callback support using event worker thread and KMS vblank events. Now Android is up and running on HWC 1.1 over KMS with full fps.

[marcus-lorentzon, 2012-12-03] Added libdrm/libkms to the mix and started pushing buffers to KMS on HWC_set. First output seen on screen with Mali acceleration.

[marcus-lorentzon, 2012-11-28] Integrated with gralloc to retrieve buffer information

[marcus-lorentzon, 2012-11-27] Implemented HWC 1.1 API with as many noops as possible but still enough so that Android would boot using it.

[marcus-lorentzon, 2012-11-26] Created initial HWC sceleton

(?)

Work Items

Work items:
Have Android boot with KMS HWC module (all composition with GPU): DONE
Convert from gralloc->hwmem->dmabuf->GEM->framebuffer: DONE
Hook HWC up to KMS and start posting framebuffers: DONE
Use KMS vblank support for HWC vsync: DONE
Use plane: BLOCKED
Use crtc rotation: BLOCKED
Add composition bypass (fullscreen): TODO
Add composition bypass (planes): TODO
Use atomic mode set: BLOCKED
Cache KMS fb in gralloc handle: TODO
Add direct gralloc dmabuf: BLOCKED
Add 2D blitter precomposition: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.