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

How to use fbdev_pixmap structure passed to eglCreatePixmapSurface create Surface

Hi,
I now use the fbdev window system, I assign a fbdev_pixmap structure configured corresponding content, pass it to eglCreatePixmapSurface function, but get to the error information 0x0000300A
Such as:
Error: eglCreatePixmapSurface failed Error: 0x0000300A
I will be how to configure fbdev_pixmap structure content, there is no successful example sent to me ah?

Thank you

Parents
  • HI,Rich

    thanks for your answer. Now we have successfully created EGLImage by the function eglCreateImageKHR, with EGL_NATIVE_PIXMAP_KHR as target and fbdev_pixmap as EGLClientBuffer, and we have output the image onto the screen now. But to make the format of the data match with our decoder, we have to make the data of the EGLImage support the formats ,YUV420/YUV422/YUV411/YUV444 .etc. Could you please give me some advices on how to create an EGLImage in formats above?

    Thank you very much.  

    yueliu

Reply
  • HI,Rich

    thanks for your answer. Now we have successfully created EGLImage by the function eglCreateImageKHR, with EGL_NATIVE_PIXMAP_KHR as target and fbdev_pixmap as EGLClientBuffer, and we have output the image onto the screen now. But to make the format of the data match with our decoder, we have to make the data of the EGLImage support the formats ,YUV420/YUV422/YUV411/YUV444 .etc. Could you please give me some advices on how to create an EGLImage in formats above?

    Thank you very much.  

    yueliu

Children
  • Hi yueliu,

    I have done some digging for you and have found the following:

    You need to explicity allocate memory for the native pixmaps in the client app as the DDK will not do so.  This needs to be either malloc'd or allocated through another supported memory scheme, for example UMP.  If this isn't done, the DDK may start writing/copying data into the fbdev_pixmap structure data field which is then uninitialized/unallocated data.

    Secondly, if you are not using UMP, you should be aware that is it not possible to have zero-copy of native pixmaps as the GPU will have to copy the rendering output into the malloc'd buffer in the client app by calling eglWaitClient for example.

    Finally regarding YUV - there are currently no supported fbdev pixmaps for this.  I can suggest you treat each plane as a separate alpha-only pixmap then use optimized GLES shaders to do YUV->RGBA conversion.

    Hopefully this is helpful,

    Rich