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