Move the loop operations around for test_all_modes so that it is clearly
split up into the desired phases.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
We have not a unified tool to check Intel display driver and we plan to use
intel-gpu-tools/testdisplay to check Intel display driver even though some
function tests can be found in libdrm/test. 3 new features are added:test
all supported modes, force mode and dump mode info(dump mode info is based on
libdrm/tests/modetest).
[ickle: attack the whitespacing!]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Include a simple series of blits that exhaust the aperture but have the
maximum grace time between reuse.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Include a simple series of blits that exhaust the aperture but have the
maximum grace time between reuse.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
After full-gtt, gem_tiled_blits doesn't allocate enough to force
eviction. So query the total aperture and accommodate.
Also introduce a similar test that utilizes fences rather than
use the BLT to perform the tiling and detiling.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Using for diagnosing some mysterious slowdowns. Should include a variant
for basic benchmarking...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
After bf79cb914dbfe848add8bb76cbb8ff89110d29ff, drm uses ENOENT to
report unknown handles buffer objects, update the tests accordingly.
Fixes:
Bug 29794 - some intel_gpu_tools cases fail
https://bugs.freedesktop.org/show_bug.cgi?id=29794
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
A few of the tools can be performed post-mortem from a different system,
so it is useful to be able to compile those tools on those foreign
systems. Obviously, any program to interact with the PCI device or talk
to GEM will fail on a non-Intel system.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This is a test case that overcommits fence registers between threads, which
are copying from one fenced bo to another. In earlier versions of the driver
this would cause excessive spinning as the first inactive (i.e. not in use
by the GPU) would be used to service the next page. After all the fence
registers had been allocated, in effect only the very first fence would then
be used for all subsequent faults.
Add four new tests for error the error handling cases:
- gem_bad_address - store to a bad address, should generate a protection or
page table error
- gem_bad_batch - try to execute a bad batch, should generate a protection,
invalid instruction or page table error
- gem_bad_blit - blit to an invalid location, should generated a protection
or page table error
- gem_hang - hang the GPU on an event that will never happen, test hang
detection & recovery code
The large object test simply tries to allocate a 128M object, pin it, then
pwrite the whole thing. This should make obvious any leaks on close or
page pointer allocation failures.