gles: don't check for glClientActiveTexture

in cogl-ext-functions.h we had one multitexture feature that checked for
the ARB_multitexture extension and if found it then expected to find
glActiveTexture and glClientActiveTexture. The problem is that the
multitexture extension is part of the core GLES 1 and 2 APIs except that
for GLES2 there is no glClientActiveTexture function. By trying to
handle it as one feature that meant that Cogl would fail to check the
multitexture extension which is a hard requirement for Cogl.

The reason this went unnoticed is because Cogl can indirectly end up
linked to an OpenGL library via cairo and so we were finding a
glClientActiveTexture symbol there. This highlights that we should
probably stop using g_module_open (NULL) when checking features and
instead we should use the module we opened in cogl-renderer.c.
This commit is contained in:
Robert Bragg 2011-07-19 23:21:30 +01:00
parent 1144a05bfd
commit 52a5fae136

View File

@ -598,13 +598,18 @@ COGL_EXT_END ()
/* Available in GL 1.3, the multitexture extension or GLES. These are
required */
COGL_EXT_BEGIN (multitexture, 1, 3,
COGL_EXT_BEGIN (multitexture_part0, 1, 3,
COGL_EXT_IN_GLES |
COGL_EXT_IN_GLES2,
"ARB\0",
"multitexture\0")
COGL_EXT_FUNCTION (void, glActiveTexture,
(GLenum texture))
COGL_EXT_END ()
COGL_EXT_BEGIN (multitexture_part1, 1, 3,
COGL_EXT_IN_GLES,
"ARB\0",
"multitexture\0")
COGL_EXT_FUNCTION (void, glClientActiveTexture,
(GLenum texture))
COGL_EXT_END ()