I've added indirect rendering support for GL_EXT_framebuffer_object to
Xorg xgl-0-0-1 branch. Right now I'm just using it for mipmap generation
in compiz. It gives a significantly better looking thumbnails. Some
with/without mipmapping screenshots here:
http://freedesktop.org/~davidr/
I've attached a patch that enables client-side FBO support in Mesa.
compiz needs to be linked against mesa built with this patch to support
mipmapping. I've also attached a patch for glproto that is needed to
build the server.
commit?
-David
diff -u -r1.12 glxextensions.c
--- src/glx/x11/glxextensions.c 7 Feb 2006 00:39:56 -0000 1.12
+++ src/glx/x11/glxextensions.c 22 Feb 2006 18:58:34 -0000
@@ -183,6 +183,7 @@
{ GL(EXT_texture_object), VER(1,1), Y, N, N, N },
{ GL(EXT_texture_rectangle), VER(0,0), Y, N, N, N },
{ GL(EXT_vertex_array), VER(0,0), Y, N, N, N },
+ { GL(EXT_framebuffer_object), VER(1,1), Y, N, N, N },
{ GL(3DFX_texture_compression_FXT1), VER(0,0), Y, N, N, N },
{ GL(APPLE_packed_pixels), VER(1,2), Y, N, N, N },
{ GL(APPLE_ycbcr_422), VER(0,0), Y, N, N, N },
diff -u -r1.9 glxextensions.h
--- src/glx/x11/glxextensions.h 7 Feb 2006 00:39:56 -0000 1.9
+++ src/glx/x11/glxextensions.h 22 Feb 2006 18:58:34 -0000
@@ -142,6 +142,7 @@
GL_EXT_texture_mirror_clamp_bit,
GL_EXT_texture_object_bit,
GL_EXT_vertex_array_bit,
+ GL_EXT_framebuffer_object_bit,
GL_3DFX_texture_compression_FXT1_bit,
GL_APPLE_packed_pixels_bit,
GL_APPLE_ycbcr_422_bit,
diff -u ../glproto-1.4.5/glxproto.h ./glxproto.h
--- ../glproto-1.4.5/glxproto.h 2006-02-14 18:08:15.000000000 +0100
+++ ./glxproto.h 2006-02-23 03:37:44.000000000 +0100
@@ -2515,4 +2515,13 @@
/* 299. GL_EXT_blend_equation_separate */
#define X_GLrop_BlendEquationSeparateEXT 4228
+/* 310. GL_EXT_framebuffer_object */
+#define X_GLvop_IsRenderbufferEXT 1422
+#define X_GLvop_GenRenderbuffersEXT 1423
+#define X_GLvop_GetRenderbufferParameterivEXT 1424
+#define X_GLvop_IsFramebufferEXT 1425
+#define X_GLvop_GenFramebuffersEXT 1426
+#define X_GLvop_CheckFramebufferStatusEXT 1427
+#define X_GLvop_GetFramebufferAttachmentParameterivEXT 1428
+
#endif /* _GLX_glxproto_h_ */