Em Sex, 2017-04-28 às 20:07 +0530, Praveen Paneri escreveu: > From: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > > This is the program that's supposed to test lib/igt_draw. We just > added Y tiling support for the library, so add the tests now. > This is not my original version of the patch, yet there's no changelog mentioning that this is a new version. https://patchwork.freedesktop.org/patch/72040/ Why were the kmstest_unset_all_crtcs() calls added? My guess is that they ended up here as a rebase artifact, but please clarify if there's an actual reason. > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > Signed-off-by: Praveen Paneri <praveen.paneri@xxxxxxxxx> > --- > tests/kms_draw_crc.c | 58 ++++++++++++++++++++++++++++++++++++++-- > ------------ > 1 file changed, 43 insertions(+), 15 deletions(-) > > diff --git a/tests/kms_draw_crc.c b/tests/kms_draw_crc.c > index c57d3a3..1d91b48 100644 > --- a/tests/kms_draw_crc.c > +++ b/tests/kms_draw_crc.c > @@ -47,6 +47,13 @@ static const uint32_t formats[N_FORMATS] = { > DRM_FORMAT_XRGB2101010, > }; > > +#define N_TILING_METHODS 3 > +static const uint64_t tilings[N_TILING_METHODS] = { > + LOCAL_DRM_FORMAT_MOD_NONE, > + LOCAL_I915_FORMAT_MOD_X_TILED, > + LOCAL_I915_FORMAT_MOD_Y_TILED, > +}; > + > struct base_crc { > bool set; > igt_crc_t crc; > @@ -151,6 +158,11 @@ static void draw_method_subtest(enum > igt_draw_method method, > { > igt_crc_t crc; > > + if (tiling == LOCAL_I915_FORMAT_MOD_Y_TILED) > + igt_require(intel_gen(intel_get_drm_devid(drm_fd)) > >= 9); > + > + kmstest_unset_all_crtcs(drm_fd, drm_res); > + > /* Use IGT_DRAW_MMAP_GTT on an untiled buffer as the > parameter for > * comparison. Cache the value so we don't recompute it for > every single > * subtest. */ > @@ -208,6 +220,12 @@ static void fill_fb_subtest(void) > get_fill_crc(LOCAL_I915_FORMAT_MOD_X_TILED, &crc); > igt_assert_crc_equal(&crc, &base_crc); > > + if (intel_gen(intel_get_drm_devid(drm_fd)) >= 9) { > + get_fill_crc(LOCAL_I915_FORMAT_MOD_Y_TILED, &crc); > + igt_assert_crc_equal(&crc, &base_crc); > + } > + > + kmstest_unset_all_crtcs(drm_fd, drm_res); > igt_remove_fb(drm_fd, &fb); > } > > @@ -265,28 +283,38 @@ static const char *format_str(int format_index) > } > } > > +static const char *tiling_str(int tiling_index) > +{ > + switch (tilings[tiling_index]) { > + case LOCAL_DRM_FORMAT_MOD_NONE: > + return "untiled"; > + case LOCAL_I915_FORMAT_MOD_X_TILED: > + return "xtiled"; > + case LOCAL_I915_FORMAT_MOD_Y_TILED: > + return "ytiled"; > + default: > + igt_assert(false); > + } > +} > + > igt_main > { > enum igt_draw_method method; > - int format_index; > + int format_idx, tiling_idx; > > igt_fixture > setup_environment(); > > - for (format_index = 0; format_index < N_FORMATS; > format_index++) { > - for (method = 0; method < IGT_DRAW_METHOD_COUNT; > method++) { > - igt_subtest_f("draw-method-%s-%s-untiled", > - format_str(format_index), > - igt_draw_get_method_name(metho > d)) > - draw_method_subtest(method, > format_index, > - LOCAL_DRM_FORMAT > _MOD_NONE); > - igt_subtest_f("draw-method-%s-%s-tiled", > - format_str(format_index), > - igt_draw_get_method_name(metho > d)) > - draw_method_subtest(method, > format_index, > - LOCAL_I915_FORMAT_MO > D_X_TILED); > - } > - } > + for (format_idx = 0; format_idx < N_FORMATS; format_idx++) { > + for (method = 0; method < IGT_DRAW_METHOD_COUNT; method++) { > + for (tiling_idx = 0; tiling_idx < N_TILING_METHODS; > tiling_idx++) { > + igt_subtest_f("draw-method-%s-%s-%s", > + format_str(format_idx), > + igt_draw_get_method_name(method), > + tiling_str(tiling_idx)) > + draw_method_subtest(method, format_idx, > + tilings[tiling_idx]); > + } } } > > igt_subtest("fill-fb") > fill_fb_subtest(); _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx