1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-02-04 07:13: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> <repository type="git">https://github.com/lvgl/lvgl.git</repository>
<releases> <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 - LVGL 9.0.0
- Implements a New Render Architecture that enables parallel processing - Implements a New Render Architecture that enables parallel processing
- Accelerates SW-Render with NEON and Helium technology for Cortex architectures. - 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"> <index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<vendor>LVGL</vendor> <vendor>LVGL</vendor>
<url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url> <url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url>
<timestamp>2024-01-22</timestamp> <timestamp>2024-01-24</timestamp>
<pindex> <pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.0.0"/> <pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.0.0"/>
</pindex> </pindex>

View File

@ -166,6 +166,9 @@
/* Enable VG-Lite assert. */ /* Enable VG-Lite assert. */
#define LV_VG_LITE_USE_ASSERT 0 #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 #endif
/*======================= /*=======================

View File

@ -200,11 +200,19 @@ static inline lv_result_t _lv_draw_sw_image_helium(
|| (LV_COLOR_FORMAT_RGB565A8 == src_cf))) { || (LV_COLOR_FORMAT_RGB565A8 == src_cf))) {
break; break;
} }
#if 0 /* a temporary patch */
if((LV_COLOR_FORMAT_XRGB8888 == des_cf) if((LV_COLOR_FORMAT_XRGB8888 == des_cf)
&& !( (LV_COLOR_FORMAT_ARGB8888 == src_cf) && !( (LV_COLOR_FORMAT_ARGB8888 == src_cf)
|| (LV_COLOR_FORMAT_XRGB8888 == src_cf))) { || (LV_COLOR_FORMAT_XRGB8888 == src_cf))) {
break; 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 --------- */ /* ------------- 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); LV_ASSERT(LV_COLOR_FORMAT_RGB565 == des_cf);
if(opa >= LV_OPA_MAX) { if(opa >= LV_OPA_MAX) {
#if ARM_2D_VERSION >= 10106
arm_2d_rgb565_tile_transform_only( arm_2d_rgb565_tile_transform_only(
&source_tile, &source_tile,
&target_tile, &target_tile,
@ -406,8 +415,21 @@ static inline lv_result_t _lv_draw_sw_image_helium(
source_center, source_center,
ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)), ARM_2D_ANGLE((draw_dsc->rotation / 10.0f)),
draw_dsc->scale_x / 256.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 { else {
arm_2d_rgb565_tile_transform_only_with_opacity( 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) { else if(LV_COLOR_FORMAT_ARGB8888 == src_cf) {
LV_ASSERT(LV_COLOR_FORMAT_XRGB8888 == des_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 { else {
break; break;
} }