1. 29 Dec, 2011 5 commits
    • Sam Lantinga's avatar
      a468f996
    • Sam Lantinga's avatar
      Fixes bug 1296 - SDL_SetVideoMode crashes because of unaligned MOVAPS instruction · f5c28b24
      Sam Lantinga authored
      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
      f5c28b24
    • Sam Lantinga's avatar
      Fixed bug 1338 - Direct3D renderer should set D3DCREATE_FPU_PRESERVE for not... · ad85c9da
      Sam Lantinga authored
      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)
      ad85c9da
    • Sam Lantinga's avatar
      Fixed bug 1336 - Added a timestamp on all SDL events · 3a7d58dd
      Sam Lantinga authored
      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.
      3a7d58dd
    • Sam Lantinga's avatar
      Fixed bug 1335 - Added support for different pixel formats in OpenGL ES 2 renderer · a76f024e
      Sam Lantinga authored
      Gueniffey 2011-11-23 04:06:31 PST
      
      The attached patch adds native support for
      SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_RGB888, SDL_PIXELFORMAT_BGR888
      a76f024e
  2. 09 Dec, 2011 1 commit
  3. 08 Dec, 2011 1 commit
  4. 07 Dec, 2011 1 commit
  5. 05 Dec, 2011 6 commits
  6. 29 Nov, 2011 5 commits
  7. 28 Nov, 2011 1 commit
  8. 23 Nov, 2011 1 commit
  9. 21 Nov, 2011 1 commit
  10. 20 Nov, 2011 3 commits
  11. 17 Nov, 2011 2 commits
  12. 16 Nov, 2011 1 commit
  13. 15 Nov, 2011 1 commit
    • Sam Lantinga's avatar
      Fixed issues with the touch coordinates in landscape mode. · 5759a8f1
      Sam Lantinga authored
      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.
      5759a8f1
  14. 10 Nov, 2011 5 commits
  15. 09 Nov, 2011 3 commits
  16. 08 Nov, 2011 3 commits