summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Kubo da Costa <raphael.kubo.da.costa@intel.com>2012-11-16 19:51:58 +0200
committerDaniel Stone <daniel@fooishbar.org>2012-11-21 11:13:55 +1100
commitac1a60e7b6f06fd075cc5bf55d6bc67206a01d29 (patch)
tree0386905e845af068012b8b42ffb10daadb658fab
parent353b14ea77324b3f7b3ea29d6f03618fd9916d5f (diff)
vfb: Initialize the GLX extension again.
This should fix a regression in the 1.13.0 release: commit 5f5bbbe543f65c48ecbb5cce80116a86ca3fbe86 removed a code path used by Xvfb and made it use the default one when initializing extensions. However, this meant the GLX extension was not initialized anymore since it is not part of the `staticExtensions' array. Since it is not possible to just add it to that array after commit aad428b8e21c77397c623b78706eb64b1fea77c9, adopt an approach similar to xwin's and xquartz's and initialize the extension from vfb's `InitOutput'. Signed-off-by: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
-rw-r--r--hw/vfb/InitOutput.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index 07ea8ea93..97eccfd4e 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -65,6 +65,7 @@ from The Open Group.
#endif /* HAS_SHM */
#include "dix.h"
#include "miline.h"
+#include "glx_extinit.h"
#define VFB_DEFAULT_WIDTH 1280
#define VFB_DEFAULT_HEIGHT 1024
@@ -884,12 +885,30 @@ vfbScreenInit(ScreenPtr pScreen, int argc, char **argv)
} /* end vfbScreenInit */
+static const ExtensionModule vfbExtensions[] = {
+#ifdef GLXEXT
+ { GlxExtensionInit, "GLX", &noGlxExtension },
+#endif
+};
+
+static
+void vfbExtensionInit(void)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(vfbExtensions); i++)
+ LoadExtension(&vfbExtensions[i], TRUE);
+}
+
void
InitOutput(ScreenInfo * screenInfo, int argc, char **argv)
{
int i;
int NumFormats = 0;
+ if (serverGeneration == 1)
+ vfbExtensionInit();
+
/* initialize pixmap formats */
/* must have a pixmap depth to match every screen depth */