Ques (1) . I am trying to create the egl surface using eglCreatePBufferFromClientBuffer .
Following are the list of steps that I am doing to get the same.
(I have valid EGLDisplay and have initialized egl and eglBindAPI has been called)
1). Create VGImage handle using vgCreateImage into vgImageHandle
2). eglChooseConfig for pbufferFromClientBuffer into pbufferConfig
3). egl_surface = eglCreatePBufferFromClientBuffer (egl_display,pbufferConfig,EGL_OPENVG_IMAGE,(EGLCl ientBuffer)vgImageHandle,pbufferConfig,NULL).
But when I debug it, I am getting egl_surface value as 0x0. Interestingly my ASSERT_EGL_NO_ERROR() also does not give me any error.
We have AmanithVG as our backend.
Our EGL version is 1.4 Gallium
Ques (2). The thought behind Ques 1 is just out of experiment.
- I am trying to use vg api's like vguRect/vgDrawPath and trying to draw it on the egl surface created using eglCreatePBufferFromClientBuffer .
- I would then be trying to read the pixels into my pre-allocated buffer using vgReadPixels.
I am not very sure whether we can read the pixels like this. But aim is to get the pixel data for the rectangle which vguRect/vgDrawPath might have created over pbufferFromClientBuffer surface.
Any kind of feedback/help/suggestions/answers would be great.
PS: Being new to this EGL/OpenVG stuff, I might have missed out on providing important information for the problem statement, which when pointed out - I would more than happy to share
Thanks in advance.