[PATCH 2/7] etnaviv: fix XV resize for UYVY source format

Lucas Stach l.stach at pengutronix.de
Tue Nov 22 12:50:36 UTC 2016


Am Dienstag, den 22.11.2016, 12:02 +0000 schrieb Russell King:
> On Tue, Nov 22, 2016 at 12:44:15PM +0100, Lucas Stach wrote:
> > It seems the video blitter doesn't like to blit from one YUV
> > format to another and writes out a fully cleared buffer in
> > that case.
> 
> Which GPU?  It works for me on GC600 and GC320, and it's explicitly
> mentioned in the available GC320 documentation that the format we're
> using is specifically supported for this use.

GC320 on i.MX6. As soon as the 2 stage scaling is needed the XV window
turns into a solid green without this fix.

> 
> > Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> > ---
> >  etnaviv/etnaviv_xv.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/etnaviv/etnaviv_xv.c b/etnaviv/etnaviv_xv.c
> > index 081c12abf1e2..23a76f3b989b 100644
> > --- a/etnaviv/etnaviv_xv.c
> > +++ b/etnaviv/etnaviv_xv.c
> > @@ -426,7 +426,10 @@ static int etnaviv_configure_format(struct etnaviv_xv_priv *priv,
> >  		priv->stage1_format.tile = 1;
> >  		priv->stage1_pitch = etnaviv_tile_pitch(width, bpp);
> >  	} else if (VIV_FEATURE(etnaviv->conn, chipMinorFeatures0, 2DPE20)) {
> > -		priv->stage1_format = fmt_yuy2;
> > +		if (priv->source_format.format == DE_FORMAT_UYVY)
> > +			priv->stage1_format = fmt_uyvy;
> > +		else
> > +			priv->stage1_format = fmt_yuy2;
> >  		priv->stage1_pitch = etnaviv_pitch(width, 16);
> >  	} else {
> >  		priv->stage1_format = vPix->format;
> > -- 
> > 2.10.2
> > 
> 




More information about the etnaviv mailing list