[Intel-gfx] [PATCH 1/1] demos: Add intel_plane_rotate test to verify rotation of planes and crtc

Damien Lespiau damien.lespiau at intel.com
Tue Feb 4 12:46:46 CET 2014


On Tue, Feb 04, 2014 at 05:05:47PM +0530, Sagar Arun Kamble wrote:
> On Tue, 2014-02-04 at 11:25 +0000, Damien Lespiau wrote:
> > On Tue, Feb 04, 2014 at 12:18:24PM +0100, Daniel Vetter wrote:
> > > On Sat, Feb 01, 2014 at 12:43:48AM +0530, sagar.a.kamble at intel.com wrote:
> > > > From: Sagar Kamble <sagar.a.kamble at intel.com>
> > > > 
> > > > This test will verify the 180 degree rotation of sprite and crtc planes.
> > > > It will allow user to control rotation separately for crtc and sprite
> > > > planes.
> > > > 
> > > > Signed-off-by: Sagar Kamble <sagar.a.kamble at intel.com>
> > > 
> > > What I actually want for upstreaming is a fully automated testcase as part
> > > of our i-g-t testsuite which uses the CRC support. Having testing tools
> > > for developers is neat, but if it's not automated it's essentially
> > > untested.
> > > 
> > > I don't mind merging this if there's someone else who'll ack it though.
> > 
> > While having such a tool helps development for sure, let's try to take a
> > better approach on this.
> > 
> > I'm currently reworking how we write display tests to not have 1000
> > lines code to setup the display pipeline in every test, leave me a few
> > days and we should be in a much better place to write kms tests. Of
> > course, we also really want a CRC enabled test.
> > 
> 
> I am trying to enable CRC approach for this test however I have
> following opens:
> 1. How do I calculate CRC for reference image(blend of primary and
> overlay planes) prepared by i-g-t test.

We can't do that, the algorithms (that can change on a per platform
basis) for computing the CRCs isn't public. What we can do on the other
hand is comparing two CRCs and figure out if what we are testing is the
same as a reference frame.

For the 180 rotation case, we can, for instance:

  - draw a 180 rotated fb with cairo, grab that CRC
  - draw a 0 rotated fb, rotate it with hardware, grab that CRC
  - the two CRCs should be equal

For the fb we can paint the upper half in red and the lower half in
blue. The 180 rotated version would do the opposite.

> 2. Will this CRC result match the pipe CRC calculated by display pipe
> for the blend output.

It should be yes. The AUTO pipe CRC source should do that for you (ie
the CRC at the end of the pipe, after blending)

> 3. Will plane based CRC check suffice for these tests as of now given
> above two opens?

We could use plane CRCs, but it'd be more portable (across platforms) to
use the AUTO source as it'll also work with DP on BYT (you have some
limitations there). 

-- 
Damien



More information about the Intel-gfx mailing list