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.

Edit on GitHub

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 Window of e² studio. The LVGL draw unit includes the FSP headers bsp_api.h and dave_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 1

There 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_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

On this page