[igt-dev] [PATCH v3] tests/kms_plane: Handle hw without legacy gamma support

Rob Clark robdclark at gmail.com
Mon Aug 7 20:01:52 UTC 2023


On Mon, Aug 7, 2023 at 11:48 AM Rob Clark <robdclark at gmail.com> wrote:
>
> On Mon, Aug 7, 2023 at 11:29 AM Juha-Pekka Heikkila
> <juhapekka.heikkila at gmail.com> wrote:
> >
> > Hi Rob,
> >
> > On 7.8.2023 19.54, Rob Clark wrote:
> > > From: Rob Clark <robdclark at chromium.org>
> > >
> > > Skip the tests which require legacy gamma, instead of failing, if the hw
> > > does not support legacy gamma.
> > >
> > > v2: igt_require(lut_size > 0) instead
> > > v3: simplify patch
> > >
> > > Signed-off-by: Rob Clark <robdclark at chromium.org>
> > > ---
> > >   tests/kms_plane.c | 2 ++
> > >   1 file changed, 2 insertions(+)
> > >
> > > diff --git a/tests/kms_plane.c b/tests/kms_plane.c
> > > index 67cff61d6cd1..44cad2bf2491 100644
> > > --- a/tests/kms_plane.c
> > > +++ b/tests/kms_plane.c
> > > @@ -469,6 +469,8 @@ static void set_legacy_lut(data_t *data, enum pipe pipe,
> > >       lut_size = crtc->gamma_size;
> > >       drmModeFreeCrtc(crtc);
> > >
> > > +     igt_require(lut_size > 0);
> > > +
> >
> > Is this something you really want on your hw? This lut stuff is
> > originally coming from this patch
> >
> > https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/093fa482371795c3aa246509994eb21907f501b9
> >
> > where it is mentioned:
> >
> > ---
> > We also abuse the legacy LUT to drop the precision down to 6 bits
> > so that still errors causes by the RGB<->YCbCr conversion end up
> > being ignored.
> > ---
> >
> > With your change you'd skip testing of all available pixel
> > formats/modifiers combos on your driver while originally this feature is
> > mostly intended just to avoid hitting Intel hw related anomalies. Do
> > those tests work for you if you just not set that lut?
>
> Hmm, I get failures, but at least part of that seems to be igt being
> unaware of qcom/msm modifiers..  I'll need to investigate further

The issue seems to be that igt doesn't know how to generate bw
compressed formats (in this case, QCOM_COMPRESSED).. I think the test
is assuming that it can solid fill with a tiled modifier and get
sensible results, but this isn't true for compressed modifiers

BR,
-R


> BR,
> -R
>
> > /Juha-Pekka
> >
> > >       lut = malloc(sizeof(uint16_t) * lut_size);
> > >
> > >       for (i = 0; i < lut_size; i++)
> >


More information about the igt-dev mailing list