[igt-dev] [PATCH i-g-t v6 00/22] Chamelium VC4 plane fuzzy testing, with SAND and T-tiled mode
Paul Kocialkowski
paul.kocialkowski at bootlin.com
Fri Feb 22 09:28:49 UTC 2019
This series introduces the required plumbing for allocating buffers in
the VC4 T-tiled and SAND_tiled modes, along with helpers to convert to
these tiling modes.
A new "checkerboard" comparison method is introduced to check whether
captured frames match their references in cases where pixel-perfect
results are not possible (e.g. with scaling) and the analog test does
not provide reliable results.
With that in place, new tests for the Chamelium are introduced to
perform testing of planes with randomized properties, both with a
CRC and frame comparison fashion.
Changes sinve v5:
* Always call calc_fb_size in create_bo_for_fb to set stride when needed,
fixing a regression picked-up by CI;
* Added collected Reviewed-By tags.
Changes since v4:
* Rebased atop latest master;
* Added collected Reviewed-By tags;
* Added a commit to refactor create_bo_for_fb before VC4 support.
Changes since v3:
* Documented the chamelium_check enum;
* Documented the checkerboard algorithm;
* Added igt_assert after memory allocations;
* Added modifier support to igt_fb_convert;
* Dropped inline helpers for checking vc4 tiling support;
* Various requested minor changes;
* Rebased on v4 of Maxime Ripard's YUV series;
* Added collected Reviewed-By tags;
Changes since v2:
* Added support for SAND tiling;
* Generalized T-tiling to support both 16 and 32 bpp;
* Split the main test into more sub-functions;
* Removed explicit lists of DRM formats;
* Added helper to list known DRM formats;
* Various functional fixes in the main test;
* Removed unnecessary pointer init in map_bo;
* Rebased on v3 of Maxime Ripard's YUV series;
* Added collected Reviewed-By tags;
Changes since v1:
* Added collected Reviewed-by tags;
* Removed explicit size and constified tiling read order tables;
* Removed unnecessary MAP_FAILED addition in map_bo;
* Added pipe and output helpers to count and iterate planes of a given type;
* Moved CRC debug prints to the chamelium library;
* Fixed destination stride description for igt_fb_convert_with_stride;
* Split planes test into a few sub-routines;
* Removed explicit underrun detection since general error reporting is enough;
* Removed underrun detection bits due to ongoing Chamelium-specific issues;
* Deconfigured planes before removing their framebuffer, avoiding kmsg errors.
Paul Kocialkowski (22):
lib: drmtest: Add helpers to check and require the VC4 driver
lib/igt_fb: Add checks on i915 for i915-specific tiled buffer
allocation
lib/igt_fb: Refactor create_bo_for_fb to prepare for VC4 support
lib/igt_fb: Add support for allocating T-tiled VC4 buffers
lib/igt_fb: Add support for VC4 SAND tiling modes
lib/igt_fb: Allow interpreting the tile height as a stride equivalent
lib/igt_fb: Add a stride-provisioned fashion of igt_fb_convert
lib/igt_fb: Add a helper to retreive the plane bpp for a given format
lib/igt_fb: Add a helper to fill-in the available DRM formats
lib/igt_vc4: Add helpers for converting linear to T-tiled RGB buffers
lib/igt_vc4: Add helpers for converting linear to SAND-tiled buffers
lib/igt_fb: Pass the modifier to igt_fb_convert helpers
lib/igt_fb: Support converting to VC4 modifiers in igt_fb_convert
lib/igt_kms: Add helpers to count and iterate planes from pipe
lib/igt_kms: Add helpers to count and iterate planes from output
lib/igt_chamelium: Fixup resources liberation in comparison helpers
lib/igt_chamelium: Split frames dump logic and rework surroundings
lib/igt_chamelium: Generalize the frame match helper with check type
lib/igt_frame: Add a checkerboard frame comparison method
lib/igt_chamelium: Hook-in checkerboard comparison method in helpers
chamelium: Move the YUV tests over to the checkerboard checking method
chamelium: Add a display test for randomized planes
lib/drmtest.c | 10 +
lib/drmtest.h | 2 +
lib/igt_chamelium.c | 125 +++++++----
lib/igt_chamelium.h | 22 +-
lib/igt_fb.c | 225 +++++++++++++++++---
lib/igt_fb.h | 9 +-
lib/igt_frame.c | 135 ++++++++++++
lib/igt_frame.h | 2 +
lib/igt_kms.c | 84 ++++++++
lib/igt_kms.h | 6 +
lib/igt_vc4.c | 239 +++++++++++++++++++++
lib/igt_vc4.h | 8 +
tests/kms_chamelium.c | 476 ++++++++++++++++++++++++++++++++++++++++--
13 files changed, 1244 insertions(+), 99 deletions(-)
--
2.20.1
More information about the igt-dev
mailing list