[igt-dev] [PATCH i-g-t v2 3/4] test/kms_frontbuffer_tracking: Fix multidraw test

Gwan-gyeong Mun gwan-gyeong.mun at intel.com
Thu Sep 2 19:42:25 UTC 2021


Looks good to me.
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>

On 8/19/21 1:24 AM, José Roberto de Souza wrote:
> Multidraw tests was not notifying driver about the area it uses
> blitter to pain the primary background color between drawing methods.
> Without this notification driver will not update pipe and the CRC will
> not update causing the tests fail due a CRC mismatch.
> 
> All the other callers of fill_fb_region() are safe, doing a page flip
> or a atomic commit afterwards.
> 
> Cc: Gwan-gyeong Mun <gwan-gyeong.mun at intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
> ---
>   tests/kms_frontbuffer_tracking.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
> index 496718e2a..574048537 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -1123,6 +1123,17 @@ static void fill_fb_region(struct fb_region *region, enum color ecolor)
>   			 color);
>   }
>   
> +static void _fb_dirty_ioctl(struct fb_region *region)
> +{
> +	struct rect rect;
> +
> +	rect.x = region->x;
> +	rect.y = region->y;
> +	rect.w = region->w;
> +	rect.h = region->h;
> +	fb_dirty_ioctl(region, &rect);
> +}
> +
>   static void unset_all_crtcs(void)
>   {
>   	igt_display_reset(&drm.display);
> @@ -2122,6 +2133,7 @@ static void multidraw_subtest(const struct test_mode *t)
>   			}
>   
>   			fill_fb_region(target, COLOR_PRIM_BG);
> +			_fb_dirty_ioctl(target);
>   
>   			update_wanted_crc(t, &blue_crcs[t->format].crc);
>   			do_assertions(ASSERT_NO_ACTION_CHANGE);
> 


More information about the igt-dev mailing list