WineD3D: glBlend* fixes

H. Verbeet hverbeet at gmail.com
Wed Sep 27 02:51:12 CDT 2006


On 27/09/06, Chris Robinson <chris.kcat at gmail.com> wrote:
> In the case of WineD3D, it should have an OGL version -> D3D version map. So
> if, say, OGL 2.0 is functionaly equivilant to D3D 9, then it'd report D3D 9
> right off the bat for OGL 2.0 drivers; if added extensions can make it
> functionally equivilant to D3D 10 (say, in the future), then Wine can check
> for those extensions after determining the OGL version. Then if OGL 2.2 is
> functionally equivilant to D3D 10, and 2.2 is detected, then D3D 10 is
> reported right off the bat (assuming Wine has the API structure to handle it,
> of course), and if extensions can make it behave like D3D 11, then Wine can
> check for those extensions after checking the OGL version.
D3D doesn't quite work that way, but it's pretty much irrelevant to
the discussion.

> The bottom line is, though, that if Wine uses OpenGL 2.0, and a driver reports
> OpenGL 2.0 with no extensions (at all), Wine should still be able to use full
> OGL 2.0 functionality. If it doesn't, Wine is broken. By ignoring the version
> number and going on extensions only, you're basically saying "I only use
> OpenGL 1.0, plus whatever suppliments to 1.0 the driver reports".
While theoretically that's correct, I think checking GL version
numbers is more trouble than it's worth. Aside from the version number
not always being quite correct, there's also the issue of some core
functionality being slightly different than the corresponding
extension. Also, I've yet to see a driver that doesn't report the
extension while supporting the functionality in the core.



More information about the wine-devel mailing list