summaryrefslogtreecommitdiff
path: root/tests/kms_panel_fitting.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-05-24 09:00:47 +0200
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2018-07-25 11:59:57 +0200
commit24c5e07783222b5d6cf86003e8e545033e09bb3c (patch)
tree1d1368b06c4226cefcb2928f39271453e3c34fd4 /tests/kms_panel_fitting.c
parent2884f91dd6d7682ea738ef6f0943cc591643dda2 (diff)
tests/kms_panel_fitting: Do not use scaling on gen7 and gen8, v2.
Except for ivy bridge, those platforms don't support scaling the sprite planes, so we fail with -ERANGE. Do the same as we do for gen9 pipe C, and do not attempt to scale the sprite plane. It will fail, and the kernel will no longer hide the failure from us. Changes since v1: - Extend from haswell to all of gen7/gen8 (except IVB). Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106606 Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_panel_fitting.c')
-rw-r--r--tests/kms_panel_fitting.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index fc6099ed..7df8104e 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -89,6 +89,7 @@ static void test_panel_fitting(data_t *d)
for_each_pipe_with_valid_output(display, pipe, output) {
drmModeModeInfo *mode, native_mode;
+ uint32_t devid = intel_get_drm_devid(display->drm_fd);
/* Check that the "scaling mode" property has been set. */
if (!igt_output_has_prop(output, IGT_CONNECTOR_SCALING_MODE))
@@ -134,6 +135,8 @@ static void test_panel_fitting(data_t *d)
igt_display_commit2(display, COMMIT_UNIVERSAL);
/*
+ * most of gen7 and all of gen8 doesn't support scaling at all.
+ *
* gen9 pipe C has only 1 scaler shared with the crtc, which
* means pipe scaling can't work simultaneously with panel
* fitting.
@@ -141,7 +144,8 @@ static void test_panel_fitting(data_t *d)
* 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)
+ if (IS_GEN8(devid) || (IS_GEN7(devid) && !IS_IVYBRIDGE(devid)) ||
+ (IS_GEN9(devid) && pipe == PIPE_C))
igt_plane_set_size(d->plane2, d->fb2.width-200, d->fb2.height-200);
/* enable panel fitting along with sprite scaling */