[cairo] Cairo OpenGL ES 2.0 backend is rotting away?

Alexandros Frantzis alexandros.frantzis at linaro.org
Tue Apr 24 04:49:47 PDT 2012

On Tue, Apr 24, 2012 at 10:11:08AM +0000, Henry (Yu) Song - SISA wrote:
>> Thanks for quickly addressing the issue, GLES2 backend works on my
>> desktop PC now. But as discussed on irc, it's a bit sad that this
>> backend does not work on my IGEPv2 board with SGX530 GPU because of
>> missing the needed support for GL_OES_texture_npot extension in SGX
>> hardware or drivers [1].
>> 1.
>> https://bugs.launchpad.net/ubuntu-omap4-extras-graphics/+bug/732053
> Hi, Siahei
> Does SGX530 support GL_IMG_texture_npot?  on SGX540 we have, it
> supports this IMG extension.  So npot is no problem if you add a check
> in cairo-gl-device.c  However, this IMG extension might not support
> npot image when you have extend_repeat or extend_reflect.  


we need NPOT support for GL_REPEAT and GL_MIRRORED_REPEAT (reflect), so
the IMG extension is not enough.

I have some unfinished code that adds support for wrap modes in the
shaders for contexts missing the OES npot extension. When doing the
initial GLES2 port I really hoped that at some point in the near future
all major drivers/hardware would fully support NPOT textures, so we
wouldn't need to complicate the shader code more. It seems we are not
there yet [1], so I guess it's a good time to start working on this
again. I'll keep you posted about my progress.


[1] A quick investigation indicates that current generation SGX and
Tegra GPUs don't support it, whereas Mali and Adreno GPUs do.

More information about the cairo mailing list