tests/kms_universal_plane: Universal plane testing (v6)
authorMatt Roper <matthew.d.roper@intel.com>
Mon, 30 Jun 2014 23:44:28 +0000 (16:44 -0700)
committerDamien Lespiau <damien.lespiau@intel.com>
Fri, 4 Jul 2014 11:04:20 +0000 (12:04 +0100)
commit075d9eafdb4c1c64099d738a012fe3e063f08fee
tree41a30ae56149fde5bf229d1aa1370aefcf6f848a
parent04067c3d5029f6ca28e6e14fffa47eecbd0e9c70
tests/kms_universal_plane: Universal plane testing (v6)

Add a simple test to exercise universal plane support.

v6:
 - Update to new universal plane interface (commit parameter rather than
   state-changing function).  It should now be a lot more explicit which
   steps are being taken with legacy API's vs universal API's now.
v5:
 - Check that we don't have more than one primary or cursor.  This will
   catch accidental calls to drm_plane_init() in the kernel where
   drm_universal_plane_init() was intended (these don't cause a compile
   warning due to type compatibility between enum and bool).
v4:
 - Test disabling the primary plane explicitly when it has previously
   been implicitly disabled due to clipping.
 - Skip test if igt_pipe_crc_new() fails
v3:
 - For testing while crtc is off, switch between several different
   primary plane fb's before reenabling the crtc.  This will help
   catch pin/unpin mistakes.
v2:
 - Test that pageflips error out gracefully when the primary plane
   is disabled before the ioctl, or between ioctl and pageflip
   execution.
 - Test that nothing blows up if we try to disable the primary plane
   immediately after a pageflip (presumably before the pageflip actually
   completes).
 - Test that we can setup primary + sprite planes with the CRTC off and
   then have them show up properly when we enable the CRTC
   (drmModeSetCrtc with fb = -1).
 - Test that we can modeset properly after having disabled the primary
   plane
 - Test that proper error codes are returned for invalid plane
   programming attempts.

Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
tests/.gitignore
tests/Makefile.sources
tests/kms_universal_plane.c [new file with mode: 0644]