249 Commits

Author SHA1 Message Date
Daniel Vetter
a6751bac8d gem_stress: split out gen3 render copy
Header conflicts with other headers for different generations.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-01 13:07:43 +02:00
Daniel Vetter
1baab2e43a gem_stress: option to disable render copy
It seems to be randomly broken, every boot in a slightly different
way on my i945gme. Works quite well on my Q35. So add an option to
disable it till this is resolved.

Well, more testing seems to suggest that I've been hunting ghosts.
Or maybe not and it works now simply because it's a different day.
Anyway, leave this in for future testing.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-31 20:42:34 +02:00
Daniel Vetter
cd640cca6c gem_stress: render copy on gen3
Headers copied over from xf86-video-intel, code built after the Xrender
support.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-29 22:52:50 +02:00
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