[PATCH v4 09/21] modetest: Allow specifying plane position

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Mar 27 17:16:09 PDT 2013


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) ?

-- 
Regards,

Laurent Pinchart



More information about the dri-devel mailing list