summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaphael Kubo da Costa <raphael.kubo.da.costa@intel.com>2012-11-16 19:51:58 +0200
committerMatt Dew <marcoz@osource.org>2012-12-23 15:22:25 -0700
commit65642ccb78aa2d4c4e17b9ac42e4ef625c4a6e8b (patch)
tree10543022542660ef77bfaa896bd04d92908c743f
parente348e4afc5323779b686ee8ff2f094359664c42e (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 955624f3d..5f20a1e0d 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -66,6 +66,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
@@ -885,12 +886,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 */