Commit graph

4640 commits

Author SHA1 Message Date
Andreas Schiffler
e9174b8226 Add tests for SDL_RectEquals and empty rectangle cases 2011-09-17 22:37:31 -07:00
Andreas Schiffler
1694584d77 Add special cases for empty rectangles in SDL_Rect functions 2011-09-17 22:35:57 -07:00
Andreas Schiffler
6c74730331 Fix SDL_RectEquals define 2011-09-17 22:35:10 -07:00
Andreas Schiffler
9d8f2b6917 Add test cases for SDL_RectEmpty 2011-09-16 08:26:20 -07:00
Andreas Schiffler
6e3ff8fdf5 Add NULL handling in SDL_RectEmpty and SDL_RectEquals 2011-09-16 08:25:49 -07:00
Ryan C. Gordon
a90884b482 Removed some FIXMEs (Nathan's changes were, in fact, correct). 2011-09-15 23:55:36 -04:00
Ryan C. Gordon
99f00f09bd 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
Andreas Schiffler
13e13cd331 Added tests for SDL_UnionRect to testrect suite 2011-09-15 08:21:54 -07:00
Markus Kauppila
0ad7b65021 Cleans up the logger output a bit. Removes fuzzer invocation count
from the log if the fuzzer isn't used.
2011-09-10 19:27:39 +03:00
Ryan C. Gordon
15c4fb2a9d Clean up the win32 compiler warnings for SDL threads, in the 1.3 branch.
--HG--
extra : rebase_source : 420916ed06d79e2d3c1d50e5fb40314ac7d94d85
2011-09-12 13:36:38 -04:00
Andreas Schiffler
d1cc70ba65 Added tests for SDL_EnclosePoints. 2011-09-12 09:00:34 -07:00
Andreas Schiffler
b1185bef03 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
d7cb5c41ca More work on cleaning out compiler warnings.
--HG--
extra : rebase_source : ab97ecaafc5a22451ea1bf8d4740380cf56f2f98
2011-09-11 04:02:40 -04:00
Ryan C. Gordon
0cbf1928f9 Fixed Win64 builds with MingW. 2011-09-11 03:35:46 -04:00
Ryan C. Gordon
ad214ecb4b 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
289012c8bd Removed sail.bmp reference from Xcode project.
Fixes Buildbot.
2011-09-09 10:45:48 -04:00
Ryan C. Gordon
f77b7f703a Fixed a compiler warning. 2011-09-09 04:48:45 -04:00
Ryan C. Gordon
484c18aa15 Fixed a compiler warning on Visual Studio. 2011-09-09 04:17:47 -04:00
Ryan C. Gordon
a65793b807 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
caedc60d07 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
Andreas Schiffler
5089e0b3d9 Merge changes 2011-09-07 21:47:10 -07:00
Ryan C. Gordon
35ef24dd77 Fixed compiler warning on 32-bit Mac OS X. 2011-09-07 10:54:14 -04:00
Andreas Schiffler
d9a3255b23 Refactored IntersectRectAndLine tests and increased coverage 2011-09-06 23:51:46 -07:00
Andreas Schiffler
1ee4e6dc4f Update SDL_REVISION 2011-09-04 20:45:38 -07:00
Andreas Schiffler
be0531f0fc Added tests for SDL_HasIntersection; added negative parameter tests; refactored existing test code 2011-09-04 20:37:01 -07:00
Andreas Schiffler
e36c0d8376 Added input parameter validation to some SDL_rect functions 2011-09-04 20:34:48 -07:00
Andreas Schiffler
6584aa6a03 Added tests to testrect suite. Simple logger improvements. Fixed int-range fuzzer. 2011-09-04 14:57:10 -07:00
Ryan C. Gordon
d9a9cf5a98 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
96e8606bd5 Fixed a NSLog() format string.
Thanks to Mattias Holm for the patch!
2011-09-02 14:00:10 -04:00
Ryan C. Gordon
981cef30eb Fixed another Apple typedef in SDL_opengl.h 2011-09-02 13:54:45 -04:00
Ryan C. Gordon
33981bc8ba Patched to compile. 2011-09-01 14:02:12 -04:00
Ryan C. Gordon
a622e7c305 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
af022f47ed Removed unused variable. 2011-09-01 04:34:05 -04:00
Ryan C. Gordon
6b4a7b19a4 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
8f75030cce Backed out SDL_config.h overwrite that got committed by accident. 2011-08-30 17:11:51 -04:00
Ryan C. Gordon
d2587c649d Automated merge with https://bitbucket.org/Markusk/sdl-gsoc 2011-08-29 13:17:07 -04:00
Ryan C. Gordon
1787c68923 Fixed missing audio on iOS. 2011-08-29 00:27:43 -04:00
Markus Kauppila
b47b88a0e9 Fixed an error in doxygen markup. 2011-08-28 22:27:26 +03:00
Markus Kauppila
967992d4d3 Fixed a typo. 2011-08-28 22:24:00 +03:00
Markus Kauppila
31ecfe3d3a Updated TODO. 2011-08-28 22:22:37 +03:00
Markus Kauppila
1a84329937 Minor cleaning. 2011-08-28 22:18:56 +03:00
Markus Kauppila
f4870f3996 Added elementary fuzzer-randgen invocation count. 2011-08-28 22:06:56 +03:00
Markus Kauppila
ab1eaa672b Added TODO. 2011-08-28 21:06:00 +03:00
Markus Kauppila
87e1417923 Test cases executed in their own process can now bail out if
assertion fails.

Note: Bailing out doesn't work with --in-proc option.
2011-08-28 21:00:38 +03:00
Markus Kauppila
103124ac9f Option --show-tests prints test description. 2011-08-28 20:27:25 +03:00
Markus Kauppila
877c391020 Fixed timestamp issue. 2011-08-28 20:08:36 +03:00
Markus Kauppila
d2d3506958 Changed logging behavior. Runner uses stdout as default and
file logging is enabled with --logfile [BASENAME] (or --logdir).
2011-08-28 20:01:25 +03:00
Markus Kauppila
f7a79ddf4c Refined install script to be more helpful. 2011-08-28 18:58:13 +03:00
Markus Kauppila
45e6823e5f Created SetUp and TearDown functions for testrwops suite. 2011-08-28 11:55:54 +03:00
Tim Angus
6f0f508a4f * 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