This exercises a race in the flink name descruction of the current drm
gem core. When racing a gem close with a gem open the open can sneak
in and cause the kernel to leak the flink name and its reference.
This results in leaked gem objects that won't get reaped even at drm
file close time. On my 2 core/4 threads snb machine this leaks on the
order of 1k objects per second.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This exercise the bug fixed in
commit 94a335dba34ff47cad3d6d0c29b452d43a1be3c8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Wed Jul 17 14:51:28 2013 +0200
drm/i915: correctly restore fences with objects attached
For fun I've also added a subtest for the inverse transition.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Extend the simply functionality by repeating it under the rude
interrupter and chain together a couple of steps in new test cases.
As a compromise for adding more tests, incorporate the piglit subtest
framework.
Add a test going through all connectors/crtcs/modes/formats painting to
a front FB with CPU or painting to a back FB with CPU and blitting it
to the front FB.
Only formats understood by cairo are supported for now.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Oops. This has been broken since:
commit d798ab9c2a092a08e14c6f2dfb1777376ba407a8
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Tue Dec 18 22:55:58 2012 +0100
tests: add testcase to check igt runtime enviroment
-q will prevent grep from writing to stdout and print "root" when make
test is running as root.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Also add a subtest for the fd=handle_to_fd(), fd2=dup(fd), close(fd)
case (idea from Kristian Høgsberg).
Signed-off-by: Imre Deak <imre.deak@intel.com>
v2:
- add a new subtest instead of modifying the original test (Daniel)
- add a new subtest for testing dup (Kristian)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
gem_tiling_max_stride writes a data pattern to an X-tiled buffer using
the maximum supported stride, reads the data back as linear, and
verifies that the data didn't get scrambled on the way.
The test also checks that some invalid stride values are rejected
properly.
v2: Check invalid strides
v3: Check invalid stride with Y-tiling
Include a few more invalid stride values
Fix gen3 X-tile size
v4: A few more invalid strides :)
Drop the useless memset()
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This adds a test to make sure that the execbuffer validation routine is
checking for invalid addresses, single entry overflow, and multi-entry
wrapping overflow.
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
basic test to share a BO, add as a udl framebuffer, and call the dirty
ioctl on it so we cause the vmapping to happen
[danvet: Snatched up from Dave's prime branch, ocd name and bikeshed
whitespace a bit.]
Now that we've abandonded the autohell testrunner, need to port this
over. Easiest is to just add another testcase ...
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
kms_flip doesn't build due to missing -lrt.
The build was broken due to a typo in this commit:
commit acdf7171264a5139caabb78127c9eef5080c0682
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Sat Dec 15 00:48:47 2012 +0100
tests: s/flip_test/kms_flip
OCD wins!
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
For some reason libudev.pc brings in -lrt as well, which probably
caused the typo to go unnoticed.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Needed by clock_gettime(). This isn't a problem if libudev is used,
as that pulles librt with it.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This test uses debugfs entry to set next_seqno close
to a wrapping point and then creates a load with dependant
buffer objects or with specified command to induce the wrap.
v2: Use new get_rendercpy_func as suggested by Daniel Vetter.
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
- mulitple write domains
- conflicting write domains
- not-yet-defined gpu domains
Also convert to subtests while at it.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Again required a bit of shuffling to avoid expensive setup and some
logic to properly handling 'skip' when only running a subtest.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Small changes to avoid expensive setup just to print out the subtest
list, and setting up the source buffers such that "early-read" works
without having run "overwrite-soure" right beforehand.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
To make the testnames easier to handle in scripts, replace all
spaces with dashes.
The important part is to not print anything to stdout when enumerating
subtests, so protect the timestamp test with the right check.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This is getting in the way of piglit integration. If we want this
functionality again, we should integrate it into the IGT piglit runner
as an option.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>