I am looking for example / articles on how to perform updates to an Open GL ES texture (without using low Performing glTexSubImage2D approach) in a zero copy approach.
I am currently focused on odroid XU3 with MALI T628 running ubuntu.
I studied and tried eglcreateImageKHR approach without success (I cannot create an eglImage: error EGL_BAD_PARAMETER is returned when using EGL_NATIVE_PIXMAP_KHRas a target).
I read that MALI driver has support for UMP data transfer, but I still need a reference to the inner buffer in a openGL ES texture.
Any help needed
A colleague has pointed me to this thread: How to share texture memory between CPU/GPU for firefly's/rk3288 fbdev Mali-T764
The required parts needed is currently not available in the driver version r5pX, but should be available to you in the next release.
Please note that when we release new drivers, there may be a delay before our partners decide to update their BSPs such as HardKernel in your example, and this is out of our control. As such I am unable to give you an accurate estimate on how long it would take before the update is available to you.
Thanks a lot Michael
First of all I cleaned my source code and commited to git
Then I was able to step forward: eglCreateImageKHR now works, but I am
still not able to draw texture changes to screen.
In order to have eglCreateImageKHR working I had to invert intialisation
sequence: instead of setting up EGL with defaults and try to create a X11
Pixmap according to egl parameters (as is suggested in ARM SDK), I reversed
the order. I initialised X according to default screen and setup egl
according to X parameters.
When I try to run the code in mode 1 (changes to Pixmap are performed using
a memcpy) no changes are drawn on the screen.
When I try to run the code in mode 2 (changes to Pixmap are performed
using XFillRectangle) eglSwapBuffer return with error 0x3000d
The thread you pointed me to refers to fbdev driver version, I am using X11
Regarding the driver (I am not an expert ...). As far as I read r5p1-00rel1
has DMA_BUF implementation. In my understaning this means ability to
perform scatter and gather memory transfer, i.e. ability to copy buffers in
So which feature is needed in the driver in order to perform zero copy
2015-06-04 16:32 GMT+02:00 ARM Connected Community Admin <email@example.com>
<http://community.arm.com/?et=notification.mention> You have beenmentionedby Michael McGeagh<http://community.arm.com/people/mcgeagh?et=notification.mention> *in Re:Rendering using OpenGL ES 2.0/3.0 in a zero copy mode on MALI T628 in ARMConnected Community* - View Michael McGeagh's reference to you<http://community.arm.com/message/28304?et=notification.mention#28304>
<http://community.arm.com/?et=notification.mention> You have been
by Michael McGeagh
<http://community.arm.com/people/mcgeagh?et=notification.mention> *in Re:
Rendering using OpenGL ES 2.0/3.0 in a zero copy mode on MALI T628 in ARM
Connected Community* - View Michael McGeagh's reference to you
I tried fbdev user space driver on xu3.
1) There is a unacceptable tear-off effect, even with a very simple texture.
2) no way to create an an EGLImage