[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