[igt-dev] [PATCH i-g-t v2 11/17] tests/kms_big_fb: Optimize setup_fb function

Karthik B S karthik.b.s at intel.com
Fri Jun 11 11:32:00 UTC 2021


On 6/11/2021 3:29 PM, venkata.sai.patnana at intel.com wrote:
> From: Kunal Joshi <kunal1.joshi at intel.com>
>
> libcario takes a lot of time converting 32bpp fb to 64bpp fb,
> When fb memory is given by kernel its zeroed, here two different color fbs,
> black and green are created hence if kernel give zeroed fbs there's
> possibility to skip zeroing it again thus saving some time
>
> Cc: Karthik B S <karthik.b.s at intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> Signed-off-by: Juha-Pekka Heikkilä <juha-pekka.heikkila at intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi at intel.com>
Reviewed-by: Karthik B S <karthik.b.s at intel.com>
> ---
>   tests/kms_big_fb.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
> index 89ea0f23e2..3e19450a42 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -115,12 +115,15 @@ static void setup_fb(data_t *data, struct igt_fb *newfb, uint32_t width,
>   		f.offsets[n] = newfb->offsets[n];
>   	}
>   
> -	cr = igt_get_cairo_ctx(data->drm_fd, newfb);
> -	igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
> -			data->planeclearrgb[0],
> -			data->planeclearrgb[1],
> -			data->planeclearrgb[2]);
> -	igt_put_cairo_ctx(cr);
> +       if (data->planeclearrgb[0] != 0.0 || data->planeclearrgb[1] != 0.0 ||
> +           data->planeclearrgb[2] != 0.0) {
> +               cr = igt_get_cairo_ctx(data->drm_fd, newfb);
> +               igt_paint_color(cr, 0, 0, newfb->width, newfb->height,
> +                               data->planeclearrgb[0],
> +                               data->planeclearrgb[1],
> +                               data->planeclearrgb[2]);
> +               igt_put_cairo_ctx(cr);
> +       }
>   
>   	igt_assert(drmIoctl(data->drm_fd, LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) == 0);
>   	newfb->fb_id = f.fb_id;




More information about the igt-dev mailing list