Open ogoffart opened 3 months ago
If the renderer is being modified to use async
, I think it could also be useful to also have an async
version of render_by_line
and LineBufferProvider
.
Would love to help with this effort. We are evaluating slint on an STM32U5G9-dk in a C++ environment. I'm happy to implement the coroutine + DMA2D side, is there a test branch or proof-of-concept I can get started with?
The software renderer customization point is currently the TargetPixel trait. I was thinking we could extend it be able to support hardware acceleration (SIMD, ST's DMA2D or NXP's PXP, or ESP's PPA). Note that these function might be async as they use different component that are not on the same CPU Another thing that can't be supported with the current API is buffer that have a stride in byte which is not a multiple of the pixel size. So we're considering a new API for SoftwareRenderer's render.
This is the result of a discussion with @tronical :
That is only for blending a rectangle, but the same could be done for images and other operations that can be accelerated.
In our board-support stm32h735g-dk.rs
and for C++ in slint-cpp:
(which still need to be wrapped in a higher level API, maybe using coroutines)