Commit graph

5491 commits

Author SHA1 Message Date
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
578cd935a0 * Support OpenGL ES 2 on Android 2011-08-26 13:15:05 +01:00
Ryan C. Gordon
1808d892fe Don't warn about multichar characters on BeOS/Haiku.
The system headers use them generously.
(transplanted from 825e1072eac6c950ca4f6e879a91ea199a282b2c)

--HG--
extra : transplant_source : %82%5E%10r%EA%C6%C9P%CAOn%87%9A%91%EA%19%9A%28%2B%2C
2011-10-13 16:35:25 -04:00
Ryan C. Gordon
62176df129 Added support for multitouch on Android.
Fixes Bugzilla #1294.

Thanks to Gabriel Jacobo for the patch!
2011-10-13 01:21:35 -04:00
Ryan C. Gordon
bc13816375 Fixed a whole slew of compiler warnings that -Wall exposed. 2011-10-13 01:08:30 -04:00
Ryan C. Gordon
cf1adee2e4 Make sure window->driverdata is set before we might need it.
Thanks to Mako_energy for the fix!
2011-10-12 20:01:09 -04:00
Ryan C. Gordon
f2923fca25 Commit updated generated C code. 2011-10-11 22:42:54 -04:00
Ryan C. Gordon
cc8e8dea00 Fixed compiler warning for unused variable in generated C code. 2011-10-11 22:35:19 -04:00
Ryan C. Gordon
aac491ccac Fixed perl string escaping thing. 2011-10-11 22:34:52 -04:00
Ryan C. Gordon
ca3232dcd1 Enable -Wall by default.
Fixes Bugzilla #1284.

(But probably upsets buildbot.  :)  )
2011-10-11 22:04:51 -04:00