OpenGL on i.MX6 : bad performance

Jean-Michel Hautbois jhautbois at gmail.com
Mon Oct 27 08:36:04 PDT 2014


2014-10-25 18:40 GMT+02:00 Carlos Rafael Giani <dv at pseudoterminal.org>:
> Zerocopy is absolutely essential here to ensure low CPU usage. Especially
> with 1920x1080 pixels. There is currently no way to use EGL image for this
> purpose, though. (Hopefully the etnaviv project will eventually fix that.)
>
> Right now, the only way to work with GL in a zerocopy manner on the imx6,
> Vivante's direct texture extensions must be used. With these, the GPU reads
> the pixels over DMA from a physically contiguous buffer.
>
> As for V4L2, it does require hacks to get physical addresses for a
> physically contiguous buffer that stores the frames captured by the camera.
> But this does not work for UVC-based webcams, only for cameras that are
> connected over the CPI/CSI interfaces (like the ov5640 and ov5642 chips).
>

Thanks for your answers Julien, Nicolas and Carlos.
Eventually, it will probably be only CSI connected cameras so there is
a chance that something is possible ;-).

I thought that something was already implemented allowing to use some
shared memory between CPU and GPU, without having to go deep into the
driver functionnalities. It seems that it will be more difficult than
what I thought. I also think tat compositor may work too, if it is
possible to pass it allocated memory, in order to avoid memory
copies...
But from the source code, I would say that today, there is no direct
way to do it.

Thanks,
JM


More information about the gstreamer-devel mailing list