Hi Tobias, On 05/22/2015 05:44 AM, Tobias Jakobi wrote: > Gentle reminder that I still haven't heard anything about the series by > the Samsung guys ;) >
Sorry for late, i'm busy and i think whether it's possible any way for this blending from exynos drm framework after atomic feature of exynos merged. Thanks. > With best wishes, > Tobias > > > Tobias Jakobi wrote: >> 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). >> >> With best wishes, >> Tobias >> >> [1] https://patchwork.kernel.org/patch/6349241/ >> [2] https://patchwork.kernel.org/patch/6349261/ >> >> >> Tobias Jakobi (5): >> drm/exynos: mixer: refactor layer setup >> drm/exynos: mixer: introduce mixer_layer_blending() >> drm/exynos: mixer: remove all static blending setup >> drm/exynos: mixer: do blending setup in mixer_cfg_layer() >> drm/exynos: mixer: also allow ARGB1555 and ARGB4444 >> >> drivers/gpu/drm/exynos/exynos_mixer.c | 246 >> +++++++++++++++++++++++++++++----- >> drivers/gpu/drm/exynos/regs-mixer.h | 1 + >> 2 files changed, 213 insertions(+), 34 deletions(-) >> > >