Commit Graph

46 Commits

Author SHA1 Message Date
Daniel Vetter 2374af20fe gem_stress: fix set_tiling
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-29 22:49:08 +02:00
Daniel Vetter 6a860b7507 gem_stress: ad-hoc tile tracing
Signed-off-by: root <daniel.vetter@ffwll.ch>
2011-03-29 22:49:05 +02:00
Daniel Vetter 130daf9cd0 gem_stress: optin to set num_buffers
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-27 15:37:26 +02:00
Daniel Vetter 294c78f4ab gem_stress: variable gpu busy load
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-27 15:25:12 +02:00
Daniel Vetter 22fe098bf5 gem_stress: getoptification
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-27 14:26:43 +02:00
Daniel Vetter 874163d5c8 gem_stress: dump complete failed tile
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-27 14:02:49 +02:00
Daniel Vetter ad515f817a Move gen5 blitter work-around to lib
Suggested by Chris Wilson to prevent utterly strange gpu hangs.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-25 22:09:28 +01:00
Daniel Vetter bfa6f5d94f gem_stress: limit gtt_size to 256
gem_stress maps all buffers, so more only results in trashing (which
should be handled with an option).

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-25 21:54:02 +01:00
Daniel Vetter 2aac22358f gem_stress: implement gen5 blitter work-around
ddx and mesa assume that this is issued after every blit command.
Breaking that invariant results in a dying gpu.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-25 21:53:07 +01:00
Daniel Vetter cfba9dd371 gem_stress: fix blitter_copy on gen4+
Utter fail at copy&pasting.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-25 20:42:57 +01:00
Daniel Vetter 3f10ff85bd gem_stress: submit batch if there's only one fence left
... for a copy might use up to two fences!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-21 22:13:18 +01:00
Chris Wilson 652d9eb983 stress: Distinguish between busy_bo and scratch_bo creation sizes
The busy bo has a fixed size (1024x256, 32bpp) whereas the scratch bo
may need to vary their size to exercise different features of fence
allocation.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-21 07:58:51 +00:00
Daniel Vetter 80aae9b424 gem_stress: pwrite/pread support
And a few other things:
- inline checking when copying tiles with the cpu, fails _much_ faster.
- bo size seems to have a tremendous effect, put on the TODO.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-20 21:12:32 +01:00
Daniel Vetter 08cf53703e Add gem stress test
Not where I want it to be, yet. And not as good as I've hoped in detecting
broken kernels.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-20 21:12:32 +01:00
Chris Wilson 84c32bd85c test: Mark gem_bad_batch as a known hang
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-03-05 09:01:46 +00:00
Hai Lan dac602b7b3 correct a mistyping for testdisplay
For testing all mode, the sleep time should be sleep_between_modes

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-11 15:35:05 +00:00
Chris Wilson 28032382bc testdisplay: Remove deprecated GIO functions
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-11 11:22:53 +00:00
Chris Wilson 5534cb1c75 testdisplay: Clarify
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>
2011-02-11 11:22:53 +00:00
Hai Lan 62d516813a Add a test case into intel-gpu-tools for intel display driver validation.
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>
2011-02-11 11:02:07 +00:00
Chris Wilson d4127e0e68 tests: Move potential machine killers away from distcheck
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-09 10:24:39 +00:00
Chris Wilson a5bbd5ea71 tests/gem_exec_blt: Compile fix 2011-02-09 10:21:27 +00:00
Chris Wilson c91951de0e gem_linear_blits,gem_tiled_blits: Add optional count
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-06 10:18:53 +00:00
Chris Wilson 0995b56334 Fix basic blt test for SNB
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-06 10:14:41 +00:00
Chris Wilson 74895a2344 gem_tiled_blits: Minor enhancements
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>
2011-02-06 10:11:02 +00:00
Chris Wilson 91b1c62a9c gem_linear_blits: Minor enhancements
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>
2011-02-06 10:10:52 +00:00
Chris Wilson f343805d16 Simplify gem_linear_blits
By doing everything manually we can indeed exercise the full GTT.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-02 10:39:05 +00:00
Chris Wilson 9fd7e35c39 Simple test to ensure that working sets larger than memory, just work.
Based on gem_tiled_blit, but without the complication of the tiling.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-01 19:24:41 +00:00
Chris Wilson c1e9795050 tests/gem_tiled_fence_blits: Ensure the bo count is odd
In order to avoid a self-copy, the number of bo must not be even.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-01 11:13:36 +00:00
Chris Wilson 371f87f2d8 Exercise the whole aperture with tiled blits
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>
2011-02-01 10:56:46 +00:00
Chris Wilson 5fc09c82d4 Time blt vs pwrite
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-01-29 16:13:38 +00:00
Chris Wilson 07d59b308d Add a simple test to execute n nop batches
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-01-29 16:13:38 +00:00
Chris Wilson f19a1942c2 Add a GTT timing test
Using for diagnosing some mysterious slowdowns. Should include a variant
for basic benchmarking...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-23 12:47:17 +00:00
Jesse Barnes 5406c633a0 tests: add display testing program
Just a simple program to light up all detected outputs at their native
mode and respond to hotplug events.
2010-12-21 09:39:07 -08:00
Chris Wilson d4d769a432 Prepare for split BLT ring on Sandybridge.
Depends on libdrm 057fab3382c02af54126ce395c43d4e6dce9439a

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31123
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-10-26 11:46:52 +01:00
Chris Wilson c935c60214 tests: Fix fallout from s/EBADF/ENOENT/ in 2.6.36
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>
2010-08-25 12:00:05 +01:00
Chris Wilson 95374225e8 Enable compilation on non-Intel, non-DRM systems.
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>
2010-04-08 12:17:31 +01:00
Chris Wilson 8f3f862b96 Add gem_fence_thrash test
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.
2009-09-01 11:53:47 +01:00
Jesse Barnes bbafc3d0bf Four new tests for error handling
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
2009-06-18 18:10:23 -07:00
Jesse Barnes 433e1c85a0 tests: add large object test
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.
2009-05-14 14:39:48 -07:00
Eric Anholt 302d15f2e7 Add a test to try to fill the ring.
Did this while trying to debug the Ubuntu DRI1+compiz issue.  Didn't succeed
in filling the ring.
2009-04-27 09:35:40 -07:00
Eric Anholt 548a6a7fa2 Add a test for reading tiled objects with pread. 2009-04-07 19:06:36 -07:00
Eric Anholt cd9ba0a3b6 Add a test for pread after blitting to an object.
This caught a bug with get_user_pages usage in the kernel, which would
result in zeroes being read out of the object when faulting in a new page.
2009-04-07 19:06:33 -07:00
Eric Anholt 3b301df9ec Add a regression test for tiled object blitting. 2009-04-03 14:23:06 -07:00
Eric Anholt 0581738c7a tests/: warning fixes 2009-03-27 16:04:25 -07:00
Eric Anholt 895a415909 Add the tests we want from libdrm. 2009-03-26 18:47:42 -07:00
Eric Anholt 8c64183a46 Initial import of intel-graphics-tools with some microbenchmarks. 2009-03-26 17:15:11 -07:00