Hello everyone,
I'm working on ZynqMP platform with Mali-400 MP2. I configuredheadless-EGL backend to render offscreen. I'm usingeglCreatePbufferSurface to initialize egl surface, then I render to atexture and read the data back with glReadPixels.
The problem is that glReadPixels makes things really slow. I only getaround 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:community.khronos.org/.../619It does not give me any FPS boost.
2) I tried to use glMapBuffer. But with Mali-440 I only have gles2 andGL_PIXEL_PACK_BUFFER seems to be not supported in gles2.
3) I looked into using eglCreatePixmapSurface as e.g. here:github.com/.../test.cBut it seems to be Samsung specific. And on my platformEGLNativePixmapType is typedefed to khronos_uintptr_t.
Environment information:libMali and kernel module version: r8p0-01rel0Mali module flags: CONFIG_MALI400=y CONFIG_MALI400_PROFILING=n CONFIG_MALI400_DEBUG=y CONFIG_MALI_DT=y CONFIG_MALI_SHARED_INTERRUPTS=y CONFIG_MALI_DVFS=n
Any help would be appreciated.
Hi peter,
I am using the mali-400mp2 too. I have a fbdev backend and I have created a surface with eglCreatePixmapSurface.
I can read the data back with glReadPixels() correctly now, but it is too slow. Maybe the result has been passed to somewhere like display controller, but how can I get the address? I have tried to copy the data from the fbdev_pixmap.data, but it retures zero all the time