chore(cmsis-pack): prepare for LVGL9 release (#5323)

Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
This commit is contained in:
Gabriel Wang
2024-01-15 18:50:03 +00:00
committed by GitHub
parent f1739b864c
commit 78a6b2f425
23 changed files with 318 additions and 110 deletions

View File

@@ -310,7 +310,7 @@ menu "LVGL configuration"
endmenu endmenu
menu "GPU" menu "GPU"
config LV_USE_DRAW_ARM2D config LV_USE_DRAW_ARM2D_SYNC
bool "Enable Arm's 2D image processing library (Arm-2D) for all Cortex-M processors." bool "Enable Arm's 2D image processing library (Arm-2D) for all Cortex-M processors."
default n default n
help help

View File

@@ -1,7 +1,3 @@
**IMPORTANT NOTE** The next major version (v9.0.0) is developed in the master branch.
The last stable version is available in the [release/v8.3](https://github.com/lvgl/lvgl/tree/release/v8.3) branch.
---
<a href="https://github.com/sponsors/lvgl" target="_blank"><img align="left" src="https://lvgl.io/assets/images/sponsor.png" height="32px"></a> <a href="https://github.com/sponsors/lvgl" target="_blank"><img align="left" src="https://lvgl.io/assets/images/sponsor.png" height="32px"></a>

View File

@@ -558,6 +558,14 @@ static void summary_create(void)
lv_table_set_cell_value(table, 0, 2, "Avg. FPS"); lv_table_set_cell_value(table, 0, 2, "Avg. FPS");
lv_table_set_cell_value(table, 0, 3, "Avg. time (render + flush)"); lv_table_set_cell_value(table, 0, 3, "Avg. time (render + flush)");
/* csv log */
LV_LOG("Benchmark Summary (%"LV_PRIu32".%"LV_PRIu32".%"LV_PRIu32" %s)\r\n",
LVGL_VERSION_MAJOR,
LVGL_VERSION_MINOR,
LVGL_VERSION_PATCH,
LVGL_VERSION_INFO);
LV_LOG("Name, Avg. CPU, Avg. FPS, Avg. time, render time, flush time\r\n");
lv_obj_update_layout(table); lv_obj_update_layout(table);
int32_t col_w = lv_obj_get_content_width(table) / 4; int32_t col_w = lv_obj_get_content_width(table) / 4;
@@ -591,6 +599,15 @@ static void summary_create(void)
lv_table_set_cell_value_fmt(table, i + 2, 3, "%"LV_PRIu32" ms (%"LV_PRIu32" + %"LV_PRIu32")", lv_table_set_cell_value_fmt(table, i + 2, 3, "%"LV_PRIu32" ms (%"LV_PRIu32" + %"LV_PRIu32")",
render_time + flush_time, render_time, flush_time); render_time + flush_time, render_time, flush_time);
/* csv log */
LV_LOG("%s, %"LV_PRIu32"%%, %"LV_PRIu32", %"LV_PRIu32", %"LV_PRIu32", %"LV_PRIu32"\r\n",
scenes[i].name,
scenes[i].cpu_avg_usage / cnt,
scenes[i].fps_avg / cnt,
render_time + flush_time,
render_time,
flush_time);
valid_scene_cnt++; valid_scene_cnt++;
total_avg_cpu += scenes[i].cpu_avg_usage / cnt; total_avg_cpu += scenes[i].cpu_avg_usage / cnt;
total_avg_fps += scenes[i].fps_avg / cnt; total_avg_fps += scenes[i].fps_avg / cnt;
@@ -614,6 +631,13 @@ static void summary_create(void)
uint32_t flush_time = total_avg_flush_time / valid_scene_cnt; uint32_t flush_time = total_avg_flush_time / valid_scene_cnt;
lv_table_set_cell_value_fmt(table, 1, 3, "%"LV_PRIu32" ms (%"LV_PRIu32" + %"LV_PRIu32")", lv_table_set_cell_value_fmt(table, 1, 3, "%"LV_PRIu32" ms (%"LV_PRIu32" + %"LV_PRIu32")",
render_time + flush_time, render_time, flush_time); render_time + flush_time, render_time, flush_time);
/* csv log */
LV_LOG("All scenes avg.,%"LV_PRIu32"%%, %"LV_PRIu32", %"LV_PRIu32", %"LV_PRIu32", %"LV_PRIu32"\r\n",
total_avg_cpu / valid_scene_cnt,
total_avg_fps / valid_scene_cnt,
render_time + flush_time,
render_time,
flush_time);
} }
} }

