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

Pixel format support for EGLImage/GraphicBuffer?

I am using EGLImage in combination with Android GraphicBuffers to remove the need to copy to/from GPU memory. The problem is it seems only one format is supported (RGBA8888). I would like to confirm this, either by quering the driver or if you have the answer here.

1. Is there a way to get this information from the driver?

2. Is there a list of supported GraphicBuffer formats?

Parents
  • Hi, thanks for answering. So it seems the only way to find this out is by trial and error? I can get back with the specific errors on the platforms I use.

    In general, I am trying to render YUV buffers from the camera in OpenGL ES without using glTexImage2D/glReadPixels for texture loading. One problem is OpenGL ES has very limited support for YUV formats. I know there exists an extension on some drivers (EGL external image) where you can sample YUV, but that includes automatic conversion to RGBA which I don't want, and I don't think it can be used to render TO a buffer (i.e. automatic conversion back to YUV from RGBA). Please correct me if I'm wrong though.

    I've been thinking of switching to OpenCL instead, since I've heard the support is better for this format. What would you suggest is the best solution for Mali GPU regarding this problem?

    Best regards,

    Emil Westergren

Reply
  • Hi, thanks for answering. So it seems the only way to find this out is by trial and error? I can get back with the specific errors on the platforms I use.

    In general, I am trying to render YUV buffers from the camera in OpenGL ES without using glTexImage2D/glReadPixels for texture loading. One problem is OpenGL ES has very limited support for YUV formats. I know there exists an extension on some drivers (EGL external image) where you can sample YUV, but that includes automatic conversion to RGBA which I don't want, and I don't think it can be used to render TO a buffer (i.e. automatic conversion back to YUV from RGBA). Please correct me if I'm wrong though.

    I've been thinking of switching to OpenCL instead, since I've heard the support is better for this format. What would you suggest is the best solution for Mali GPU regarding this problem?

    Best regards,

    Emil Westergren

Children