SDL 1.2.14 on Mac OS X 10.7 |
philstopford
|
Yes. I see the same issues here under Lion DP4.
|
|||||||||||
|
kbaker
|
Thanks Phil. I've filed a bug in the SDL Bugzilla bug tracker. The ID number is 1215. I'll post here if there is any progress. -Kirk |
|||||||||||||
|
kbaker
|
I've done some debugging on this issue.
CGDisplayBaseAddress() has been deprecated in 10.6 and while it still exists on 10.7, it now returns NULL instead of the display's base address. SDL_SetVideoMode() ends up calling a number of deprecated CG functions via the Quartz implementation including CGDisplayBaseAddress(). It is SDL_SetVideoMode()'s call to SDL_ClearSurface() that actually causes the crash when it tries to clear the frame buffer memory at address zero. A new set of APIs has been added as of 10.6 and while they let you capture a display, they do not allow direct frame buffer access. Quartz or OpenGL are the only methods that can update a captured display. The work to switch to the new APIs in the context of SDL is not trivial. I downloaded a snapshot of the SDL 1.3 sources and see that, sadly, the Mac OS X implementation is still using the deprecated functions. -Kirk |
|||||||||||
|
SDL 1.2.14 on Mac OS X 10.7 |
Ryan C. Gordon
Guest
|
SDL 1.3 uses OpenGL by default, even for "software" surfaces. I imagine we have some CoreGraphics cruft to clean out still, but SDL 1.3 shouldn't be trying to write to the frame buffer. To be sure, we definitely don't call CGDisplayBaseAddress() anymore. Maybe you have a really old snapshot? --ryan. _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
SDL 1.2.14 on Mac OS X 10.7 |
Ryan C. Gordon
Guest
|
Is this true on 32-bit programs, too, or did they only do this for 64-bit programs? --ryan. _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
Re: SDL 1.2.14 on Mac OS X 10.7 |
kbaker
|
Not that specific function, but things like CGDisplaySwitchToMode() are still in use in 1.3 and it's deprecated in 10.6. I don't know if the remaining functions act differently in 10.7 or not. I did get the tar.gz file from the main SDL page today. I think it was pretty current. -Kirk |
|||||||||||||||
|
Re: SDL 1.2.14 on Mac OS X 10.7 |
kbaker
|
Our application is 32-bit only at this time. I can't speak for the functionality of CGDisplayBaseAddress() for 64-bit apps when running on 10.7. -Kirk |
|||||||||||||||
|
SDL 1.2.14 on Mac OS X 10.7 |
Jjgod Jiang
Guest
|
On Thu, Jun 23, 2011 at 10:24 AM, kbaker wrote:
They still work, I've tried.
- Jiang _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||||
|