View File

@@ -6,20 +6,31 @@ Arm-2D is not a GPU but **an abstraction layer for 2D GPUs dedicated to
Microcontrollers**. It supports all Cortex-M processors ranging from Microcontrollers**. It supports all Cortex-M processors ranging from
Cortex-M0 to the latest Cortex-M85. Cortex-M0 to the latest Cortex-M85.
Arm-2D accelerates LVGL9 with too modes: **Synchronous Mode** and
**Asynchronous Mode**.
- When **Helium** and **ACI (Arm Custom Instruction)** are available, it is recommend
to use **Synchronous Mode** to accelerate LVGL.
- When Arm-2D backed 2D-GPUs are available, for example, **DMAC-350 based 2D
GPUs**, it is recommend to use **Asynchronous Mode** to accelerate LVGL.
Arm-2D is an open-source project on Github. For more, please refer to: Arm-2D is an open-source project on Github. For more, please refer to:
https://github.com/ARM-software/Arm-2D. https://github.com/ARM-software/Arm-2D.
How to Use How to Use
********** **********
In general, you can set the macro :c:macro:`LV_USE_GPU_ARM2D` to ``1`` in In general:
``lv_conf.h`` to enable Arm-2D acceleration for LVGL. - you can set the macro :c:macro:`LV_USE_DRAW_ARM2D_SYNC` to ``1`` in
``lv_conf.h`` to enable Arm-2D synchronous acceleration for LVGL.
- You can set
the macro :c:macro:`LV_USE_DRAW_ARM2D_ASYNC` to ``1`` in ``lv_conf.h`` to enable
Arm-2D Asynchronous acceleration for LVGL.
If you are using If you are using
`CMSIS-Pack <https://github.com/lvgl/lvgl/tree/master/env_support/cmsis-pack>`__ `CMSIS-Pack <https://github.com/lvgl/lvgl/tree/master/env_support/cmsis-pack>`__
to deploy the LVGL. You don't have to define the macro to deploy the LVGL. You don't have to define the macro
:c:macro:`LV_USE_GPU_ARM2D` manually, instead, please select the component :c:macro:`LV_USE_DRAW_ARM2D_SYNC` manually, instead the lv_conf_cmsis.h will
``GPU Arm-2D`` in the **RTE** dialog. This step will define the macro for us. check the environment and set the :c:macro:`LV_USE_DRAW_ARM2D_SYNC` accordingly.
Design Considerations Design Considerations
********************* *********************
@@ -31,13 +42,13 @@ LVGL (sometimes worse) for regular Cortex-M processors.
**We highly recommend you enable Arm-2D acceleration for LVGL** when: **We highly recommend you enable Arm-2D acceleration for LVGL** when:
- The target processors are **Cortex-M55** and/or **Cortex-M85** - The target processors are **Cortex-M55**, **Cortex-M52** and **Cortex-M85**
- The target processors support - The target processors support
`Helium <https://developer.arm.com/documentation/102102/0103/?lang=en>`__. `Helium <https://developer.arm.com/documentation/102102/0103/?lang=en>`__.
- The device vendor provides an arm-2d compliant driver for their - The device vendor provides an arm-2d compliant driver for their
propriotory 2D accelerators and/or customized instruction set. propriotory 2D accelerators and/or ACI(Arm Customized Instruction).
- The target device contains - The target device contains
`DMA-350 <https://community.arm.com/arm-community-blogs/b/internet-of-things-blog/posts/arm-corelink-dma-350-next-generation-direct-memory-access-for-endpoint-ai>`__ `DMAC-350 <https://community.arm.com/arm-community-blogs/b/internet-of-things-blog/posts/arm-corelink-dma-350-next-generation-direct-memory-access-for-endpoint-ai>`__
Examples Examples
******** ********

View File

