mesa3d-dev  

[Mesa3d-dev] Indirect rendering and GL_EXT_framebuffer_object

David Reveman
Wed, 22 Feb 2006 18:45:03 -0800

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_ */