Re: Re: MacOS X [was: how to write snappy benchmark]
Torrey Lyons <[email protected]>
| Newsgroups | gmane.comp.xfree86.forum |
|---|---|
| Message-ID | <p06001805bb2f735ca555@[65.104.119.194]> |
At 8:42 PM +0200 7/7/03, Juliusz Chroboczek wrote: >Interesting. > >TL> Client: "I damaged this region of the window" -> Window Server >TL> Client: "all done with that window for now" -> Window Server >TL> Window Server sets up DMA transfer to video card of damaged region > >How's the actual compositing done? If the window's Opaque flag is set the window server can optimize this case and not have to worry about compositing with anything underneath. Otherwise the window server composites down to the highest opaque window. The details of this are buried in proprietary Apple code. > (Is the driver interface published?) The low level driver interface is published but not really documented. The IOKit video drivers are all sub-classes of IOFramebuffer and IOAccelerator in the kernel. The source for these classes is part of the Darwin open source code. Such documentation as exists is at: <http://developer.apple.com/documentation/Darwin/Reference/Kernel/IOFramebuffer/Classes/IOFramebuffer/index.html> - In kernel interface <http://developer.apple.com/documentation/Darwin/Reference/IOKit/IOGraphicsLib/index.html> - Interface for user space clients The second of these I wrote and contributed after spending some quality time reading the kernel source. The only IOGraphicsLib client I know of besides Apple's CoreGraphics window server is XDarwin, so you can see why documenting these interfaces has not been a priority. At some point a brave soul may document the details of IOGraphicLib's interface to IOAccelerator. At 8:05 PM +0100 7/7/03, Torgeir Veimo wrote: >Quartz has two components, Quartz Compositor and Quartz 2D Yes, Quartz = marketing speak for CoreGraphics. --Torrey