[Intel-gfx] [igt-dev] [PATCH i-g-t] i915/gem_exec_reloc: Verify relocations with pinned scanout framebuffers
Chris Wilson
chris at chris-wilson.co.uk
Tue Feb 16 17:14:53 UTC 2021
Quoting Matthew Auld (2021-02-16 16:49:28)
> On Tue, 16 Feb 2021 at 14:32, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> >
> > In light of the VT-d workarounds, we may introduce padding around the
> > scanout vma. This should not affect relocations referencing the scanout
> > on !full-ppgtt where we leak the GGTT address of scanout to users.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Matthew Auld <matthew.auld at intel.com>
> > ---
> > tests/i915/gem_exec_reloc.c | 102 ++++++++++++++++++++++++++++++++++++
> > 1 file changed, 102 insertions(+)
> >
> > diff --git a/tests/i915/gem_exec_reloc.c b/tests/i915/gem_exec_reloc.c
> > index cc9b8cd6d..98960bb84 100644
> > --- a/tests/i915/gem_exec_reloc.c
> > +++ b/tests/i915/gem_exec_reloc.c
> > @@ -26,7 +26,9 @@
> >
> > #include "i915/gem.h"
> > #include "igt.h"
> > +#include "igt_device.h"
> > #include "igt_dummyload.h"
> > +#include "igt_kms.h"
> > #include "sw_sync.h"
> >
> > IGT_TEST_DESCRIPTION("Basic sanity check of execbuf-ioctl relocations.");
> > @@ -1286,6 +1288,83 @@ static void concurrent(int i915, int num_common)
> > igt_assert_eq(result, 0);
> > }
> >
> > +static uint32_t
> > +pin_scanout(igt_display_t *dpy, igt_output_t *output, struct igt_fb *fb)
> > +{
> > + drmModeModeInfoPtr mode;
> > + igt_plane_t *primary;
> > +
> > + mode = igt_output_get_mode(output);
> > +
> > + igt_create_pattern_fb(dpy->drm_fd, mode->hdisplay, mode->vdisplay,
> > + DRM_FORMAT_XRGB8888,
> > + LOCAL_I915_FORMAT_MOD_X_TILED, fb);
> > +
> > + primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> > + igt_plane_set_fb(primary, fb);
> > +
> > + igt_display_commit2(dpy, COMMIT_LEGACY);
> > +
> > + return fb->gem_handle;
> > +}
> > +
> > +static void scanout(int i915,
> > + igt_display_t *dpy,
> > + const struct intel_execution_engine2 *e)
>
> Missing feeding the engine into the execbuf?
Oops. Pretty pointless in making it loop over the engines without
selecting one!
-Chris
More information about the Intel-gfx
mailing list