summaryrefslogtreecommitdiff
path: root/tests/kms_panel_fitting.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-03-14 11:47:30 +0100
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-05-24 11:00:49 +0200
commit8a26e0e9d99c7f1231250471d11f7decb0ad3d99 (patch)
tree739708f689ce3ef305a0f5dd917de94b2a255866 /tests/kms_panel_fitting.c
parent4d0920216bfbfe96a95c62eb6b04190c72aedeab (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>
Diffstat (limited to 'tests/kms_panel_fitting.c')
-rw-r--r--tests/kms_panel_fitting.c11
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;