Porting a mali_egl_image* Utgard application to Midgard

Hi all

We are currently migrating an embedded application from a Mali 400MP2 Utgard platform to one with a Mali T720 Midgard GPU. The application uses the following (probably fairly common) mali_egl_image* code to achieve zero-copy update of a texture:

EGLImageKHR eglImage = eglCreateImageKHR( display, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, (EGLClientBuffer)(&fbPixMap), NULL );
glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, eglImage);
mali_egl_image *mimg = mali_egl_image_lock_ptr( eglImage );
unsigned char *buffer = mali_egl_image_map_buffer( mimg, attribs_rgb );

// update buffer here

mali_egl_image_unmap_buffer( mimg, attribs_rgb );
mali_egl_image_unlock_ptr( eglImage );

These mali_egl_image_* functions do not appear to be available in the mali_midgard driver we received from our chip vendor.

Our application is written in C with, apart from the above, standard openGL ES2 calls.

What would be the equivalent approach for updating a texture directly (ie not using glTexSubImage2D() ) with the T720 Midgard driver? Thankfully the above code exists in a single function and called from many places, so ideally a direct replacement would be fantastic!



More questions in this forum