For seqno completion, the events are too coarse i.e. one event may
signal the completion of a few seqno. We will need to sort the events to
properly compute the busy times.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Since the events may be processed out of order (due to per-cpu
ringbuffers) we need to be careful to associated wait pairs in order to
compute the correct elapsed time.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Effectively you choose to redirect the output of an event instead of
mmapping it directly - but the target must already be mmapped.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We can now record when a pageflip occurs by listening for the flip
tracepoint. Merely proof of principle at this point.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
As the children use the parent's fd, the kernel only has a single filp
for everyone. Therefore we cannot rely on the process termination
reaping the buffers we allocate for the children.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68169
The HDMI vendor infoframe can contain a HDMI VIC (as of HDMI 1.4, only
used for 4k formats).
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
abort results in "crash" test results in the piglit runner, igt gives
us neater output.
The downside is that we can now only use these in igt tests, but
that's already the case (and given their placement in drmtest.h their
intended use-case, too).
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
... instead of threading the 77 return value through threads. Even
better would be to check for requirements in the single-threaded setup
part of the test, since now it's done by multiple threads in parallel
and will result in interleaved and multiplied output on stdout.
Whatever.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
... and drop the int return argument of the tests.
Also:
- make nv_write_i915_cpu_mmap_read functional again by dropping the
goto.
- add checks to i915_import_pread_pwrite
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Also sprinkle igt_assert and igt_require over the setup code to clean
up code while at it. To avoid gcc getting upset about unitialized
variables just move them out of main as global data (where they always
get initialized to 0) - gcc can't see through our igt_fixture and
igt_subtest maze properly.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Just a tiny wrapper to protect global test setup/teardown code when
just listing subtests. Rolling this out over all tests with subtests
should allow us to generate the testlist with piglit as an
unpriviledged user on a non-intel system.
The aim here is to make our QA team happy who currently suffers from
this. Even more so for the prime tests since you need a system with
intel _and_ nouveau gpus to just be able to list tests.
Exemplary conversion with gem_concurrent_blt.c
Fixture is the same name other test suites like googletest use for
setup/teardown code used by multiple tests.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This is mostly important to get the SKIP reporting right, but I've
found a few stragglers that wanted to get converted over to the igt
result reporting completely.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Useful when stitching together combinatorial testnames.
v2:
- ## rules are just fun. We need 2 indirections to actually get
__LINE__ to properly expand.
- Kill stray ; which botched the logic.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
For tests with subtest we should use igt_skip to ensure that subtests
are always properly enumerated.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
An oversight in the mass conversion to the new framework as the test was
called from two locations.
Ideally, the checks could be moved back to the caller and the framework
still work. This is just the patch of least resistence.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68091
Simultaneously make the results more robust and compact by performing a
linear regression to compute the amount of time required to perform the
exec array walk and the relocations.