From 63bfcd0be46413dda8c22b914d12f66ea5d5c66d Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 23 May 2014 19:36:09 +0200 Subject: libX11 mesa xserver pixman git update 23 May 2014 xserver commit db2e708f31a162c6c66643d3559dd5f3e21ee06b libX11 commit e3dc0d17339e61eaf0b51b8907510984e3bf23cb pixman commit 9cd283b2eb8279824406bfd47b020d21fc00cf82 mesa commit 404387ecd72a4a9ace8c1fa6895823aabfd759ad --- xorg-server/glx/glxext.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'xorg-server/glx/glxext.c') diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c index c0142fe2e..c2de3cedd 100644 --- a/xorg-server/glx/glxext.c +++ b/xorg-server/glx/glxext.c @@ -316,6 +316,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. */ @@ -334,6 +351,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, -- cgit v1.2.3