Re: RFC: hardware accelerated bitblt using dma engine

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Enrico,


On 2016-08-02 15:21, Enrico Weigelt, metux IT consult wrote:
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 ?

I'm working now on something similar, but more generic. There is already
a framework for picture processing (converting, scaling, blitting, rotating)
in Exynos DRM. It is called IPP (Image Post Processing), but its user
interface is really ugly and limited, so I plan to rewrite it and make
it really generic. Some discussion on it were already in the following
thread:
http://thread.gmane.org/gmane.linux.kernel.samsung-soc/49743

I plan to propose an API based on DRM object/properties, which will be
similar to KMS atomic API. I will let you know when I have it ready for
presenting in public.

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux