eglCopyBuffers() issue. How to save a copy of the image disp

In my project I am using egl library to plot a 3D object to the display and concurrently saving the image in a file or an area of memory.
I’m trying to use eglCopyBuffers() to copy a surface to a pixmap in order to obtain the pixel value that are displayed. I’m using an ARM MALI architecture and I would not want to use X11 but writing directly to GNU/Linux framebuffer.
I have few questions:

1)In my method, I pass to eglCopyBuffers function, as ‘native_pixmap’ parameter, an ‘EGLNativePixmapType native_pixmap= NULL’. Is it correct? If I try to allocate a Pixmap (X11 dependent) before calling eglCopyBuffers the system crashes. How should I declare the pixmap if I do not want to use X11 libraries?
In addition, if I do as above, eglCopyBuffers returns an EGL_FALSE error, which means that the swapping of the surface buffers fails.

  1. Is there another simpler method to obtain the image displayed in framebuffer? Should I directly read data from /dev/fb0? I read about the method glReadPixel but it is described as being slow and X11 dependent.

Thank you in advance for your advice.

Kind Regards,

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.