[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