Hello all, This patch series is a continuation of rework of blending support in Exynos DRM driver. Some background can be found here: http://www.spinics.net/lists/dri-devel/msg96969.html Daniel Vetter suggested that zpos property should be made generic, with well-defined semantics. This patchset is my proposal for such generic zpos property: - added zpos properties to drm core and plane state structures, - added helpers for normalizing zpos properties of given set of planes, - well defined semantics: planes are sorted by zpos values and then plane id value if zpos equals. The next part is a result of my survey on introducing generic plane blending related properties: http://www.spinics.net/lists/dri-devel/msg98106.html Ville Syrjälä suggested that blending mode should be defined by a pair of 2 factors, which define generic blending equation. I've implemented this approach. I hope that this code can be a base for further discussion on generic blending support. For more information, see patch 4/5. Patches are based on top of v4.5-rc1 release. Best regards Marek Szyprowski Samsung R&D Institute Poland Changelog: v5: - added patch with new generic blending and alpha properties - changed patchseries topic to "drm/exynos: introduce generic zpos and blending properties" - moved all generic code to separate drm_blend.c file v4: http://www.spinics.net/lists/dri-devel/msg98654.html - made min/max values of zpos property driver dependent (request of Ville Syrjälä) - adjusted some comments v3: http://www.spinics.net/lists/dri-devel/msg98207.html - on request of Daniel Vetter, moved all normalization process to DRM core, drivers can simply use plane_state->normalized_zpos in their atomic_check/update callbacks with no additional changes needed - updated documentation v2: http://www.spinics.net/lists/dri-devel/msg98093.html - dropped 2 fixes for Exynos DRM, which got merged in meantime - added more comments and kernel docs for core functions as suggested by Daniel Vetter - reworked initialization of zpos properties (moved assiging property class to common code), now the code in the driver is even simpler - while reworking of intialization of zpos property code, did the same change to generic rotation property v1: http://www.spinics.net/lists/dri-devel/msg97709.html - initial version Patch summary: Marek Szyprowski (5): drm: add generic zpos property drm/exynos: use generic code for managing zpos plane property drm: simplify initialization of rotation property drm: add generic blending related properties drm/exynos: add support for blending properties Documentation/DocBook/gpu.tmpl | 57 +++- drivers/gpu/drm/Makefile | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 10 +- drivers/gpu/drm/drm_atomic.c | 16 ++ drivers/gpu/drm/drm_atomic_helper.c | 6 + drivers/gpu/drm/drm_blend.c | 337 ++++++++++++++++++++++++ drivers/gpu/drm/drm_crtc.c | 29 +- drivers/gpu/drm/drm_crtc_internal.h | 3 + drivers/gpu/drm/exynos/exynos_drm_drv.h | 7 +- drivers/gpu/drm/exynos/exynos_drm_plane.c | 128 +++++---- drivers/gpu/drm/exynos/exynos_mixer.c | 6 +- drivers/gpu/drm/i915/intel_display.c | 6 +- drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 3 +- drivers/gpu/drm/omapdrm/omap_drv.c | 3 +- include/drm/drm_crtc.h | 36 ++- include/uapi/drm/drm_mode.h | 101 +++++++ 16 files changed, 669 insertions(+), 81 deletions(-) create mode 100644 drivers/gpu/drm/drm_blend.c -- 1.9.2 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel