433 Commits

Author SHA1 Message Date
Daniel Vetter
1007956680 gem_stress: option to disable render copyfunc check
Too noisy - which is an another way of saying too broken :(

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13 20:30:31 +02:00
Daniel Vetter
5b253cee37 gem_stress: option for tile_size
I want to know how large these corruptions can get!

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13 20:30:30 +02:00
Daniel Vetter
c0f34338e7 gem_stress: option to set tiles per buffer
gem_stress -p1 is much more evil than gem_stress -c1, it also manages
to tear appart untiled workloads!

Now duct-taping over it still works (--apply-duct-tape) ... hm.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13 13:18:35 +02:00
Daniel Vetter
6daa883fa3 gem_stress: option to continue despite failures
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13 00:35:01 +02:00
Daniel Vetter
9649dd7ef0 gem_stress: option to override the number of rounds to complete
gem_stress -c 1

... sometimes takes a while to hit a problem.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13 00:58:45 +02:00
Chris Wilson
e0532d4eb0 scripts: Add throttle.py
Parses a trace.dat and works out how long each throttle was and how many
batches retired within that period (and their average duration).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-08 12:16:23 +01:00
Jesse Barnes
e235f93288 testdisplay: automatically enable TEST_PLANES if possible
Just look for the ADDFB2 ioctl and enable the new code if it exists.
2011-06-07 13:32:37 -07:00
Jesse Barnes
8969b839b5 testdisplay: fix error output if test pattern draw fails 2011-06-07 13:29:01 -07:00
Jesse Barnes
b707feb9d5 testdisplay: add tiled buffer test support
Useful for testing tiled vs linear framebuffers.
2011-06-07 13:29:01 -07:00
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
aadfcdfd4e decode: Fix segmentation fault
The decode for A8 is incomplete and died with a segfault. First hide the
segfault, latter fix the pretty printing.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-05 18:13:18 +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
9b325c8a86 Update gitignore
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-05-25 13:43:34 +01: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
a09dd09e00 Add Ivybridge device IDs
Makes the reg dumper work better.
2011-05-10 17:21:12 -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
Ben Widawsky
f70a717482 Add C99 requirement to autoconf.
snprintf is part of the C99 standard and is used in many places in the
tools.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
2011-04-11 08:47:11 -07: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
1c9ede3acb intel_decode: drop unused code
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-04-05 21:14:54 +02:00
Chris Wilson
841c551f12 decode: Correct a couple of mistakes in gen3 IMMEDIATE_STATE_1
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-05 08:52:52 +01: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
8ab88c9af0 lib: execbuffer2 support
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-29 22:49:09 +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