Thu, 17 Feb 2011 09:13:12 -0800 Fixed bug 1128
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Feb 2011 09:13:12 -0800] rev 5335
Fixed bug 1128 Patrick Baggett 2011-02-16 22:58:33 PST This enhancement is for both x86/x64 Windows. The SDL implementation of mutexes uses the Win32 API interprocess synchronization primitive called a "Mutex". This implementation is subpar because it has a much higher overhead than an intraprocess mutex. The exact technical details are below, but my tests have shown that for reasonably high contention (10 threads on 4 physical cores), it has 13x higher overhead than the Win32 CriticalSection API. If this enhancement is accepted, I will write a patch to implement SDL mutexes using the critical section API, which should dramatically reduce overhead and improve scalability. -- Tech details -- Normally, Win32 Mutexes are used across process boundaries to synchronize separate processes. In order to lock or unlock them, a user->kernel space transition is necessary, even in the uncontented case on a single CPU machine. Win32 CriticalSection objects can only be used within the same process virtual address space and thus to lock one, does not require a user->kernel space transition for the uncontended case, and additionally may spin a short while before going into kernel wait. This small spin allows a thread to obtain the lock if the mutex is released shortly after the thread starts spinning, in effect bypassing the overhead of user->kernel space transition which has higher overhead than the spinning itself.
Thu, 17 Feb 2011 02:31:50 -0800 Fixed bug #1090 (SDL_BlitCopyOverlap() assumes memcpy() operates in order) SDL-1.2
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Feb 2011 02:31:50 -0800] rev 5334
Fixed bug #1090 (SDL_BlitCopyOverlap() assumes memcpy() operates in order) The much more complete fix is in SDL 1.3, but this is a band-aid that will fix the bug for 1.2.
Thu, 17 Feb 2011 02:23:48 -0800 Implemented OpenGL ES RenderClear()
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Feb 2011 02:23:48 -0800] rev 5333
Implemented OpenGL ES RenderClear()
Thu, 17 Feb 2011 02:18:41 -0800 Fixed warnings about unused variables and so forth.
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Feb 2011 02:18:41 -0800] rev 5332
Fixed warnings about unused variables and so forth.
Thu, 17 Feb 2011 02:17:38 -0800 Fixed SDL_RenderClear() if the render driver doesn't implement it.
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Feb 2011 02:17:38 -0800] rev 5331
Fixed SDL_RenderClear() if the render driver doesn't implement it.
Thu, 17 Feb 2011 02:16:30 -0800 Fixed crash when drawing non-textured primitives
Sam Lantinga <slouken@libsdl.org> [Thu, 17 Feb 2011 02:16:30 -0800] rev 5330
Fixed crash when drawing non-textured primitives
Wed, 16 Feb 2011 20:19:02 -0800 Updated deployment target to iPhone/iPad 3.2, and added dependencies on SDL for the demos.
Sam Lantinga <slouken@libsdl.org> [Wed, 16 Feb 2011 20:19:02 -0800] rev 5329
Updated deployment target to iPhone/iPad 3.2, and added dependencies on SDL for the demos.
Wed, 16 Feb 2011 17:17:21 -0800 Fixed bug 1122 (spinlock fails to compile with -march=armv4t)
Sam Lantinga <slouken@libsdl.org> [Wed, 16 Feb 2011 17:17:21 -0800] rev 5328
Fixed bug 1122 (spinlock fails to compile with -march=armv4t)
Wed, 16 Feb 2011 15:56:37 -0800 There are bindings to Go at https://github.com/banthar/Go-SDL
Sam Lantinga <slouken@libsdl.org> [Wed, 16 Feb 2011 15:56:37 -0800] rev 5327
There are bindings to Go at https://github.com/banthar/Go-SDL
Wed, 16 Feb 2011 15:46:12 -0800 Renamed SDL_keysym.h to SDL_keycode.h to avoid confusion.
Sam Lantinga <slouken@libsdl.org> [Wed, 16 Feb 2011 15:46:12 -0800] rev 5326
Renamed SDL_keysym.h to SDL_keycode.h to avoid confusion.
(0) -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 tip