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:
parent
3dcbe2bf4c
commit
b255eeabf0
Binary file not shown.
@ -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.
|
||||||
|
@ -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>
|
||||||
|
@ -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
|
||||||
|
|
||||||
/*=======================
|
/*=======================
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user