[igt-dev] [PATCH v4 00/13] chamelium: Test the plane formats

Maxime Ripard
2018-07-26T10:42:38Z

Hi,

Here is another attempt at a serie that aims at starting to test the plane
formats using the Chamelium over the HDMI. This was tested using the vc4
DRM driver found on the RaspberryPi.

There's been a number of changes from the RFC thanks to the feedback from
Eric Anholt, Paul Kocialkowski and Ville Syrjälä.

The series now relies mostly on igt_fb, with some decoupling from cairo and
a bunch of new helpers to aim at being able to convert igt_fb to arbitrary
DRM formats. The list of formats have been extended a bit, but is quite
small at this point. We also rely solely on either pixman or the existing
format conversions functions at them moment, and we allow cairo surfaces to
be created for framebuffers in a format not supported by cairo, through an
intermediate conversion to RGB24.

However, since it's now abstracted away from the igt_fb users, we can
easily add some routines to convert to additional formats if needed. And
since the code was so close now, it's been integrated into kms_chamelium.

Let me know what you think,
Maxime

Changes from v3:
* Plug into the cairo surface conversion code, and share the code between
the explicit conversion and the implicit one done when asking for a
cairo surface for a framebuffer in a format not supported by Cairo.
* Rebased on top of master

Changes from v2:
* Reworded a commit log
* Dropped commit making chamelium_calculate_fb_crc static
* Added a few more missing formats
* Changed PIXMAN_invalid to 0 to make sure it never conflicts with a
pixman format

Changes from v1:
* Add a README for the test lists
* Add igt_fb buffer mapping / unmapping functions
* Add igt_fb buffer format conversion function
* Add pixman formats to the format descriptors
* Made some refactoring to kms_chamelium to support format tests
* Created sub-tests for the formats

Maxime Ripard (13):
fb: Add buffer map/unmap functions
fb: convert: Remove swizzle from the arguments
fb: Create common function to convert frame formats
fb: Add format conversion routine
fb: Add support for conversions through pixman
fb: Add more formats
chamelium: Split CRC test function in two
chamelium: Use preferred mode when testing a single mode
chamelium: Add function to generate our test pattern
chamelium: Change our pattern for a custom one
chamelium: Add format support
chamelium: Add format subtests
tests: Add chamelium formats subtests to vc4 test lists

lib/igt_fb.c | 447 ++++++++++++++++++------
lib/igt_fb.h | 4 +-
tests/kms_chamelium.c | 220 +++++++++---
tests/vc4_ci/vc4-chamelium-fast.testlist | 10 +-
tests/vc4_ci/vc4-chamelium.testlist | 10 +-
5 files changed, 544 insertions(+), 147 deletions(-)

base-commit: 2884f91dd6d7682ea738ef6f0943cc591643dda2