aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xwin
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xwin')
-rw-r--r--xorg-server/hw/xwin/InitOutput.c28
1 files changed, 27 insertions, 1 deletions
diff --git a/xorg-server/hw/xwin/InitOutput.c b/xorg-server/hw/xwin/InitOutput.c
index ceb71ff07..98dcd6909 100644
--- a/xorg-server/hw/xwin/InitOutput.c
+++ b/xorg-server/hw/xwin/InitOutput.c
@@ -144,6 +144,31 @@ winClipboardShutdown(void)
}
#endif
+static const ExtensionModule xwinExtensions[] = {
+#ifdef GLXEXT
+ { GlxExtensionInit, "GLX", &noGlxExtension },
+#endif
+};
+
+/*
+ * XwinExtensionInit
+ * Initialises Xwin-specific extensions.
+ */
+static
+void XwinExtensionInit(void)
+{
+ int i;
+
+#ifdef XWIN_GLX_WINDOWS
+ if ((g_fNativeGl) && (serverGeneration == 1)) {
+ /* install the native GL provider */
+ glxWinPushNativeProvider();
+ }
+#endif
+
+ for (i = 0; i < ARRAY_SIZE(xwinExtensions); i++)
+ LoadExtension(&xwinExtensions[i], TRUE);
+}
#if defined(DDXBEFORERESET)
/*
@@ -681,7 +706,6 @@ OsVendorInit(void)
}
}
-
static void
winUseMsg(void)
{
@@ -895,6 +919,8 @@ InitOutput(ScreenInfo * screenInfo, int argc, char *argv[])
{
int i;
+ XwinExtensionInit();
+
/* Log the command line */
winLogCommandLine(argc, argv);