Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Anholt <eric@anholt.net>
To: Maxime Ripard <maxime.ripard@bootlin.com>,
	intel-gfx@lists.freedesktop.org
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, eben@raspberrypi.org
Subject: Re: [RFC PATCH i-g-t 0/3] Test the plane formats on the Chamelium
Date: Wed, 21 Mar 2018 10:10:00 -0700	[thread overview]
Message-ID: <87zi31tkwn.fsf@anholt.net> (raw)
In-Reply-To: <20180321112517.bxxfp663yexjuihn@flea>


[-- Attachment #1.1: Type: text/plain, Size: 3394 bytes --]

Maxime Ripard <maxime.ripard@bootlin.com> writes:

> [ Unknown signature status ]
> Hi,
>
> On Mon, Mar 05, 2018 at 03:21:26PM +0100, Maxime Ripard wrote:
>> Here is an RFC 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.
>> 
>> This is still pretty rough around the edges at this point, but I'd
>> like to get feedback on a few issues before getting any further.
>> 
>>   * I've used pixman for now to convert back and forth the pattern and
>>     the captured frame. While this worked quite well for the RGB
>>     formats since pixman supports most (but not all) of them. However,
>>     the long term plan is to also test YUV and more exotic (like
>>     vendor specific) formats that pixman has 0 support for. So I
>>     really wonder whether this is the right approach compared to:
>>     - Using something else (but what?)?
>>     - Rolling our own format conversion library?

Let's start with pixman and either extend pixman if we have formats we
need (they should be pretty amenable for non-yuv channel layouts), or
roll our own YUV bits.  For tiling, I think we can just take
pixman-generated linear image content and do the tiling in igt.

>>   * I've so far had a single big test that will test all the formats
>>     exposed by the planes that have a pixman representation. I wonder
>>     whether this is preferrable, or if we want to have a subtest per
>>     format. I guess the latter will be slightly better since we would
>>     be able to catch regressions in the number of formats exposed that
>>     we wouldn't be able to with the former.

Yeah, exposing the formats as subtests is probably a good idea.

>>   * Kind of related, I'm not sure what is the policy when it comes to
>>     tests, and whether I should merge this tests with kms_chamelium or
>>     leave it as a separate file.

I'll leave this up to the original test author.

>>   * One of the biggest challenge of the serie is to support formats
>>     that have less bits than the reference frame. Indeed, the flow of
>>     patterns is this one: the pattern will first be generated in
>>     ARGB8888. It will then be converted to whatever format we want to
>>     test, be fed into the display engine, that will output it, and the
>>     Chamelium will capture it in ARGB8888.
>>     However, when the plane format has less than 8 bits per color,
>>     some upsampling will happen, where the less significant bits will
>>     be filled with values that probably depend on the display
>>     engine. Another side effect is that the CRC used in the Chamelium
>>     tests cannot be used anymore.
>>     The way I'm testing currently is that I'm retrieving the frame,
>>     and then compare each pixels on their most significant bits. This
>>     sounds inefficient, and it is, especially on the RPi that doesn't
>>     have the best networking throughput out there.
>>     I guess we could also generate a CRC for both an upsampling with
>>     the lowest bits set to 1, and one for the lowest bits set to 0,
>>     and try to see if one of them match. I guess this should cover
>>     most of the situation.

I still think that we should expect the top bits to be replicated into
the low bits, until we find hardware that just can't do that.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2018-03-21 17:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-05 14:21 [RFC PATCH i-g-t 0/3] Test the plane formats on the Chamelium Maxime Ripard
2018-03-05 14:21 ` [RFC PATCH i-g-t 1/3] tests/chamelium: Move some functions and structures to a common place Maxime Ripard
2018-03-05 14:21 ` [RFC PATCH i-g-t 2/3] tests/chamelium: Add test case for plane formats Maxime Ripard
2018-03-12 19:02   ` Eric Anholt
2018-03-13 15:05     ` Maxime Ripard
2018-03-05 14:21 ` [RFC PATCH i-g-t 3/3] tests: Add vc4 test suite Maxime Ripard
2018-03-13 10:42   ` Petri Latvala
2018-03-13 15:18     ` Maxime Ripard
2018-03-14 10:44       ` Petri Latvala
2018-03-21 10:41         ` Maxime Ripard
2018-03-05 16:49 ` ✓ Fi.CI.BAT: success for Test the plane formats on the Chamelium Patchwork
2018-03-05 21:51 ` ✗ Fi.CI.IGT: warning " Patchwork
2018-03-21 11:25 ` [RFC PATCH i-g-t 0/3] " Maxime Ripard
2018-03-21 17:10   ` Eric Anholt [this message]
2018-03-28  8:30     ` Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zi31tkwn.fsf@anholt.net \
    --to=eric@anholt.net \
    --cc=eben@raspberrypi.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=maxime.ripard@bootlin.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox