[igt-dev] [PATCH v3 5/8] tests/kms_draw_crc: Fix generating reference CRCs on platforms w/o aperture
Dixit, Ashutosh
ashutosh.dixit at intel.com
Thu Feb 13 04:20:36 UTC 2020
On Wed, 12 Feb 2020 13:50:34 -0800, Imre Deak wrote:
>
> Generate reference CRCs by drawing through a WC mapping on platforms w/o
> a GTT aperture.
>
> v2:
> - Fix code comment in draw_method_subtest(). (Matt)
> v3:
> - Use WC instead of CPU mapping. (Ashutosh)
>
> Cc: Ashutosh Dixit <ashutosh.dixit at intel.com>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> Reviewed-by: Matt Roper <matthew.d.roper at intel.com> (v2)
> ---
> tests/kms_draw_crc.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/tests/kms_draw_crc.c b/tests/kms_draw_crc.c
> index 6de9feaeb..fa7433ab2 100644
> --- a/tests/kms_draw_crc.c
> +++ b/tests/kms_draw_crc.c
> @@ -183,11 +183,13 @@ static void draw_method_subtest(enum igt_draw_method method,
>
> igt_require(format_is_supported(formats[format_index], tiling));
>
> - /* Use IGT_DRAW_MMAP_GTT on an untiled buffer as the parameter for
> + /* Use IGT_DRAW_MMAP_GTT/WC on an untiled buffer as the parameter for
> * comparison. Cache the value so we don't recompute it for every single
> * subtest. */
> if (!base_crcs[format_index].set) {
> - get_method_crc(IGT_DRAW_MMAP_GTT, formats[format_index],
> + get_method_crc(gem_has_mappable_ggtt(drm_fd) ? IGT_DRAW_MMAP_GTT :
> + IGT_DRAW_MMAP_WC,
> + formats[format_index],
> LOCAL_DRM_FORMAT_MOD_NONE,
> &base_crcs[format_index].crc);
> base_crcs[format_index].set = true;
> @@ -225,7 +227,9 @@ static void fill_fb_subtest(void)
> igt_create_fb(drm_fd, ms.mode->hdisplay, ms.mode->vdisplay,
> DRM_FORMAT_XRGB8888, LOCAL_DRM_FORMAT_MOD_NONE, &fb);
>
> - igt_draw_rect_fb(drm_fd, bufmgr, NULL, &fb, IGT_DRAW_MMAP_GTT,
> + igt_draw_rect_fb(drm_fd, bufmgr, NULL, &fb,
> + gem_has_mappable_ggtt(drm_fd) ? IGT_DRAW_MMAP_GTT :
> + IGT_DRAW_MMAP_WC,
Not sure if the conditional switch between GTT and WC is really needed. For
example, __gem_mmap__device_coherent() unconditionally prefers WC over
GTT. In any case:
Reviewed-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
More information about the igt-dev
mailing list