1959 Commits

Author SHA1 Message Date
Daniel Vetter
b11d67a33b gem_stress: option to use cpu mappings
This things just won't die (libva!!!), so add an option to test them.

_Not_ meant to test snoopable mappings.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-27 22:18:23 +02:00
Hai Lan
9bfda1a809 Fix a bug of testing preferred mode
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-26 07:47:12 +01:00
Jesse Barnes
c56cd106f9 testdisplay: add non-24 bit depth support
Testing 16bpp is useful, and 30bpp will be added once cairo supports it.
2011-04-19 11:50:16 -07:00
Jesse Barnes
0d3043f5f3 testdisplay: paint color gradients
Helps identify dithering problems.
2011-04-18 16:49:17 -07:00
Daniel Vetter
a67091b220 gem_stress: option to only use x-tiling
This seems to be another trick to massively improve correctness
of the render blit. At least on my i945.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-12 22:57:08 +02:00
Daniel Vetter
afa940c398 Disable gem tests when libdrm is not available
Quickly checked on ppc by Cyril Brulebois.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-09 20:15:10 +02:00
Daniel Vetter
e68652cad6 gem_stress: option to disable tiling
Of all the things I've tried, this seems to be the only thing
to fix tile corruptions reliably on gen2&gen3 (safe for outright
disabling the render copy).

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-04 22:13:09 +02:00
Daniel Vetter
272c898807 gem_stress: clean up fence_storm
That little snippet creapt in and magically made render copy work -
by essentially disabling it.

Restore order, everything incoherent again.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-04 22:11:19 +02:00
Daniel Vetter
aeb0b6f33c gem_stress: extract emit_blt
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-04 22:03:44 +02:00
Daniel Vetter
4fcfc9f102 gem_stress: gen2 render copy
Sometimes acts up like gen3 on my i855gm. Sometimes works flawless.

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