From 32f134ef6f3aadea95160c51eef6611a79501f49 Mon Sep 17 00:00:00 2001 From: Vladimir Stoiakin Date: Wed, 28 Jan 2026 15:26:13 +0300 Subject: [PATCH] lvgl: enable NEON optimizations on aarch64 According to CHANGELOG: "Up to 33% faster software rendering with on platforms that support NEON SIMD support". --- buffyboard/lv_conf.defaults | 3 ++- buffyboard/lv_conf.h | 2 +- f0rmz/lv_conf.defaults | 1 + f0rmz/lv_conf.h | 2 +- meson.build | 6 ++++++ unl0kr/lv_conf.defaults | 1 + unl0kr/lv_conf.h | 2 +- 7 files changed, 13 insertions(+), 4 deletions(-) diff --git a/buffyboard/lv_conf.defaults b/buffyboard/lv_conf.defaults index 7d19386..65b6fde 100644 --- a/buffyboard/lv_conf.defaults +++ b/buffyboard/lv_conf.defaults @@ -1,7 +1,8 @@ # SPDX-License-Identifier: GPL-3.0-or-later # 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) LV_COLOR_DEPTH 32 diff --git a/buffyboard/lv_conf.h b/buffyboard/lv_conf.h index e7a482c..f3433e5 100644 --- a/buffyboard/lv_conf.h +++ b/buffyboard/lv_conf.h @@ -217,7 +217,7 @@ #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 #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 #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" diff --git a/f0rmz/lv_conf.defaults b/f0rmz/lv_conf.defaults index 1e23d80..ce234d3 100644 --- a/f0rmz/lv_conf.defaults +++ b/f0rmz/lv_conf.defaults @@ -4,6 +4,7 @@ # 1. Comment LV_USE_SDL # LV_USE_LINUX_FBDEV # LV_USE_LINUX_DRM +# 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) diff --git a/f0rmz/lv_conf.h b/f0rmz/lv_conf.h index 156d953..178e221 100644 --- a/f0rmz/lv_conf.h +++ b/f0rmz/lv_conf.h @@ -217,7 +217,7 @@ #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 #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 #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE "" diff --git a/meson.build b/meson.build index 4d2e6e7..dac78ef 100644 --- a/meson.build +++ b/meson.build @@ -10,6 +10,12 @@ add_project_arguments( 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') deplibinput = dependency('libinput') deplibudev = dependency('libudev') diff --git a/unl0kr/lv_conf.defaults b/unl0kr/lv_conf.defaults index 1e23d80..ce234d3 100644 --- a/unl0kr/lv_conf.defaults +++ b/unl0kr/lv_conf.defaults @@ -4,6 +4,7 @@ # 1. Comment LV_USE_SDL # LV_USE_LINUX_FBDEV # LV_USE_LINUX_DRM +# 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) diff --git a/unl0kr/lv_conf.h b/unl0kr/lv_conf.h index 156d953..178e221 100644 --- a/unl0kr/lv_conf.h +++ b/unl0kr/lv_conf.h @@ -217,7 +217,7 @@ #define LV_DRAW_SW_CIRCLE_CACHE_SIZE 4 #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 #define LV_DRAW_SW_ASM_CUSTOM_INCLUDE ""