Add impl for embedded_dma::WriteBuffer #21
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Allows the Framebuf to be used as a DMA WriteTarget.
Why would you want this?
Using DMA makes certain operations much faster. On an rp2040 clearing a
[Rgb565; 240*240]
buffer viasoftware takes 2.6ms, but DMA can zero it in 103us.
Copying a buffer while swapping the word order takes 260us with DMA, meaning I don't need the overhead that comes with EndianCorrectedBuffer. I don't have a hard number for this one, as it's very implementation specific, but in my use case I've seen a marked improvement in performance.
There are probably further uses too, such as sprite copying.
Previously only a ReadTarget impl existed