Hi,
I am working on a linux (directfb/fbdev) port of chromium on a set top box platform which has a Mali-400 GPU.
I have an issue with an HTML application creating a webgl context in RGB (without alpha).
After analysis, we can see that chromium creates a frame buffer object, and tries to attach a texture via glFramebufferTexture2D. When checking the status via glCheckFramebufferStatus, we get the error GL_FRAMEBUFFER_UNSUPPORTED. This issue happens only if the color buffer is in format GL_RGB. There is no issue if the format is GL_RGBA.
it seems that the Mali-400 opengl implementation does not support RGB texture as a frame buffer attachment. Is it the case?
Thanks&Regards,
Lidwine
It seems that the Mali-400 opengl implementation does not support RGB texture as a frame buffer attachment. Is it the case?
Correct - use 32-bit RGBA.
Pete
Thanks for the answer.
Is this behavior present on all types of Mali GPU/drivers versions? Are there any plan for an update to support RGB?
Chromium is creating the texture from the format of the javascript application (to support webgl specifications), which is RGB in this case. This may not be easy to change while keeping the correct webgl rendering.
Thanks,
Is this behavior present on all types of Mali GPU/drivers versions?
All of the Mali-2/3/400 family. The newer Mali-T600/700/800 families support it (however, note that 24-bit surfaces are generally significantly less efficient than 32-bit surfaces, as they are a power of two, therefore do not align neatly on power of two address boundaries)
Are there any plan for an update to support RGB?
No.
HTH,