[igt-dev] [PATCH igt] igt/gem_softpin: Only expect EINVAL for color-overlaps for user objects
Chris Wilson
chris at chris-wilson.co.uk
Mon Feb 26 20:54:47 UTC 2018
Quoting Chris Wilson (2018-02-24 18:54:04)
> If the specified object can not fit into the GTT due to overlap with a
> neighbouring pinned object (not part of the execobjects[]), we expect to
> fail with ENOSPC (as we cannot evict, rather than EINVAL for the user
> error in a badly constructed execobjects[]). To prevent the tests
> causing overlap with other external objects expand the test hole by a
> page on either side.
>
> (Setting up the system to deliberately hit ENOSPC is trickier as for
> example it requires pinned an object into the scanout with enough free
> space on either side to test.)
Anybody? I know it's an esoteric part of ancient HW that no one cares
about...
-Chris
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
> tests/gem_softpin.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/gem_softpin.c b/tests/gem_softpin.c
> index 99388599..23f93623 100644
> --- a/tests/gem_softpin.c
> +++ b/tests/gem_softpin.c
> @@ -302,11 +302,11 @@ static void test_evict_snoop(int fd)
>
> /* Find a hole */
> memset(object, 0, sizeof(object));
> - object[0].handle = gem_create(fd, 3*4096);
> + object[0].handle = gem_create(fd, 5*4096);
> gem_write(fd, object[0].handle, 0, &bbe, sizeof(bbe));
> gem_execbuf(fd, &execbuf);
> gem_close(fd, object[0].handle);
> - hole = object[0].offset;
> + hole = object[0].offset + 4096;
>
> /* Create a snoop + uncached pair */
> object[0].handle = gem_create(fd, 4096);
> --
> 2.16.1
>
More information about the igt-dev
mailing list