DDraw, wined3d (d3d8, d3d9) and OpenGL32 in Mac OSX + stack fudging -- x86 only

Nick Burns adger44 at hotmail.com
Sat Apr 29 16:46:33 CDT 2006

Whow I havent posted in a while...
Gottta job -- no more college (but I have to finish my Masters Thesis... 

Ok back to wine

(Mac OSX X86 ONLY)
Some of my friends an I have been working on wine after work and have 
managed to put together some patches

OpenGL dynamic loading
      -- Mac OSX does not need to dlsym every ogl entry point -- it handles 
that for you...
      -- so numerous apple specific changes to make that work right
GLX FBConfig
      -- not supported by mac glx
      -- faked inside of glx with choosevisual (~80,000 calls to choose 
visual with various pixel formats)
      -- this can be done better with agl or cgl or ANYTHING but x11 glx
Stack fudging
      -- mac requires 16 byte aligned stack windows does not
      -- this leads to illegal instructions (aligned wrongly)
      -- until gcc can handle this I have a temporary solution to realign 
stacks using inline asm (fragile and dangerous
      -- but better than crashing)
GLX Root Window
      -- Wine uses the fact that a root window exists in x11 in many 
      -- But no one wants to run the x11 root window on their mac (what the 
b&w checkerz are ugly?)
      -- So I have some fixes for that too -- basically make a button and 
use its context for querying
quartzdrv -- from darwine
      -- I got this to compile and load -- but its not very useful -- it 
makes white boxes
winecoreaudio -- from darwine
      -- I got this to compile and load -- but its not very useful -- it 
crashes ALOT

I think thats all -- WHEW..

ATM -- We have the glx root window fixes and fbconfig fixes in for ddraw and 
d3d and ogl
I have only put the stack fudging asm blocks in specific functions

So what is the next step? Can these changes go into the wine tree (barring 
the stack fudging)

Are people interested in these kinds of fixes?

Also what has Oliver Stieber been up to lately?

Thanks for all the hard work and effort put into wine -- keep it up

- Nick

More information about the wine-devel mailing list