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

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

Children
No data