[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: WGL: add extension checking
From:       "Roderick Colenbrander" <thunderbird2k () gmx ! net>
Date:       2006-10-29 16:51:49
Message-ID: 20061029165149.19910 () gmx ! net
[Download RAW message or body]

Hi,

Today I talked to Stefan and he was worried that adding the WGL extensions to \
opengl_ext.c would cause unneeded overhead. Though WGL extensions aren't called very \
frequently.

Second the 'glXGetProcAddress' protection isn't needed for WGL extensions as I'm \
already doing something similar for it in winex11.drv already. I will post an updated \
version of this patch without the WGL extension in opengl_ext.c soon.

Note that my other WGL patch (the one which adjust wglMakeContextCurrentARB) should \
apply fine, it doesn't depend on this patch.

Roderick

> Hi,
> 
> This is an updated version of the previous patch. I forgot to attach the
> changes to the make_opengl script which created the opengl_ext / opengl_norm
> source code.
> 
> Regards,
> Roderick Colenbrander
> 
> 
> > Hi,
> > 
> > This is a part of a patch which I sent before which rewrote our
> > wglGetProcAddress code and extension loading code. This patch only
> contains the new
> > extension loading code.
> > 
> > Before all OpenGL extensions were loaded using glXGetProcAddress. The
> > returned function pointers were stored in a table. The function
> > wglGetProcAddress then returned a wrapper extension function which
> called the stored
> > function pointer.
> > 
> > The issue is that glXGetProcAddress isn't guaranteed to return NULL when
> > an extension isn't found. This patch makes our extension loading code
> more
> > reliable by checking whether the extension required by the function is
> > really available before calling the display driver to look up a
> function.
> > 
> > This change required some small changes to the make_opengl32 script
> which
> > generates all opengl wrapping code. The table with GL extensions has
> been
> > extended with an extension name field and WGL extensions have been added
> to
> > it aswell. Before there was a 'glx_name' field aswell which was used for
> an
> > Nvidia specific GL extension which added the WGL functions
> > wglAllocateMemoryNV / wglFreeMemoryNV. These functions will soon be
> handled added to
> > winex11.drv as extensions, we won't directly look up the GLX functions
> from
> > opengl32.dll anymore.
> > 
> > Regards,
> > Roderick Colenbrander
> 
> 
> -- 
> Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
> Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer

-- 
Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! 
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic