Message ID | CA+M3ks4cg3T_q9Ug1_Uc4yrZKsK97rK+QA0FijDUnUKCMkpcAg@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@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@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@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
On Mon, May 09, 2016 at 10:42:45AM +0200, Benjamin Gaignard wrote: > 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 It's the patch author's duty to ping folks for reviews to move a patch forward. That doesn't happen automatically. It helps though if you cc everyone who commented on earlier iterations (I prefer Cc: lines in the commit message). Ville seems to have not been added for this one here. Also there's a metric pile of driver patches that floated around to convert them over to core zpos. Can you pls pick those up too? I definitely want to land this in drm core, so not going to take a ragequite-I'll-do-it-in-my-driver for an answer ;-) Thanks, Daniel > > Regards, > Benjamin > > 2016-04-01 14:48 GMT+02:00 Benjamin Gaignard <benjamin.gaignard@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@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@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
Hello, just voicing my interest in having this feature in DRM core. - Tobias Daniel Vetter wrote: > On Mon, May 09, 2016 at 10:42:45AM +0200, Benjamin Gaignard wrote: >> 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 > > It's the patch author's duty to ping folks for reviews to move a patch > forward. That doesn't happen automatically. > > It helps though if you cc everyone who commented on earlier iterations (I > prefer Cc: lines in the commit message). Ville seems to have not been > added for this one here. > > Also there's a metric pile of driver patches that floated around to > convert them over to core zpos. Can you pls pick those up too? > > I definitely want to land this in drm core, so not going to take a > ragequite-I'll-do-it-in-my-driver for an answer ;-) > > Thanks, Daniel > >> >> Regards, >> Benjamin >> >> 2016-04-01 14:48 GMT+02:00 Benjamin Gaignard <benjamin.gaignard@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@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@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 >
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 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel