diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2018-03-14 11:47:30 +0100 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2018-05-24 11:00:49 +0200 |
commit | 8a26e0e9d99c7f1231250471d11f7decb0ad3d99 (patch) | |
tree | 739708f689ce3ef305a0f5dd917de94b2a255866 | |
parent | 4d0920216bfbfe96a95c62eb6b04190c72aedeab (diff) |
tests/kms_panel_fitting: Make test pass on gen9's pipe C
The legacy test fails because it tries scaling on pipe C,
because the single scaler is already used for CRTC scaling.
On other pipes and newer gens we have 2 scalers, so special
case pipe C here.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105456
[mlankhorst: Add ickles comment.]
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | tests/kms_panel_fitting.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c index 1f087ecc..fc6099ed 100644 --- a/tests/kms_panel_fitting.c +++ b/tests/kms_panel_fitting.c @@ -133,6 +133,17 @@ static void test_panel_fitting(data_t *d) igt_plane_set_size(d->plane2, mode->hdisplay-200, mode->vdisplay-200); igt_display_commit2(display, COMMIT_UNIVERSAL); + /* + * gen9 pipe C has only 1 scaler shared with the crtc, which + * means pipe scaling can't work simultaneously with panel + * fitting. + * + * Since this is the legacy path, userspace has to know about + * the HW limitations, whereas atomic can ask. + */ + if (intel_gen(intel_get_drm_devid(display->drm_fd)) == 9 && pipe == PIPE_C) + igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200); + /* enable panel fitting along with sprite scaling */ mode->hdisplay = 1024; mode->vdisplay = 768; |