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

Dhinakaran Pandiyan dhinakaran.pandiyan at intel.com
Fri Feb 22 18:37:40 UTC 2019


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.




More information about the igt-dev mailing list