summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston Sequoia <jeremyhu@apple.com>2022-06-14 22:10:57 -0700
committerJeremy Huddleston Sequoia <jeremyhu@apple.com>2022-06-14 22:10:57 -0700
commitf62edffef1686e1196ba8ae5616429997f9e434d (patch)
tree4902077ffe44f0aa825fbf76e5c86ad4075afdf4
parent243c2d76fbf4cb28f328c7c83e3aa6f8f85de204 (diff)
downloadxserver-f62edffef1686e1196ba8ae5616429997f9e434d.tar.gz
Revert "glx: Initialize glx even if there are currently no screens attached"
This wasn't intended to be present in the merged patch series. Sorry for the noise. This reverts commit 7e7480ff47dc0789d224f2074f8478ec027008af.
-rw-r--r--glx/glxext.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/glx/glxext.c b/glx/glxext.c
index 0ce8faa76..c201fba86 100644
--- a/glx/glxext.c
+++ b/glx/glxext.c
@@ -320,6 +320,23 @@ GlxPushProvider(__GLXprovider * provider)
__glXProviderStack = provider;
}
+static Bool
+checkScreenVisuals(void)
+{
+ int i, j;
+
+ for (i = 0; i < screenInfo.numScreens; i++) {
+ ScreenPtr screen = screenInfo.screens[i];
+ for (j = 0; j < screen->numVisuals; j++) {
+ if (screen->visuals[j].class == TrueColor ||
+ screen->visuals[j].class == DirectColor)
+ return True;
+ }
+ }
+
+ return False;
+}
+
/*
** Initialize the GLX extension.
*/
@@ -338,6 +355,10 @@ GlxExtensionInit(void)
*stack = &__glXDRISWRastProvider;
}
+ /* Mesa requires at least one True/DirectColor visual */
+ if (!checkScreenVisuals())
+ return;
+
__glXContextRes = CreateNewResourceType((DeleteType) ContextGone,
"GLXContext");
__glXDrawableRes = CreateNewResourceType((DeleteType) DrawableGone,