529 Commits

Author SHA1 Message Date
Jesse Barnes
7230c01421 testdisplay: add overlay plane test option
Enumerate available extra planes and try to use one on each CRTC we enable.
2011-06-07 13:29:01 -07:00
Lan, Hai
3ddc799fbf testdisplay: fix possible_crtcs check so LVDS works
When using testdisplay on GM965 and Pineview with LVDS, it will fail to
set a mode because the first unused crtc can't be used for LVDS.  So
check the possible_crtcs to make sure the crtc can be used.

Signed-off-by: Hai Lan <hai.lan@intel.com>
2011-06-07 08:55:25 -07:00
Daniel Vetter
1095a825c0 gem_stress: avoid division by 0
Without this height would be 16 with the minimal buffer size.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-06 20:16:35 +02:00
Daniel Vetter
fde66f9bf4 gem_stress: disable fence storm when only using untiled buffers
This explains why gem_stress -u worked beforehand - the rendercpy
was not actually used!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-06 20:15:44 +02:00
Daniel Vetter
7250328bb8 gem_stress: round max_dimension down to the next pot
Creates funny rounding problems otherwise.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-06 18:59:54 +02:00
Chris Wilson
3d66d913d9 gem_stress: trim buffer sizes to fit into 3D pipeline
Remember the 3D pipeline is much more restricted than the BLT engine,
and we were feeding it buffers much larger than either the
render engine or the sampler could manager.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 22:21:54 +01:00
Chris Wilson
2933547eb0 gem_stress: cpu maps force tiling to be disabled, so fix the printf
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 21:36:06 +01:00
Chris Wilson
bfa23b47a5 gem_stress: Add extra passes to intial render copyfunc verification
...and allow for cpu maps!
2011-06-05 21:34:07 +01:00
Chris Wilson
e7119c2e3b test/gen3_mixed_blits: Remember that the BLT engine cannot handle Y-tiling
...even through a fence that can.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 19:10:14 +01:00
Chris Wilson
6f6cd81913 test/gen3_mixed_blits: Alternately use fence regs for the render copies
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 18:05:28 +01:00
Chris Wilson
853d729598 test/gen3_mixed_blits: Acutally use fences for BLT
Gah, in my excitement of reproducing the failure reported by
gem_stress, I missed using fenced relocs for the BLT.

Fortunately, it doesn't affect the presence of the error.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 17:45:28 +01:00
Chris Wilson
f5e63b12a5 test: Add more gen3 render blitters
... and we have a winner: gen3_mixed_blits reproduces the issue Daniel
Vetter originally found. It seems clear that we have some incoherence
between the RENDER and BLT units on gen3 that no amount of MI_FLUSH can
hide. Hmmm....

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 18:12:47 +01:00
Chris Wilson
20b69039e8 test: Exercise gen3 render copies
gem_stress is unhappy with tiled render copies on gen3. This is a simple
little test to ensure that a set of pure copies with a working set
larger than the aperture are handled correctly.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 12:10:11 +01:00
Chris Wilson
3ca054c225 tests: Add a fenced execbuffer thrash test
Exercise a nasty corner-case in the reservation logic for the fence
accounting.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-04 23:17:25 +01:00
Sun Yi
91f609741d testdisplay: print pixel clock in mode debug output
Print the pixel clock of each mode.
2011-05-31 11:50:38 -07:00
Chris Wilson
4e1f2f5957 gem_stress: '-b' option to disable BLT copyfunc
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-05-25 13:43:33 +01:00
Chris Wilson
719ffef7c3 gem_stress: Add render copyfunc for SandyBridge
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-05-24 22:08:48 +01:00
Eric Anholt
d73cdde45a Add Ivybridge support to intel_gpu_dump and the BLT tests. 2011-05-17 17:54:26 -07:00
Jesse Barnes
a825173a5f testdisplay: add 30bpp support (#ifdef'd out until the next cairo release) 2011-05-12 17:50:20 -07:00
Jesse Barnes
12de60a5e8 testdisplay: don't read hotplug events from buffer before libudev
Otherwise we'll just block rather than trying to update the display.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2011-05-04 14:57:06 -07:00
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