diff options
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | 2012-11-16 19:51:58 +0200 |
---|---|---|
committer | Matt Dew <marcoz@osource.org> | 2012-12-23 15:22:25 -0700 |
commit | 65642ccb78aa2d4c4e17b9ac42e4ef625c4a6e8b (patch) | |
tree | 10543022542660ef77bfaa896bd04d92908c743f | |
parent | e348e4afc5323779b686ee8ff2f094359664c42e (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.c | 19 |
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 */ |