Blob Blame History Raw
diff -up tigervnc-1.2.80-20120905svn4996/unix/xserver/hw/vnc/Makefile.am.jx tigervnc-1.2.80-20120905svn4996/unix/xserver/hw/vnc/Makefile.am
--- tigervnc-1.2.80-20120905svn4996/unix/xserver/hw/vnc/Makefile.am.jx	2012-09-28 13:24:53.000000000 -0400
+++ tigervnc-1.2.80-20120905svn4996/unix/xserver/hw/vnc/Makefile.am	2012-09-28 13:35:59.918561641 -0400
@@ -8,6 +8,10 @@ XREGION_LIB=$(LIB_DIR)/Xregion/libXregio
 OS_LIB=$(LIB_DIR)/os/libos.la
 COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB)
 
+if GLX
+GLX_LIB = $(top_srcdir)/glx/libglx.la
+endif
+
 noinst_LTLIBRARIES = libvnccommon.la
 
 HDRS = RegionHelper.h vncExtInit.h vncHooks.h XserverDesktop.h xorg-version.h \
@@ -35,7 +39,8 @@ Xvnc_CPPFLAGS = $(XVNC_CPPFLAGS) -DTIGER
 	-UHAVE_CONFIG_H \
 	-DXFree86Server -DVENDOR_RELEASE="$(VENDOR_RELEASE)" \
 	-DVENDOR_STRING="\"$(VENDOR_STRING)\"" -I$(TIGERVNC_SRCDIR)/common \
-	-I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir)
+	-I$(top_srcdir)/include ${XSERVERLIBS_CFLAGS} -I$(includedir) \
+	-I$(top_srcdir)/glx
 
 Xvnc_LDADD = $(XVNC_LIBS) libvnccommon.la $(COMMON_LIBS) \
 	$(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XVNC_SYS_LIBS) -lX11
@@ -56,7 +61,7 @@ libvnc_la_CPPFLAGS = $(XVNC_CPPFLAGS) -I
 
 libvnc_la_LDFLAGS = -module -avoid-version -Wl,-z,now
 
-libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB)
+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB) $(GLX_LIB)
 
 EXTRA_DIST = Xvnc.man
 
--- tigervnc-1.2.80-20120905svn4996/unix/xserver/hw/vnc/xvnc.cc.jx	2012-09-05 09:29:19.000000000 -0400
+++ tigervnc-1.2.80-20120905svn4996/unix/xserver/hw/vnc/xvnc.cc	2012-09-28 13:39:41.178815125 -0400
@@ -87,6 +87,17 @@ extern "C" {
 #include "version-config.h"
 #include "site.h"
 #endif
+
+#if XORG >= 113
+#ifdef GLXEXT
+/* C++ really is the worst */
+#define private _private
+#include "glxserver.h"
+#undef private
+#include "glx_extinit.h"
+#endif
+#endif
+
 #undef class
 #undef public
 }
@@ -1562,6 +1573,16 @@ static void vfbClientStateChange(Callbac
   dispatchException &= ~DE_RESET;
 }
 
+#if XORG >= 113
+#ifdef GLXEXT
+static ExtensionModule vnc_glx_ext = {
+    GlxExtensionInit,
+    "GLX",
+    &noGlxExtension
+};
+#endif
+#endif
+
 void
 InitOutput(ScreenInfo *screenInfo, int argc, char **argv)
 {
@@ -1571,6 +1592,13 @@ InitOutput(ScreenInfo *screenInfo, int a
     int i;
     int NumFormats = 0;
 
+#if XORG >= 113
+#ifdef GLXEXT
+    if (serverGeneration == 1)
+        LoadExtension(&vnc_glx_ext, TRUE);
+#endif
+#endif
+
     /* initialize pixmap formats */
 
     /* must have a pixmap depth to match every screen depth */