Commit graph

8 commits

Author SHA1 Message Date
Hermet Park
b0540929e5 common/array: code refactoring
Make the array interface pair begin()/end() for consistency.
2024-04-06 12:08:21 +09:00
Hermet Park
441542b272 common: STM32 portability enhancement
Some systems such as micro-processor might not support
the thread feature on the system.

Enhance the portability by compiling the thorvg with toggling the
threading depepdency through the build option.

For this, thorvg newly introduced the internal Key/ScopedLock abstraction
for transparent thread-locking dependnecy.

To turn off the thread feature, please use the next build option:

$meson setup build -Dthreads=false ...

Note that, the thread feature is enabled in default.
Turning off the thread feature could reduce the binary size by 7kb.

issue: https://github.com/thorvg/thorvg/issues/1900
2024-04-05 17:28:08 +09:00
Hermet Park
65ff0ba1b1 renderer/taskscheduler: Resolve a thread sanitizer report.
Since each thread worker accesses the 'threads.count' variable,
delay the thread starting until initialization is completed.
2024-01-02 20:34:12 +09:00
Jinny You
92288c8291 updated copyright date (#1866) 2024-01-02 20:34:12 +09:00
Hermet Park
79facf3656 renderer/scheduler: --binary size by 2.2kb
replace the stl with own lightweight data structures.
2024-01-02 20:34:10 +09:00
Hermet Park
8aa12ca468 taskschduler: fix a regression deadlock issue
This fix introduces a workaround to enforce synchronous tasking on worker threads.
Sometimes, out of threads get stuck in a deadlock condition.

@Issue: https://github.com/thorvg/thorvg/issues/1636
2023-09-18 21:06:01 +09:00
Hermet Park
fa134692b0 Revert "renderer taskscheduler: code refactoring."
This reverts commit 77de62068c.

This fixes the sanitizer thread report (data race) issue.

@Issue: https://github.com/thorvg/thorvg/issues/1623
2023-09-05 10:22:53 +09:00
Hermet Park
24711e485c infra: renames the source folders
lib -> renderer
bin -> tools
utils -> common
2023-08-28 13:11:24 +09:00
Renamed from src/lib/tvgTaskScheduler.cpp (Browse further)