[igt-dev] [PATCH] tests/kms_prime: Filter out devices that can't import buffers.

Mark Yacoub markyacoub at chromium.org
Tue Jun 15 14:46:22 UTC 2021


On Tue, Jun 15, 2021 at 5:03 AM Petri Latvala <petri.latvala at intel.com> wrote:
>
> On Mon, Jun 14, 2021 at 12:41:34PM -0400, Mark Yacoub wrote:
> > Some devices such as amdgpu do not support imported buffers.
> > Filter out those devices.
> > Tested on Zork with chromeos-kernel-5_4.
> >
> > Signed-off-by: Mark Yacoub <markyacoub at chromium.org>
> > ---
> >  tests/kms_prime.c | 14 ++++++++++++--
> >  1 file changed, 12 insertions(+), 2 deletions(-)
> >
> > diff --git a/tests/kms_prime.c b/tests/kms_prime.c
> > index 8cb2ca2a..480c7eb4 100644
> > --- a/tests/kms_prime.c
> > +++ b/tests/kms_prime.c
> > @@ -249,6 +249,16 @@ static void test_crc(int exporter_fd, int importer_fd)
> >       igt_display_fini(&display);
> >  }
> >
> > +/* The test attempts to import the buffer object from one device to another.
> > + * Filter out devices that aren't capable of doing this.
> > + */
> > +bool does_device_support_dmabuf_import(int fd) {
> > +     /* AMDGPU uses VRAM. Any use of the fb will migrate it to VRAM, which is not sensible for
> > +      * an imported dma-buf.
> > +      */
> > +     return !is_amdgpu_device(fd);
> > +}
>
> How is real (aka non-IGT) userspace supposed to handle this? Will they
> need to check if the device is an AMD device before deciding whether
> to import?
>
> What happens in this test without this patch?
amdgpu fails to create a framebuffer if the drm_gem_object has a valid
`import_attach` property.
>
> +Cc Arek. My initial impression for this is that the kernel should
> take care of the idiosyncracies but I'm lacking the big picture.
>
>
> --
> Petri Latvala


More information about the igt-dev mailing list