From 2331fa755798548470bd189f6c3996c02625c83b Mon Sep 17 00:00:00 2001 From: Matthew Allum Date: Thu, 15 Nov 2007 14:45:27 +0000 Subject: [PATCH] 2007-11-15 Matthew Allum * clutter/Makefile.am: * clutter/eglx/Makefile.am: * clutter/eglx/clutter-backend-egl.c: * clutter/eglx/clutter-backend-egl.h: * clutter/eglx/clutter-eglx.h: * clutter/eglx/clutter-event-egl.c: * clutter/eglx/clutter-stage-egl.c: * clutter/eglx/clutter-stage-egl.h: * clutter/glx/Makefile.am: * clutter/glx/clutter-backend-glx.c: * clutter/glx/clutter-backend-glx.h: * clutter/glx/clutter-event-glx.c: * clutter/glx/clutter-glx.h: * clutter/glx/clutter-stage-glx.c: * clutter/glx/clutter-stage-glx.h: * clutter/x11/Makefile.am: * clutter/x11/clutter-backend-x11-private.h: * clutter/x11/clutter-backend-x11.c: * clutter/x11/clutter-backend-x11.h: * clutter/x11/clutter-event-x11.c: * clutter/x11/clutter-stage-x11.c: * clutter/x11/clutter-stage-x11.h: * clutter/x11/clutter-x11.h: Create a new X11 backend class of which EGL and GLX 'real' backends then subclass. Effectively shares all X11 code between both backends avoids code duplication and brings many missing features to EGL X backend. Requires some cleanup and testing. (#518) * clutter/cogl/gles/cogl.c: (cogl_color): Add define to use color4ub only if configure finds it. If not fall back to old code. * configure.ac: Drop support for vincent checks. Drop sdles backend. Specifically check for color4ub call. --- gles/cogl.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gles/cogl.c b/gles/cogl.c index 7a63304eb..172ee122b 100644 --- a/gles/cogl.c +++ b/gles/cogl.c @@ -239,9 +239,10 @@ cogl_enable (gulong flags) void cogl_color (const ClutterColor *color) { +#if HAVE_GLES_COLOR4UB /* * GLES 1.1 does actually have this function, it's in the header file but - * missing in the reference manual: + * missing in the reference manual (and SDK): * * http://www.khronos.org/egl/headers/1_1/gl.h */ @@ -249,6 +250,13 @@ cogl_color (const ClutterColor *color) color->green, color->blue, color->alpha) ); +#else + /* conversion can cause issues with picking on some gles implementations */ + GE( glColor4x ((color->red << 16) / 0xff, + (color->green << 16) / 0xff, + (color->blue << 16) / 0xff, + (color->alpha << 16) / 0xff)); +#endif } void