We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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