Skip to content

Conversation

@tore-espressif
Copy link
Collaborator

@tore-espressif tore-espressif commented Feb 10, 2025

ESP-BSP Pull Request checklist

Note: For new BSPs create a PR with this link.

  • Update benchmark project to use SIMD!
  • CI passing

Change description

LVGL has changed their blending API here lvgl/lvgl#6688 , now it seems that it is considered private.
Moving forward, we plan to move the blending code to LVGL repo

@tore-espressif tore-espressif added this to the esp_lvgl_port 2.5.0 milestone Feb 10, 2025
@github-actions
Copy link

github-actions bot commented Feb 10, 2025

Test Results

0 tests   0 ✅  0s ⏱️
0 suites  0 💤
0 files    0 ❌

Results for commit 25bd162.

♻️ This comment has been updated with latest results.

Copy link
Collaborator

@peter-marcisovsky peter-marcisovsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can confirm that on this branch, the SIMD source code present in esp-bsp compiles successfully on LVGL >= 9.1.x

This solution solves both problems with SIMD src code support on LVGL 9.1.x and LVGL 9.2.x

  1. changing structure names (_lv_draw_sw_blend_fill_dsc_t vs lv_draw_sw_blend_fill_dsc_t)

  2. LV_DRAW_SW_ASM_CUSTOM_INCLUDE (Macro which we use to include our header file esp_lvgl_port_lv_blend.h with assembly function prototypes) being present in multiple places around LVGL (lv_draw_sw.c for example) and this .c file is missing include of lv_draw_sw_blend_private.h, causing compilation to fail

@tore-espressif tore-espressif force-pushed the feat/simd_v9 branch 2 times, most recently from 47c9b32 to d8c1705 Compare February 14, 2025 07:40
@tore-espressif tore-espressif marked this pull request as ready for review February 14, 2025 07:42
@tore-espressif
Copy link
Collaborator Author

@espzav PTAL :)

@tore-espressif tore-espressif force-pushed the feat/simd_v9 branch 3 times, most recently from 6ffaa8e to 7e9537e Compare February 24, 2025 10:14
@github-actions
Copy link

github-actions bot commented Feb 24, 2025

No description provided.

@kisvegabor
Copy link

cc @uLipe

Looks great and very interesting! Two questions:

  1. The benchmark was committed by @GitHub-Action. Do you run the benchmark with CI somehow?
  2. What does the subscript numbers (e.g. (+17)) mean?

@espzav
Copy link
Collaborator

espzav commented Feb 25, 2025

cc @uLipe

Looks great and very interesting! Two questions:

  1. The benchmark was committed by @GitHub-Action. Do you run the benchmark with CI somehow?
  2. What does the subscript numbers (e.g. (+17)) mean?

Hi @kisvegabor,

  1. We have a runner for all boards (called BSP Wall Runner). It is for testing and we can run the benchmark example there (when PR is labeled - Run benchmark). Here is pytest for it: https://github.com/espressif/esp-bsp/blob/master/examples/display_lvgl_benchmark/pytest_display_lvgl_benchmark.py
  2. The numbers are difference between master. In every push to master is benchmark run again and saved latest values to releases (https://github.com/espressif/esp-bsp/releases/tag/benchmark-latest). Each PR can compare the benchmark values with master.

@kisvegabor
Copy link

kisvegabor commented Feb 25, 2025

We have a runner for all boards (called BSP Wall Runner).

Wao, it's really impressive. Can you share a photo of it publicly?

The numbers are difference between master.

I see! It looks pretty good then for P4
image

I believe the "Rotated ARGB images" scene is this slow because it completely messes up the cache due to the "random" access of pixel in the original image. I haven't tested it, but moving the image to the internal RAM should make a huge difference.

However I don't know why the widgets demo is this slow. Only 16 FPS. Do you use LV_OS_FREERTOS LV_DRAW_SW_DRAW_UNIT_CNT 1 or 2? If not can you give it shot with these settings as well?

@espzav
Copy link
Collaborator

espzav commented Feb 26, 2025

Wao, it's really impressive. Can you share a photo of it publicly?

Here is the photo
IMG_1173

@tore-espressif tore-espressif force-pushed the feat/simd_v9 branch 2 times, most recently from cc78fa9 to 1db286a Compare February 27, 2025 09:16
@tore-espressif tore-espressif removed this from the esp_lvgl_port 2.5.0 milestone Feb 27, 2025
@tore-espressif tore-espressif force-pushed the feat/simd_v9 branch 2 times, most recently from 8b2b426 to 8c8f584 Compare February 27, 2025 15:25
@kisvegabor
Copy link

This is really fantastic! We should have something similar for at least a few vendors and boards.

@cursor
Copy link

cursor bot commented Sep 30, 2025

You have run out of free Bugbot PR reviews for this billing cycle. This will reset on October 20.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants