[PATCH xserver 3/4] miinitext: Load GLX on the mi path

Adam Jackson ajax at redhat.com
Fri Feb 2 19:15:16 UTC 2018


Add a stub for Xnest so it continues to link, but otherwise we support
GLX on every server so there's no need to make every DDX add it.

Signed-off-by: Adam Jackson <ajax at redhat.com>
---
 hw/dmx/dmxinit.c               |  3 ---
 hw/kdrive/ephyr/ephyrinit.c    | 16 ----------------
 hw/vfb/InitOutput.c            | 15 ---------------
 hw/xfree86/dixmods/glxmodule.c |  6 ------
 hw/xnest/Init.c                |  7 +++++++
 hw/xquartz/quartz.c            | 21 ---------------------
 hw/xwayland/xwayland.c         |  3 ---
 hw/xwin/InitOutput.c           |  1 -
 include/extinit.h              |  1 +
 include/glx_extinit.h          |  3 +--
 mi/miinitext.c                 |  3 +++
 test/Makefile.am               |  4 ++++
 12 files changed, 16 insertions(+), 67 deletions(-)

diff --git a/hw/dmx/dmxinit.c b/hw/dmx/dmxinit.c
index d1ffcc538..02031ed7c 100644
--- a/hw/dmx/dmxinit.c
+++ b/hw/dmx/dmxinit.c
@@ -536,9 +536,6 @@ static void dmxAddExtensions(void)
 {
     const ExtensionModule dmxExtensions[] = {
         { DMXExtensionInit, DMX_EXTENSION_NAME, NULL },
-#ifdef GLXEXT
-        { GlxExtensionInit, "GLX", &noGlxExtension },
-#endif
     };
 
     LoadExtensionList(dmxExtensions, ARRAY_SIZE(dmxExtensions), TRUE);
diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
index 947a6e8ef..abc35dfca 100644
--- a/hw/kdrive/ephyr/ephyrinit.c
+++ b/hw/kdrive/ephyr/ephyrinit.c
@@ -58,25 +58,9 @@ InitCard(char *name)
     KdCardInfoAdd(&ephyrFuncs, 0);
 }
 
-static const ExtensionModule ephyrExtensions[] = {
-#ifdef GLXEXT
- { GlxExtensionInit, "GLX", &noGlxExtension },
-#endif
-};
-
-static
-void ephyrExtensionInit(void)
-{
-    LoadExtensionList(ephyrExtensions, ARRAY_SIZE(ephyrExtensions), TRUE);
-}
-
-
 void
 InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
 {
-    if (serverGeneration == 1)
-        ephyrExtensionInit();
-
     KdInitOutput(pScreenInfo, argc, argv);
 }
 
diff --git a/hw/vfb/InitOutput.c b/hw/vfb/InitOutput.c
index 2b7bca5fa..407f2afcd 100644
--- a/hw/vfb/InitOutput.c
+++ b/hw/vfb/InitOutput.c
@@ -957,27 +957,12 @@ vfbScreenInit(ScreenPtr pScreen, int argc, char **argv)
 
 }                               /* end vfbScreenInit */
 
