lvgl: enable NEON optimizations on aarch64

According to CHANGELOG: "Up to 33% faster software rendering with on platforms that support NEON SIMD support".
This commit is contained in:
Vladimir Stoiakin 2026-01-28 15:26:13 +03:00
parent ba3758f8e5
commit 32f134ef6f
7 changed files with 13 additions and 4 deletions

View file

@ -1,7 +1,8 @@
# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-License-Identifier: GPL-3.0-or-later
# Manual post-processing steps for the generated lv_conf.h # Manual post-processing steps for the generated lv_conf.h
# 1. Comment LV_BIG_ENDIAN_SYSTEM (handled by meson.build) # 1. Comment LV_USE_DRAW_SW_ASM
# LV_BIG_ENDIAN_SYSTEM (handled by meson.build)
# 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py) # 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py)
LV_COLOR_DEPTH 32 LV_COLOR_DEPTH 32

View file

@ -217,7 +217,7 @@
#define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4
#endif #endif
#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE //#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE ""

View file

@ -4,6 +4,7 @@
# 1. Comment LV_USE_SDL # 1. Comment LV_USE_SDL
# LV_USE_LINUX_FBDEV # LV_USE_LINUX_FBDEV
# LV_USE_LINUX_DRM # LV_USE_LINUX_DRM
# LV_USE_DRAW_SW_ASM
# LV_BIG_ENDIAN_SYSTEM (handled by meson.build) # LV_BIG_ENDIAN_SYSTEM (handled by meson.build)
# 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py) # 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py)

View file

@ -217,7 +217,7 @@
#define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4
#endif #endif
#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE //#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE ""

View file

@ -10,6 +10,12 @@ add_project_arguments(
language: 'c' language: 'c'
) )
if host_machine.cpu_family() == 'aarch64'
add_project_arguments('-DLV_USE_DRAW_SW_ASM=LV_DRAW_SW_ASM_NEON', language: 'c')
else
add_project_arguments('-DLV_USE_DRAW_SW_ASM=LV_DRAW_SW_ASM_NONE', language: 'c')
endif
depinih = dependency('inih') depinih = dependency('inih')
deplibinput = dependency('libinput') deplibinput = dependency('libinput')
deplibudev = dependency('libudev') deplibudev = dependency('libudev')

View file

@ -4,6 +4,7 @@
# 1. Comment LV_USE_SDL # 1. Comment LV_USE_SDL
# LV_USE_LINUX_FBDEV # LV_USE_LINUX_FBDEV
# LV_USE_LINUX_DRM # LV_USE_LINUX_DRM
# LV_USE_DRAW_SW_ASM
# LV_BIG_ENDIAN_SYSTEM (handled by meson.build) # LV_BIG_ENDIAN_SYSTEM (handled by meson.build)
# 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py) # 2. Add `#define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(bbx_font_32)` (a bug in generate_lv_conf.py)

View file

@ -217,7 +217,7 @@
#define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4
#endif #endif
#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE //#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_NONE
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE ""