Mali-400 MP2 glReadPixels alternatives

Hello everyone,

I'm working on ZynqMP platform with Mali-400 MP2. I configured
headless-EGL backend to render offscreen. I'm using
eglCreatePbufferSurface to initialize egl surface, then I render to a
texture and read the data back with glReadPixels.

The problem is that glReadPixels makes things really slow. I only get
around 10 FPS if I run glgears (a headless version of es2gears actually).

What I tried so far:

1) I followed this advice to use different surfaces for read and write:
It does not give me any FPS boost.

2) I tried to use glMapBuffer. But with Mali-440 I only have gles2 and
GL_PIXEL_PACK_BUFFER seems to be not supported in gles2.

3) I looked into using eglCreatePixmapSurface as e.g. here:
But it seems to be Samsung specific. And on my platform
EGLNativePixmapType is typedefed to khronos_uintptr_t.

Environment information:
libMali and kernel module version: r8p0-01rel0
Mali module flags:

Any help would be appreciated.

More questions in this forum