[PATCH 0/5] drm/exynos: rework layer blending setup
Gustavo Padovan
gustavo at padovan.org
Thu May 7 13:57:48 PDT 2015
2015-05-06 Tobias Jakobi <tjakobi at math.uni-bielefeld.de>:
> Hello,
>
> this is a rework of the layer blending setup in the Exynos DRM mixer. The current setup is static and spread out through the mixer code. This rework pushes all the configuration details into a layer_config array, which specifies the priority of each layer.
>
> Two arrays are currently found in the code, one for SoC versions with a video processor (VP) and one for SoC versions without VP. The VP gives us one additional layer, the video layer, which natively supports the NV12/NV21 pixelformat.
>
> The blending setup roughly works like this:
> 1) Find the bottom-most enabled layer. Disable all blending for this layer. This is done because we currently don't expose modification of the mixer background to userspace. Once this is done we can add more flexibility here.
> 2) Find the next enabled layer in our layer stack. If the layer has a framebuffer with an alpha-pixelformat attached, enable blending for this layer. If not, disable blending.
> 3) Iterate (2) until all enabled layers are processed.
>
> The series has been tested on a Hardkernel Odroid-X2 (Exynos4412, which has a VP).
>
> If you want to use libdrm's modetest to check the series, please apply patches [1] and [2]. This should make it possible to also test a plane with NV12 format (which is located 'behind' the primary plane).
The whole series works fine for me on Samsung Snow 5250 (which doesn't
have a VP).
Tested-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
Gustavo
More information about the dri-devel
mailing list