platform/upstream/intel-gpu-tools.git
13 years agogem_vmap_blits: fix compilation if I915_PARAM_HAS_VMAP is not defined
Paulo Zanoni [Wed, 24 Aug 2011 17:57:31 +0000 (14:57 -0300)]
gem_vmap_blits: fix compilation if I915_PARAM_HAS_VMAP is not defined

Previously, "make check" failed because the main() function was not
defined.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Tested-By: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agointel_gpu_top: access hardware before running profiling command
Eugeni Dodonov [Mon, 5 Sep 2011 23:04:17 +0000 (20:04 -0300)]
intel_gpu_top: access hardware before running profiling command

Without this patch, intel_gpu_top will try to get access to the hardware
after running the profiling command in the background. In case such access
fails, the main process quits, but the background one will continue
running.

So let's move this test up, so it is done before we fork.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agointel_gpu_tools: describe -e option in usage screen
Eugeni Dodonov [Mon, 5 Sep 2011 22:59:40 +0000 (19:59 -0300)]
intel_gpu_tools: describe -e option in usage screen

This patch adds a short description of '-e' option to the usage screen.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agointel_gpu_top: adopt to kernel coding style
Eugeni Dodonov [Mon, 5 Sep 2011 22:50:52 +0000 (19:50 -0300)]
intel_gpu_top: adopt to kernel coding style

This patch fixes adopts the code to the kernel coding_style.

13 years agointel_gpu_top: support profiling user-specified commands
Eugeni Dodonov [Mon, 5 Sep 2011 22:41:24 +0000 (19:41 -0300)]
intel_gpu_top: support profiling user-specified commands

This patch adds support for running intel_gpu_top to profile specific
commands. The required command will be carried out in separate process,
and main intel_gpu_top will leave when the child process will exit.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agointel_gpu_top: support non-interactive mode
Eugeni Dodonov [Mon, 5 Sep 2011 22:39:58 +0000 (19:39 -0300)]
intel_gpu_top: support non-interactive mode

This patch adds support for non-interactive mode, invoked by running with
'-o output' switch. In this case, no interactive output is being
performed, but the execution statistics are being saved into the output
file.

The output file is generated in both human and gnuplot-readable format.

Unlike interactive mode, where non-supported pipes and non-active
registers are skipped, the content of such pipes and registers is recorded
into the log file to simplify parsing and standardize the list of columns.

Also, unlike interactive mode, the registers are not sorted according to
the usage - this way, their variation over time can be analysed offline.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agoThis patch initializes the last_stats[] for registers prior to starting
Eugeni Dodonov [Mon, 5 Sep 2011 22:35:44 +0000 (19:35 -0300)]
This patch initializes the last_stats[] for registers prior to starting
the monitoring itself. This way, the first measure will already contain
the difference from the previous value instead of non-initialized value.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agoRevert "intel_gpu_top: initialize monitoring statistics at startup"
Eugeni Dodonov [Mon, 5 Sep 2011 22:33:40 +0000 (19:33 -0300)]
Revert "intel_gpu_top: initialize monitoring statistics at startup"

This reverts commit 431fe7803d37f344275fdaceb57c1fbaeee8541c.

Will be replaced with more fine-grained commits.

13 years agointel_gpu_top: initialize monitoring statistics at startup
Eugeni Dodonov [Mon, 5 Sep 2011 19:33:04 +0000 (16:33 -0300)]
intel_gpu_top: initialize monitoring statistics at startup

This patch initializes the last_stats[] for registers prior to starting
the monitoring itself. This way, the first measure will already contain
the difference from the previous value instead of non-initialized value.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agointel_gpu_tool: initial support for non-screen output
Eugeni Dodonov [Mon, 5 Sep 2011 19:29:39 +0000 (16:29 -0300)]
intel_gpu_tool: initial support for non-screen output

This patch adds initial support for non-stdio output, to be used for
non-interactive monitoring.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agointel_gpu_top: suport command line parameters and variable samples per
Eugeni Dodonov [Mon, 5 Sep 2011 19:23:11 +0000 (16:23 -0300)]
intel_gpu_top: suport command line parameters and variable samples per
second