@@ -36,11 +36,13 @@
<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-13" version="9.0.0-dev4" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.9.0.0-dev4.pack"> <release date="2024-01-15" version="9.0.0-rc" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.9.0.0-rc.pack">
- LVGL 9.0.0-dev - LVGL 9.0.0-rc
- New Driver Architecture - 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.
- Adds supports for GPUs: VG-Lite, PXP and Dave2D - Adds supports for GPUs: VG-Lite, PXP, Dave2D and etc.
- Adds display drivers
- Adds Demos for benchmarks, render test etc,
- Other fixes - Other fixes
</release> </release>
<release date="2023-12-05" version="8.3.11" url="https://github.com/lvgl/lvgl/raw/8194d83226c27c84f12dd51e16f5add9939215a5/env_support/cmsis-pack/LVGL.lvgl.8.3.11.pack"> <release date="2023-12-05" version="8.3.11" url="https://github.com/lvgl/lvgl/raw/8194d83226c27c84f12dd51e16f5add9939215a5/env_support/cmsis-pack/LVGL.lvgl.8.3.11.pack">
@@ -79,10 +81,6 @@
- Rework stm32 DMA2D support - Rework stm32 DMA2D support
- Various fixes - Various fixes
</release> </release>
<release date="2023-01-15" version="1.1.0-alpha" url="https://github.com/lvgl/lvgl/raw/4e3f341b882e0453d3da5cce6bb1b6357e52e3e7/env_support/cmsis-pack/LVGL.lvgl.1.1.0-alpha.pack">
- LVGL 9.0.0-dev
- Monthly update for January
</release>
<release date="2022-12-31" version="1.0.12" url="https://github.com/lvgl/lvgl/raw/7d0de1aabeabd4c71231895df7a503a3313b4619/env_support/cmsis-pack/LVGL.lvgl.1.0.12.pack"> <release date="2022-12-31" version="1.0.12" url="https://github.com/lvgl/lvgl/raw/7d0de1aabeabd4c71231895df7a503a3313b4619/env_support/cmsis-pack/LVGL.lvgl.1.0.12.pack">
- LVGL 9.0.0-dev - LVGL 9.0.0-dev
- The final update for 2022, Happy New Year - The final update for 2022, Happy New Year
@@ -269,7 +267,7 @@
<condition id="LVGL-Essential-Assets"> <condition id="LVGL-Essential-Assets">
<description>Require LVGL Essential Service and Demo Assets </description> <description>Require LVGL Essential Service and Demo Assets </description>
<require Cclass="LVGL" Cgroup="Essential" /> <require condition="LVGL-Essential"/>
<require Cclass="LVGL" Cgroup="Demos" Csub="Assets" /> <require Cclass="LVGL" Cgroup="Demos" Csub="Assets" />
</condition> </condition>
@@ -279,67 +277,73 @@
</condition> </condition>
<condition id="LVGL-GPU-STM32-DMA2D"> <condition id="LVGL-GPU-STM32-DMA2D">
<description>Enable LVGL Arm-2D GPU Support</description> <description>Condition for STM32-DMA2D</description>
<require Cclass="LVGL" Cgroup="LVGL9" Csub="Essential"/> <require condition="LVGL-Essential"/>
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>-->
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU VG-Lite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>
</condition> </condition>
<condition id="LVGL-GPU-SWM341-DMA2D"> <condition id="LVGL-GPU-SWM341-DMA2D">
<description>Enable LVGL Arm-2D GPU Support</description> <description>Condition for SWM341-DMA2D</description>
<require Cclass="LVGL" Cgroup="LVGL9" Csub="Essential"/> <require condition="LVGL-Essential"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>-->
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU VG-Lite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>
</condition> </condition>
<condition id="LVGL-GPU-NXP-PXP"> <condition id="LVGL-GPU-NXP-PXP">
<description>Enable LVGL Arm-2D GPU Support</description> <description>Condition for NXP-PXP</description>
<require Cclass="LVGL" Cgroup="LVGL9" Csub="Essential"/> <require condition="LVGL-Essential"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>-->
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>-->
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU VG-Lite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>
</condition> </condition>
<condition id="LVGL-GPU-NXP-VGLite"> <condition id="LVGL-GPU-NXP-VGLite">
<description>Enable LVGL Arm-2D GPU Support</description> <description>Condition for NXP-VGLite</description>
<require Cclass="LVGL" Cgroup="LVGL9" Csub="Essential"/> <require condition="LVGL-Essential"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>-->
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>-->
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU VG-Lite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>
</condition> </condition>
<condition id="LVGL-GPU-GD32-IPA"> <condition id="LVGL-GPU-GD32-IPA">
<description>Enable LVGL Arm-2D GPU Support</description> <description>Condition for GD32-IPA</description>
<require Cclass="LVGL" Cgroup="LVGL9" Csub="Essential"/> <require condition="LVGL-Essential"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU VG-Lite"/>
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>-->
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>
</condition> </condition>
<condition id="LVGL-GPU-Renesas-Dave2D"> <condition id="LVGL-GPU-Renesas-Dave2D">
<description>Enable LVGL Arm-2D GPU Support</description> <description>Condition for Renesas-Dave2D</description>
<require Cclass="LVGL" Cgroup="LVGL9" Csub="Essential"/> <require condition="LVGL-Essential"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU STM32-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU SWM341-DMA2D"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-PXP"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU NXP-VGLite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU VG-Lite"/>
<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/> <deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU GD32-IPA"/>
<!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>--> <!--<deny Cclass="LVGL" Cgroup="LVGL9" Csub="GPU Renesas-Dave2D"/>-->
</condition> </condition>
@@ -614,7 +618,7 @@
<file category="sourceC" name="src/osal/lv_os_none.c"/> <file category="sourceC" name="src/osal/lv_os_none.c"/>
<!-- general --> <!-- general -->
<file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="2.1.2" /> <file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="2.1.3" />
<file category="sourceC" name="lv_cmsis_pack.c" /> <file category="sourceC" name="lv_cmsis_pack.c" />
<file category="header" name="lvgl.h" /> <file category="header" name="lvgl.h" />
<file category="doc" name="README.md"/> <file category="doc" name="README.md"/>
@@ -643,6 +647,20 @@
</component> </component>
<component Cgroup="Display" Cvariant="Windows Backend" condition="LVGL-Essential">
<description>Add the display driver for Windows backend </description>
<files>
<file category="sourceC" name="src/dev/windows/lv_windows_context.c" />
<file category="sourceC" name="src/dev/windows/lv_windows_display.c" />
<file category="sourceC" name="src/dev/windows/lv_windows_input.c" />
</files>
<RTE_Components_h>
/* use display driver for Windows backend*/ */
#define LV_USE_WINDOWS 1
</RTE_Components_h>
</component>
<component Cgroup="Display" Cvariant="Linux DRM" condition="LVGL-Essential"> <component Cgroup="Display" Cvariant="Linux DRM" condition="LVGL-Essential">
<description>Add the display driver for Linux /dev/dri/card*/ </description> <description>Add the display driver for Linux /dev/dri/card*/ </description>
@@ -961,6 +979,36 @@
</component> </component>
<component Cgroup="Acceleration" Csub="GPU VG-Lite">
<description>An hardware acceleration from VG-Lite GPU</description>
<files>
<file category="sourceC" name="src/draw/vg_lite/lv_draw_buf_vg_lite.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_arc.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_border.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_box_shadow.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_fill.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_img.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_label.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_layer.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_line.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_mask_rect.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_triangle.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_draw_vg_lite_vector.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_decoder.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_math.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_path.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_utils.c" />
</files>
<RTE_Components_h>
/*! \brief enable VG-Lite GPU */
#define LV_USE_DRAW_VG_LITE 1
</RTE_Components_h>
</component>
<component Cgroup="Acceleration" Csub="GPU SDL2" Cversion="2.0.0"> <component Cgroup="Acceleration" Csub="GPU SDL2" Cversion="2.0.0">
<description>Using existing SDL2 APIs for acceleration</description> <description>Using existing SDL2 APIs for acceleration</description>
<files> <files>

