How to Find a guide about gpu_fill_cb

I managed to make it fast

That’s… odd. No one has ever had an issue with that before. Maybe the system doesn’t want you posting too often too quickly. I made a small change to the settings on your account; can you try again?

Good to hear!

1 Like

this is a video
I just wrote a program that take each pixel and if it was the same color with previous pixel stick it to that and make a line with single color then I send a single fillrect command to LCD
last.zip (1.4 MB)

I could make some built in GPU implementation but I think I can add a MEM2MEM DMA in my hardware to make it faster. please if there is a document abut GPU_FILL_CB and GPU_BLEND_CB arguments share it here I read some of code but they are vague to me.
do i have to implement both callback?

Have you checked these example functions?
https://github.com/littlevgl/lvgl/blob/master/porting/lv_port_disp_template.c#L172-L187

Or the implementations in other STM projects:

No, only one of them is fine too.

Hi, to accelerate the screen display i use this for the Hx8347G.

/* Display flushing */
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
  static uint16_t temp[32];
  uint16_t c,old_c;
  int i=0;
  tft.startWrite(); /* Start new TFT transaction */
  tft.setAddrWindow(area->x1, area->y1, (area->x2 - area->x1 + 1), (area->y2 - area->y1 + 1)); /* set the working window */
  tft.writeCommand(0x22);
  for (int y = area->y1; y <= area->y2; y++) {
    for (int x = area->x1; x <= area->x2; x++) {
       temp[i] = color_p->full;
       i++;
       if (i==32){   
       tft.writePixels(temp, i);
       i = 0;
       }
      color_p++;
    }
  }
  tft.endWrite(); /* terminate TFT transaction */
  lv_disp_flush_ready(disp); /* tell lvgl that flushing is done */
}

in this display can upload until 32 pixel at same time by SPI now the screen start instanly.

i forgot to say i use an ESP32