Dave2D GPU
Dave2D is the 2D GPU of the Renesas RA and RZ/A devices. LVGL has a built-in draw unit for it that offloads most drawing operations from the CPU.
Dave2D (also written as D/AVE 2D) is the 2D GPU found in Renesas RA and RZ/A devices. LVGL contains a built-in draw unit for it, so the accelerated operations are dispatched to the GPU while the CPU is free to run the rest of the application.
Accelerated Operations
Dave2D can accelerate most of the drawing operations of LVGL:
- Rectangle drawing, even with gradients
- Image drawing, scaling, and rotation
- Letter drawing
- Triangle drawing
- Line drawing
Everything that Dave2D cannot handle is rendered by LVGL's software renderer, so no operation is lost by enabling the GPU.
Prerequisites
- The D/AVE 2D driver needs to be added to the project in the
Configuration Windowof e² studio. The LVGL draw unit includes the FSP headersbsp_api.handdave_driver.h, so missing this step causes a compilation error. - The boards LVGL maintains a project for already have the driver configured. See the RA Family and RZ/A Family pages.
Usage
Set LV_USE_DRAW_DAVE2D to 1 in your lv_conf.h:
#define LV_USE_DRAW_DAVE2D 1There is nothing else to do. No platform-specific function needs to be implemented and no drawing code needs to be changed.
Supported image color formats
Images are accelerated in the following color formats:
-
LV_COLOR_FORMAT_A8 -
LV_COLOR_FORMAT_RGB565 -
LV_COLOR_FORMAT_ARGB1555 -
LV_COLOR_FORMAT_ARGB4444 -
LV_COLOR_FORMAT_ARGB8888 -
LV_COLOR_FORMAT_XRGB8888
LV_COLOR_FORMAT_RGB888 is a 3 byte format, while the matching Dave2D mode is
a 4 byte format. Therefore RGB888 images are drawn by the software renderer.
Fine-tuning
LV_DAVE2D_MAX_DRAW_PRESSURE controls how many pending drawing tasks are collected into one
display list before it is submitted to the GPU. Its default value is 256, which is also the
minimum; with smaller values the Dave engine may crash.
Last updated on