diff options
author | Mika Kahola <mika.kahola@intel.com> | 2016-11-08 15:56:13 +0200 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2016-11-28 14:00:32 +0200 |
commit | d072258551119d07356e6f5728392bda2f3727a9 (patch) | |
tree | 3b9b76f68aa818a0d070e775a507d312aea5a91c /tools | |
parent | 56f1bd6a672f561fce6f7ea987c7fb25df00717b (diff) |
tests/kms_plane_multiple: CRC based atomic correctness test
This is a testcase with multiple planes. The idea here is the following
- draw a uniform frame with blue color
- grab crc for reference
- put planes randomly on top with the same blue color
- punch holes with black color into the primary framebuffer
- ideally the planes should cover these holes so that the output is the
identical to reference crc
- composite all with one ioctl call
- grab crc and verify that the reference crc is equal
- repeat this for several iterations to maximize coverage
v7: Unify reference crc grabbing for atomic and legacy tests (Maarten)
v6: Rename test_planes() to prepare_planes() (Maarten)
When grabbing reference crc, keep framebuffer and crc enabled for
atomic mode setting. (Maarten)
Fix crc collection for legacy modesetting (Maarten)
v5: Remove limit for max number of iterations and add possibility to
loop forever (Daniel)
Remove IN_RANGE() macro (Maarten)
Remove log file and show random number seed on screen instead (Maarten)
Split legacy and atomic plane tests on own functions (Maarten)
remove test_atomic() function and pass test mode info as
parameter (Maarten)
Use bigger rectangle size (256x256) for non-cursor planes and
smaller (128x128) size for cursor plane (Maarten)
v4: For atomic test enable crc capturing before entering into a
iteration loop. After each iteration, check that page flip
didn't take no more than 1 vblank, fetch all crc's and check
the values.
Introduce new command line parameter for the number of iterations.
The test run from 1 to 256 iterations.
v3: Cleanup by removing separate plane array
For atomic, pass DRM_MODE_PAGE_FLIP_EVENT
Grab crc by using igt_pipe_crc_get_crc instead of igt_pipe_crc_collect_crc
Rename nplanes variable to max_planes
To optimize test execution, run iterations after the modeset
v2: Keep a logfile on random number seeds per subtest that are not skipped
due to unmet test requirements
Signed-off-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions