Re: [igt-dev] [HAX 3/5] lib/igt_fb: Use rendercopy for rendering into compressed buffers

Ville Syrjälä
2019-02-22T17:12:53Z

On Thu, Feb 21, 2019 at 03:20:35PM -0800, Dhinakaran Pandiyan wrote:
> On Thu, 2019-02-21 at 16:06 +0200, Ville Syrjälä wrote:
> > On Wed, Feb 20, 2019 at 06:41:21PM -0800, Dhinakaran Pandiyan wrote:
> > > @@ -2397,8 +2523,10 @@ cairo_surface_t *igt_get_cairo_surface(int
> > > fd, struct igt_fb *fb)
> > > ((f->cairo_id == CAIRO_FORMAT_INVALID) &&
> > > (f->pixman_id != PIXMAN_invalid)))
> > > create_cairo_surface__convert(fd, fb);
> All BGR formats will take this path and it somehow results in Yf-CCS
> tests specifically failing.

What kinda of failure we talking here?

>
>
> > > + else if (is_ccs_modifier(fb->tiling))
> > > + create_cairo_surface__rendercopy(fd, fb);
> > > else if (fb->tiling == LOCAL_I915_FORMAT_MOD_Y_TILED ||
> > > - fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)
> > > + fb->tiling == LOCAL_I915_FORMAT_MOD_Yf_TILED)
> > > create_cairo_surface__blit(fd, fb);
> > > else
> > > create_cairo_surface__gtt(fd, fb);
> >
> > Oh, and this reminds me that we still have the <32k byte blitter
> > stride
> > problem, which I tried to address a bit in
> > https://patchwork.freedesktop.org/patch/248543/
> > by using gtt mmaps instead. However that failed for Yf since fences
> > can't
> > handle Yf.
> Wonder if this has got something to do with BGR format failures.

Shouldn't matter when CCS is involved since we always use rendercopy for
that.

>
> > My initial idea was to cpu mmap and tile/detile manually,
> > but we could actually consider using rendercopy instead.
> >
>
> More work for Yf then.
> -DK

--
Ville Syrjälä
Intel