[igt-dev] [PATCH v8 00/16] chamelium: Test the plane formats
Maxime Ripard
maxime.ripard at bootlin.com
Thu Oct 4 12:38:53 UTC 2018
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 v7:
* Rebased on top of current master
* Fixed a breakage on intel platforms
* Move back to a hand crafted shadow buffer using mmap, but initialise a
matching igt_fb to represent it using fb_init.
* Made pixman mandatory
* Remove YUYV pixman support, since it's causing a segfault
* Removed width and height parameters from struct fb_convert
* Dropped the depth from the formats
Changes from v6:
* Convert the igt_fb cairo shadow buffer to a igt_fb of its own
* Fix a regression in the igt_fb common code that will prevent it from
running on anything else than i915
Changes from v5:
* Fixed a typo
Changes from v4:
* Added Eric's Reviewed-by
* Dropped the preferred mode patch
* Use the igt_fb pattern if we can
* Rebased on top of master
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 (16):
fb: Add buffer map/unmap functions
fb: Only set the GEM domain on intel platforms
fb: Add RGB888 format
fb: Use an igt_fb for the cairo shadow buffer
fb: convert: Remove swizzle from the arguments
fb: Create common function to convert frame formats
fb: Add format conversion routine
igt: Make pixman mandatory
tests: kms_plane: Disable XBGR8888
fb: Add support for conversions through pixman
fb: Add more formats
chamelium: Split CRC test function in two
chamelium: Change our pattern for a custom one if needed
chamelium: Add format support
chamelium: Add format subtests
tests: Add chamelium formats subtests to vc4 test lists
README | 2 +-
lib/igt_fb.c | 467 ++++++++++++++++++------
lib/igt_fb.h | 4 +-
meson.build | 9 +-
tests/kms_chamelium.c | 205 ++++++++---
tests/kms_plane.c | 10 +-
tests/vc4_ci/vc4-chamelium-fast.testlist | 10 +-
tests/vc4_ci/vc4-chamelium.testlist | 10 +-
8 files changed, 547 insertions(+), 170 deletions(-)
base-commit: d36388a9f2dfc76ac3ccc963242de1f44f9cacd4
--
git-series 0.9.1
More information about the igt-dev
mailing list