summaryrefslogtreecommitdiff
path: root/tests/kms_cursor_legacy.c
AgeCommit message (Collapse)Author
2016-07-26kms_cursor_legacy: Add test for unrelated cursor updates.Maarten Lankhorst
Add a test that first shows the cursor on the first display, then shows it on the second display. This exposes the watermark issues on SKL. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Add a wider variety of tests.Maarten Lankhorst
Add -varying-size, where we change the size of the cursor between 64x64 to maxw x maxh, atomic-transitions, which alternates between a full-screen sprite plane and a full-screen primary plane, toggle, which toggles cursor visibility and make sure cursor moves between updates. This is a visual indicator of the tests working as intended. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Make sure BAT runs when pipe A cannot be used.Maarten Lankhorst
This can happen on CHV, where you only have a output on pipe C. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Use igt_display for modesets.Maarten Lankhorst
This lets us pick a nice testing pattern while the test runs and makes sure that the cursor updates don't get nooped. It also tests the atomic modeset path, if available. Also make sure cursorX-vs-flipX has 2 separate connected outputs, else the test is worthless. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Use igt_display_t instead of handrolling everything.Maarten Lankhorst
No real changes yet, only replaced output validation with for_each_valid_output_on_pipe. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Enable tests for !intel drivers.Maarten Lankhorst
Apart from gem_create nothing depends on i915, so use the dumb api instead. Suggested-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
2016-07-26kms_cursor_legacy: Reorganize test executionMaarten Lankhorst
Rename single-A-bo to pipe-A-single-bo, single-all-bo to pipe-all-single-bo, and ensure that test requirements are met. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-07-03igt/gem_exec_gttfill: Reduce overhead in setting up filler batchesChris Wilson
Since all the batches start with the same content, we can reuse the same buf to fill them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-24igt/kms_cursor_legacy: Check that cursor updates do not stall flipsChris Wilson
A similar expectation as to the current test that flips do not stall cursor updates. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-23Silence compiler warnings for expected and handled error conditionsChris Wilson
Silly compiler emitting warnings that just cause people to break code attempting to silence the compiler. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22igt/kms_cursor_legacy: Replace synchronous pageflipChris Wilson
Aparently we never supported that mode of operation. Maybe in the future we will, but for now just use the vblank wait to align ourselves with the vblank. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22igt/kms_cursor_legacy: Detect pageflip errorsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-22igt/kms_cursor_legacy: Add a rudimentary test to detect stalled cursorsChris Wilson
A common problem when trying to unify legacy and atomic is the breaking of existing non-blocking, asynchronous userspace. The most trivial example is a cursor that stalls for a pageflip. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-06-07igt/kms_cursor_legacy: wrap __builtin_ia32_pause inside cpu_relaxTomeu Vizoso
So that we can add an alternative implementation for the other arches. This is basically what the kernel does. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
2016-06-04igt/kms_cursor_legacy: Add background RT threadsChris Wilson
Saturate the CPUs with background RT threads to soak up any spare CPU not taken by testing threads. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-25igt/kms_cursor_legacy: Fixup !fixtureChris Wilson
igt_fixture and its byzantine requirements Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-25igt/kms_cursor_legacy: Stress each CRTC individually as wellChris Wilson
Just to compare handling of plane->mutexes Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-24igt/kms_cursor_legacy: Show basic stats of iterations per childChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-24igt/kms_cursor_legacy: Add uncontended cursor updatesChris Wilson
Looking at the uncontended cases reveals a major contention cliff. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-24igt/kms_cursor_legacy: Give each child a different CRTC access patternChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2016-05-23test: Add legacy cursor stress testChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>