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>
This commit is contained in:
Matt Roper
2014-06-30 16:44:28 -07:00
committed by Damien Lespiau
parent 04067c3d50
commit 075d9eafdb
3 changed files with 579 additions and 0 deletions
+1
View File
@@ -128,6 +128,7 @@ kms_plane
kms_render
kms_setmode
kms_sink_crc_basic
kms_universal_plane
multi-tests.txt
pm_lpsp
pm_psr