[PATCH] vfb: Re-enable GLX extension

Adam Jackson ajax at redhat.com
Thu Sep 27 14:12:27 PDT 2012


This used to work in 1.12, but the extension rework broke things.

Signed-off-by: Adam Jackson <ajax at redhat.com>
---
 hw/vfb/InitOutput.c | 16 ++++++++++++++++
 hw/vfb/Makefile.am  | 10 ++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index 955624f..8c73ef2 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -66,6 +66,10 @@ from The Open Group.
 #endif                          /* HAS_SHM */
 #include "dix.h"
 #include "miline.h"
+#ifdef GLXEXT
+#include "glxserver.h"
+#include "glx_extinit.h"
+#endif
 
 #define VFB_DEFAULT_WIDTH      1280
 #define VFB_DEFAULT_HEIGHT     1024
@@ -885,12 +889,24 @@ vfbScreenInit(ScreenPtr pScreen, int argc, char **argv)
 
 }                               /* end vfbScreenInit */
 
+#ifdef GLXEXT
+static ExtensionModule vfb_glx_ext = {
+    GlxExtensionInit,
+    "GLX",
+    &noGlxExtension
+};
+#endif
+
 void
 InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
 {
     int i;
     int NumFormats = 0;
 
+#ifdef GLXEXT
+    LoadExtension(&vfb_glx_ext, TRUE);
+#endif
+
     /* initialize pixmap formats */
 
     /* must have a pixmap depth to match every screen depth */
diff --git a/hw/vfb/Makefile.am b/hw/vfb/Makefile.am
index 9f4992c..319f10c 100644
--- a/hw/vfb/Makefile.am
+++ b/hw/vfb/Makefile.am
@@ -3,9 +3,14 @@ SUBDIRS = man
 bin_PROGRAMS = Xvfb
 noinst_LIBRARIES = libfbcmap.a
 
+if GLX
+GLX_LIB = $(top_srcdir)/glx/libglx.la
+endif
+
 AM_CFLAGS = -DHAVE_DIX_CONFIG_H \
             $(XVFBMODULES_CFLAGS) \
-	    $(DIX_CFLAGS)
+	    $(DIX_CFLAGS) \
+	    -I$(top_srcdir)/glx
 
 SRCS =	InitInput.c \
 	InitOutput.c \
@@ -22,7 +27,8 @@ XVFB_LIBS = \
         @XVFB_LIBS@ \
 	libfbcmap.a \
 	$(MAIN_LIB) \
-	$(XSERVER_LIBS)
+	$(XSERVER_LIBS) \
+	$(GLX_LIB)
 
 Xvfb_LDADD = $(XVFB_LIBS) $(XVFB_SYS_LIBS) $(XSERVER_SYS_LIBS)
 Xvfb_DEPENDENCIES = $(XVFB_LIBS)
-- 
1.7.12



More information about the xorg-devel mailing list