On Fri, Sep 02, 2016 at 05:32:19PM +0200, Thierry Reding wrote:
On Fri, Sep 02, 2016 at 12:33:42PM +0300, Dmitry Osipenko wrote:
Chromakey is a simple way of video overlay overlap implementation. This patch adds 2 new IOCTL's: first - sets color key and is common across of all Tegra SoC's, second - sets plane blending controls and allows to utilize the color key, this one is exclusive to Tegra20/30.
Signed-off-by: Dmitry Osipenko digetx@gmail.com
drivers/gpu/drm/tegra/dc.c | 150 +++++++++++++++++++++++++++++++++------- drivers/gpu/drm/tegra/dc.h | 6 ++ drivers/gpu/drm/tegra/drm.c | 159 +++++++++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/tegra/drm.h | 14 ++++ include/uapi/drm/tegra_drm.h | 34 +++++++++ 5 files changed, 337 insertions(+), 26 deletions(-)
I think these are really nice features to have, but these would need to be exposed as properties, rather than custom driver-specific IOCTLs. It seems to me like the colorkey feature could be implemented in much the same way as in the Armada, RCar and Nouveau drivers.
As for the blending options, I think they should be exposed in terms of the zpos property, to allow generic userspace to make use of them. Also can you explain why this needs to be exclusive to Tegra20 and Tegra30?
Ah... I just realized that the blending interface changed on Tegra124. All the more reason to expose this more generically, that way we can hide the differences between a property and support the same interface across all generations of Tegra.
Also see this:
https://chromium.googlesource.com/chromiumos/third_party/kernel/+/de9295aabd...
Thierry