@Jernej Škrabec @Maxime Ripard
Thanks for your time and valuable suggestions.
Currently I would have to go away from mainline KMS to solve my (Android) issues, and I hope to get back when I find mainline-friendly solution for it.
Having no primary layer or zero-buffer primary layer and 4 overlays could be a universal solution, but I have not sufficient knowledge in KMS to bring-up this idea.
On Fri, Sep 20, 2019 at 9:18 AM Maxime Ripard mripard@kernel.org wrote:
Hi,
On Thu, Sep 19, 2019 at 11:03:26PM +0300, Roman Stratiienko wrote:
Actually, I beleive this is True solution, and current one is wrong. Let me explain why.
De2. 0 was designed to match Android hwcomposer hal requirements IMO. You can easily agree with this conclusion by comparing Composer HAL and De2. 0 hardware manuals.
I faced at least 4 issues when try to run Android using the mainline kernel sun8i mixer implementation. Current one, missing pixel formats (my previous patch), missing plane alpha and rotation properties. I plan to fix it and also send appropriate solution to the upstream.
To achieve optimal UI performance Android requires at least 4 ui layers to make screen composition. Current patch enables 4th plane usable.
Note that you can also get 4 UI planes by enabling more than one UI layer per channel. You wouldn't be able to use alpha between each plane of a given channel, but we can use a similar trick than what we did for the pipes in the sun4i backend.
Maxime