-
Notifications
You must be signed in to change notification settings - Fork 120
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
base: master
Are you sure you want to change the base?
feat(lvgl_port_simd): RBG565 image blend to RGB565 #472
Conversation
1f6c329
to
ceb646f
Compare
There was a problem hiding this 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 :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, nicely done!
components/esp_lvgl_port/src/lvgl9/simd/lv_rgb565_blend_normal_to_rgb565_esp32.S
Outdated
Show resolved
Hide resolved
components/esp_lvgl_port/src/lvgl9/simd/lv_rgb565_blend_normal_to_rgb565_esp32s3.S
Outdated
Show resolved
Hide resolved
components/esp_lvgl_port/test_apps/simd/main/test_lv_image_benchmark.c
Outdated
Show resolved
Hide resolved
- RGB565 blend to RGB565 (optimized memcpy for RGB565 type) - esp32s3 assembly implementation using SIMD instructions - esp32 assembly fallback
ceb646f
to
7990bc7
Compare
Test Results 15 files 15 suites 5m 31s ⏱️ Results for commit 7990bc7. |
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 RGB565ESP-BSP Pull Request checklist
Change description
esp32s3
SIMD assembly implementation of theRGB565 to RGB565 memcpy
esp32
assembly implementation of theRGB565 to RGB565 memcpy
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 uselv_memcpy
andlv_memset