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

Chris Niederauer ccn at ccntech.com
Sun Apr 30 17:57:27 CDT 2006


>> This is not a requirement by the processor, per se, but by the OS X
>> ABI.
>
> I see. What a peculiar ABI. Well you can't possibly fix it the way you
> currently do, just force an aligned mmap for the stack when it's first
> allocated.

The stack is allocated at least 16 byte aligned up front.  The issue  
comes later when a function call occurs to OS X ABI from Windows ABI  
and the stack offset may not be 16 byte aligned.  It needs to be  
realigned at this point.  There is supposedly an attribute feature in  
the newest gcc that will allow this to occur in a robust manner and  
work wonders for wine's purposes when it becomes available:
<http://gcc.gnu.org/ml/gcc-patches/2006-02/msg01073.html>


>> On systems that already have roots like the Window Server on OS X and
>> the GDI root on Windows, your system then looks like Linux.
>
> I don't understand. The root window doesn't have to be visible, as
> long as it exists for accounting purposes.

It looks like Nick makes a button that he deals for reference instead  
of a root window, to query opengl limits and whatnot.  This is  
because the OS X X11 simply does not allow a root window without  
covering up the nice composited window server.  It doesn't look nice  
and you can't see any OS X native windows while the rooted mode is  
active.  What I do know is that it would be nice in the long run to  
let users run Wine without X11, but of course that means more work  
for the Mac side of things.

Best,
Chris



More information about the wine-devel mailing list