Commit graph

4925 commits

Author SHA1 Message Date
Sam Lantinga
f5c28b2406 Fixes bug 1296 - SDL_SetVideoMode crashes because of unaligned MOVAPS instruction
t.grundner@goto3d.de 2011-09-01 03:59:17 PDT
I figured out what is going on. GCC 4.5.2 assumes the stack is 16 byte aligned
by default. Therefore there are no AND alignment corrections necessary if we
wish to align a stack variable to a 16 byte boundary. That is bad if your OS
ABI is not 16 byte aligned. Windows 32 bit stacks are 4 byte aligned. This
results in the above mentioned SIGSEGV. This is also no problem if I compile
both SDL.dll and my app with MingW because MinGW/GCC inserts a

        andl    $-16, %esp

instruction right in the beginning of the main function. So at least the stack
of the thread calling the main function is 16 byte aligned. But as soon as I
start to use the SDL.dll from an application not compiled by MinGW there is no
ANDL safing my app.

However there is a GCC option that can change the default stack alignment:

        -mpreferred-stack-boundary=num

Setting num=2 assumes a the stack is aligned to a 4 byte boundary. This results
in GCC inserting the necessary

        andl    $-16, %esp

into SDL_FillRect. Rebuilding SDL with

       ./configure "CFLAGS=-mpreferred-stack-boundary=2 -g -O3"

solved the problem.

IMHO this should also be a problem on Solaris.

The following links contain further information:

http://gcc.gnu.org/onlinedocs/gcc-4.5.2/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

http://www.agner.org/optimize/calling_conventions.pdf
2011-12-29 05:36:39 -05:00
Sam Lantinga
ad85c9da0e Fixed bug 1338 - Direct3D renderer should set D3DCREATE_FPU_PRESERVE for not behaving vastly different on doubles (causes 3rd party lib crashes!)
Jonas Thiem 2011-11-29 12:28:02 PST
Direct3D renderer should set D3DCREATE_FPU_PRESERVE for not behaving vastly
different to OpenGL/software rendering on doubles and break some libraries
really badly.

Most notable affected example: Lua, which does the most unpredictable things
which are really almost impossible to debug/find out for beginners who never
heard this culprit exists.

Since I believe all renderers should behave the same on that doubles simply
work as expected in a program, this should really be changed! (also this wasted
a few days of my life wondering why everything in my program was so broken)
2011-12-29 05:18:16 -05:00
Sam Lantinga
3a7d58ddf8 Fixed bug 1336 - Added a timestamp on all SDL events
Gueniffey 2011-11-23 04:11:31 PST

The attached simple patch adds a timestamp to all SDL events. It is useful to
dismiss old events and add UI responsiveness (my application does some
extensive tasks that creates a delay in the event queue handling. With this
patch, I can deal only with the most recent events.
2011-12-29 05:13:55 -05:00
Sam Lantinga
a76f024ea9 Fixed bug 1335 - Added support for different pixel formats in OpenGL ES 2 renderer
Gueniffey 2011-11-23 04:06:31 PST

The attached patch adds native support for
SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888
2011-12-29 05:11:33 -05:00
Ryan C. Gordon
7023079a50 Don't call -[NSView setAcceptsTouchEvents] if the OS doesn't provide it.
Thanks to Dimiter 'malkia' Stanev for the fix!
2011-12-09 02:32:21 -05:00
Sam Lantinga
f1b292b5fd Ryan gets fewer nuts. :) 2011-12-07 20:34:43 -05:00
Ryan C. Gordon
ab7c9fe945 Added SDL_dropevents to the Xcode project files.
Fixes build.
2011-12-06 21:46:19 -05:00
Ryan C. Gordon
6f62ce7bcc More work to clean up compiler warnings. 2011-12-05 16:45:32 -05:00
Ryan C. Gordon
f98e22682f Patched to compile. 2011-12-05 13:17:57 -05:00
Ryan C. Gordon
5c8b76f6a9 Fixed a tabstop. 2011-12-05 13:13:32 -05:00
Ryan C. Gordon
95de92cbf2 Backed out most of changeset 4b88086910d3, at Andreas's request. 2011-12-05 12:43:50 -05:00
Andreas Schiffler
a6b353dfa5 Fix buildbot sdl-macosx-unix-x86 and sdl-macosx-amd64 compiler warnings 2011-12-05 07:41:20 -08:00
Andreas Schiffler
4d6a742cd1 Updated VS2010 project files 2011-12-04 21:45:34 -08:00
Sam Lantinga
29177954e7 It works better if you compile it. 2011-11-29 02:28:34 -05:00
Sam Lantinga
f98e88676c Better fix, iterate backwards over the array so we don't care whether the close code shuffles things down. 2011-11-29 02:27:34 -05:00
Sam Lantinga
22e0d6fa53 Closing the joystick removes it from the list. 2011-11-29 02:15:39 -05:00
Sam Lantinga
10823d6065 Invalid assert. It's perfectly legit to initialize the joystick subsystem and get no joysticks. 2011-11-29 02:12:24 -05:00
Sam Lantinga
dd506a225a Yes, let's save 32-bit BMP files, very useful for you know, making a game... 2011-11-29 02:11:39 -05:00
Ryan C. Gordon
c06f45e2ba Another iOS 3.1 compatibility fix.
Thanks to Vittorio Giovara for the patch!
2011-11-27 23:30:02 -05:00
Sam Lantinga
6182eb372a No man pages for SDL 1.3 2011-11-23 13:25:45 -05:00
Sam Lantinga
f52f040b3d First pass at a simple drag and drop API, allowing you to accept files dropped into your application. 2011-11-20 19:38:18 -05:00
Ryan C. Gordon
269da4cbfb Make +sharedAppDelegate return a generic object instead of a SDLUIKitDelegate.
This way subclasses can use it without a lot of casting.

