Currently I create a GraphicsBuffer object, create an EGLImage and bind that EGLImage to a texture and use it as a render target. After that, I can access the underlying graphics buffer data from the application. This works fine in every other device with different GPUs but not on a Huawei device with an Immersion.16 GPU. There's no error generated anywhere, but the buffer from the GraphicsBuffer object I created is just filled with zeroes only. The same problem is also mentioned in this thread too, without any workaround/solution: Is Android direct texture supported on imx6q?
I also found about glTexDirectVIV and glTexDirectVIVMap methods but apparently they only support writing to a texture buffer, not reading from it. Is there a known working way of accessing texture data on Vivante GPUs? Any help is appreciated.
Thanks in advance