On Wed, Jun 01, 2016 at 03:13:19PM -0700, Matt Roper wrote: > Gen9 has two scalers on pipes A & B, but only a single scaler on pipe C. > We should bail out of the test early on pipe C so that we don't ask the > kernel to use more scalers than we really have. > > Note that this test may still fail (on any pipe) if we're already using > one of the scalers as a panel fitter. But at least this is an > improvement over the existing state where the test is guaranteed to fail > if run with pipe C active. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92248 > Signed-off-by: Matt Roper <matthew.d.roper@xxxxxxxxx> > --- > tests/kms_plane_scaling.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c > index ad5404d..2b17702 100644 > --- a/tests/kms_plane_scaling.c > +++ b/tests/kms_plane_scaling.c > @@ -264,6 +264,9 @@ static void test_plane_scaling(data_t *d) > igt_display_commit2(display, COMMIT_UNIVERSAL); > } > > + if (pipe == PIPE_C) > + goto crtcdone; > + You you make assumptions like that, then you should probably make the test skip on !gen9. The test is making a lot of assumptions already though, so probably would blow up on many other platforms anyway. It also makes some assumptions about display resolutions and whatnot, so might blow up on gen9 as well. Would be cool if someone could make this use CRCs as well, but that would probably be a little difficult since the hardware scaling algorithm is naturally undocumented :( How I long for the old video overlay... Hmm. Actually there does seem to be a way to force bilinear scaling at least. Matching that with software rendering might be doable. > /* Set up fb3->plane3 mapping. */ > d->plane3 = igt_output_get_plane(output, IGT_PLANE_3); > igt_plane_set_fb(d->plane3, &d->fb3); > @@ -301,9 +304,11 @@ static void test_plane_scaling(data_t *d) > igt_display_commit2(display, COMMIT_UNIVERSAL); > } > > +crtcdone: > /* back to single plane mode */ > igt_plane_set_fb(d->plane2, NULL); > - igt_plane_set_fb(d->plane3, NULL); > + if (pipe != PIPE_C) > + igt_plane_set_fb(d->plane3, NULL); > igt_display_commit2(display, COMMIT_UNIVERSAL); > > valid_tests++; > -- > 2.1.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx