[PATCH i-g-t v1] lib/i915/fbc: Disable FBC in case of selective update in xe2lpd

Govindapillai, Vinod vinod.govindapillai at intel.com
Tue Mar 25 08:09:42 UTC 2025


On Tue, 2025-03-25 at 06:23 +0000, Hogander, Jouni wrote:
> On Thu, 2025-03-20 at 13:09 +0200, Vinod Govindapillai wrote:
> > In xe2lpd onwards, FBC and PSR2 selective update should be
> > selectively enabled based on the dirty rect threshold. Display
> > driver lacks such a logic at the moment and instead disables
> > FBC in case selective update is on. So replicate the same
> > in related IGT cases as well.
> 
> As a name intel_fbc_psr_combo_supported is not specifically referring
> PSR2. It is generally PSR. Also checked usage of
> intel_fbc_psr_combo_supported and it seems to be used in PSR1-FBC
> testcases as well. This will skip those tests as well. I don't think we
> want that.

Ack! Need to fix it! As that was replaced some previous inline gfx version check, wonder it had been
skipping the FBC + PSR1 cases all these times!

BR
Vinod

> 
> BR,
> 
> Jouni Högander
> 
> > 
> > Signed-off-by: Vinod Govindapillai <vinod.govindapillai at intel.com>
> > ---
> >  lib/i915/intel_fbc.c | 15 ++++++++++-----
> >  1 file changed, 10 insertions(+), 5 deletions(-)
> > 
> > diff --git a/lib/i915/intel_fbc.c b/lib/i915/intel_fbc.c
> > index 3971e4920..b0b4278ad 100644
> > --- a/lib/i915/intel_fbc.c
> > +++ b/lib/i915/intel_fbc.c
> > @@ -167,11 +167,16 @@ bool intel_fbc_plane_size_supported(int fd,
> > uint32_t width, uint32_t height)
> >   */
> >  bool intel_fbc_psr_combo_supported(int device)
> >  {
> > -	int ver = intel_display_ver(intel_get_drm_devid(device));
> > -
> > -	/* In Xe3 FBC PSR combo not supported because of FBC dirty
> > rect */
> > -	if (ver >= 20 && ver < 30)
> > -		return true;
> > +	/*
> > +	 * Because of some random underruns, FBC is disabled when
> > selective
> > +	 * update is enabled for xe2lpd onwards. The display driver
> > should
> > +	 * implement a selection logic between FBC and PSR2 / PR
> > selective
> > +	 * update from xe2lpd onwards. Until that is implemented,
> > keep
> > +	 * FBC disabled if PSR2 selective update is on.
> > +	 *
> > +	 * Though right now this function is empty, keep this for
> > the future
> > +	 * display version based variations for FBC and PSR
> > +	 */
> >  
> >  	return false;
> >  }
> 



More information about the igt-dev mailing list