[PATCH v4 09/21] modetest: Allow specifying plane position
Ville Syrjälä
ville.syrjala at linux.intel.com
Thu Mar 28 03:44:50 PDT 2013
On Thu, Mar 28, 2013 at 01:16:09AM +0100, Laurent Pinchart wrote:
> Hi Ville,
>
> On Wednesday 27 March 2013 19:15:31 Ville Syrjälä wrote:
> > On Wed, Mar 27, 2013 at 05:57:20PM +0200, Ville Syrjälä wrote:
> > > On Tue, Mar 19, 2013 at 03:55:50PM +0100, Laurent Pinchart wrote:
> > > > Extend the -P option to allow specifying the plane x and y offsets. The
> > > > position is optional, if not specified the plane will be positioned at
> > > > the center of the screen as before.
> > > >
> > > > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > > > ---
> > > >
> > > > tests/modetest/modetest.c | 72 ++++++++++++++++++++++++++++++----------
> > > > 1 file changed, 57 insertions(+), 15 deletions(-)
> > > >
> > > > diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c
> > > > index 7153a40..f95efe6 100644
> > > > --- a/tests/modetest/modetest.c
> > > > +++ b/tests/modetest/modetest.c
> > > > @@ -645,6 +645,7 @@ struct connector_arg {
> > > >
> > > > struct plane_arg {
> > > >
> > > > uint32_t con_id; /* the id of connector to bind to */
> > > >
> > > > + uint32_t x, y;
> > >
> > > I'd like the coordinates to allow negative values too.
> >
> > Tested it and it actually works w/ negative values thanks to the way
> > strtoul() works :) The only real obstacle is the magic '-1' handling.
> > I guess you should just give up on magic values and add some flag to
> > indicate whether the user provided the coords or not.
> >
> > Also I must say that I don't like the syntax you used for specifying the
> > coords. '(' and ')' need to be escaped or the shell eats them.
>
> You're not the first one to complain, I don't mind changing the syntax
> (although escaping is not mandatory, you can just enclose the whole argument
> in quotes).
>
> > I've been using the x11 -geometry syntax whenever I have to deal with the
> > x/y/w/h combination. It's a reasonably well known syntax and doesn't have
> > these shell issues. Maybe you could use it here as well.
>
> The issue with the geometry syntax is that you can't put the top-left corner
> at negative coordinates, as -XOFF places the right edge of the plane XOFF
> pixels from the right edge of the screen, and similarly for -YOFF. Should we
> deviate from that spec and consider -XOFF to mean XOFF pixels on the left side
> of the left edge (outside of the screen) ?
I forgot that there's this kind of magic change of origin in the
specification. I guess it's been too long since I've used negative
geometry coordinates under X.
I've just been using it so that the origin is always the top left
corner. That's how I chose to interpret things in my
drm_rect_debug_print() function for example. But since it's a bit
contrary to the X geometry spec, maybe it's not the best syntax
either. If anyone has a better idea in mind, I'm open to suggestions.
--
Ville Syrjälä
Intel OTC
More information about the dri-devel
mailing list