Ryan C. Gordon
a2878205f5
Simplified Windows RunThread().
...
Removed checks for things that are always true, free unneeded struct before
calling thread entry point, instead of after thread completes.
2011-09-20 17:42:58 -04:00
Ryan C. Gordon
ef9602f026
Implemented x86 and x86-64 spinlock inline asm.
...
Favor it over Mac OS X API for Intel systems (but not GCC atomic intrinsics).
This might get us a little further on Cygwin builds, too.
2011-09-18 03:19:41 -04:00
Ryan C. Gordon
62cdeb1783
Use an actual #error instead of a bogus symbol if there's no spinlock support.
2011-09-18 02:55:45 -04:00
Ryan C. Gordon
b5688aca8a
Patched to compile on some platforms.
2011-09-18 02:09:20 -04:00
Andreas Schiffler
a76b8e0292
Add special cases for empty rectangles in SDL_Rect functions
2011-09-17 22:35:57 -07:00
Ryan C. Gordon
a01b9d69d6
Removed some FIXMEs (Nathan's changes were, in fact, correct).
2011-09-15 23:55:36 -04:00
Ryan C. Gordon
fe04e23133
Merged Nathan Heisey's Haiku work into the main SDL 1.3 branch.
...
This was a Google Summer of Code 2011 project, sponsored by the Haiku project.
We thank Nathan and the other Haiku developers for their support!
2011-09-15 23:51:07 -04:00
Ryan C. Gordon
b84e7104b1
Clean up the win32 compiler warnings for SDL threads, in the 1.3 branch.
2011-09-12 13:36:38 -04:00
Andreas Schiffler
d8556266a2
Fix regression introducted by added parameter check in SDL_EnclosePoints. Add special case to speedup when no result was requested.
2011-09-12 09:00:01 -07:00
Ryan C. Gordon
079d39970c
More work on cleaning out compiler warnings.
2011-09-11 04:02:40 -04:00
Ryan C. Gordon
54294f986d
Some MMX fixes from Patrick Baggett.
...
Original email...
Date: Sat, 10 Sep 2011 13:01:20 -0500
From: Patrick Baggett
To: SDL Development List <sdl@lists.libsdl.org>
Subject: Re: [SDL] SDL_memcpyMMX uses SSE instructions
In SDL_blit_copy.c, the function SDL_memcpyMMX() actually use SSE
instructions.
It is called in this context:
#ifdef __MMX__
if (SDL_HasMMX() &&
!((uintptr_t) src & 7) && !(srcskip & 7) &&
!((uintptr_t) dst & 7) && !(dstskip & 7)) {
while (h--) {
SDL_memcpyMMX(dst, src, w);
src += srcskip;
dst += dstskip;
}
_mm_empty();
return;
}
#endif
This implies that the minimum CPU features are just MMX. There is a
separate SDL_memcpySSE() function.
The SDL_memcpyMMX() function does:
#ifdef __SSE__
_mm_prefetch(src, _MM_HINT_NTA);
#endif
...which tests at compile time if SSE intrinsics are available, not at run
time. It generates the PREFETCHNTA instruction. It also uses _mm_stream_pi()
intrinsic, which generates the MOVNTQ instruction.
If you replace the "MMX" code with:
__m64* d64 = (__m64*)dst;
__m64* s64 = (__m64*)src;
for(i= len / 64; i--;) {
d64[0] = s64[0];
d64[1] = s64[1];
d64[2] = s64[2];
d64[3] = s64[3];
d64[4] = s64[4];
d64[5] = s64[5];
d64[6] = s64[6];
d64[7] = s64[7];
d64 += 8;
s64 += 8;
}
Then MSVC generates the correct movq instructions. GCC (4.5.0) seems to
think that using 2x movl is still better, but then again, GCC isn't actually
that good at optimizing intrinsics as I've found. At least the code won't
crash on my P2 though. :)
Also, there is no requirement for MMX to be aligned to the 8th byte. I
think the author assumed that SSE's 16 byte alignment requirement must
retroactively mean that MMX requires 8 byte alignment. Attached is the full
patch.
Patrick
2011-09-11 01:54:54 -04:00
Ryan C. Gordon
7adf4f848a
Fixed a compiler warning.
2011-09-09 04:48:45 -04:00
Ryan C. Gordon
e612bfc336
Added a newline to the end of a file to quiet old versions of GCC.
2011-09-09 02:43:04 -04:00
Ryan C. Gordon
82df1959c1
Removed legacy Mac OS X dlcompat code.
...
It was only needed for Mac OS X 10.0 through 10.2, so it seems silly to keep
it around for SDL 1.3.
I'll leave it in the 1.2 branch for now, though.
2011-09-09 00:34:48 -04:00
Ryan C. Gordon
4efdd10e16
Fixed compiler warning on 32-bit Mac OS X.
2011-09-07 10:54:14 -04:00
Andreas Schiffler
15eed4cdc2
Added input parameter validation to some SDL_rect functions
2011-09-04 20:34:48 -07:00
Ryan C. Gordon
9b301501da
Fixed a compiler warning on Mac OS X.
...
Thanks to Mattias Holm for the patch!
2011-09-02 14:00:57 -04:00
Ryan C. Gordon
8ad5dc2b68
Fixed a NSLog() format string.
...
Thanks to Mattias Holm for the patch!
2011-09-02 14:00:10 -04:00
Ryan C. Gordon
95221a071a
Patched to compile.
2011-09-01 14:02:12 -04:00
Ryan C. Gordon
d3c8a17a2d
Called method on wrong object in Android exception handler.
...
Fixes Bugzilla #1297 .
Thanks to jon @ rafkind for the patch!
2011-09-01 04:42:09 -04:00
Ryan C. Gordon
03425cf382
Removed unused variable.
2011-09-01 04:34:05 -04:00
Ryan C. Gordon
439009a9d5
Clean up any opened joysticks during SDL_JoystickQuit().
...
Otherwise, these leak memory and maybe operating system handles.
2011-09-01 04:25:15 -04:00
Ryan C. Gordon
370cdc709c
Automated merge with https://bitbucket.org/Markusk/sdl-gsoc
2011-08-29 13:17:07 -04:00
Tim Angus
edc8ca6ac0
* Fix many memory leaks in Android FS code
...
* Set SDL error string with Java exception details when one occurs
* Fix tabulation of SDLActivity::getContext
2011-08-26 13:11:53 +01:00
Ryan C. Gordon
1248146aa2
Removed the MAC_OS_X_VERSION_10_x macros from the 1.3 branch.
2011-08-25 03:11:28 -04:00
Ryan C. Gordon
d58d3cf9d0
Patched to compile on Windows.
2011-08-23 16:47:22 -04:00
Ryan C. Gordon
a52dac6020
Cleaned out functions deprecated in Mac OS X 10.6 SDK.
2011-08-23 15:17:44 -04:00
Ryan C. Gordon
043d6961da
Fixed wrong datatype for shaders and programs.
...
This is a pointer on Mac OS X, so it risked losing data in 64-bit builds.
2011-08-23 06:27:04 -04:00
Nathan Heisey
2922ec5c93
Fixed static misnomers
2011-08-22 21:07:16 +00:00
Nathan Heisey
cd1d00c8bc
Partially cleaned out code
2011-08-22 11:02:05 +00:00
Nathan Heisey
66b34b9372
Temporary mode-setting hack works
2011-08-20 15:16:13 +00:00
Kees Bakker
1a888b5860
Split off SDL_uikitviewcontroller in its own module
2011-08-17 23:26:58 +02:00
Ryan C. Gordon
27c0f06736
Further XAudio2 build test cleanups.
2011-08-22 14:56:46 -04:00
Ryan C. Gordon
3bd23ad70f
Removed SDL_xaudio2.h ... no real need for this to be separate.
2011-08-22 14:37:45 -04:00
Ryan C. Gordon
8dddad9b87
Let XAudio2 target be removed from the build by removing it from SDL_config.h
2011-08-22 14:30:49 -04:00
Ryan C. Gordon
9ef6d797b4
Apple's C runtime has the non-const iconv(), too.
2011-08-22 14:25:11 -04:00
Ryan C. Gordon
1230f810bd
Fixed compiler warning on 64-bit builds.
2011-08-22 13:41:35 -04:00
Ryan C. Gordon
8948722528
RLE: Don't trash alpha channel in copy_32().
...
It was being set to (mask|value) instead of (value).
Thanks to li zhuo for the bug report!
2011-08-22 13:34:58 -04:00
Ryan C. Gordon
89b8d559fd
Apparently glXSwapIntervalEXT() _does_ return a value.
...
Revision 6 of the GLX_EXT_swap_control spec has a typo; the function
signature they list is void, but the docs talk about a return value, and the
glxext.h headers list "int".
2011-08-22 02:26:11 -04:00
Ryan C. Gordon
a13987a2cc
Fix SDL_GL_ACCELERATED_VISUAL on Windows in the 1.3 branch.
...
Fixes Bugzilla #1254 .
Thanks to Thilo Schulz for the patch!
2011-08-21 12:24:27 -04:00
Ryan C. Gordon
979f801b08
Ported ALSA minimum-sample-count fix from 1.2 branch to 1.3.
2011-08-21 11:52:21 -04:00
Ryan C. Gordon
da15752375
Make sure XAudio2 is supported by the DirectX headers at compile time.
2011-08-21 02:35:13 -04:00
Kees Bakker
0495a4f9da
Convert a few TABs into spaces
2011-08-18 22:43:37 +02:00
Nathan Heisey
04be166879
Fixed some problems with switching to/from fullscreen
2011-08-17 13:31:18 +00:00
Ryan C. Gordon
d71e865584
Patched to compile.
2011-08-15 02:51:13 -04:00
Sam Lantinga
f60d3a845a
Don't lose the icon surface if it's freed immediately after SDL_WM_SetIcon()
...
This is a memory leak, but we don't have a good place to free the icon surface a the moment.
2011-08-14 21:57:50 -04:00
Nathan Heisey
3979f76d39
Reduced SEGFAULT occurence on resize?
2011-08-12 16:58:54 +00:00
Nathan Heisey
c5f9b27f63
Fixed OpenGL library loading functions
2011-08-09 16:34:25 +00:00
Nathan Heisey
58e7261c23
Some video fixes
2011-08-08 17:00:38 +00:00
Ryan C. Gordon
de42332c37
Patched to compile on Mac OS X.
2011-08-06 02:15:23 -04:00