[PATCH v5 1/5] drm: add generic zpos property

Benjamin Gaignard benjamin.gaignard at linaro.org
Mon May 9 08:42:45 UTC 2016


Hello,

I little up in this topic.
If generic z-order patches can't land into drm core,
I wille have to resend the patch to enable it within STI driver:
https://lists.freedesktop.org/archives/dri-devel/2016-January/098140.html

Regards,
Benjamin

2016-04-01 14:48 GMT+02:00 Benjamin Gaignard <benjamin.gaignard at linaro.org>:
> This patch adds support for generic plane's zpos property property with
> well-defined semantics:
> - added zpos properties to plane 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
>
> Normalized zpos values are calculated automatically when generic
> muttable zpos property has been initialized. Drivers can simply use
> plane_state->normalized_zpos in their atomic_check and/or plane_update
> callbacks without any additional calls to DRM core.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
>
> Compare to Marek's original patch zpos property is now specific to each
> plane and no more to the core.
> Normalize function take care of the range of per plane defined range
> before set normalized_zpos.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard at linaro.org>
> ---
>  Documentation/DocBook/gpu.tmpl      |  10 ++
>  drivers/gpu/drm/Makefile            |   2 +-
>  drivers/gpu/drm/drm_atomic_helper.c |   6 +
>  drivers/gpu/drm/drm_blend.c         | 283 ++++++++++++++++++++++++++++++++++++
>  drivers/gpu/drm/drm_crtc_internal.h |   3 +
>  include/drm/drm_crtc.h              |  25 ++++
>  6 files changed, 328 insertions(+), 1 deletion(-)
>  create mode 100644 drivers/gpu/drm/drm_blend.c
>
> diff --git a/Documentation/DocBook/gpu.tmpl b/Documentation/DocBook/gpu.tmpl
> index 1692c4d..b7a5161 100644
> --- a/Documentation/DocBook/gpu.tmpl
> +++ b/Documentation/DocBook/gpu.tmpl
> @@ -2147,6 +2147,16 @@ void intel_crt_init(struct drm_device *dev)
>   the underlying hardware).</td>
>   </tr>
>   <tr>
> + <td valign="top" > "zpos" </td>
> + <td valign="top" >RANGE</td>
> + <td valign="top" >Min= driver dependent, Max= driver dependent</td>
> + <td valign="top" >Plane</td>
> + <td valign="top" >Plane's 'z' position during blending operation (0
> for background, highest for frontmost).
> + If two planes assigned to same CRTC have equal zpos values, the
> plane with higher plane
> + id is treated as closer to front. Can be IMMUTABLE if driver doesn't
> support changing
> + planes' order. Exact value range is driver dependent.</td>
> + </tr>
> + <tr>
>   <td rowspan="20" valign="top" >i915</td>
>   <td rowspan="2" valign="top" >Generic</td>
>   <td valign="top" >"Broadcast RGB"</td>
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 6eb94fc..18dc563 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -2,7 +2,7 @@
>  # Makefile for the drm device driver.  This driver provides support for the



-- 
Benjamin Gaignard

Graphic Working Group

Linaro.org │ Open source software for ARM SoCs

Follow Linaro: Facebook | Twitter | Blog


More information about the dri-devel mailing list