Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support pure sync mode without mutexes and tasks #1900

Closed
kisvegabor opened this issue Jan 10, 2024 · 2 comments
Closed

Support pure sync mode without mutexes and tasks #1900

kisvegabor opened this issue Jan 10, 2024 · 2 comments
Assignees
Labels
portability Portability Issues among the machines renderer Core rendering
Milestone

Comments

@kisvegabor
Copy link
Member

When I built ThorVG on STM32 it turned out the mutex and some other task related C++ modules are not implemented there. I haven't tried, but I suspect that it's true for other vendors/platforms too.

As we are using ThorVG only in sync mode I removed all the mutex and task related parts from tvgTaskScheduler.cpp and tvgTaskScheduler.h. See the changes here lvgl/lvgl#5249

Now it works, but I wonder if it would make sense to allow enabling a simple "sync only" mode with a define.

What do you think?

@hermet
Copy link
Member

hermet commented Jan 10, 2024

@kisvegabor Hello, I agree with your opinion. We can remove the threading feature from the compilation on the end side. Please let me consider making it compilable for both scenarios. I will come up with the solution.

@hermet hermet self-assigned this Jan 10, 2024
@hermet hermet added the portability Portability Issues among the machines label Jan 10, 2024
@hermet hermet added this to the 0.13 milestone Jan 10, 2024
@kisvegabor
Copy link
Member Author

Thank you! 😊

We copy pasted the source code ThorVG into LVGL and modified it a little bit. Therefore for us the best would be to have a define in a config file we can alter this behavior.

@hermet hermet added the renderer Core rendering label Jan 12, 2024
hermet added a commit that referenced this issue Jan 15, 2024
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 ...

The thread feature is enabled in default.

issue: #1900
hermet added a commit that referenced this issue Jan 15, 2024
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 ...

The thread feature is enabled in default.

issue: #1900
hermet added a commit that referenced this issue Jan 15, 2024
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 ...

The thread feature is enabled in default.

issue: #1900
hermet added a commit that referenced this issue Jan 15, 2024
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: #1900
hermet added a commit that referenced this issue Jan 15, 2024
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: #1900
hermet added a commit that referenced this issue Jan 16, 2024
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: #1900
hermet added a commit that referenced this issue Jan 17, 2024
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: #1900
hermet added a commit that referenced this issue Jan 17, 2024
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: #1900
hermet added a commit that referenced this issue Jan 18, 2024
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: #1900
@hermet hermet closed this as completed Jan 18, 2024
hermet added a commit that referenced this issue Jan 18, 2024
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: #1900
hermet added a commit that referenced this issue Apr 5, 2024
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: #1900
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
portability Portability Issues among the machines renderer Core rendering
Projects
Status: Done 0.13
Development

No branches or pull requests

2 participants