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

Dhinakaran Pandiyan
2019-02-22T18:38:00Z

On Fri, 2019-02-22 at 19:26 +0200, Ville Syrjälä wrote:
> 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.
>
> Hmm. Should be a matter of
>
> if (...
> + is_ccs) {
> setup_linear_mapping();
> } else {
> ...
>
> no? Or was that already in there?
>
> It is slightly suboptimal since in theory we could just use
> rendercopy to do the full conversion for us, skipping the expensive
> software step. IIRC I briefly mentioned this option when Maarten
> was adding the !32bpp support to rendercopy. Anyways, we could
> consider doing that in the future if we are willing to expand
> our use of rendercopy. The counter argument is that it's one
> more extra thing that could fail.

Didn't quite get why rendercopy would have a higher chance of failing.
Personally, the problem I have is I don't fully understand the
rendercopy code yet :) And, I am not sure how easy it is to extend
support for new platforms from a display IGT development point of view.
I guess the library is not backward compatible either.