[PATCH v4 7/9] video: Use VIDEO_DAMAGE for VIDEO_COPY

Simon Glass sjg at chromium.org
Sat Jan 7 01:13:35 CET 2023


Hi Alexander,

On Tue, 3 Jan 2023 at 14:50, Alexander Graf <agraf at csgraf.de> wrote:
>
> CONFIG_VIDEO_COPY implemented a range based copying mechanism: If we

range-based

> print a single character, it will always copy the full range of bytes
> from the top left corner of the character to the lower right onto the
> uncached frame buffer. This includes pretty much the full line contents
> of the printed character.
>
> Since we now have proper damage tracking, let's make use of that to reduce
> the amount of data we need to copy. With this patch applied, we will only
> copy the tiny rectangle surrounding characters when we print them,
> speeding up the video console.
>
> As a bonus, we remove a lot of code.
>
> Signed-off-by: Alexander Graf <agraf at csgraf.de>
>
> ---
>
> v2 -> v3:
>
>   - Rebase
>   - Make CONFIG_COPY always select VIDEO_DAMAGE
> ---
>  drivers/video/Kconfig             |  5 ++
>  drivers/video/console_normal.c    | 14 +----
>  drivers/video/console_rotate.c    | 37 ++-----------
>  drivers/video/console_truetype.c  | 17 +-----
>  drivers/video/vidconsole-uclass.c | 16 ------
>  drivers/video/video-uclass.c      | 91 ++++++++-----------------------
>  drivers/video/video_bmp.c         |  7 ---
>  include/video.h                   | 37 -------------
>  include/video_console.h           | 49 -----------------
>  9 files changed, 37 insertions(+), 236 deletions(-)
>

This feature needs some tests in test/dm/video.c

For sandbox, I think you will need to allow it to be enabled /
disabled at runtime, so the some tests can use it and some not?

Regards,
Simon


More information about the U-Boot mailing list