[igt-dev] [PATCH i-g-t 2/5] igt/prime_vgem: Skip flip if no display
Chris Wilson
chris at chris-wilson.co.uk
Mon Oct 1 09:57:15 UTC 2018
Quoting Daniel Vetter (2018-10-01 09:49:07)
> On Fri, Sep 14, 2018 at 09:13:07PM +0100, Chris Wilson wrote:
> > We try flipping a vgem surface onto a i915 scanout. However, if there
> > is no display we want to disable the kms interface, including the addfb
> > ioctl. On such systems the call to kms_addfb will naturally fail and the
> > test cannot be run.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > ---
> > tests/prime_vgem.c | 11 +++++++----
> > 1 file changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/prime_vgem.c b/tests/prime_vgem.c
> > index b821fbb8c..a76d3797b 100644
> > --- a/tests/prime_vgem.c
> > +++ b/tests/prime_vgem.c
> > @@ -762,10 +762,13 @@ static void test_flip(int i915, int vgem, unsigned hang)
> > igt_assert(handle[i]);
> > close(fd);
> >
> > - do_or_die(__kms_addfb(i915, handle[i],
> > - bo[i].width, bo[i].height, bo[i].pitch,
> > - DRM_FORMAT_XRGB8888, I915_TILING_NONE, NULL,
> > - LOCAL_DRM_MODE_FB_MODIFIERS, &fb_id[i]));
> > + /* May skip if i915 has no displays */
> > + igt_require(__kms_addfb(i915, handle[i],
> > + bo[i].width, bo[i].height, bo[i].pitch,
> > + DRM_FORMAT_XRGB8888,
> > + I915_TILING_NONE, NULL,
> > + LOCAL_DRM_MODE_FB_MODIFIERS,
> > + &fb_id[i]) == 0);
>
> Hm, both here and in patch 1 I feel like this is super late to check for
> requirements.
This is earlier than the current check, interesting that check will
segfault under this scenario.
> I think for these low-level tests a kms_require_display
> which checks for n_pipes > 0 && n_outputs > 0 would be good. Then we can
> sprinkle these early (and keep the do_or_die here), plus it won't need a
> comment about why we have the check since it's obvious from the name.
The comment was to try and reinforce that this restriction wasn't to do
with vgem itself.
-Chris
More information about the igt-dev
mailing list