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

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Jan 7 23:40:34 CET 2023


On 1/7/23 01:13, Simon Glass wrote:
> 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?

It should be good enough to enable the feature in one of the sandbox
defconfigs and disable it in another.

Best regards

Heinrich

>
> Regards,
> Simon



More information about the U-Boot mailing list