Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(lvgl_port_simd): RBG565 image blend to RGB565 #472

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

peter-marcisovsky
Copy link
Collaborator

This MR adds SIMD support for LV_DRAW_SW_RGB565_BLEND_NORMAL_TO_RGB565
Which is basically a highly optimized memcpy for memory arrays with RGB565 color format

This addition relates RGB565 color format support from #438 : which is adding memset assembly support for RGB565

ESP-BSP Pull Request checklist

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

  • Version of modified component bumped
  • CI passing

Change description

  • esp32s3 SIMD assembly implementation of the RGB565 to RGB565 memcpy
  • esp32 assembly implementation of the RGB565 to RGB565 memcpy
  • Added hard copy of lv_sting_builtin.c with LVGL's optimized memcpy and memset functions, for the benchmark tests to be credible, as some of the ANSI C LVGL SW rendering functions use lv_memcpy and lv_memset
  • Functionality and benchmark tests
  • Updated README with achieved benchmark results

@peter-marcisovsky peter-marcisovsky self-assigned this Jan 6, 2025
@peter-marcisovsky peter-marcisovsky force-pushed the feature/lvgl_port_simd_render_image_blend_rgb565 branch from 1f6c329 to ceb646f Compare January 6, 2025 16:34
@peter-marcisovsky peter-marcisovsky marked this pull request as ready for review January 6, 2025 19:30
Copy link
Collaborator

@tore-espressif tore-espressif left a comment

Choose a reason for hiding this comment

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

Great work, thank you!
@pborcin PTAL too :)

Copy link
Collaborator

@pborcin pborcin left a comment

Choose a reason for hiding this comment

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

LGTM, nicely done!

    - RGB565 blend to RGB565 (optimized memcpy for RGB565 type)
    - esp32s3 assembly implementation using SIMD instructions
    - esp32 assembly fallback
@peter-marcisovsky peter-marcisovsky force-pushed the feature/lvgl_port_simd_render_image_blend_rgb565 branch from ceb646f to 7990bc7 Compare January 17, 2025 20:51
Copy link

Test Results

 15 files  15 suites   5m 31s ⏱️
 45 tests 22 ✅  23 💤 0 ❌
330 runs  22 ✅ 308 💤 0 ❌

Results for commit 7990bc7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants