diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2018-05-24 09:00:47 +0200 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2018-07-25 11:59:57 +0200 |
commit | 24c5e07783222b5d6cf86003e8e545033e09bb3c (patch) | |
tree | 1d1368b06c4226cefcb2928f39271453e3c34fd4 /tests/kms_panel_fitting.c | |
parent | 2884f91dd6d7682ea738ef6f0943cc591643dda2 (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.c | 6 |
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 */ |