[igt-dev] [PATCH i-g-t 2/3] lib/igt_fb: Use render copy/blit for tiled formats on platforms w/o HW detiling

Imre Deak imre.deak at intel.com
Wed Jan 22 09:34:57 UTC 2020


On Tue, Jan 21, 2020 at 10:02:06PM -0800, Dixit, Ashutosh wrote:
> On Mon, 20 Jan 2020 14:03:19 -0800, Imre Deak wrote:
> >
> > On platforms without HW detiling use render copy or blitting to convert
> > between a tiled and a linear framebuffer.
> >
> > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > ---
> >  lib/igt_fb.c | 16 +++++++++++++---
> >  1 file changed, 13 insertions(+), 3 deletions(-)
> >
> > diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> > index c81b9de8..b5b1750e 100644
> > --- a/lib/igt_fb.c
> > +++ b/lib/igt_fb.c
> > @@ -1975,17 +1975,27 @@ static bool blitter_ok(const struct igt_fb *fb)
> >	return true;
> >  }
> >
> > +static bool hw_can_detile(const struct igt_fb *fb)
> > +{
> > +	if (fb->modifier == DRM_FORMAT_MOD_NONE)
> > +		return true;
> 
> The problem with doing this afais is that the code will next try to
> mmap_gtt() (i.e. do a linear copy via the aperture) which will also fail
> (see igt_get_cairo_surface()). So we may need to use the blitter even for
> linear copies (DRM_FORMAT_MOD_NONE).

Yes, but we'll still have a way to map the buffer directly in which case
we can avoid the copies.

> 
> May want to look at this:
> 
> https://patchwork.freedesktop.org/patch/345926/?series=71083&rev=2


More information about the igt-dev mailing list