1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-28 07:03:00 +08:00

fix(arm2d): apply a temporary patch to arm-2d acceleration (#5466)

This commit is contained in:
Gabriel Wang 2024-01-25 08:30:00 +00:00 committed by GitHub
parent 3dcbe2bf4c
commit b255eeabf0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 31 additions and 4 deletions

View File

@ -36,7 +36,7 @@
<repository type="git">https://github.com/lvgl/lvgl.git</repository>
<releases>
<release date="2024-01-22" version="9.0.0" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.9.0.0.pack">
<release date="2024-01-24" version="9.0.0" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.9.0.0.pack">
- LVGL 9.0.0
- Implements a New Render Architecture that enables parallel processing
- Accelerates SW-Render with NEON and Helium technology for Cortex architectures.

View File

@ -2,7 +2,7 @@
<index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<vendor>LVGL</vendor>
<url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url>
<timestamp>2024-01-22</timestamp>
<timestamp>2024-01-24</timestamp>
<pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.0.0"/>
</pindex>

View File

@ -166,6 +166,9 @@
/* Enable VG-Lite assert. */
#define LV_VG_LITE_USE_ASSERT 0
/* VG-Lite flush commit trigger threshold. GPU will try to batch these many draw tasks. */
#define LV_VG_LITE_FLUSH_MAX_COUNT 8
#endif
/*=======================

View File

@ -200,11 +200,19 @@ static inline lv_result_t _lv_draw_sw_image_helium(
|| (LV_COLOR_FORMAT_RGB565A8 == src_cf))) {
break;
}
#if 0 /* a temporary patch */
if((LV_COLOR_FORMAT_XRGB8888 == des_cf)
&& !( (LV_COLOR_FORMAT_ARGB8888 == src_cf)
|| (LV_COLOR_FORMAT_XRGB8888 == src_cf))) {
break;
}
#else
if((LV_COLOR_FORMAT_XRGB8888 == des_cf)
|| (LV_COLOR_FORMAT_RGB888 == des_cf)
|| (LV_COLOR_FORMAT_ARGB8888 == des_cf)) {
break;
}
#endif
/* ------------- prepare parameters for arm-2d APIs - BEGIN --------- */
@ -399,6 +407,7 @@ static inline lv_result_t _lv_draw_sw_image_helium(
LV_ASSERT(LV_COLOR_FORMAT_RGB565 == des_cf);
if(opa >= LV_OPA_MAX) {
#if ARM_2D_VERSION >= 10106
arm_2d_rgb565_tile_transform_only(
&source_tile,
&target_tile,
@ -406,8 +415,21 @@ static inline lv_result_t _lv_draw_sw_image_helium(
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.0f,
&target_center
);
&target_center);
#else
arm_2dp_rgb565_tile_transform_only_prepare(
NULL,
&source_tile,
source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
(float)(draw_dsc->scale_x / 256.0f));
arm_2dp_tile_transform(NULL,
&target_tile,
NULL,
&target_center);
#endif
}
else {
arm_2d_rgb565_tile_transform_only_with_opacity(
@ -423,6 +445,7 @@ static inline lv_result_t _lv_draw_sw_image_helium(
}
}
#if 0 /* a temporary patch */
else if(LV_COLOR_FORMAT_ARGB8888 == src_cf) {
LV_ASSERT(LV_COLOR_FORMAT_XRGB8888 == des_cf);
@ -488,6 +511,7 @@ static inline lv_result_t _lv_draw_sw_image_helium(
}
}
#endif
else {
break;
}