Can anyone review this patch ? Thanks for your time. Fabien > -----Original Message----- > From: Fabien DESSENNE [mailto:fabien.dessenne@xxxxxx] > Sent: vendredi 28 mars 2014 11:16 > To: dri-devel@xxxxxxxxxxxxxxxxxxxxx > Cc: Benjamin Gaignard; Vincent Abriou; Fabien DESSENNE > Subject: [PATCH] modetest: consider supported formats before selecting a > DRM plane > > This fixes an issue where the DRM planes do not support the same pixel > formats. > The current implementation selects a DRM plane without checking whether > the pixel format is supported or not. As a consequence modetest may try to > set up a plane not supporting the user request-format, which fails. > Modetest has to check the supported formats accross the plane list before > selecting a candidate. > > Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx> > --- > tests/modetest/modetest.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index > 4761c60..866ea82 100644 > --- a/tests/modetest/modetest.c > +++ b/tests/modetest/modetest.c > @@ -951,7 +951,7 @@ static int set_plane(struct device *dev, struct > plane_arg *p) > int crtc_x, crtc_y, crtc_w, crtc_h; > struct crtc *crtc = NULL; > unsigned int pipe; > - unsigned int i; > + unsigned int i, j; > > /* Find an unused plane which can be connected to our CRTC. Find > the > * CRTC index first, then iterate over available planes. > @@ -974,8 +974,11 @@ static int set_plane(struct device *dev, struct > plane_arg *p) > if (!ovr) > continue; > > - if ((ovr->possible_crtcs & (1 << pipe)) && !ovr->crtc_id) > - plane_id = ovr->plane_id; > + if ((ovr->possible_crtcs & (1 << pipe)) && !ovr->crtc_id) { > + for (j = 0; j < ovr->count_formats; j++) > + if (!strncmp(p->format_str, (char *) &ovr- > >formats[j], 4)) > + plane_id = ovr->plane_id; > + } > } > > if (!plane_id) { > -- > 1.9.0 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel