summaryrefslogtreecommitdiff
path: root/tests/gem_render_tiled_blits.c
AgeCommit message (Collapse)Author
2017-04-08tests: More require GEM markupChris Wilson
A few more tests that use i915/gem without first checking that the GPU is working. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-21Restore "lib: Open debugfs files for the given DRM device"Chris Wilson
This reverts commit 25fbae15262cf570e207e62f50e7c5233e06bc67, restoring commit 301ad44cdf1b868b1ab89096721da91fa8541fdc Author: Tomeu Vizoso <tomeu.vizoso@collabora.com> Date: Thu Mar 2 10:37:11 2017 +0100 lib: Open debugfs files for the given DRM device with fixes. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-21Revert "lib: Open debugfs files for the given DRM device"Tomeu Vizoso
This reverts commit 301ad44cdf1b868b1ab89096721da91fa8541fdc. When a render-only device is opened and gem_quiescent_gpu is called, we need to use the debugfs dir for the master device instead. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
2017-03-21lib: Open debugfs files for the given DRM deviceTomeu Vizoso
When opening a DRM debugfs file, locate the right path based on the given DRM device FD. This is needed so, in setups with more than one DRM device, any operations on debugfs files affect the expected DRM device. v2: - rebased and fixed new API additions v3: - updated chamelium test, which was missed previously - use the minor of the device for the debugfs path, not the major - have a proper exit handler for calling igt_hpd_storm_reset with the right device fd. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Robert Foss <robert.foss@collabora.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-03-10igt: Exercise the shrinkerChris Wilson
Introduce a new fork helper that spawns a process that just repeatedly calls i915_gem_shrink_all() and watch what happens as we try to use objects that have been shrunk. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-24tests/gem_render_tiled_blits: Switched to new aliases of intel specific ↵Robert Foss
functions. Switched from drm_XXX aliases drm_intel_XXX aliases for symbols where that switch is possible. Signed-off-by: Robert Foss <robert.foss@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-12-10Revert "igt: s/basic/sanitycheck/ on prior smoketesting"Daniel Vetter
This reverts commit 4f5efc5c844f6fe69209982463f9220f8f3951ed. There was a bit a misunderstanding on IRC between Chris&me. We want basic tests as sanity test to be run in the BAT CI. It's just unfortunate that right now we have fairly limited ability to absorb new ones, both because of a pile of existing bugs in the kernel and because the CI infrastructure is still being scaled out. The idea was just to remove the BAT tests added yesterday, not all of the ones we've had for a while longer. Cc: Chris Wilson <chris@chris-wilson.co.uk> Grumpily-acked-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2015-12-10igt: s/basic/sanitycheck/ on prior smoketestingChris Wilson
In times past, I added "basic" variants of tests just to ensure that the general principle of operation was sound before proceeding on to the main test (which typically looked at thrashing, i.e. were long and tedious and pointless if the test didn't even work in the normal situation). Since "basic" now collides with BAT, rename my trivial tests to "sanitycheck". Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-11-11tests: remove unnecessary igt_exit callsThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-09-11convert drm_open_any*() calls to drm_open_driver*(DRIVER_INTEL) calls with cocciMicah Fedke
Apply the new API to all call sites within the test suite using the following semantic patch: // Semantic patch for replacing drm_open_any* with arch-specific drm_open_driver* calls @@ identifier i =~ "\bdrm_open_any\b"; @@ - i() + drm_open_driver(DRIVER_INTEL) @@ identifier i =~ "\bdrm_open_any_master\b"; @@ - i() + drm_open_driver_master(DRIVER_INTEL) @@ identifier i =~ "\bdrm_open_any_render\b"; @@ - i() + drm_open_driver_render(DRIVER_INTEL) @@ identifier i =~ "\b__drm_open_any\b"; @@ - i() + __drm_open_driver(DRIVER_INTEL) Signed-off-by: Micah Fedke <micah.fedke@collabora.co.uk> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-08-21lib: add a single include headerThomas Wood
Add a header that includes all the headers for the library. This allows reorganisation of the library without affecting programs using it and also simplifies the headers that need to be included to use the library. Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-03-04tests/gem_render_tiled_blits: split into subtestsTim Gore
The gem_render_tiled_blits test tends to get oom killed on low memory (< 4GB) Android systems. This is because the test tries to allocate (sysinfo.totalram * 9 / 10) in buffer objects and the remaining 10% of memory is not always enough for the Android system. A similar issue with gem_render_linear_blits was resolved by creating several subtests. A "basic" subtest that uses minimal memory buffers to test the basic operation, and two stress tests which are skipped if there is insufficient memory. The first stress test uses more memory than the graphics apperture and the second uses enough to ensure that swap space is used (if present). This patch makes the same changes to gem_render_tiled_blits. v2: Following comments from Daniel Vetter: a) Use igt_main macro instead of "open coding", and b) cull some leading spaces Signed-off-by: Tim Gore <tim.gore@intel.com>
2014-10-02tests: Sprinkle missing igt_exit() where needed.Daniel Vetter
Yay for breaking piles of tests. This regression has been introduced with commit 5782eca1e19e85a04ad402fa4094aa1b5f9c53ce Author: Tim Gore <tim.gore@intel.com> Date: Wed Oct 1 13:25:20 2014 +0100 lib/igt_core.c: disable lowmemorykiller during tests Cc: Tim Gore <tim.gore@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2014-07-23tests: remove unused getopt header includesThomas Wood
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-07-14lib: Add argc/argv to igt_simple_initDaniel Vetter
There's a pile of ideas around to add generally useful options like --debug to all igt tests. Or unify the runtime behaviour between simple and subtest tests a bit more. The first step to get there is to add argc/argv to igt_simple_init so that we can get at the argument list. Cc: Tim Gore <tim.gore@intel.com> Cc: Thomas Wood <thomas.wood@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-06-13tests: run igt.cocciDaniel Vetter
Re-run with correct igt_fail rules. Again manually fixup missing includes for igt_core.h. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-14tests: Use igt macros moreDaniel Vetter
Often just folding together of the common if (cond) printf; abort|igt_skip|igt_fail; pattern. But in a few cases I've ripped out more since the igt macros will already print the condition and errno. A few tests where more work (like ripping out return codes en masse) is needed left as-is. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-14tests: sprinkle igt loggingDaniel Vetter
All the cases that simply dump some debug information and couldn't be converted to some of the fancier macros. Some information output removed when it's redundant with the subtest status. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-05-08igt/gem_render_tiled_blits: Speed up by using the GPU to detileChris Wilson
Avoid accessing via the slow GTT to read back and compare the contents of each bo against expected results. It is much faster, on llc at least, to detile using the GPU and then copy to system memory for the compare. Before: IVB: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-ge46ff3f (x86_64) (Linux: 3.15.0-rc3+ x86_64) Using 3072 1MiB buffers Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 6m26.005s user 6m19.234s sys 0m2.414s PNV: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-g8556f8a (i686) (Linux: 3.15.0-rc2+ i686) Using 768 1MiB buffers Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 1m45.431s user 1m34.960s sys 0m4.624s Using pread: IVB: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-ge46ff3f (x86_64) (Linux: 3.15.0-rc3+ x86_64) Using 3072 1MiB buffers Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 0m14.717s user 0m3.699s sys 0m3.192s Using snoop: IVB: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-ge46ff3f (x86_64) (Linux: 3.15.0-rc3+ x86_64) Using 3072 1MiB buffers Using a snoop linear buffer for comparisons Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 0m13.774s user 0m3.900s sys 0m2.089s PNV: time sudo ./gem_render_tiled_blits IGT-Version: 1.6-g8556f8a (i686) (Linux: 3.15.0-rc2+ i686) Using 768 1MiB buffers Using a snoop linear buffer for comparisons Verifying initialisation... Cyclic blits, forward... Cyclic blits, backward... Random blits... real 0m20.831s user 0m4.384s sys 0m5.032s So roughly 10-30x faster depending on platform. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78244 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-03-23lib: extract igt_aux.[hc]Daniel Vetter
And shovel all the various helpers in there. Also move igt_set_vt_graphics_mode to igt_kms.h since the function is implemented in igt_kms.c. And it fits better. I kinda missed this in the prep work. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: rename intel_gpu_tools.h to intel_io.hDaniel Vetter
With the header cleanup we can now give this header a suitable name, since it now really only contains register access and other I/O functions and assorted definitions. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: unnecessary header removal for drmtest.h, part 1Daniel Vetter
Brought a few missing headers to light in ioctl_wrappers.h, too. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22tests|lib: remove assert.h includesDaniel Vetter
Only the igt core and non-test tools should have asserts to catch internal errors, tests and helper libraries should all user igt_asert instead. Fix things up where assert instead of igt_assert was used. One tiny step towards header sanity. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_batchbuffer: igt_ prefix for rendercopy/mediafill funcsDaniel Vetter
Now everything is prepared to pour some neat api docs over this all. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib/intel_batchbuffer: igt_ namespace for the buffer structureDaniel Vetter
Step one to properly namespace the rendercpy/mediafill functions. Als give the buf_height/width helpers a proper igt_ prefix. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-03-22lib: make rendercopy.h an internal headerDaniel Vetter
And move the public interfaces into intel_batchbuffer.[hc]. A bit messy since we are fairly inconsistent with our header #include handling. Also exclude rendercopy.h from the documentation. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2014-02-24gem_render_tiled_blits: Trim usage to fit within RAMChris Wilson
This is a render correctness test, the intention is not to exercise the swapper (but preferrably some eviction code). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75247 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2013-12-10tests: roll out igt_simple_init/igt_simple_mainDaniel Vetter
Also use igt_skip a bit more to simplify some of the tests. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-11-27rendercopy: Pass context to rendercopy functionsVille Syrjälä
rendercopy does the batch buffer flush internally, so if we want to use it with multiple contexts, we need to pass the context in from caller. v2: Modify rendercopy_gen8 as well Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2013-08-12s/drmtest_/igt_/Daniel Vetter
Requested-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2013-07-18tests: Black list tests we don't want to run on simulationDamien Lespiau
Let's start by a small set of tests, to eventually consider running more. The current list should then be: gem_mmap gem_pread_after_blit gem_ring_sync_loop gem_ctx_basic gem_pipe_control_store_loop gem_storedw_loop_render gem_storedw_loop_blt gem_storedw_loop_bsd gem_render_linear_blits gem_tiled_blits gem_cpu_reloc gem_exec_nop gem_mmap_gtt v2 add (Daniel Vetter) gem_exec_bad_domains gem_exec_faulting_reloc gem_flink gem_reg_read gem_reloc_overflow gem_tiling_max_stride prime_* Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-02-18tests: Forbid to run the blit tests with count of 1Damien Lespiau
Invoking say, sudo ./tests/gem_render_linear_blits 1 does not make a lot of sense as we're creating a single bo. The test does not yell at you and passes, even if the rendercopy function does not do anything. This makes it quite harmful when trying to debug rendercopy without realizing that count is the number of allocated bos and must be >= 2. Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2012-12-12tests/gem_*_tiled_blits: Use the vma limiter to present address space exhaustionChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=58113 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-12-06tests: Add a basic test for tiled render copiesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>