View File

@@ -2,8 +2,8 @@
<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-13</timestamp> <timestamp>2024-01-15</timestamp>
<pindex> <pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.0.0-dev4"/> <pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.0.0-rc"/>
</pindex> </pindex>
</index> </index>

View File

@@ -73,6 +73,8 @@ remove the misleading guide above this code segment.
- LV_USE_DRAW_VGLITE - LV_USE_DRAW_VGLITE
- LV_USE_DRAW_VG_LITE
- LV_USE_DRAW_PXP - LV_USE_DRAW_PXP
- LV_USE_DRAW_SDL - LV_USE_DRAW_SDL
@@ -115,7 +117,7 @@ remove the misleading guide above this code segment.
#define LV_DRAW_BUF_STRIDE_ALIGN 4 #define LV_DRAW_BUF_STRIDE_ALIGN 4
#define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4))) #define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4)))
``` ```
Make sure `LV_MEM_SIZE` is no less than `(256*1024U)`. Make sure `LV_MEM_SIZE` is no less than `(96*1024U)`.
8. Remove following macro definitions in the `3rd party libraries` section: 8. Remove following macro definitions in the `3rd party libraries` section:
@@ -207,9 +209,15 @@ with:
#endif #endif
``` ```
13. Update macro `LV_PROFILER_INCLUDE`:
```c
#define LV_PROFILER_INCLUDE "src/misc/lv_profiler_builtin.h"
```
13. rename '**lv_conf_template.h**' to '**lv_conf_cmsis.h**'.
14. rename '**lv_conf_template.h**' to '**lv_conf_cmsis.h**'.

