This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

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:
community.khronos.org/.../619
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:
github.com/.../test.c
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:
    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.

Parents
  • 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

Reply
  • 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

Children
No data