-static const ExtensionModule vfbExtensions[] = {
-#ifdef GLXEXT
-    { GlxExtensionInit, "GLX", &noGlxExtension },
-#endif
-};
-
-static
-void vfbExtensionInit(void)
-{
-    LoadExtensionList(vfbExtensions, ARRAY_SIZE(vfbExtensions), TRUE);
-}
-
 void
 InitOutput(ScreenInfo * screen_info, 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 */
diff --git a/hw/xfree86/dixmods/glxmodule.c b/hw/xfree86/dixmods/glxmodule.c
index c3d92fa92..2215c8867 100644
--- a/hw/xfree86/dixmods/glxmodule.c
+++ b/hw/xfree86/dixmods/glxmodule.c
@@ -47,10 +47,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 static MODULESETUPPROTO(glxSetup);
 
-static const ExtensionModule GLXExt[] = {
-    { GlxExtensionInit, "GLX", &noGlxExtension },
-};
-
 static XF86ModuleVersionInfo VersRec = {
     "glx",
     MODULEVENDORSTRING,
@@ -85,7 +81,5 @@ glxSetup(void *module, void *opts, int *errmaj, int *errmin)
         GlxPushProvider(provider);
     xorgGlxCreateVendor();
 
-    LoadExtensionList(GLXExt, ARRAY_SIZE(GLXExt), FALSE);
-
     return module;
 }
diff --git a/hw/xnest/Init.c b/hw/xnest/Init.c
index e8a700e88..b45685216 100644
--- a/hw/xnest/Init.c
+++ b/hw/xnest/Init.c
@@ -47,6 +47,13 @@ is" without express or implied warranty.
 
 Bool xnestDoFullGeneration = True;
 
+#ifdef GLXEXT
+void
+GlxExtensionInit(void)
+{
+}
+#endif
+
 void
 InitOutput(ScreenInfo * screen_info, int argc, char *argv[])
 {
diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c
index c8ea3bf8b..980aa4a36 100644
--- a/hw/xquartz/quartz.c
+++ b/hw/xquartz/quartz.c
@@ -149,25 +149,6 @@ QuartzSetupScreen(int index,
     return TRUE;
 }
 
-static const ExtensionModule quartzExtensions[] = {
-    /* PseudoramiX needs to be done before RandR, so
-     * it is in miinitext.c until it can be reordered.
-     * { PseudoramiXExtensionInit, "PseudoramiX", &noPseudoramiXExtension },
-     */
-#ifdef GLXEXT
-    {GlxExtensionInit, "GLX", &noGlxExtension},
-#endif
-};
-
-/*
- * QuartzExtensionInit
- * Initialises XQuartz-specific extensions.
- */
-static void QuartzExtensionInit(void)
-{
-    LoadExtensionList(quartzExtensions, ARRAY_SIZE(quartzExtensions), TRUE);
-}
-
 /*
  * QuartzInitOutput
  *  Quartz display initialization.
@@ -208,8 +189,6 @@ QuartzInitOutput(int argc,
 
     // Do display mode specific initialization
     quartzProcs->DisplayInit();
-
-    QuartzExtensionInit();
 }
 
 /*
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index c57e72ad5..e07b5d539 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -1060,9 +1060,6 @@ xwl_log_handler(const char *format, va_list args)
 }
 
 static const ExtensionModule xwayland_extensions[] = {
-#ifdef GLXEXT
-    { GlxExtensionInit, "GLX", &noGlxExtension },
-#endif
 #ifdef XF86VIDMODE
     { xwlVidModeExtensionInit, XF86VIDMODENAME, &noXFree86VidModeExtension },
 #endif
diff --git a/hw/xwin/InitOutput.c b/hw/xwin/InitOutput.c
index 95fc68bea..ef19f7941 100644
--- a/hw/xwin/InitOutput.c
+++ b/hw/xwin/InitOutput.c
@@ -113,7 +113,6 @@ static PixmapFormatRec g_PixmapFormats[] = {
 
 static const ExtensionModule xwinExtensions[] = {
 #ifdef GLXEXT
-  { GlxExtensionInit, "GLX", &noGlxExtension },
 #ifdef XWIN_WINDOWS_DRI
   { WindowsDRIExtensionInit, "Windows-DRI", &noDriExtension },
 #endif
diff --git a/include/extinit.h b/include/extinit.h
index 67e300d18..46081ad30 100644
--- a/include/extinit.h
+++ b/include/extinit.h
@@ -78,6 +78,7 @@ extern void GEExtensionInit(void);
 
 #ifdef GLXEXT
 extern _X_EXPORT Bool noGlxExtension;
+extern void GlxExtensionInit(void);
 #endif
 
 #ifdef PANORAMIX
diff --git a/include/glx_extinit.h b/include/glx_extinit.h
index 32b8fcf72..07f3cc855 100644
--- a/include/glx_extinit.h
+++ b/include/glx_extinit.h
@@ -27,9 +27,8 @@
 #define GLX_EXT_INIT_H
 
 /* this is separate due to sdksyms pulling in extinit.h */
+/* XXX this comment no longer makes sense i think */
 #ifdef GLXEXT
-extern void GlxExtensionInit(void);
-
 typedef struct __GLXprovider __GLXprovider;
 typedef struct __GLXscreen __GLXscreen;
 struct __GLXprovider {
diff --git a/mi/miinitext.c b/mi/miinitext.c
index ce9325e29..c8162337c 100644
--- a/mi/miinitext.c
+++ b/mi/miinitext.c
@@ -298,6 +298,9 @@ static const ExtensionModule staticExtensions[] = {
 #ifdef XSELINUX
     {SELinuxExtensionInit, "SELinux", &noSELinuxExtension},
 #endif
+#ifdef GLXEXT
+    {GlxExtensionInit, "GLX", &noGlxExtension},
+#endif
 };
 
 static ExtensionModule *ExtensionModuleList = NULL;
diff --git a/test/Makefile.am b/test/Makefile.am
index 2dbb2df03..12ac327a3 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -153,6 +153,10 @@ if !SPECIAL_DTRACE_OBJECTS
 tests_LDADD += $(top_builddir)/os/libos.la
 endif
 
+if GLX
+tests_LDADD += $(top_builddir)/glx/libglxvnd.la
+endif
+
 BUILT_SOURCES = sdksyms.c
 CLEANFILES += sdksyms.c
 
-- 
2.14.3



More information about the xorg-devel mailing list