View File

@@ -1,6 +1,6 @@
/** /**
* @file lv_conf.h * @file lv_conf.h
* Configuration file for v9.0.0-dev * Configuration file for v9.0.0
*/ */
/* clang-format off */ /* clang-format off */
@@ -36,7 +36,7 @@
#if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN #if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN
/*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/ /*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/
#define LV_MEM_SIZE (256 * 1024U) /*[bytes]*/ #define LV_MEM_SIZE (96 * 1024U) /*[bytes]*/
/*Size of the memory expand for `lv_malloc()` in bytes*/ /*Size of the memory expand for `lv_malloc()` in bytes*/
#define LV_MEM_POOL_EXPAND_SIZE 0 #define LV_MEM_POOL_EXPAND_SIZE 0
@@ -125,7 +125,7 @@
/*turn-on helium acceleration when Arm-2D and the Helium-powered device are detected */ /*turn-on helium acceleration when Arm-2D and the Helium-powered device are detected */
#if defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE #if defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE
#define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_HELIUM #define LV_USE_DRAW_SW_ASM LV_DRAW_SW_ASM_HELIUM
#define LV_USE_DRAW_ARM2D 1 #define LV_USE_DRAW_ARM2D_SYNC 1
#endif #endif
#endif #endif
@@ -156,6 +156,18 @@
#define LV_USE_PXP_ASSERT 0 #define LV_USE_PXP_ASSERT 0
#endif #endif
/* Use VG-Lite GPU. */
#define LV_USE_DRAW_VG_LITE 0
#if LV_USE_DRAW_VG_LITE
/* Enable VG-Lite custom external 'gpu_init()' function */
#define LV_VG_LITE_USE_GPU_INIT 0
/* Enable VG-Lite assert. */
#define LV_VG_LITE_USE_ASSERT 0
#endif
/*======================= /*=======================
* FEATURE CONFIGURATION * FEATURE CONFIGURATION
*=======================*/ *=======================*/
@@ -233,28 +245,6 @@
*For layers add the index number of the draw unit on black background.*/ *For layers add the index number of the draw unit on black background.*/
#define LV_USE_PARALLEL_DRAW_DEBUG 0 #define LV_USE_PARALLEL_DRAW_DEBUG 0
/*------------------
* STATUS MONITORING
*------------------*/
/*1: Show CPU usage and FPS count
* Requires `LV_USE_SYSMON = 1`*/
#define LV_USE_PERF_MONITOR 0
#if LV_USE_PERF_MONITOR
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
/*0: Displays performance data on the screen, 1: Prints performance data using log.*/
#define LV_USE_PERF_MONITOR_LOG_MODE 0
#endif
/*1: Show the used memory and the memory fragmentation
* Requires `LV_USE_BUILTIN_MALLOC = 1`
* Requires `LV_USE_SYSMON = 1`*/
#define LV_USE_MEM_MONITOR 0
#if LV_USE_MEM_MONITOR
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
#endif
/*------------- /*-------------
* Others * Others
*-----------*/ *-----------*/
@@ -671,9 +661,30 @@
* OTHERS * OTHERS
*==================*/ *==================*/
/*1: Enable system monitor component*/ /*1: Enable system monitor component*/
#define LV_USE_SYSMON (LV_USE_MEM_MONITOR | LV_USE_PERF_MONITOR) #define LV_USE_SYSMON 0
#if LV_USE_SYSMON
/*1: Show CPU usage and FPS count
* Requires `LV_USE_SYSMON = 1`*/
#define LV_USE_PERF_MONITOR 0
#if LV_USE_PERF_MONITOR
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
/*0: Displays performance data on the screen, 1: Prints performance data using log.*/
#define LV_USE_PERF_MONITOR_LOG_MODE 0
#endif
/*1: Show the used memory and the memory fragmentation
* Requires `LV_USE_BUILTIN_MALLOC = 1`
* Requires `LV_USE_SYSMON = 1`*/
#define LV_USE_MEM_MONITOR 0
#if LV_USE_MEM_MONITOR
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
#endif
#endif /*LV_USE_SYSMON*/
/*1: Enable the runtime performance profiler*/ /*1: Enable the runtime performance profiler*/
#define LV_USE_PROFILER 0 #define LV_USE_PROFILER 0
@@ -686,7 +697,7 @@
#endif #endif
/*Header to include for the profiler*/ /*Header to include for the profiler*/
#define LV_PROFILER_INCLUDE "lvgl/src/misc/lv_profiler_builtin.h" #define LV_PROFILER_INCLUDE "src/misc/lv_profiler_builtin.h"
/*Profiler start point function*/ /*Profiler start point function*/
#define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN #define LV_PROFILER_BEGIN LV_PROFILER_BUILTIN_BEGIN