This patch adds support for getopt, and adds two default parameters to it:
-h to show usage notes; and -s to allow user to define number of samples
to acquire per second.

Manpage documentation is also adjusted accordingly.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agointel_gpu_top: account for time spent in syscalls
Eugeni Dodonov [Mon, 5 Sep 2011 18:31:17 +0000 (15:31 -0300)]
intel_gpu_top: account for time spent in syscalls

This allows intel_gpu_top to properly account for time spent inside system
calls. Effectively, with previous implementation, intel_gpu_top could
spent longer than 1s between consecutive measures. This attempts to
minimize the extra time spent while polling for data.

Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
13 years agotests: add store dword tests
Jesse Barnes [Fri, 12 Aug 2011 19:51:34 +0000 (12:51 -0700)]
tests: add store dword tests

Add a couple of simple store dword tests to test memory coherence.

gem_storedw_loop simply executes a batch that continually stores an
incremented value to a target buffer object, checking the results after
each batch completes.

gem_storedw_batches_loop does the same thing, but creates a new command
batch buffer for each iteration, which can exercise the buffer creation
code.  This test is based on one from Andrzej Kacprowski from Intel.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
13 years agotestdisplay: for tiled mode test, the height should be aligned
Hai Lan [Fri, 5 Aug 2011 04:47:25 +0000 (00:47 -0400)]
testdisplay: for tiled mode test, the height should be aligned

Signed-off-by: Hai Lan <hai.lan@intel.com>
13 years agoAdd missing copyright info to intel_decode.c
Eric Anholt [Mon, 1 Aug 2011 17:39:51 +0000 (10:39 -0700)]
Add missing copyright info to intel_decode.c

13 years agotools: readme addition for shader debugging
Ben Widawsky [Thu, 28 Jul 2011 21:58:24 +0000 (14:58 -0700)]
tools: readme addition for shader debugging