Thanks to Vittorio Giovara for the patch!
2011-11-19 19:23:33 -05:00
Ryan C. Gordon
3d371a2143 Check for selectors UIScreen responds to, not the base system version.
Thanks to Vittorio Giovara for the patch!
2011-11-19 19:18:20 -05:00
Ryan C. Gordon
edd6324c83 Fix iOS build when SDL_POWER_UIKIT isn't defined.
Thanks to Vittorio Giovara for the patch!
2011-11-19 19:13:55 -05:00
Sam Lantinga
402034f43f Fixed the aux directory to be the one recognized by automake.
This isn't strictly needed by SDL, but it's a good example for other projects.
2011-11-17 00:43:44 -05:00
Sam Lantinga
1407550e6a Fixed where we set the content scale - it's used by the renderbufferStorage:GL_RENDERBUFFER_OES call. 2011-11-17 00:41:07 -05:00
Ryan C. Gordon
82db09310f Patched to compile on newer FreeBSD releases.
Thanks to Marcus von Appen for the patch!
2011-11-16 05:13:40 -05:00
Sam Lantinga
5759a8f1db Fixed issues with the touch coordinates in landscape mode.
In landscape mode the frame stays the same, and the transform property is modified with the appropriate rotation.
The touch coordinates are rotated by the transform, so if I want to normalize them by the frame rect, I have to transform the frame rect first.
2011-11-15 01:38:27 -05:00
Sam Lantinga
f9a731d576 Fixed whitespace 2011-11-10 06:38:26 -05:00
Sam Lantinga
795a68e8a8 Work in progress fixing support for rotated video modes 2011-11-10 03:48:59 -05:00
Sam Lantinga
97ae2354eb Fixed issues closing lines with the OpenGL ES renderer. 2011-11-10 00:22:44 -05:00
Sam Lantinga
a6adb03997 Fixed an offset issue with glDrawTexiOES() when the viewport is set. 2011-11-10 00:22:01 -05:00
Sam Lantinga
51dad9cf5e GIMP wrote bmp files in RGBX format. Huh. 2011-11-09 22:53:44 -05:00
Sam Lantinga
3d98438877 Fixed creating a fullscreen window on iOS 2011-11-09 02:35:49 -05:00
Ryan C. Gordon
922a04d060 Fixed compiler warnings for uninitialized variables. 2011-11-09 00:27:44 -05:00
Ryan C. Gordon
9bfdb9ee33 Fixed uninitialized variable. 2011-11-08 19:45:41 -05:00
Ryan C. Gordon
311a3e9453 Merge from https://bitbucket.org/keestux/sdl ... SDL_gesture code cleanup. 2011-11-08 16:24:02 -05:00
Sam Lantinga
a61775dde5 To answer the FIXME, no, we shouldn't force this. The fullscreen flag implies borderless behavior even though the flag isn't set on the window (in case fullscreen is toggled) 2011-11-08 00:17:41 -05:00
Sam Lantinga
c9bb3c7072 The iOS driver sets the fullscreen and shown flags on the window during creation, so we need the mode code to be aware of that, since none of the other fullscreen/shown code paths get run.
FIXME: Maybe we need a better way of detecting that?
2011-11-08 00:03:54 -05:00
Sam Lantinga
e2d1d0aec3 Fixed a typo, we should set the driverdata if we are 3.2 or newer. 2011-11-08 00:02:47 -05:00
Sam Lantinga
918d8540ea Fixed list loop caused when there are two entries in the list and the one being returned is already at the head. 2011-11-07 23:10:49 -05:00
Sam Lantinga
c5b4e5f63e Fixed SDL applications being killed immediately after being backgrounded, because they were trying to draw while minimized. 2011-11-07 23:07:00 -05:00
Sam Lantinga
352caf548a Need to send a key up, silly. 2011-11-07 02:24:52 -05:00
Sam Lantinga
2c5a3ddb62 Fixed a typo in the header. 2011-11-07 02:25:01 -05:00
Sam Lantinga
0a82b3eefe Fixed double-free in the shader cache at shutdown 2011-11-07 00:45:13 -05:00
Ryan C. Gordon
a5bb3d3f60 Mac OS X: Fixed build when compiling without Cocoa support.
Thanks to Martin Gerhardy for the patch!
2011-11-06 17:05:48 -05:00
Ryan C. Gordon
4220f125c3 Fixed some preprocessor mistakes introduced in iOS project cleanup. 2011-11-03 11:51:47 -04:00
Ryan C. Gordon
9f84d0e002 Fix crash on X servers without UTF-8 support. 2011-10-31 23:37:57 -04:00
Sam Lantinga
ad2a21d404 Lots of fixes importing SDL source wholesale into a new iOS project
--HG--
rename : src/libm/math.h => src/libm/math_libm.h
2011-10-31 05:56:58 -04:00
Sam Lantinga
e112859e94 This code works for OpenGL ES 1.1 as well! :) 2011-10-31 03:06:32 -04:00