View File

@@ -1,6 +1,6 @@
{ {
"name": "lvgl", "name": "lvgl",
"version": "9.0.0-dev", "version": "9.0.0-rc",
"keywords": "graphics, gui, embedded, tft, lvgl", "keywords": "graphics, gui, embedded, tft, lvgl",
"description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.", "description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.",
"repository": { "repository": {

View File

@@ -1,5 +1,5 @@
name=lvgl name=lvgl
version=9.0.0-dev version=9.0.0-rc
author=kisvegabor author=kisvegabor
maintainer=kisvegabor,embeddedt,pete-pjb maintainer=kisvegabor,embeddedt,pete-pjb
sentence=Full-featured Graphics Library for Embedded Systems sentence=Full-featured Graphics Library for Embedded Systems

View File

@@ -1,6 +1,6 @@
/** /**
* @file lv_conf.h * @file lv_conf.h
* Configuration file for v9.0.0-dev * Configuration file for v9.0.0-rc
*/ */
/* /*
@@ -101,13 +101,16 @@
* > 1 means multiply threads will render the screen in parallel */ * > 1 means multiply threads will render the screen in parallel */
#define LV_DRAW_SW_DRAW_UNIT_CNT 1 #define LV_DRAW_SW_DRAW_UNIT_CNT 1
/* Use Arm-2D to accelerate the sw render */
#define LV_USE_DRAW_ARM2D_SYNC 0
/* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode /* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
* it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks. * it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
* "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers * "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers
* and can't be drawn in chunks. */ * and can't be drawn in chunks. */
/*The target buffer size for simple layer chunks.*/ /*The target buffer size for simple layer chunks.*/
#define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/ #define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/
/* 0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only /* 0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only
* 1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too */ * 1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too */
@@ -133,9 +136,6 @@
#endif #endif
#endif #endif
/* Use Arm-2D on Cortex-M based devices. Please only enable it for Helium Powered devices for now */
#define LV_USE_DRAW_ARM2D 0
/* Use NXP's VG-Lite GPU on iMX RTxxx platforms. */ /* Use NXP's VG-Lite GPU on iMX RTxxx platforms. */
#define LV_USE_DRAW_VGLITE 0 #define LV_USE_DRAW_VGLITE 0

2
lvgl.h
View File

@@ -16,7 +16,7 @@ extern "C" {
#define LVGL_VERSION_MAJOR 9 #define LVGL_VERSION_MAJOR 9
#define LVGL_VERSION_MINOR 0 #define LVGL_VERSION_MINOR 0
#define LVGL_VERSION_PATCH 0 #define LVGL_VERSION_PATCH 0
#define LVGL_VERSION_INFO "dev" #define LVGL_VERSION_INFO "rc"
/********************* /*********************
* INCLUDES * INCLUDES

View File

@@ -1,10 +1,10 @@
/** /**
* @file lv_draw_sw_helium.h * @file lv_draw_sw_arm2d.h
* *
*/ */
#ifndef LV_DRAW_SW_HELIUM_H #ifndef LV_DRAW_SW_ARM2D_H
#define LV_DRAW_SW_HELIUM_H #define LV_DRAW_SW_ARM2D_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -18,11 +18,7 @@ extern "C" {
#include "../../../lv_conf_internal.h" #include "../../../lv_conf_internal.h"
#ifdef LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE #if LV_USE_DRAW_ARM2D_SYNC
#include LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE
#endif
#if LV_USE_DRAW_ARM2D
#define __ARM_2D_IMPL__ #define __ARM_2D_IMPL__
#include "arm_2d.h" #include "arm_2d.h"
@@ -250,7 +246,7 @@ static inline lv_result_t _lv_draw_sw_image_helium(
// layer, // layer,
// blend_area.x1 - layer->buf_area.x1, // blend_area.x1 - layer->buf_area.x1,
// blend_area.y1 - layer->buf_area.y1); // blend_area.y1 - layer->buf_area.y1);
uint8_t *des_buf = (uint8_t *)layer->buf; uint8_t *des_buf = (uint8_t *)lv_draw_layer_go_to_xy(layer, 0, 0);
uint8_t opa = draw_dsc->opa; uint8_t opa = draw_dsc->opa;
/* ------------- prepare parameters for arm-2d APIs - END ----------- */ /* ------------- prepare parameters for arm-2d APIs - END ----------- */
@@ -557,7 +553,7 @@ static inline lv_result_t _lv_draw_sw_image_recolor_rgb888(
return LV_RESULT_OK; return LV_RESULT_OK;
} }
#endif /* LV_USE_DRAW_ARM2D */ #endif /* LV_USE_DRAW_ARM2D_SYNC */
/* *INDENT-ON* */ /* *INDENT-ON* */
@@ -565,4 +561,4 @@ static inline lv_result_t _lv_draw_sw_image_recolor_rgb888(
} /*extern "C"*/ } /*extern "C"*/
#endif #endif
#endif /*LV_DRAW_SW_HELIUM_H*/ #endif /*LV_DRAW_SW_ARM2D_H */

View File

@@ -0,0 +1,60 @@
/**
* @file lv_draw_sw_helium.h
*
*/
#ifndef LV_DRAW_SW_HELIUM_H
#define LV_DRAW_SW_HELIUM_H
#ifdef __cplusplus
extern "C" {
#endif
/* *INDENT-OFF* */
/*********************
* INCLUDES
*********************/
#include "../../../lv_conf_internal.h"
/* detect whether helium is available based on arm compilers' standard */
#if defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE
#ifdef LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE
#include LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE
#endif
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/*********************
* POST INCLUDES
*********************/
/* use arm-2d as the default helium acceleration */
#include "lv_draw_sw_arm2d.h"
#endif /* defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE */
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*LV_DRAW_SW_HELIUM_H*/

View File

@@ -1,10 +1,10 @@
/** /**
* @file lv_blend_to_helium.h * @file lv_blend_arm2d.h
* *
*/ */
#ifndef LV_BLEND_TO_HELIUM_H #ifndef LV_BLEND_ARM2D_H
#define LV_BLEND_TO_HELIUM_H #define LV_BLEND_ARM2D_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@@ -16,11 +16,7 @@ extern "C" {
#include "../../../../lv_conf_internal.h" #include "../../../../lv_conf_internal.h"
#ifdef LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE #if LV_USE_DRAW_ARM2D_SYNC
#include LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE
#endif
#if LV_USE_DRAW_ARM2D
#define __ARM_2D_IMPL__ #define __ARM_2D_IMPL__
#include "arm_2d.h" #include "arm_2d.h"
@@ -1436,10 +1432,10 @@ static inline lv_result_t _lv_argb8888_blend_normal_to_argb8888_mix_mask_opa_hel
* MACROS * MACROS
**********************/ **********************/
#endif /* LV_USE_DRAW_ARM2D */ #endif /* LV_USE_DRAW_ARM2D_SYNC */
#ifdef __cplusplus #ifdef __cplusplus
} /*extern "C"*/ } /*extern "C"*/
#endif #endif
#endif /*LV_BLEND_TO_HELIUM_H*/ #endif /*LV_BLEND_ARM2D_H*/

View File

@@ -0,0 +1,58 @@
/**
* @file lv_blend_arm2d.h
*
*/
#ifndef LV_BLEND_HELIUM_H
#define LV_BLEND_HELIUM_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#include "../../../../lv_conf_internal.h"
/* detect whether helium is available based on arm compilers' standard */
#if defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE
#ifdef LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE
#include LV_DRAW_SW_HELIUM_CUSTOM_INCLUDE
#endif
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* GLOBAL PROTOTYPES
**********************/
/*********************
* POST INCLUDES
*********************/
/* use arm-2d as the default helium acceleration */
#include "lv_blend_arm2d.h"
#endif /* defined(__ARM_FEATURE_MVE) && __ARM_FEATURE_MVE */
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*LV_BLEND_HELIUM_H*/

View File

@@ -19,7 +19,7 @@
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON
#include "neon/lv_blend_neon.h" #include "neon/lv_blend_neon.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM
#include "helium/lv_blend_helium.h" #include "arm2d/lv_blend_helium.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#include LV_DRAW_SW_ASM_CUSTOM_INCLUDE #include LV_DRAW_SW_ASM_CUSTOM_INCLUDE
#endif #endif

View File

@@ -19,7 +19,7 @@
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON
#include "neon/lv_blend_neon.h" #include "neon/lv_blend_neon.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM
#include "helium/lv_blend_helium.h" #include "arm2d/lv_blend_helium.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#include LV_DRAW_SW_ASM_CUSTOM_INCLUDE #include LV_DRAW_SW_ASM_CUSTOM_INCLUDE
#endif #endif

View File

@@ -19,7 +19,7 @@
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_NEON
#include "neon/lv_blend_neon.h" #include "neon/lv_blend_neon.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM
#include "helium/lv_blend_helium.h" #include "arm2d/lv_blend_helium.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#include LV_DRAW_SW_ASM_CUSTOM_INCLUDE #include LV_DRAW_SW_ASM_CUSTOM_INCLUDE
#endif #endif

View File

@@ -24,7 +24,7 @@
#endif #endif
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM
#include "helium/lv_draw_sw_helium.h" #include "arm2d/lv_draw_sw_helium.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#include LV_DRAW_SW_ASM_CUSTOM_INCLUDE #include LV_DRAW_SW_ASM_CUSTOM_INCLUDE
#endif #endif

View File

@@ -20,7 +20,7 @@
#include "../../core/lv_global.h" #include "../../core/lv_global.h"
#if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM #if LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_HELIUM
#include "helium/lv_draw_sw_helium.h" #include "arm2d/lv_draw_sw_helium.h"
#elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM #elif LV_USE_DRAW_SW_ASM == LV_DRAW_SW_ASM_CUSTOM
#include LV_DRAW_SW_ASM_CUSTOM_INCLUDE #include LV_DRAW_SW_ASM_CUSTOM_INCLUDE
#endif #endif

View File

@@ -271,6 +271,15 @@
#endif #endif
#endif #endif
/* Use Arm-2D to accelerate the sw render */
#ifndef LV_USE_DRAW_ARM2D_SYNC
#ifdef CONFIG_LV_USE_DRAW_ARM2D_SYNC
#define LV_USE_DRAW_ARM2D_SYNC CONFIG_LV_USE_DRAW_ARM2D_SYNC
#else
#define LV_USE_DRAW_ARM2D_SYNC 0
#endif
#endif
/* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode /* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
* it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks. * it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
* "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers * "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers
@@ -281,7 +290,7 @@
#ifdef CONFIG_LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE #ifdef CONFIG_LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE
#define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE CONFIG_LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE #define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE CONFIG_LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE
#else #else
#define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/ #define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/
#endif #endif
#endif #endif
@@ -343,15 +352,6 @@
#endif #endif
#endif #endif
/* Use Arm-2D on Cortex-M based devices. Please only enable it for Helium Powered devices for now */
#ifndef LV_USE_DRAW_ARM2D
#ifdef CONFIG_LV_USE_DRAW_ARM2D
#define LV_USE_DRAW_ARM2D CONFIG_LV_USE_DRAW_ARM2D
#else
#define LV_USE_DRAW_ARM2D 0
#endif
#endif
/* Use NXP's VG-Lite GPU on iMX RTxxx platforms. */ /* Use NXP's VG-Lite GPU on iMX RTxxx platforms. */
#ifndef LV_USE_DRAW_VGLITE #ifndef LV_USE_DRAW_VGLITE
#ifdef CONFIG_LV_USE_DRAW_VGLITE #ifdef CONFIG_LV_USE_DRAW_VGLITE