Roderick Colenbrander : wgl: Offer PFD_GENERIC_ACCELERATED on bitmap capable formats.

Alexandre Julliard julliard at winehq.org
Fri May 15 07:47:04 CDT 2009


Module: wine
Branch: master
Commit: c315d75dab48df8bd5466c9264b5fac8a509cf4f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c315d75dab48df8bd5466c9264b5fac8a509cf4f

Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date:   Fri May 15 00:00:49 2009 +0200

wgl: Offer PFD_GENERIC_ACCELERATED on bitmap capable formats.

Windows drivers do this as well and some apps rely on this (it might
fix Sketchup but I can't reproduce the issues on this system).

---

 dlls/winex11.drv/opengl.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
index da04e3e..ed46d69 100644
--- a/dlls/winex11.drv/opengl.c
+++ b/dlls/winex11.drv/opengl.c
@@ -944,7 +944,7 @@ static WineGLPixelFormat *get_formats(Display *display, int *size_ret, int *onsc
                     list[size].fmt_id = fmt_id;
                     list[size].render_type = get_render_type_from_fbconfig(display, cfgs[i]);
                     list[size].offscreenOnly = FALSE;
-                    list[size].dwFlags = PFD_DRAW_TO_BITMAP | PFD_SUPPORT_GDI;
+                    list[size].dwFlags = PFD_DRAW_TO_BITMAP | PFD_SUPPORT_GDI | PFD_GENERIC_ACCELERATED;
                     size++;
                     onscreen_size++;
                 }
@@ -1413,9 +1413,12 @@ int CDECL X11DRV_DescribePixelFormat(X11DRV_PDEVICE *physDev,
    * offered the GDI bit either. */
   ppfd->dwFlags |= fmt->dwFlags & (PFD_DRAW_TO_BITMAP | PFD_SUPPORT_GDI);
 
-  pglXGetFBConfigAttrib(gdi_display, fmt->fbconfig, GLX_CONFIG_CAVEAT, &value);
-  if(value == GLX_SLOW_CONFIG)
-      ppfd->dwFlags |= PFD_GENERIC_ACCELERATED;
+  /* PFD_GENERIC_FORMAT - gdi software rendering
+   * PFD_GENERIC_ACCELERATED - some parts are accelerated by a display driver (ICD or MCD)
+   * none set - full hardware accelerated by a ICD
+   *
+   * We only set PFD_GENERIC_ACCELERATED on bitmap formats (see get_formats) as that's what ATI and Nvidia Windows drivers do  */
+  ppfd->dwFlags |= fmt->dwFlags & PFD_GENERIC_ACCELERATED;
 
   pglXGetFBConfigAttrib(gdi_display, fmt->fbconfig, GLX_DOUBLEBUFFER, &value);
   if (value) {




More information about the wine-cvs mailing list