Latest trunk for clutter-glx-texture-pixmap.c has the texture_from_pixmap code paths disabled if non-power-of-two textures are not supported. If I remove the non-power-of-two check, everything runs but I get non-updating textures. If I also force the texture target type to be GLX_TEXTURE_2D_EXT, everything works and I have real GLX texture-from-pixmap textures in Clutter. I'm not sure what the right way is to detect if the code should use GLX_TEXTURE_2D_EXT.

Anyway, for anyone using Intel hardware that isn't able to get TFP working, the following patch might be of use as a temporary hack...

James

--- clutter/glx/clutter-glx-texture-pixmap.c    (revision 3107)
+++ clutter/glx/clutter-glx-texture-pixmap.c    (working copy)
@@ -512,6 +512,8 @@
  else
    attribs[i++] = GLX_TEXTURE_RECTANGLE_EXT;

+  i--;
+  attribs[i++] = GLX_TEXTURE_2D_EXT;
  attribs[i++] = None;

  clutter_x11_trap_x_errors ();
@@ -657,12 +659,7 @@
gboolean
clutter_glx_texture_pixmap_using_extension (ClutterGLXTexturePixmap *texture)
{
-  ClutterGLXTexturePixmapPrivate       *priv;
-
-  priv = CLUTTER_GLX_TEXTURE_PIXMAP (texture)->priv;
-
-  return (_have_tex_from_pixmap_ext
-          && clutter_feature_available (COGL_FEATURE_TEXTURE_NPOT));
+  return (_have_tex_from_pixmap_ext);
}

/**

--
To unsubscribe send a mail to [EMAIL PROTECTED]

Reply via email to