Fix wrong used PFD_GENERIC_ACCELERATED flag

Peter Beutner p.beutner at gmx.net
Thu Nov 17 16:38:59 CST 2005


- Fix wrong used PFD_GENERIC_ACCELERATED flag.
It indicates that the selected pixel format lacks full hardware acceleration and only a
few parts a accelerated. So don't always set it but only if the X server actually reports
that the selected pixel format is not fully accelerated.
- fix spelling mistake
-------------- next part --------------
diff --git a/dlls/x11drv/opengl.c b/dlls/x11drv/opengl.c
--- a/dlls/x11drv/opengl.c
+++ b/dlls/x11drv/opengl.c
@@ -358,11 +358,15 @@ int X11DRV_DescribePixelFormat(X11DRV_PD
   ppfd->nVersion = 1;
 
   /* These flags are always the same... */
-  ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_GENERIC_ACCELERATED;
-  /* Now the flags extraced from the Visual */
+  ppfd->dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
+  /* Now the flags extracted from the Visual */
 
   wine_tsx11_lock();
 
+  pglXGetFBConfigAttrib(gdi_display, cur, GLX_CONFIG_CAVEAT, &value);
+  if(value == GLX_SLOW_CONFIG)
+      ppfd->dwFlags |= PFD_GENERIC_ACCELERATED;
+
   pglXGetFBConfigAttrib(gdi_display, cur, GLX_DOUBLEBUFFER, &value); if (value) ppfd->dwFlags |= PFD_DOUBLEBUFFER;
   pglXGetFBConfigAttrib(gdi_display, cur, GLX_STEREO, &value); if (value) ppfd->dwFlags |= PFD_STEREO;
 


More information about the wine-patches mailing list