+2008-04-14 Matthew Allum <mallum@openedhand.com>
+
+ * clutter/cogl/gles/cogl.c: (cogl_color):
+ Disable use of color4ub, issues with latest MBX SDL (#857)
+
+ * clutter/eglx/clutter-backend-egl.c:
+ * clutter/eglx/clutter-stage-egl.c:
+ * configure.ac:
+ Fixup for the eglx backend to work with new backend/multistage code.
+ Some issues remain in destroying stages.
+
2008-04-14 Neil Roberts <neil@o-hand.com>
Bug #853
void
cogl_color (const ClutterColor *color)
{
-#if HAVE_GLES_COLOR4UB
+#if 0 /*HAVE_GLES_COLOR4UB*/
+
+ /* NOTE: seems SDK_OGLES-1.1_LINUX_PCEMULATION_2.02.22.0756 has this call
+ * but is broken - see #857. Therefor disabling.
+ */
+
/*
* GLES 1.1 does actually have this function, it's in the header file but
* missing in the reference manual (and SDK):
color->green,
color->blue,
color->alpha) );
+
+
#else
/* conversion can cause issues with picking on some gles implementations */
GE( glColor4x ((color->red << 16) / 0xff,
#include "../clutter-private.h"
#include "../clutter-main.h"
#include "../clutter-debug.h"
+#include "../clutter-version.h"
static ClutterBackendEGL *backend_singleton = NULL;
ClutterStage *stage)
{
ClutterBackendEGL *backend_egl = CLUTTER_BACKEND_EGL (backend);
- ClutterBackendX11 *backend_x11 = CLUTTER_BACKEND_X11 (backend);
- ClutterStageWindow *impl;
ClutterStageEGL *stage_egl;
ClutterStageX11 *stage_x11;
+ ClutterStageWindow *impl;
impl = _clutter_stage_get_window (stage);
if (!impl)
if (backend_egl->edpy)
{
eglTerminate (backend_egl->edpy);
- backend_egl->edpy = NULL;
+ backend_egl->edpy = 0;
}
G_OBJECT_CLASS (clutter_backend_egl_parent_class)->dispose (gobject);
"GL_VENDOR: %s\n"
"GL_RENDERER: %s\n"
"GL_VERSION: %s\n"
- "EGL_VENDOR: %s\n",
- "EGL_VERSION: %s\n",
+ "EGL_VENDOR: %s\n"
+ "EGL_VERSION: %s\n"
"EGL_EXTENSIONS: %s\n",
glGetString (GL_VENDOR),
glGetString (GL_RENDERER),
g_object_set_data (G_OBJECT (stage), "clutter-backend", backend);
- clutter_actor_realize (backend_x11->stage);
+ clutter_actor_realize (stage);
- if (!CLUTTER_ACTOR_IS_REALIZED (backend_x11->stage))
+ if (!CLUTTER_ACTOR_IS_REALIZED (stage))
{
g_set_error (error, CLUTTER_INIT_ERROR,
CLUTTER_INIT_ERROR_INTERNAL,
CLUTTER_ACTOR_CLASS (clutter_stage_egl_parent_class)->unrealize (actor);
- clutter_x11_trap_x_errors ()
+ clutter_x11_trap_x_errors ();
if (G_UNLIKELY (was_offscreen))
{
}
else
{
- if (!stage_X11->is_foreign_xwin && stage_x11->xwin != None)
+ if (!stage_x11->is_foreign_xwin && stage_x11->xwin != None)
{
XDestroyWindow (stage_x11->xdpy, stage_x11->xwin);
stage_x11->xwin = None;
gint width,
gint height)
{
+ ClutterStage *stage = CLUTTER_STAGE (stage_window);
+
g_warning ("Stages of type `%s' do not support "
"ClutterStageWindow::draw_to_pixbuf",
G_OBJECT_TYPE_NAME (stage));
clutter_gl_header="GLES/gl.h"
CLUTTER_FLAVOUR="eglx"
- CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGLX"
+ CLUTTER_STAGE_TYPE="CLUTTER_TYPE_STAGE_EGL"
AC_DEFINE([HAVE_CLUTTER_EGL], 1, [Have the EGL backend])
# We currently assume having egl means also having gles..