13 years agotools/range handing: forgot the register map file :(
Ben Widawsky [Thu, 28 Jul 2011 22:07:28 +0000 (15:07 -0700)]
tools/range handing: forgot the register map file :(

13 years agointel-gpu-tools/debugging: shader debugger
Ben Widawsky [Fri, 24 Jun 2011 18:42:03 +0000 (11:42 -0700)]
intel-gpu-tools/debugging: shader debugger

high level summary of the files:
  * debug_rdata - get current state from debug registers. Helpful
    when developing the debugger, and could serve some purpose in the
    future.
  * eudb - the debugger itself
  * eviction_macro - generate the proper macro to flush the EU render
    cache until I get control flow working
  * pre_cpp - an evaluating c preprocesser like thing, to be used before
    cpp
  * sr - the system routine, exception handler which runs on the EU
  * test - a very basic test system routine
  * debug.h

13 years agointel-gpu-tools/debugging: add important debug regs
Ben Widawsky [Sun, 17 Jul 2011 19:43:12 +0000 (12:43 -0700)]
intel-gpu-tools/debugging: add important debug regs

Cc: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel-gpu-tools/forcewaked: sample forcewake app
Ben Widawsky [Tue, 14 Jun 2011 18:00:30 +0000 (11:00 -0700)]
intel-gpu-tools/forcewaked: sample forcewake app

This app is required for debug features which seem to (undocumented)
reset themselves if/when the GT goes to sleep.

It is also useful for those doing general debugging or profiling from
userspace when they do not wish to have the GT sleep.

v2: made forcewaked more daemon-like

Cc: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel-gpu-tools/range handling: register range handling
Ben Widawsky [Thu, 28 Jul 2011 20:42:45 +0000 (13:42 -0700)]
intel-gpu-tools/range handling: register range handling

Hooks to allow safe accesses from userspace. Can revert to old behavior
by using unsafe access.

13 years agoforcewake: Add mmio code to do proper forcewake stuff for gen6
Ben Widawsky [Thu, 28 Jul 2011 20:40:19 +0000 (13:40 -0700)]
forcewake: Add mmio code to do proper forcewake stuff for gen6

13 years agoAdd intel_backlight
Chris Wilson [Wed, 20 Jul 2011 19:40:13 +0000 (20:40 +0100)]
Add intel_backlight

A trivial tool to adjust the backlight registers (gen5+ only atm).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel_decode: Handle a few gen7 blocks
Chris Wilson [Wed, 20 Jul 2011 19:39:56 +0000 (20:39 +0100)]
intel_decode: Handle a few gen7 blocks

13 years agogem_stress: ducttaping mandatory
Daniel Vetter [Sun, 17 Jul 2011 21:33:27 +0000 (23:33 +0200)]
gem_stress: ducttaping mandatory

In other news: We've been missing a unmapping_mapping_range somewhere
in the kernel. But lazy me never came around to digging up the real
cause.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agotestdisplay: Test the first mode if there is no preferred mode.
Hai Lan [Tue, 31 May 2011 21:13:30 +0000 (17:13 -0400)]
testdisplay: Test the first mode if there is no preferred mode.

For a TV device, there  might be no preferred mode. In this case,
we can test the first mode.

Signed-off-by: Hai Lan <hai.lan@intel.com>
13 years agotests/gem_vmap_blits: Fix typo
Chris Wilson [Fri, 8 Jul 2011 14:01:39 +0000 (15:01 +0100)]
tests/gem_vmap_blits: Fix typo

Why, oh why, do these only become obvious after pushing upstream?

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel_reg_dumper: Slightly tidy the reporting of pipe configs
Chris Wilson [Fri, 8 Jul 2011 13:55:36 +0000 (14:55 +0100)]
intel_reg_dumper: Slightly tidy the reporting of pipe configs

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoAdd a test case for coherency of vmaps
Chris Wilson [Fri, 8 Jul 2011 13:54:32 +0000 (14:54 +0100)]
Add a test case for coherency of vmaps

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: Assert we have no pending ops when using the CPU
Chris Wilson [Wed, 25 May 2011 13:49:40 +0000 (14:49 +0100)]
gem_stress: Assert we have no pending ops when using the CPU

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_gtt_speed: Add option for variable buffer size
Chris Wilson [Wed, 25 May 2011 13:40:38 +0000 (14:40 +0100)]
gem_gtt_speed: Add option for variable buffer size

13 years agogem_stress: Add an option to test handling of signals
Chris Wilson [Sat, 2 Jul 2011 07:59:32 +0000 (08:59 +0100)]
gem_stress: Add an option to test handling of signals

As signals cause the syscalls to be interrupted, we often need to clean
up partial state before returning to userspace. Often a source of
unamusing bugs, so encourage gem_stress to provoke them.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agotests: Add an exercise for zero-length buffers
Chris Wilson [Thu, 23 Jun 2011 13:04:35 +0000 (14:04 +0100)]
tests: Add an exercise for zero-length buffers

Triggers an OOPS with dmar enabled currently.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agotests: Add a simple exercise of GTT mmaps
Chris Wilson [Mon, 20 Jun 2011 12:53:12 +0000 (13:53 +0100)]
tests: Add a simple exercise of GTT mmaps

Test copying between 2 mappings and reading/writing from and to.

References: https://bugs.freedesktop.org/show_bug.cgi?id=38115
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: some stats about incoherencies
Daniel Vetter [Mon, 13 Jun 2011 20:02:52 +0000 (22:02 +0200)]
gem_stress: some stats about incoherencies

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: option to disable render copyfunc check
Daniel Vetter [Mon, 13 Jun 2011 18:14:53 +0000 (20:14 +0200)]
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>
13 years agogem_stress: option for tile_size
Daniel Vetter [Mon, 13 Jun 2011 18:09:38 +0000 (20:09 +0200)]
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>
13 years agogem_stress: option to set tiles per buffer
Daniel Vetter [Mon, 13 Jun 2011 11:18:35 +0000 (13:18 +0200)]
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>
13 years agogem_stress: option to continue despite failures
Daniel Vetter [Sun, 12 Jun 2011 22:22:01 +0000 (00:22 +0200)]
gem_stress: option to continue despite failures

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: option to override the number of rounds to complete
Daniel Vetter [Tue, 7 Jun 2011 20:30:03 +0000 (22:30 +0200)]
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>
13 years agoscripts: Add throttle.py
Chris Wilson [Wed, 8 Jun 2011 11:13:46 +0000 (12:13 +0100)]
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>
13 years agotestdisplay: automatically enable TEST_PLANES if possible
Jesse Barnes [Tue, 7 Jun 2011 20:32:37 +0000 (13:32 -0700)]
testdisplay: automatically enable TEST_PLANES if possible

Just look for the ADDFB2 ioctl and enable the new code if it exists.

13 years agotestdisplay: fix error output if test pattern draw fails
Jesse Barnes [Tue, 7 Jun 2011 20:28:19 +0000 (13:28 -0700)]
testdisplay: fix error output if test pattern draw fails

13 years agotestdisplay: add tiled buffer test support
Jesse Barnes [Tue, 7 Jun 2011 20:27:35 +0000 (13:27 -0700)]
testdisplay: add tiled buffer test support

Useful for testing tiled vs linear framebuffers.

13 years agotestdisplay: add overlay plane test option
Jesse Barnes [Tue, 7 Jun 2011 20:17:46 +0000 (13:17 -0700)]
testdisplay: add overlay plane test option

Enumerate available extra planes and try to use one on each CRTC we enable.

13 years agotestdisplay: fix possible_crtcs check so LVDS works
Lan, Hai [Tue, 7 Jun 2011 02:16:26 +0000 (19:16 -0700)]
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>
13 years agogem_stress: avoid division by 0
Daniel Vetter [Mon, 6 Jun 2011 18:16:35 +0000 (20:16 +0200)]
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>
13 years agogem_stress: disable fence storm when only using untiled buffers
Daniel Vetter [Mon, 6 Jun 2011 18:15:44 +0000 (20:15 +0200)]
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>
13 years agogem_stress: round max_dimension down to the next pot
Daniel Vetter [Mon, 6 Jun 2011 16:59:54 +0000 (18:59 +0200)]
gem_stress: round max_dimension down to the next pot

Creates funny rounding problems otherwise.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: trim buffer sizes to fit into 3D pipeline
Chris Wilson [Sun, 5 Jun 2011 20:53:49 +0000 (21:53 +0100)]
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>
13 years agogem_stress: cpu maps force tiling to be disabled, so fix the printf
Chris Wilson [Sun, 5 Jun 2011 20:35:34 +0000 (21:35 +0100)]
gem_stress: cpu maps force tiling to be disabled, so fix the printf

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: Add extra passes to intial render copyfunc verification
Chris Wilson [Sun, 5 Jun 2011 20:34:07 +0000 (21:34 +0100)]
gem_stress: Add extra passes to intial render copyfunc verification

...and allow for cpu maps!

13 years agotest/gen3_mixed_blits: Remember that the BLT engine cannot handle Y-tiling
Chris Wilson [Sun, 5 Jun 2011 18:10:14 +0000 (19:10 +0100)]
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>
13 years agotest/gen3_mixed_blits: Alternately use fence regs for the render copies
Chris Wilson [Sun, 5 Jun 2011 17:05:28 +0000 (18:05 +0100)]
test/gen3_mixed_blits: Alternately use fence regs for the render copies

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agotest/gen3_mixed_blits: Acutally use fences for BLT
Chris Wilson [Sun, 5 Jun 2011 16:45:28 +0000 (17:45 +0100)]
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>
13 years agodecode: Fix segmentation fault
Chris Wilson [Sun, 5 Jun 2011 17:13:18 +0000 (18:13 +0100)]
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>
13 years agotest: Add more gen3 render blitters
Chris Wilson [Sun, 5 Jun 2011 16:23:09 +0000 (17:23 +0100)]
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>
13 years agotest: Exercise gen3 render copies
Chris Wilson [Sun, 5 Jun 2011 10:20:34 +0000 (11:20 +0100)]
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>
13 years agotests: Add a fenced execbuffer thrash test
Chris Wilson [Sat, 4 Jun 2011 20:41:11 +0000 (21:41 +0100)]
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>
13 years agotestdisplay: print pixel clock in mode debug output
Sun Yi [Tue, 31 May 2011 01:20:30 +0000 (18:20 -0700)]
testdisplay: print pixel clock in mode debug output

Print the pixel clock of each mode.

13 years agoUpdate gitignore
Chris Wilson [Wed, 25 May 2011 12:42:29 +0000 (13:42 +0100)]
Update gitignore

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: '-b' option to disable BLT copyfunc
Chris Wilson [Wed, 25 May 2011 12:41:28 +0000 (13:41 +0100)]
gem_stress: '-b' option to disable BLT copyfunc

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: Add render copyfunc for SandyBridge
Chris Wilson [Sun, 22 May 2011 09:34:12 +0000 (10:34 +0100)]
gem_stress: Add render copyfunc for SandyBridge

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoAdd Ivybridge support to intel_gpu_dump and the BLT tests.
Eric Anholt [Fri, 6 May 2011 19:15:50 +0000 (12:15 -0700)]
Add Ivybridge support to intel_gpu_dump and the BLT tests.

13 years agotestdisplay: add 30bpp support (#ifdef'd out until the next cairo release)
Jesse Barnes [Fri, 13 May 2011 00:49:07 +0000 (17:49 -0700)]
testdisplay: add 30bpp support (#ifdef'd out until the next cairo release)

13 years agoAdd Ivybridge device IDs
Jesse Barnes [Wed, 11 May 2011 00:21:12 +0000 (17:21 -0700)]
Add Ivybridge device IDs

Makes the reg dumper work better.

13 years agotestdisplay: don't read hotplug events from buffer before libudev
Jesse Barnes [Wed, 4 May 2011 21:55:32 +0000 (14:55 -0700)]
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>
13 years agogem_stress: option to use cpu mappings
Daniel Vetter [Wed, 27 Apr 2011 20:13:29 +0000 (22:13 +0200)]
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>
13 years agoFix a bug of testing preferred mode
Hai Lan [Tue, 26 Apr 2011 03:03:39 +0000 (11:03 +0800)]
Fix a bug of testing preferred mode

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agotestdisplay: add non-24 bit depth support
Jesse Barnes [Tue, 19 Apr 2011 18:50:16 +0000 (11:50 -0700)]
testdisplay: add non-24 bit depth support

Testing 16bpp is useful, and 30bpp will be added once cairo supports it.

13 years agotestdisplay: paint color gradients
Jesse Barnes [Mon, 18 Apr 2011 23:48:27 +0000 (16:48 -0700)]
testdisplay: paint color gradients

Helps identify dithering problems.

13 years agogem_stress: option to only use x-tiling
Daniel Vetter [Tue, 12 Apr 2011 20:26:42 +0000 (22:26 +0200)]
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>
13 years agoAdd C99 requirement to autoconf.
Ben Widawsky [Mon, 11 Apr 2011 15:47:11 +0000 (08:47 -0700)]
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>
13 years agoDisable gem tests when libdrm is not available
Daniel Vetter [Sat, 9 Apr 2011 18:15:10 +0000 (20:15 +0200)]
Disable gem tests when libdrm is not available

Quickly checked on ppc by Cyril Brulebois.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agointel_decode: drop unused code
Daniel Vetter [Tue, 5 Apr 2011 19:14:54 +0000 (21:14 +0200)]
intel_decode: drop unused code

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agodecode: Correct a couple of mistakes in gen3 IMMEDIATE_STATE_1
Chris Wilson [Tue, 5 Apr 2011 07:52:52 +0000 (08:52 +0100)]
decode: Correct a couple of mistakes in gen3 IMMEDIATE_STATE_1

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: option to disable tiling
Daniel Vetter [Mon, 4 Apr 2011 20:10:21 +0000 (22:10 +0200)]
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>
13 years agogem_stress: clean up fence_storm
Daniel Vetter [Mon, 4 Apr 2011 19:24:58 +0000 (21:24 +0200)]
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>
13 years agogem_stress: extract emit_blt
Daniel Vetter [Sun, 3 Apr 2011 11:10:07 +0000 (13:10 +0200)]
gem_stress: extract emit_blt

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: gen2 render copy
Daniel Vetter [Thu, 31 Mar 2011 21:30:17 +0000 (23:30 +0200)]
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>
13 years agogem_stress: split out gen3 render copy
Daniel Vetter [Thu, 31 Mar 2011 21:29:25 +0000 (23:29 +0200)]
gem_stress: split out gen3 render copy

Header conflicts with other headers for different generations.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: option to disable render copy
Daniel Vetter [Wed, 30 Mar 2011 19:46:04 +0000 (21:46 +0200)]
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>
13 years agogem_stress: render copy on gen3
Daniel Vetter [Sun, 27 Mar 2011 19:33:29 +0000 (21:33 +0200)]
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>
13 years agolib: execbuffer2 support
Daniel Vetter [Sun, 27 Mar 2011 14:17:54 +0000 (16:17 +0200)]
lib: execbuffer2 support

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: fix set_tiling
Daniel Vetter [Mon, 28 Mar 2011 19:42:26 +0000 (21:42 +0200)]
gem_stress: fix set_tiling

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: ad-hoc tile tracing
Daniel Vetter [Tue, 29 Mar 2011 17:23:35 +0000 (19:23 +0200)]
gem_stress: ad-hoc tile tracing

Signed-off-by: root <daniel.vetter@ffwll.ch>
13 years agogem_stress: optin to set num_buffers
Daniel Vetter [Sun, 27 Mar 2011 13:37:26 +0000 (15:37 +0200)]
gem_stress: optin to set num_buffers

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: variable gpu busy load
Daniel Vetter [Sun, 27 Mar 2011 13:25:12 +0000 (15:25 +0200)]
gem_stress: variable gpu busy load

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: getoptification
Daniel Vetter [Sun, 27 Mar 2011 12:26:43 +0000 (14:26 +0200)]
gem_stress: getoptification

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agogem_stress: dump complete failed tile
Daniel Vetter [Sun, 27 Mar 2011 12:02:49 +0000 (14:02 +0200)]
gem_stress: dump complete failed tile

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agoMove gen5 blitter work-around to lib
Daniel Vetter [Fri, 25 Mar 2011 21:09:28 +0000 (22:09 +0100)]
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>
13 years agogem_stress: limit gtt_size to 256
Daniel Vetter [Fri, 25 Mar 2011 20:54:02 +0000 (21:54 +0100)]
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>
13 years agogem_stress: implement gen5 blitter work-around
Daniel Vetter [Fri, 25 Mar 2011 20:53:07 +0000 (21:53 +0100)]
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>
13 years agogem_stress: fix blitter_copy on gen4+
Daniel Vetter [Fri, 25 Mar 2011 19:42:57 +0000 (20:42 +0100)]
gem_stress: fix blitter_copy on gen4+

Utter fail at copy&pasting.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agointel_bios_dumper: handle rom_size == 0
Forest Bond [Tue, 22 Mar 2011 14:31:43 +0000 (10:31 -0400)]
intel_bios_dumper: handle rom_size == 0

Some versions of libpciaccess on Linux set rom_size to 0 for VGA
devices.  While this behavior may change, intel_bios_dumper should
handle this situation to be compatible with current versions of the
library.

This fixes segmentation faults on affected systems.

Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agogem_stress: submit batch if there's only one fence left
Daniel Vetter [Mon, 21 Mar 2011 21:13:18 +0000 (22:13 +0100)]
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>
13 years agostress: Distinguish between busy_bo and scratch_bo creation sizes
Chris Wilson [Mon, 21 Mar 2011 07:58:51 +0000 (07:58 +0000)]
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>
13 years agogem_stress: pwrite/pread support
Daniel Vetter [Sun, 20 Mar 2011 20:12:20 +0000 (21:12 +0100)]
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>
13 years agoAdd gem stress test
Daniel Vetter [Sat, 19 Mar 2011 20:34:55 +0000 (21:34 +0100)]
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>
13 years agoDecode map state on gen2
Daniel Vetter [Mon, 14 Mar 2011 12:03:48 +0000 (13:03 +0100)]
Decode map state on gen2

At least the important stuff.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>