RFC: hardware accelerated bitblt using dma engine

Enrico Weigelt, metux IT consult enrico.weigelt at gr13.net
Tue Aug 2 13:21:08 UTC 2016


Hi folks,


I'm currently thinking about adding an hw-accelerated bitblt operation.
The idea goes like this:

* we add some bitblt ioctl which copies rects between bo's.
  (it also handles memory layouts, pixfmt conversion, etc)
* the driver can decide to let the GPU or IPU do that, if available
* if we have an suitable DMA engine (maybe only the more complex ones
  which can handle lines on their own ...) we'll use that
* as fallback, resort to memcpy().


Whether an dma engine can/should be used might be highly hw specific,
so that probably would be configured in DT.

To use that feature, userland could actually allocate two BO's,
one that's mapped as a framebuffer to some crtc, another one just
a memory buffer. It could then render to the fast memory buffer and
tell the DRM to only copy over the changed regions to the graphics
memory via DMA (or whatever is best on that particular hw platform).


What do you think about that idea ?


--mtx


More information about the dri-devel mailing list